2010-07-23 36 views
5

Ok Tôi đã cài đặt dấu hoa thị, bây giờ tôi muốn biếtLập trình Asterisk PBX bằng cách sử dụng PHP?

  1. làm cách nào để lập trình PBX bằng cách sử dụng PHP?
  2. Asterisk có API mà tôi có thể làm việc cùng không?

Vui lòng cung cấp ví dụ cơ bản làm thế nào tôi có thể thực hiện các tình huống sau

  1. gửi số điện thoại để Asterisk
  2. quay dấu hoa thị số điện thoại

Trả lời

2

Bạn có thể nghĩ về giao diện Asterisk Cổng (http://www.voip-info.org/wiki/view/Asterisk+AGI+php) nhưng những gì bạn dự định làm là tốt nhất đạt được trhough hành động "có nguồn gốc" của giao diện Manager. Hãy xem các ví dụ PHP trong voip-info.org: http://www.voip-info.org/wiki/view/Asterisk+manager+Examples

+0

đây là những gì im sau http://www.voip-info.org/wiki/view/Asterisk + manager + Ví dụ cảm ơn bạn! – 001

1

Bạn cũng có thể sử dụng Call Files nếu bạn muốn tạo cuộc gọi đi từ ứng dụng bên ngoài.

Nếu bạn thực hiện việc này, hãy đảm bảo bạn đã chuyển các tệp mv vào thư mục ống chỉ, không sử dụng cp!

2

Bạn có thể sử dụng AMI với các ngôn ngữ khác nhau của sự lựa chọn của bạn

2

php có thể được sử dụng sử dụng AGI để lập trình asterisk pbx

1

lập trình một dấu hoa thị dấu hoa thị khá dễ dàng bằng cách sử dụng php agi.

kiểm tra tài liệu agi

0

Tuyến đường tệp cuộc gọi là cách hoàn toàn để thực hiện nếu tất cả những gì bạn đang cố gắng tạo cuộc gọi. Tôi làm điều này tất cả thời gian để búa hệ thống điện thoại với một PBX thứ hai.

Đây là một ví dụ. Nói rằng tôi muốn gọi 713-590-1234 và khi nó kết nối, tôi muốn nó phát một tin nhắn và gác máy.

Trước tiên hãy tạo menu trong kế hoạch quay số để PBX có một nơi để gửi cuộc gọi sau khi quay số.

[my-menu] 
exten => s,1,Noop() 
exten => s,n,Playback(recorded-message) 
exten => s,n,Hangup() 

Sau đó tạo tệp cuộc gọi và đặt nó vào thư mục/var/spool/asterisk/monitor. Như những người khác đã lưu ý, bạn phải tạo tập tin trên đĩa ở một nơi khác, sau đó mv (di chuyển) nó vào vị trí để một phần tập tin không được chọn.

Tệp cuộc gọi mẫu có thể trông giống như bên dưới.

Channel: SIP/myprovider/71359
MaxRetries: 2 
RetryTime: 60 
WaitTime: 30 
Context: my-menu 
Extension: s 
Priority: 1 

Không có vấn đề lớn khi viết một tập lệnh PHP để loại bỏ các cuộc gọi này vào thư mục/var/spool/asterisk/monitor đó. Để búa PBX tôi tạo ra những trong một vòng lặp for để tạo ra nhiều cuộc gọi như tôi có dòng, và ngủ chiều dài của ghi âm.

4

Bạn cũng có thể thử PAGI hoặc PAMI, cả hai đều là khuôn khổ PHP 5.3+ để sử dụng AGI và AMI tương ứng, bạn có thể tìm thấy chúng tại http://marcelog.github.com/PAGIhttp://marcelog.github.com/PAMI.

Họ đang OOP định hướng (Pami là sự kiện thúc đẩy, vì vậy người nghe của bạn được gọi là bất cứ khi nào một sự kiện thú vị xảy ra trong dấu hoa thị)

Các vấn đề liên quan