[AsteriskBrasil] script para realizar ligação no asterisk (AGI)
Ricardo Guedes de Carvalho
rguedesdecarvalho em gmail.com
Segunda Abril 13 16:26:48 BRT 2009
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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090413/c713517b/attachment-0001.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil