Помогите кому не сложно! у меня есть 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
Просмотрен: 205 раз
Обновлен: Dec 08 '22
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.