Страница 1 из 3

автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 09:34
bagrintsev
День добрый, добрые гуру!

Сегодня случилось страшное - в конторе с утра вырубили Инет, отвалились транки на прова, а я на часик опоздал на работу.
Пока ехал, принял штук двадцать звонков от благодарных сотрудников, недовольных отсутствием инета и главное - телефона.
Приехал, поменял диалплан на исходящие через медные линии, перегрузил. Задумался.

Что бы такое придумать, чтобы если отваливаются транки прова на SIP, исходящие автоматом переключались на медь?
Сижу, гуглю. Помогите, плз, если есть идеи.

Пока исходящие в диалплане выглядят пока как то так:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: при пропадании Инета ставлю коммент на верхнюю строчку, убираю с нижней. Перегружаю диалплан. Как инет появляется - наоборот.
; ИСХОДЯЩИЕ: городские и пр.
exten => _9NXXXXX,1,Dial(SIP/538239/${EXTEN:1}) ; набор городской Иваново
;exten => _9NXXXXX,1,Dial(DAHDI/G1,3,D(${EXTEN:1})) ; набор городской Иваново
exten => _9NXXXXX,n,Congestion() ;
exten => _9NXXXXX,n,Hangup() ;

exten => _989XXXXXXXXX,1,Dial(SIP/538239/${EXTEN:1}) ; сотовые операторы. 92х,93х - мегафон, 91х, 98х - мтс, 96х - билайн
;exten => _989XXXXXXXXX,1,Dial(DAHDI/G1,3,D(${EXTEN:1})) ; сотовые операторы. 92х,93х - мегафон, 91х, 98х - мтс, 96х - билайн
exten => _989XXXXXXXXX,n,Congestion() ;
exten => _989XXXXXXXXX,n,Hangup() ;

exten => _98NXXXXXXXXX,1,Dial(SIP/538239/${EXTEN:1}) ; прочие межгород
;exten => _98NXXXXXXXXX,1,Dial(DAHDI/G1,3,D(${EXTEN:1})) ; прочие межгород
exten => _98NXXXXXXXXX,n,Congestion() ;
exten => _98NXXXXXXXXX,n,Hangup() ;

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 09:58
Aven

Код: Выделить всё

*CLI> core show application ChanIsAvail

  -= Info about application 'ChanIsAvail' =-

[Synopsis]
Check channel availability

[Description]
This application will check to see if any of the specified channels are
available.
This application sets the following channel variables:
${AVAILCHAN}: The name of the available channel, if one exists
${AVAILORIGCHAN}: The canonical channel name that was used to create the
channel
${AVAILSTATUS}: The device state for the device
${AVAILCAUSECODE}: The cause code returned when requesting the channel

[Syntax]
ChanIsAvail([Technology2/Resource2[&...]][,options])

[Arguments]
Technology2/Resource2
    Optional extra devices to check
    If you need more than one enter them as Technology2/Resource2&Technology3/R
    source3&.....
Technology/Resource
    Specification of the device(s) to check.  These must be in the format of
    'Technology/Resource', where <Technology> represents a particular channel
    driver, and <Resource> represents a resource available to that particular
    channel driver.
options
    a: Check for all available channels, not only the first one

    s: Consider the channel unavailable if the channel is in use at all

    t: Simply checks if specified channels exist in the channel list

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 10:23
bagrintsev
Aven, спасибо!
Помню, читал про эту функцию, поискал на форуме - тема обсосана.
Буду ваять!

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 10:40
Pechen
БГГГ).. :D

Код: Выделить всё

exten => _X.,1,Dial(SIP/${EXTEN})
exten => _X.,2,Dial(DAHDI/${EXTEN})

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 11:04
bagrintsev
Pechen писал(а):БГГГ).. :D

Код: Выделить всё

exten => _X.,1,Dial(SIP/${EXTEN})
exten => _X.,2,Dial(DAHDI/${EXTEN})
Что, правда???
И это будет работать???
Спецы, скажите, так разве правильно?
А что будет, когда юзверь на вызываемой стороне положит трубку?
А завершающие Congestion и Hangup нужны?

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 11:33
whoim
На pbx расположенной на бытовом канале и железе - рано или поздно выстрелит, и не раз.
Один "клиент" вложил уже тыщ 300 наверное, там и 24-х вольтовые аккумуляторы с инверторами дорогущими, бесперебойники штатные по 30 тыщ ценой, рейды, прочее прочее. Два проводных канала и свисток лте на корпоративном тарифе, всякое прочее оборудование.

Однако упорно остается без связи :)

Этих затрат хватило бы лет на 10 хостится в дц, а с учетом упущенных клиентов..
И потерянной репутации..
Да, дц тож может лечь. Но очень маловероятно, если нормальный дц.

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 11:42
bagrintsev
whoim, извиняюсь спросить, это ты к чему написал? Два раза перечитал - не постигаю глубину мысли.
Лучше скажи:
1. это будет работать???
2. так разве правильно?
3. что будет, когда юзверь на вызываемой стороне положит трубку?
4. завершающие Congestion и Hangup нужны?

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 11:54
whoim
Глубина мысли о том, что расположение в ДЦ не приводит к поиску костылей и в итоге - к вашим вопросам.
Неправильно, работать будет с двойным перезвоном. Нужно мониторить диалстатус.

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 11:59
Pechen
whoim да вы упоролись! по вашему второй приоритет выполняется после хангапа

по вопросам
1 читайте будущее телефонии
2 читайте будущее телефонии
3 читайте будущее телефонии
4 читайте будущее телефонии
ну серьезно если вы не знаете такой элементарщины как вас к станции подпустили?

Re: автопереключение исходящих при пропадании Инета

Добавлено: 17 фев 2016, 12:00
whoim
Ух, какая агрессия)
Что будет если вызываемая сторона положит трубку?
Или 486 пошлет?

Станций у меня на обслуживании около 40. А также свои сервисы, связанные с voip, включая самописный биллинг, самописные коннекторы к астеру для api любой crm, автоматизированный звонок с сайта, готовим туристический каллбек. Дать телефоны клиентов для снятия отзывов?