AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Помощь с диалпланом.

Newbies/FAQ Forum 8 сообщений -
#1

Добрые люди столкнулся с такой ситуацией -любимый транк (yourmagic) в течении часа выдавал при исходящих звонках
Got SIP response 480 "Outbound Agent Out of Service". Как отследить в диалплане такую ситуацию, чтобы перевести звонки на другой запасной транк?
Так сказать подтолкните в нужное русло. Embarassed
#2

Эт ответ по протоколу SIP! И Asterisk не умеет их обрабатывать!
Может DIALSTATUS? Но эт после попытки осуществления звонка!
#3

можно попробовать ченить типа: NoOp(${HASH(SIP_CAUSE,${CDR(dstchannel)})}))
_________________
рву шаблоны. дорого.
#4

Link @ Вс Сен 30, 2012 17:27 писал(а):
Эт ответ по протоколу SIP! И Asterisk не умеет их обрабатывать!
Может DIALSTATUS? Но эт после попытки осуществления звонка!
Диалстатус думаю не подойдет как решение(asterisk обрабатывает его как CONGESTION). А вот NoOp(${HASH(SIP_CAUSE,${CDR(dstchannel)})})) надо опробывать, единственно требуется опять дождаться такой ситуации.
Спасибо всем за помощь.
#5

а HANGUPCAUSE?
#6

NoOp(${HASH(SIP_CAUSE,${CDR(dstchannel)})})) почему-то ничего не показывает,
скорее всего буду по HANGUPCAUSE =19 делать проверку.
Как раз взглянул по статистике звонков этот код и выдавал (19 no answer from the user 480 Temporarily unavailable).
Это уже близко к истине.
Как говорится "Чем дальше в лес ,тем больше дров".
#7

если у вас версия астериска 1.8 и выше, может попробуйте использовать Q.850 Reason header!
#8

Сделал так (предварительно проверил на ${HANGUPCAUSE} = 17 , то есть BUSY)
Код:
exten => s,n,GotoIf($[${HANGUPCAUSE} = 19]?next:)
exten => s,n,Goto(s-${DIALSTATUS},1)
exten => s,n,HangUp()
exten => s,n(next),Dial(SIP/....)


так что будем надеятся , что все стало на свои места.
Спасибо за помощь добрые люди Smile .