Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
Сообщений: 65
|
Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
Стоит астериск 1.6.1.6. Настроен так, чтобы часть исходящих звонков шла через ТФОП (FXO каналы), часть через сип. Проблема в том, что иногда бывают ситуации, когда инета нет.
Какими средствами астериск может определить, что сервер сипнета недоступен?
Можно ли сделать, чтобы все вызовы в этом случае перенаправлялись в ТФОП и не пытались идти в интернет?
Что именно и в каких конфигурационных файлах надо прописывать?
|
Сообщений: 6521
|
Re: Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
ChanIsAvail
В интернете есть примеры.
|
Откуда: Зеленоград
Сообщений: 446
|
Re: Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
Я бы как-то так делал:
exten => 9N.,1,Dial(SIP/sipnet/${EXTEN:1},,g)
exten => 9N.,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?dialfxo:nofxo)
exten => 9N.,n(dialfxo),Dial(DAHDI/...) <--- вызов ТФОП
exten => 9N.,n(nofxo),...
|
Сообщений: 6521
|
Re: Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
Glukinho, если отвалился инет (см. условия задачи) то при Dial(SIP/sipnet/${EXTEN:1},,g) никакой ответ DIALSTATUS не будет получен.
*CLI> core show application ChanIsAvail
*CLI>
-= Info about application 'ChanIsAvail' =-
[Synopsis]
Check channel availability
[Description]
ChanIsAvail(Technology/resource[&Technology2/resource2...][,options][,context]):
This application will check to see if any of the specified channels are
available.
Options:
s - Consider the channel unavailable if the channel is in use at all.
t - Simply checks if specified channels exist in the channel list
(implies option s).
n - checks for the logical not of a context (implies there is a context).
Does nothing otherwise.
This application sets the following channel variable upon completion:
AVAILCHAN - the name of the available channel, if one exists
AVAILORIGCHAN - the canonical channel name that was used to create the channel
AVAILSTATUS - the status code for the available channel
|
Откуда: Зеленоград
Сообщений: 446
|
Re: Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
http://www.voip-info.org/wiki/view/Asterisk+cmd+Dial
${DIALSTATUS} will be one of:
* CHANUNAVAIL : Channel unavailable (for example in sip.conf, when using qualify=, the SIP chan is unavailable)
Я думаю, qualify= для сипнета включен, тогда, по идее, будет как надо.
|
Сообщений: 6521
|
Re: Как понять, что сервер SIPnet.ru недоступен (отвалился инет)
Верно.
|
|