звездочка воспроизводит музыку во время ожидания DTMF

Я настраиваю DISA в звездочке. то, что я хотел бы сделать, это воспроизвести музыку для вызывающего абонента, пока звездочка получает DTMF. DTMF перестанет воспроизводиться, когда получит DTMF для "#"

Я пробовал использовать команды background() иplay(), но они не служат цели!

есть идеи?

хан


person Shrouk Khan    schedule 17.06.2012    source источник


Ответы (2)


Вы можете попробовать использовать phpagi. Существует функция под названием fastpass_get_data, с помощью которой вы можете получить ввод dtmf во время воспроизведения звука.

http://phpagi.sourceforge.net/phpagi22/api-docs/phpAGI/AGI.html#fastpass_get_data

person Nandini Bhaduri    schedule 18.06.2012

Я предполагаю, что простое использование встроенного приложения DISA не соответствует вашим потребностям. Если это так, просто используйте это.

Существуют разные способы программирования asterisk. Вы можете использовать обычный диалплан, диалплан ael, AGI, AMI, даже писать свои собственные модули на C.

Вы можете делать больше вещей в диалплане, но часто использование реального языка через AGI приводит к более читаемому коду.

Используя приложения диалплана StartMusicOnHold, StopMusicOnHold, а также Read или WaitExten, вы сможете делать то, что хотите. Запустите asterisk -rx 'core show application StartMusicOnHold' и т. д., чтобы прочитать о каждом из них.

По сути, вы хотите запустить StartMusicOnHold, затем собрать цифры, используя Read или WaitExten, пока не закончите (возможно, собирая их в переменную канала), а затем запустить StopMusicOnHold.

person Tim    schedule 17.06.2012