Задать вопрос
@Anton1863

Как исправить ошибку при звонке между двумя sip-линиями в Asterisk?

Вкратце опишу детали. Осуществляется обзвон абонентов через call-файлы подобного содержания:
Channel: SIP/внешний транк/телефон вызова
Context: rko
Extension: телефон вызова
Priority: 1
Set: num=телефон вызова

Далее, после ответа мобильного телефона, на который звонят, происходит переход по контексту:
[rko]
exten => failed,1,System(echo "${num}" >> /var/log/asterisk/failed)
exten => failed,n,Hangup()
exten => _X.,1,Set(TIMEOUT(digit)=0.1)
exten => _X.,n,AMD()
exten => _X.,n,NoOp("AMD STATUS IS :"${AMDSTATUS}"...CAUSE:"${AMDCAUSE})
exten => _X.,n,GotoIf($[${AMDSTATUS}=HUMAN]?humn:mach)
exten => _X.,n(mach),System(echo "${EXTEN}" >> /var/log/asterisk/machine)
exten => _X.,n,Hangup()
exten => _X.,n(humn),Background(/var/lib/asterisk/moh/voicemail/rko_2)
exten => _X.,n,System(echo "${EXTEN}" >> /var/log/asterisk/unknown)
exten => _X.,n,Hangup()
exten => 1,1,Goto(want_rko,${num},1)

[want_rko]
exten => _X.,1,System(echo "${EXTEN}" >> /var/log/asterisk/wanted)
exten => _X.,n,Dial(SIP/внешний транк/логин второго внешнего транка@хост внешнего транка,,t&m) 
exten => _X.,n,Hangup()


В данном контексте идет определение автоответчика, логируются данные, играет фоновая запись, если человек нажимает цифру 1, на телефоне, происходит переход по контексту "want_rko". Опять происходит логирование. И самая интересная строчка (exten => _X.,n,Dial(SIP/внешний транк/логин второго внешнего транка@хост внешнего транка,,t&m)), перенаправление вызова на другой транк, который прикреплен к обзвонилке. При таком сценарии, Asterisk показывает 603 ошибку Decline, т.е. будто абонент сбросил вызов. Если же обращаться не по сипу, а по телефону этого сипа, то перенаправление срабатывает. Кто может подсказать, как осуществить данное перенаправление по сипу?
  • Вопрос задан
  • 718 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Drill
По-моему, что-то вы перемудрили с DIAL. Все гораздо проще:
exten => _X.,n,Dial(SIP/внешний транк/номер_телефона,,t&m)
или так
exten => _X.,n,Dial(SIP/номер_телефона@внешний транк,,t&m)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы