Проблема с работой Asterisk AMI click2call

Я настроил расширение Chrome на основе Asterisk AMI click2call для тестирования, но оно отказывается что-либо делать, когда я отправляю ему номер.

Если я подключу http://10.8.0.2/amiscript.php?phone=5555555555&exten=910 прямо в мой браузер, я просто получаю Please enter a number to dial. обратно. Кажется, он неправильно интерпретирует число.

Ссылка на расширение: http://bitree.ru/click2call4chrome_en.html

Я использую пример сценария PHP, очевидно. И исходя из этого, возвращая мне ошибку, я предполагаю, что на моем веб-сервере все хорошо. Вот сценарий:

<? if (!empty( $_REQUEST['phone'])   && !empty( $_REQUEST['exten']  ) )
{
$num = $_REQUEST['phone'];
$ext = $_REQUEST['exten'];
$num = preg_replace( "/^\+7/", "8", $num );
$num = preg_replace( "/\D/", "", $num );

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

$timeout = 10;
$asterisk_ip = "127.0.0.1";

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

$wrets=fgets($socket,128);

echo $wrets;

fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: Local/$ext@from-internal\r\n" );
fputs($socket, "Exten: $num\r\n" );
fputs($socket, "Context: from-internal\r\n" );
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "Async: yes\r\n" );
fputs($socket, "WaitTime: 15\r\n" );
fputs($socket, "Callerid: $num\r\n\r\n" );

$wrets=fgets($socket,128);
echo $wrets;
}
else
{
echo "Unable to determine number from (" . $_REQUEST['phone'] . ")\r\n";
}
}
else
{?>Please enter a number to dial.
<?}?>

Какие-либо предложения?

0

Решение

Во-первых, в php реализовано более 1 реализации протокола AMI (полная).

Например, phpagi / phpami.

Это уже стабильно и работает нормально.

Также я могу порекомендовать вам сделать вывод переменных, которые вы получите.

Самый простой способ — добавить в начале вашего php-кода что-то вроде

print_r($_REQUEST);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]