Я пытаюсь сделать скрипт проверки, чтобы проверить, есть ли у звездочки IP Asterisk Call Manager.
Я сделал это, сделав скрипт php и используя curl — результат и ответ
Asterisk Call Manager/1.3
Response: Error
Message: Missing action in request
Это хорошо на данный момент, это ожидается.
Другой ожидаемый, что я должен послать действие в запросе, как сказал массаж. Итак, как я могу отправить действие, как это:
action: login
user:admin
secret:admin
Я настоятельно рекомендую вам использовать уже написанную библиотеку
Для php это phpagi libs.
http://phpagi.sourceforge.net/
В этом примере вы не соблюдаете протокол. Протокол, скажем, должен быть действием.
Я создал скрипт вызова click 2 в php, и он работает, но я не могу найти переменную для отправки в AMI вдоль файла вызова, которая должна отключить вызов через определенное время. то есть я хочу установить максимальное время 5 минут для любого вызова, и в случае, если вызов все еще находится на звездочке, следует отключить вызов.
мой код: я ищу переменную, которая будет добавлена вместе с сокетом, который может отключить вызов, если длина больше 5 минут.
$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: $strExten\r\n");
fputs($oSocket, "Context: $strContext\r\n");
fputs($oSocket, "Priority: 1\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
sleep(3);
fclose($oSocket);