Я использую звездочку с обычным PHP AGI следующим этот проблема в том, что мой PHP AGI выполняется 5 секунд. Я просто хочу установить некоторый тон ожидания для пользователя, чтобы он ожидал, пока AGI обрабатывается. По той же ссылке я нашел кое-что:
установить музыку: включить / выключить генератор музыки при удержании, например «SET MUSIC ON default»
но я не знаю точно, как использовать, я имею в виду, какой будет точный синтаксис и куда я его положу.
Я пробовал добавлять
same => n,Set(CHANNEL(musicclass)=default)
но это не сработало.
Если вы используете phpagi, вы должны сделать что-то вроде этого
$agi->set_music(true,"myholdclass")
...
$agi->set_music(false)
http://phpagi.sourceforge.net/phpagi2/docs/phpAGI/AGI.html#methodset_music
Конечно, вам нужно сначала описать myholdclass в /etc/asterisk/musiconhold.conf
Вы помещаете некоторый звуковой файл в свой звуковой каталог:
/var/lib/asterisk/mysoundFile
Затем вызовите функцию воспроизведения:
Playback(mysoundFile)
Для дополнительной информации: http://www.voip-info.org/wiki/view/Asterisk+cmd+Playback
Пожалуйста, ознакомьтесь с командой Playtones.
exten => s,2,Playtones(dial)
У меня есть более простое решение вашей проблемы.
Вы используете для этого Asterisk AGI, без необходимости создавать сценарий AGI (мне не нравится механизм AGI. Я изобрел структуру, которая является более мощной, простой и гибкой и позволяет мне делать сумасшедшие вещи с Asterisk, даже не касаясь Dial. план или любой другой файл конфигурации).
Для вашей проблемы, просто сделайте следующее;
Создайте символическую ссылку для приложения / bin / echo в каталоге agi:
ln -s /bin/echo /var/lib/asterisk/agi-bin/echo
из вашей телефонной группы, начать музыку в ожидании, позвонив exten => s,n,AGI( echo, SET MUSIC ON)
exten => s,n,AGI( echo, SET MUSIC OFF)
Это самый простой способ без необходимости создавать AGI-страницы.