[AsteriskBrasil] Discar com php

Nicolas Tanski nicolas.tanski em gmail.com
Sexta Junho 14 22:21:27 BRT 2013


Boa noite Flávio,
cria um arquivo PHP conforme exemplo e passe os parâmetros via URL, neste
exemplo o PHP está rodando na mesma máquina onde o Asterisk está instalado.

call.php

<?php
#endereco ip da central asterisk
$strHost = "localhost";
#usuario configurado no arquivo manager.conf ou manager_custom.conf no
asterisk
$strUser = "php";
#senha configurada no arquivo manager.conf ou manager_custom.conf no
asterisk
$strSecret = "php";
#canal (extension) que irá receber a solicitacao de atendimento
#exemplo: SIP/XXX, IAX2/XXXX, DAHDI/XXXX, ZAP/XXXX
# $strChannel = "SIP/100";
$strChannel = $_REQUEST['exten'];
$strContext = "from-internal";
#tempo que irá aguardar para atendimento do ramal(extension) antes de
desligar
$strWaitTime = "30";
#prioridade para realizacao da chamada
$strPriority = "1";
#quantidade máxima de tentativas
$strMaxRetry = "2";
$number=strtolower($_REQUEST['number']);
$pos=strpos ($number,"local");
if ($number == null) :
exit() ;
endif ;
if ($pos===false) :
$errno=0 ;
$errstr=0 ;
$strCallerId = "Web Call $number";
$oSocket = fsockopen ("localhost", 5038, &$errno, &$errstr, 20);
if (!$oSocket) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($oSocket, "Action: login\r\n");
 fputs($oSocket, "Events: off\r\n");
fputs($oSocket, "Username: $strUser\r\n");
fputs($oSocket, "Secret: $strSecret\r\n\r\n");
 fputs($oSocket, "Action: originate\r\n");
fputs($oSocket, "Channel: $strChannel\r\n");
 fputs($oSocket, "WaitTime: $strWaitTime\r\n");
fputs($oSocket, "CallerId: $strCallerId\r\n");
 fputs($oSocket, "Exten: $number\r\n");
fputs($oSocket, "Context: $strContext\r\n");
 fputs($oSocket, "Priority: $strPriority\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
sleep(2);
fclose($oSocket);
}
echo "Extension $strChannel should be calling $number." ;
else :
exit() ;
endif ;
?>

Edite o arquivo /etc/asterisk/manager.conf
[php]
secret = php
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,originate
write = system,call,log,verbose,command,agent,user,originate


Informe os parametros na URL:
http://localhost/call.php?exten=SIP/100&number=000000




_____________________________________________
Att,

*Nicolas Tanski Pavão*
Técnico em Informática

55 51 | 4063.8087
email: nicolas em tanski.com.br
www.tanski.com.br


Em 14 de junho de 2013 22:10, Flávio Santos <ffs2003 em gmail.com> escreveu:

> Boa noite, alguem da lista tem um exemplo de discagem via php?
>
> minha duvida é tambem saber se tem como minha aplicacao discar via tcp/ip
> para um numero e a chamda ser direcionada para uma conta sip......Obrigado
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em
> www.Khomp.com.
> _______________________________________________
> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130614/b558db72/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil