Здравствуйте! Есть такая задача организовать проигрывание мелодии в фоне разговора. Слышал, что можно осуществить это с помощью ChanSpy, но продолжительное гугление результатов не дало. В инструкции к ChanSpy да и вообще везде описывается его включение только по dtmf сигналу от вызывающего. Хотелось бы, чтобы подключение происходило автоматически. То есть если подытожить, то известно:
Но неизвестно как делать это автоматически для каждого канала и, собственно, как проигрывать произвольный звуковой файл в фон.
ну судя по постановке вопроса решение - обратиться к специалистам. просто одной командой это не решается, гидов по данному вопросу я не знаю, ибо достаточно редкое требование и надо много чего сделать чтоб работало.
а если коротко то так
1) event monitor мониторит создание новых каналов.
2) создается холд клас с вашей музыкой
3) на каждый канал создается еще один канал chanspy, ставится в hold и в spy к созданому вами каналу. тут надо чтоб 1 каналы chanspy игнорил)
все. профит. но дилаплан сложностью уровня експерт и нигде не описан.
вариант2
1) написать соответсвенную application используя c/c++, вызывать перед соединением везде где нада. она будет в фоне играть музыку. сложность - часов 20 часов труда експерта.
Dial с опцией U(set-music).
В set-music, вызвать AGI который генерит call-файл отдав ему имя текущего канала.
В call-файле идет звонок в локальный контекс с Playback, в котором по вкусу файл проигрывается либо по кругу либо один раз, второй ногой в Application ChanSpy с сохраненным именем канала.
В старом астериске ( до 1.8 ) ChanSpy не детектит hangup на прослушиваемом канале.
Для 1.8 на каждый канал ChanSpay вешать не обязательно, обратить внимание на ключи BE.
Задан: Jan 18 '12
Просмотрен: 1,498 раз
Обновлен: Jan 18 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.