о. експерты. какой аги, тут одна строчка в диалплане. а аги вам вызвать - тоже одна строчка.
meral ( 2017-08-19 18:58:46 +0400 )редактироватьЗдравствуйте гуру!
Прошу заранее сильно не пинать, ибо с AMI только начал работать.
Суть задачи такая: звоним по номеру, после снятия трубки проигрываем последовательно звуковые файлы с заданной периодичностью. Т.е, например, есть файлы: start.wav, 1.wav, ..., end.wav.
Сценарий такой:
На текущий момент есть только это:
$response = '';
$timeout = 10;
$socket = fsockopen("xxx.xxx.xxx.xxx", "5038", $errno, $errstr, $timeout);
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: <login>\r\n");
fputs($socket, "Secret: <pass>\r\n\r\n");
fputs($socket, "Events: off\r\n\r\n");
usleep(500);
fputs($socket, "Action: Originate\r\n");
fputs($socket, "Channel: SIP/<channel>\r\n");
fputs($socket, "WaitTime: 30\r\n");
fputs($socket, "Callerid: <caller ID>\r\n");
fputs($socket, "Timeout: 15000\r\n");
fputs($socket, "Context: <context>\r\n");
fputs($socket, "Exten: <phone number>\r\n");
fputs($socket, "Priority: 1\r\n\r\n");
fputs($socket, "Action: Logoff\r\n\r\n");
usleep(500);
while(!feof($socket))
{
$response .= fread($socket, 8192) . "<br />";
}
fclose($socket);
echo $response;
Спасибо за внимание.
AMI не для этого. Для этого AGI.
о. експерты. какой аги, тут одна строчка в диалплане. а аги вам вызвать - тоже одна строчка.
meral ( 2017-08-19 18:58:46 +0400 )редактироватьАми интерфейс не предназначен быть заменой extensions.conf
Но вообще, если сильно хочется, то можно.
Однако это очень сильно все осложняет вам жизнь и строго говоря аналогично выполнению высококвалифицрованной работы с использованием идиота- сторожа, чтоб типа сэкономить себе время.
Диалпланом это пишется вот так, в одну строчку
exten => s,1,Playback(file1&silence/9&file2&silence/8&file3)
B call файлом заворачиваем это в нужный контекст :-)
april22 ( 2017-08-18 16:52:03 +0400 )редактироватьЗадан: 2017-08-18 14:12:07 +0400
Просмотрен: 266 раз
Обновлен: Aug 19 '17
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
@meral
Не совсем понимаю, при чем здесь "extensions.conf", когда данные тянутся из "sip.conf". И, речь идет именно про использование AMI и PHP, и не конфигов с диаллпланами.
Кстати, можно предложить и другое решение - главное, чтобы задачу можно было бы реализовать на PHP.
Спасибо.
tcolonel ( 2017-08-18 17:29:15 +0400 )редактироватьвам надо прочитать любую книгу по астериск. вы начали с неправильног конца. я вам предложил решение. без диалплана вообще только через статис. но это как вести автомобиль с заднего седенья, ведь пасажиром вы больше привыкли. швабрами там всякими и так далее.
meral ( 2017-08-18 18:11:25 +0400 )редактироватьfputs($socket, "Context: <context>\r\n"); - вот это - использование extensions.conf. а откуда у вас "данные тянутся" - мне неведомо.
meral ( 2017-08-18 18:12:33 +0400 )редактировать