есть четыре sip/xxx на которые завязана разные исходящие маршруты ( мтс теле2 билайн мегафон город, межгород, сотовый межгород)
как в екстеншин прописать если линия занято то переключаться на другой исходящий sip/xxx полагаю gotoif надо использовать ктонить пример подскажет , в каком направлении рыть ?
_________________
P4 3.0 + 1Gb CentOS 5.7 Aster 1.8.15.1
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
http://asteriskforum.ru/viewtopic.php?t=10437
Но скоро буду переходить на использование chanisavail (руки пока не дошли до него). При схеме приведённой в теме чем больше линий - тем дольше он их перебирает.
Сенсей прав, нужно при каждом dial через DIALSTATUS фиксировать состояние канала и дальше в зависимости от этого танцевать.
Спасибо.
_________________
Мы всегда можем уметь...
[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 то звоним по ней.
поиском когда научимся пользоваться ?
http://asteriskforum.ru/viewtopic.php?t=10437
то есть у тебя там 4 ре линия как я понял ?
Три регистрации с одним именем и паролем на три разных адреса. Время от времени каналы по очереди отпадают - вот и приходиться проверять.
Имена:2009XXX-1 2009XXX-2 и т.д.
а по поводу поиска то нашёл вот это
http://www.snussi.ru/asterisk/tag/extensions.conf
но там через sql , так что не совсем подходит
короче буду изучать матчасть и смотреть ваши примеры всем спасибо.
Added after 1 minutes:
словил глюк
а может один dongle0 (gsm) beeline две линии на исходящии довать ???
| 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.