а если транков много, можно сделать красивы скриптик который запоминает в переменных какие тарнки "посещалися". но это сами подумайте ;)
meral ( 2012-02-05 04:18:42 +0400 )редактироватьДоброго дня! Есть 3 iax транка. На данный момент описано так:
[gate]
exten => _7XXXXXXXXXX,1,Set(ID=${RAND(1,3)})
exten => _7XXXXXXXXXX,2,Dial(IAX2/manager${ID}/${EXTEN})
exten => _7XXXXXXXXXX,n,Hangup()
Подскажите, как сделать цикл? т.е. при попадании звонка в manager1, по недоступности или занятости, необходимо, чтобы звонок уходил в manager2, при тех же условиях там, уходит в manager3 и соответственно для manager3 резервом будет manager1.
[gate];начальный контекст
exten => _7XXXXXXXXXX,1,Set(num=${EXTEN})
exten => _7XXXXXXXXXX,2,Goto(gate_variants,${RAND(1,6)},1)
[gate_variants];все допустимые варианты
exten => 1,1,Set(DO=1-2-3)
exten => 2,1,Set(DO=1-3-2)
exten => 3,1,Set(DO=2-1-3)
exten => 4,1,Set(DO=2-3-1)
exten => 5,1,Set(DO=3-1-2)
exten => 6,1,Set(DO=3-2-1)
exten => _[1-6],2,goto(s,1)
exten => s,1,Set(i=0); делаем цикл(я это не писал, это у меня стандартная заготовка ;) )
exten => s,n(loop),Set(i=$[ i + 1]) ; смотрим по номеру
exten => s,n,Set(do_now=${CUT(DO,-,${i}) ; берем и-тый номер.
exten => s,n,GotoIF($[ "${do_now}" == "" ]?end); номера кончилися ((
exten => s,n,Dial(IAX2/manager${do_now}/${num},,g) ; звоним
exten => s,n,Goto({DIALSTATUS},1); проверяем результат
exten => s,n(end),Hangup; больше нет номеров
exten => BUSY,1,Goto(s,loop); повторяем
exten => CONGESTION,1,Goto(s,loop)
exten => FAIL,1,Goto(s,loop)
exten => NOANSWER,1,Goto(s,loop)
exten => ANSWER,1,Hangup;это не повторям, вроде дозвонилися.
exten => ANSWERED,1,Hangup
а если транков много, можно сделать красивы скриптик который запоминает в переменных какие тарнки "посещалися". но это сами подумайте ;)
meral ( 2012-02-05 04:18:42 +0400 )редактироватьНу и сделать еще раз ID2=RAND(1,3), далее проверку на совпадение с ID, GotoIf на себя еще раз если повтор.. Ну а третий раз ID3=6-${ID}-${ID2}..
ну ты народу давай хоть немного домысливать самим=)))
Zavr2008 ( 2012-02-05 13:16:56 +0400 )редактироватьесли народу не давать аздачки на развитие, они спокойно будут раотаь в своих областях, и обращатсья к експертам когда на до чтото посложнее. и все давольны,не?
meral ( 2012-02-05 17:22:25 +0400 )редактироватьи запускать свои эластиксы большинство будет продолжать.. ставлю за вопрос +1, может хоть кто-то перечитает О'Рейли =)))
Zavr2008 ( 2012-02-05 23:54:43 +0400 )редактироватьЗадан: 2012-02-04 21:49:02 +0400
Просмотрен: 5,987 раз
Обновлен: Feb 05 '12
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.