[AsteriskBrasil] script para realizar ligação no asterisk (AGI)
Ricardo Guedes de Carvalho
rguedesdecarvalho em gmail.com
Segunda Abril 13 16:51:41 BRT 2009
rodei o código, teve 1 erro de sintaxe, mas ja resolvi. Porém gerou esse
outro erro
*Warning*: Unexpected character in input: ''' (ASCII=39) state=1 in *
/var/www/html/chamada.php* on line *76*
php
essa linha é a de login do AMI
76 AMI_login($oSocket, '$usuario, $password) . "<br>";
tem alguma idéia do q pode ser?
Att.
Ricardo
2009/4/13 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
> ok, vou testar aki...só uma pergunta, esse arquivo chamada.php deve estar
> localizado em /var/www/ certo?
>
> 2009/4/13 Sebastiao Rocha <lixo em interlinksistemas.com.br>
>
>> Para utilizar, efetue as seguinte alterações em seu asterisk.
>>
>> Conteudo do arquivo /etc/asterisk/manager.conf
>>
>> ------------------------------------------------------------------------------------------
>> ; AMI - The Asterisk Manager Interface
>>
>> [general]
>> displaysystemname = yes
>> enabled = yes
>> webenabled = yes
>> port = 5038
>> bindaddr = 0.0.0.0
>>
>> [admin]
>> secret = coloque aqui a senha para acesso ao manager AMI
>> read=system,call,log,verbose,command,agent,user,config
>> write=system,call,log,verbose,command,agent,user,config
>> permit=127.0.0.1; ou permita o uso via outro computador/rede ex:
>> 192.168.0.0/24
>>
>> ; Authorization for various classes
>> read = system,call,log,verbose,command,agent,user,config
>> write = system,call,log,verbose,command,agent,user,config
>>
>> ------------------------------------------------------------------------------------------
>>
>>
>>
>> AMI_login($oSocket, 'usuario', 'senha') . "<br>";
>> Conteudo do arquivo chamada.php
>>
>> ------------------------------------------------------------------------------------------
>> <?php
>>
>> $usuario = 'usuario definido no manager.conf';
>> $password = 'senha definida no manager.conf';
>> if ( isset( $_POST['telefone']) && isset($_POST['ramal']) ) {
>>
>> function AMI_sip_status($socket, $sip)
>> {
>> fputs($socket, "ACTION: ExtensionState\r\n");
>> fputs($socket, "Context: interlink\r\n");
>> fputs($socket, "Exten: " . $ramal . "\r\n");
>> fputs($socket, "ActionID: 1\r\n\r\n");
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>>
>> return fgets($socket);
>> }
>>
>> function AMI_originate($socket, $phonenumber)
>> {
>> fputs($socket, "Action: originate\r\n");
>> fputs($socket, "Timeout: 30000\r\n");
>> fputs($socket, "CallerId: Site Interlink <$phonenumber>\r\n");
>> fputs($socket, "RetryTime: 45\r\n");
>> fputs($socket, "WaitTime: 30\r\n");
>> fputs($socket, "Channel: SIP/" . $ramal . "\r\n");
>> fputs($socket, "Exten: 0$phonenumber\r\n");
>> fputs($socket, "Context: interlink\r\n");
>> fputs($socket, "Priority: 1\r\n");
>> fputs($socket, "ActionID: 1\r\n\r\n");
>>
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>> fgets($socket);
>>
>> $result = fgets($socket);
>> echo $result;
>> }
>>
>> function AMI_login($socket, $username, $password)
>> {
>> fputs($socket, "Action: login\r\n");
>> fputs($socket, "Username: $username\r\n");
>> fputs($socket, "Secret: $password\r\n\r\n");
>> fputs($socket, "Events: off\r\n\r\n");
>>
>> return fgets($socket);
>> }
>>
>> if ( isset($_POST['telefone']) && inset($_POST['ramal']) ) {
>> $number = strtolower($_POST['telefone']); // Número a chamar
>> $ramal = $_POST['telefone']; // Ramal que será chamado ao ser atendida a
>> chamada efetuada.
>> $errno = 0;
>> $errstr = 0;
>>
>> $oSocket = fsockopen("localhost", 5038, &$errno, &$errstr, 20);
>> if (!$oSocket)
>> {
>> echo "Não foi possível completar a chamada...";
>> }
>> else
>> {
>> fgets($oSocket);
>>
>> AMI_login($oSocket, '$usuario, $password) . "<br>";
>> AMI_originate($oSocket, $number) . "<br>";
>>
>> fputs($oSocket, "Action: Logoff\r\n\r\n");
>> fclose($oSocket);
>> }
>> }
>> }
>> <?php
>>
>> _______________________________________________
>> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
>> rodando o Android da Google.
>> http://www.neodroid.com
>>
>> Compre uma camiseta da AsteriskBrasil.org!
>> http://www.voipmania.com.br
>>
>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
>> rede Freenode.net: #asterisk-br
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> Ricardo Guedes
> Suporte Telefonia Voz sobre IP
> IGNISCOM (19) 3119-2445
>
--
Ricardo Guedes
Suporte Telefonia Voz sobre IP
IGNISCOM (19) 3119-2445
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090413/51950887/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil