Помогите кому не сложно! у меня есть call файлы. При определенных условиях скрипт копирует их в папку /var/spool/asterisk/outgoing и совершает звонок. Пример файла:
Channel: IAX2/iax_iii_pri1/0xxxxxxx Application: Playback Data: /var/lib/asterisk/sounds/ru/custom/alarm MaxRetries: 1 RetryTime: 10 WaitTime: 60 CallerID:"1010" <PJSIP/1010> Archive:yes
Все работает но нужно сделать если транк IAX2/iax_iii_pri1 недоступен, или абоненту не удалось дозвонится звонок должен пойти через транк IAX2/iax_iii_gsm Я так понял что без контекста никак. Заварачиваю в контекст
[outgoing_to_0ххххххххх] exten => s,1,Answer exten => s,n,Wait(1) exten => s,n,Dial(IAX2/0xxxxxx@iax_iii_gsm) exten => s,n,Background(/var/lib/asterisk/sounds/ru/custom/alarm) exten => s,n,hangu
Изменяю файл call
Channel: IAX2/iax_iii_pri1/0xxxxxxx MaxRetries: 2 RetryTime: 15 WaitTime: 30 Context: outgoing_to_0xxxxxxxx Extension: s Priority: 1 CallerID:"1010" <PJSIP/1010> Archive:yes
Не работает. Коме не сложно пожскажите как правильно написать контекст. Не совсем шарю. Спасибо
Оно сначала звонит на channel, потом - в контекст.
Тоесть вам надо в контекст завернуть Channel:
Что делается где-то вот так
Channel: Local/s@outgoing_to_0ххххххххх/n
Но это даже не начало проблем, которые получаться при попытке самому сделать dialling core. Рекомендую использовать существующее ядро. Ну или как минимум почитать его исходники.
Channel делайте через канал Local, в экстеншене два диала с проверкой dialstatus. Если не понятно, рекомендую отвлечься, чтобы разгрузить мозг, или попросить кого-нибудь на коммерческой основе.
Задан: 2022-12-02 10:42:38 +0400
Просмотрен: 701 раз
Обновлен: Dec 08 '22
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.