Fazer discagem no Asterisk utilizando PHP

Este tutorial é para quem necessita utilizar a linguagem Web PHP para efetuar Chamadas.

Passo 1:

Criar o diretório onde ficará os scripts:
#mkdir /usr/local/etc/scripts

Passo 2:

Dar as permissões de execução:
#chmod 755 /usr/local/etc/scripts

Passo 3:

Editar o arquivo manager.conf do Asterisk:
vi /etc/asterisk/manager.conf

manager.conf:

[general]
enabled = yes
port = 5038
bindaddr = 127.0.0.1

[admin]
secret=sua_senha
read=system,call,log,verbose,command,agent,user,all
write=system,call,log,verbose,command,agent,user,all
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255

Passo 4:

Criar o programa PHP que fará a discagem:
vi /usr/local/etc/scripts/fazdiscagem.php

fazdiscagem.php:

<?php

$socket = fsockopen(“127.0.0.1″,”5038″,$errno,$errstr,$timeout);
fputs($socket,”Action: Login\r\n”);
fputs($socket,”UserName: admin\r\n”);
fputs($socket,”Secret: sua_senha\r\n\r\n”);
fputs($socket,”Action: Originate\r\n”);
fputs($socket,”Channel: ZAP/1/99999999\r\n”);
fputs($socket,”Context: monitor\r\n”);
fputs($socket,”Exten: 1234\r\n”);
fputs($socket,”Callerid: Teste\r\n”);
fputs($socket,”Priority: 1\r\n\r\n”);

?>

Passo 5:

Para efetuar o teste:
#php /usr/local/etc/scripts/fazdiscagem.php

Importante!

O PHP tem que ser compilado com suporte à socket.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *