Я использую звездочку с обычным php agi, следуя этой ссылке, проблема в том, что мой php agi занимает 5 секунд. Я просто хочу установить какой-то ожидающий тон, чтобы пользователь мог дождаться обработки agi. По той же ссылке я нашел что-то
set music: Enable/Disable Music on hold generator, example "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 mechanism. Я изобрел фреймворк, который является более мощным, простым и гибким и позволяет мне делать сумасшедшие вещи с помощью Asterisk, не затрагивая Dialplan или любой другой файл конфигурации).
Для вас проблема, просто выполните следующее:
создайте символическую ссылку для приложения «/ bin / echo» в каталоге agi:
ln -s /bin/echo /var/lib/asterisk/agi-bin/echo
от вас dialplan, запустите музыку на удержании, вызвав exten => s,n,AGI( echo, SET MUSIC ON)
exten => s,n,AGI( echo, SET MUSIC OFF)
Это самый простой способ, без необходимости создавать страницы AGI.
С уважением, Лоуренс