Оригинация звонка из PHP в Asterisk

Asterisk
Вариант 1
<?  
$strHost="127.0.0.1";  
$strUser="admin";  
$strSecret="****";  
$strChannel="Local/".$_GET["to"]."@from-provider";  
$strWaitTime="10";  
$strCallerId=$_GET["from"];  
$strReceiver=$_GET["from"];  
$strContext="from-provider";  
  
  $oSocket = @fsockopen($strHost, 5038, $errnum, $errdesc)  
or die("Connection to host failed");  
        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: $strReceiver\r\n");  
        fputs($oSocket, "Context: $strContext\r\n");  
        fputs($oSocket, "Priority: 1\r\n\r\n");  
        fputs($oSocket, "Action: Logoff\r\n\r\n");  
  while (!feof($oSocket)) {  
    $wrets .= fread($oSocket, 8192);  
  }  
 fclose($oSocket);  
  if (stripos($wrets, 'Originate successfully queued')) {  
    echo "Call completed ";  
  } else {  
    echo "No accept call ";  
  }  
?>


Вариант 2

if ( ! empty( $num ) )
{
        echo "Dialing $num\r\n";

        $timeout = 10;
        $asterisk_ip = "192.168.0.100";

        $socket = fsockopen($asterisk_ip,"5038", $errno, $errstr, $timeout);
        fputs($socket, "Action: Login\r\n");
        fputs($socket, "UserName: manager\r\n");
        fputs($socket, "Secret: gandalf\r\n\r\n");

        $wrets=fgets($socket,128);

        echo $wrets;

        fputs($socket, "Action: Originate\r\n" );
        fputs($socket, "Channel: SIP/$ext\r\n" );
        fputs($socket, "Exten: 9$num\r\n" );
        fputs($socket, "Context: outbound-dialing\r\n" );
        fputs($socket, "Priority: 1\r\n" );
        fputs($socket, "Async: yes\r\n\r\n" );

        $wrets=fgets($socket,128);
        echo $wrets;
}
else
{
        echo "Unable to determine number from (" . $_REQUEST[['n'] . ")\r\n";
}


xtelekom.ru — офисная ip телефония

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.