2010-07-23 16 views
5

Ok ho installato asterisco, ora vorrei sapereProgrammazione Asterisk PBX utilizzando PHP?

  1. Come si programmano asterisco PBX con PHP?
  2. Asterisk ha un'API con cui posso lavorare?

Si prega di fornire esempi di base come ho potuto effettuare il seguente scenario

  1. inviare il numero di telefono ad Asterisk
  2. quadranti asterisco numero di telefono

risposta

1

Puoi anche usare Call Files se vuoi generare chiamate in uscita da un'applicazione esterna.

Se si esegue questa operazione, assicurarsi di file mv nella directory di spooling, non utilizzare cp!

2

È possibile utilizzare AMI con diversi linguaggi di vostra scelta

2

PHP può essere usato utilizzando l'AGI per l'asterisco del programma pbx

1

la programmazione di un asterisco pbx è abbastanza semplice utilizzando php agi.

documentazione controllo AGI

0

Il percorso file di chiamata è totalmente la strada da percorrere se tutto il vostro cercando di fare è di generare una chiamata. Lo faccio sempre per martellare il sistema telefonico con un secondo PBX.

Ecco un esempio. Diciamo che voglio chiamare il 713-590-1234 e quando si connette, voglio che riproduca un messaggio e riagganci.

Per prima cosa creare il menu nel dial plan in modo che il PBX abbia un posto dove inviare la chiamata dopo aver composto il numero.

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

Quindi generare un file di chiamata e posizionarlo nella directory/var/spool/asterisco/monitor. Come altri hanno notato, è necessario creare il file su disco da qualche altra parte, quindi mv (spostarlo) per posizionarlo in modo che non venga raccolto un file parziale.

Un file di chiamata di esempio potrebbe apparire come di seguito.

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

Nessun grosso problema per scrivere uno script PHP che scende queste chiamate per quella cartella/var/spool/asterisco/monitor. Per martellare il PBX, li ho generati in un ciclo for per generare tante chiamate quante ne ho e perdere la durata della registrazione.

4

Puoi anche provare PAGI o PAMI, entrambi sono framework PHP 5.3+ per utilizzare rispettivamente AGI e AMI, li puoi trovare a http://marcelog.github.com/PAGI e http://marcelog.github.com/PAMI.

Sono OOP orientate (PAMI è event driven, in modo che le ascoltatori sono chiamati ogni volta che un evento interessante si verifica in asterisco)