[AsteriskBrasil] Interação ASTERISK E PHP
Joao Correa
joaobatista em solbase.com.br
Terça Março 4 18:29:16 BRT 2008
Você pode utilizar o manager do asterisk, para fazer esta comunicação, servindo tanto para discar quando para pegar informações.
Mais informações em http://www.voip-info.org/wiki-Asterisk+manager+API
segue um exemplo em PHP abaixo:
<html>
<head>
<title>Conexao manager * Asterisk *</title>
</head>
<?php
echo "Teste de conexao ....\r\n";
echo "<br>";
echo ".............................................................";
echo "<br>";
$socket = fsockopen("192.168.99.156","5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: solteiro\r\n");
fputs($socket, "Secret: sozinho\r\n\r\n");
//fputs($socket, "Action: Command\r\n");
//fputs($socket, "Command: sip show peers\r\n\r\n");
$wrets=fgets($socket,128);
echo $wrets;
echo "<br>";
echo "...............................................................";
echo "<br>";
echo "Fim teste conexao...\r\n";
// Para discar
echo "<br>";
$ramint = $_POST["rinterno"];
$foneext = $_POST["fexterno"];
$tipo = $_POST["tipo"];
$cont = $_POST["id"];
echo "Ramal interno:... $ramint <br>";
echo "Fone externo :... $foneext <br>";
echo "Continuidade:... $cont <br>";
if ($cont == "1")
{
if ($tipo == "analog")
{
fputs($socket, "Action: Originate\r\n" );
//fputs($socket, "Channel: Sip/$ramint\r\n" );
fputs($socket, "Channel: Zap/g0/$ramint\r\n" );
fputs($socket, "Exten: $foneext\r\n" );
fputs($socket, "Context: redes\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );
$wrets=fgets($socket,128);
$resp01 = fread($socket, 8192);
}
if ($tipo == "sip")
{
fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: Sip/$ramint\r\n" );
// fputs($socket, "Channel: Zap/g0/$ramint\r\n" );
fputs($socket, "Exten: $foneext\r\n" );
fputs($socket, "Context: redes\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );
$wrets=fgets($socket,128);
$resp01 = fread($socket, 8192);
}
echo "Discagem efetuada ...: ";
}
?>
<br>
<br>
<form method="post" action="phpdial.php">
Digite o numero do ramal interno:
<input type="text" name="rinterno" size="10" maxlenght="15">
Digite o numero do telefone:
<input type="text" name="fexterno" size="20" maxlenght="20">
<input type="submit" value="Discar">
<br>
<br>
Tipo de ramal: <br>
<INPUT TYPE=RADIO NAME="tipo" VALUE="sip">SIP <br>
<INPUT TYPE=RADIO NAME="tipo" VALUE="analog" CHECKED>Analogico
<input type=hidden name=id value="1">
</form>
<hr>
<?php
echo "Log ....................: ";
echo "<br>";
echo "$wrets <br>" ;
echo $resp01;
echo "<br>";
?>
</html>
---------------------------------------------------------------------------------
More information about the AsteriskBrasil
mailing list