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

Занято (переключение на след. sip)

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

Вопрос

есть четыре sip/xxx на которые завязана разные исходящие маршруты ( мтс теле2 билайн мегафон город, межгород, сотовый межгород)

как в екстеншин прописать если линия занято то переключаться на другой исходящий sip/xxx полагаю gotoif надо использовать ктонить пример подскажет , в каком направлении рыть ?
#2

http://www.voip-info.org/wiki/view/Aster ... DIALSTATUS
_________________
P4 3.0 + 1Gb CentOS 5.7 Aster 1.8.15.1
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#3

я так понял мне нужен GOTOIF DIALSTATUS(CHANUNAVAIL) Да ? или всё таки BUSY ??
#4

Посмотрите как я делаю, в этой теме:
http://asteriskforum.ru/viewtopic.php?t=10437
Но скоро буду переходить на использование chanisavail (руки пока не дошли до него). При схеме приведённой в теме чем больше линий - тем дольше он их перебирает.
#5

2_FreeSS Как понимаю xmaster83 нужно проверить, занят ли сейчас канал или нет. ChanIsAvail как я понял из http://voip.rus.net/tiki-index.php?page= ... hanIsAvail проверяет возможность совершения звонка, а не занятость канала.

Сенсей прав, нужно при каждом dial через DIALSTATUS фиксировать состояние канала и дальше в зависимости от этого танцевать.

Спасибо.

_________________
Мы всегда можем уметь...
#6

exten => _9XXXXXXX,1,Macro(stat-out-allcall,${EXTEN:1:7})
[macro-stat-out-allcall]
exten => s,1,ChanIsAvail(SIP/2009XXX-1&SIP/2009XXX-2&SIP/2009XXX-3,as)
exten => s,n,NoOp(Availchan is ${AVAILCHAN}) ; будет выведено какой канал доступен
exten => s,n,NoOp(Availstatus is ${AVAILSTATUS}) ; будет указан статус канала
exten => s,n,Dial(${CUT(AVAILCHAN,,1&2)}/${ARG1})
exten => s,n,Hangup()

Функция ChanIsAvail - проверяет статус линии и на выходе выдает варианты:
1-зарегестрирован, не звонит
2-зарегестрирован и используется (если call-limit = 1 не установлен)
3-зарегестрирован и используется (call-limit = 1)
5-не зарегестрирован
6-зарегестрирован и звонит
Узнаем статус линии - если статус 1 или 2 то звоним по ней.

поиском когда научимся пользоваться ?
#8

У меня одна многоканальная линия и больной на голову провайдер Smile
Три регистрации с одним именем и паролем на три разных адреса. Время от времени каналы по очереди отпадают - вот и приходиться проверять.
Имена:2009XXX-1 2009XXX-2 и т.д.
#9

awsswa - спасибо буду разбираться

а по поводу поиска то нашёл вот это
http://www.snussi.ru/asterisk/tag/extensions.conf

но там через sql , так что не совсем подходит

короче буду изучать матчасть и смотреть ваши примеры всем спасибо.

Added after 1 minutes:

словил глюк

а может один dongle0 (gsm) beeline две линии на исходящии довать ???
#10

xmaster83 @ Вт Сен 04, 2012 10:22 писал(а):
Посмотрите как я делаю, в этой теме:
http://asteriskforum.ru/viewtopic.php?t=10437

то есть у тебя там 4 ре линия как я понял ?

Да, именно 4. Но я там запрашиваю не только статус BUSY, но так же и CONGESTION и CHANUNAVAIL.

Added after 1 minutes:

nikto @ Вт Сен 04, 2012 08:57 писал(а):
2_FreeSS Как понимаю xmaster83 нужно проверить, занят ли сейчас канал или нет. ChanIsAvail как я понял из http://voip.rus.net/tiki-index.php?page= ... hanIsAvail проверяет возможность совершения звонка, а не занятость канала.

Сенсей прав, нужно при каждом dial через DIALSTATUS фиксировать состояние канала и дальше в зависимости от этого танцевать.

Спасибо.

Я собственно к Chanisavail и не подталкивал, просто предупредил что при увеличении каналов будет увеличиваться время на запрос статусов, если первые N-каналов заняты/недоступны. По ссылке которую я дал есть макрос, в котором запрашивается DIALSTATUS, можно поставить только BUSY.