Есть 4 шлюза goip 4, и 2 шлюза gudwin Asterisk 1.6, Elastix 2.0
Задача стоит следующая чтобы направлять вызовы по очереди с каждой карточки, при условии если карточка занята переходить на следующую.
В данный момент настроена схема для gudwin, как корректно добавить в эту очередь шлюзы goip?
[outbound-1]
exten => _.,1,Answer()
exten => _.,2,Wait(1)
exten => _.,3,Set(fname=${UNIQUEID})
exten => _.,4,MixMonitor(/var/spool/asterisk/monitor/${STRFTIME(,,%G%m%d)}/${fname}.wav)
exten => _XXX,5,Dial(SIP/${EXTEN})
exten => _XXX,6,Goto(lbl_vdp-outbound_3)
exten => _044XXXXXXX,5,Goto(trunks)
exten => _044XXXXXX,5,Goto(trunks)
exten => _XXXXXXX,5,Goto(trunks)
exten => _XXXXXX,5,Goto(trunks)
exten => _0800X.,5,Goto(trunks)
;exten => _0157XXXXXXXXXX,5,Goto(moscow)
;exten => _01537XXXXXXXXXX,5,Goto(moscow)
exten => _X.,5(moscow),Set(SES=0)
exten => _X.,6,Set(GMIN=1)
exten => _X.,7,Set(GMAX=4)
exten => _X.,n,Set(GSMGMIN=1)
exten => _X.,n,Set(GSMGMAX=2)
exten => _X.,n,Set(GSMGATE=${RAND(${GSMGMIN},${GSMGMAX})})
exten => _X.,n,Set(GATE=${RAND(${GMIN},${GMAX})})
exten => _X.,n,GotoIf($["${GSMGATE}" = "1"]?lbl_vdp-outbound_0:lbl_vdp-outbound_12)
exten => _X.,n(lbl_vdp-outbound_0),GotoIf($["${SES}" = "4"]?:lbl_vdp-outbound_2)
exten => _X.,n,Set(SES=0)
exten => _X.,n,Goto(lbl_vdp-outbound_12)
exten => _X.,n(lbl_vdp-outbound_2),Dial(SIP/gudwin1/99${GATE}${EXTEN})
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CANCEL"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "DONTCALL"]?lbl_vdp-outbound_4:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "TORTURE"]?lbl_vdp-outbound_4:)
exten => _X.,n,Goto(lbl_vdp-outbound_3)
exten => _X.,n(lbl_vdp-outbound_4),GotoIf($["${GATE}" = "4"]?:lbl_vdp-outbound_7)
exten => _X.,n,Set(GATE=1)
exten => _X.,n(lbl_vdp-outbound_6),Set(SES=$[(${SES}+1)])
exten => _X.,n,Goto(lbl_vdp-outbound_0)
exten => _X.,n(lbl_vdp-outbound_5),GotoIf($["${GATE}" < "4"]?:lbl_vdp-outbound_4)
exten => _X.,n,Set(GATE=$[${GATE} + 1])
exten => _X.,n,Goto(lbl_vdp-outbound_6)
exten => _X.,n(lbl_vdp-outbound_12),GotoIf($["${SES}" = "4"]?:lbl_vdp-outbound_7)
exten => _X.,n,Set(SES=0)
exten => _X.,n,Goto(lbl_vdp-outbound_0)
exten => _X.,n(lbl_vdp-outbound_7),Dial(SIP/gudwin2/98${GATE}${EXTEN})
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "NOANSWER"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "CANCEL"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "DONTCALL"]?lbl_vdp-outbound_9:)
exten => _X.,n,GotoIf($["${DIALSTATUS}" = "TORTURE"]?lbl_vdp-outbound_9:)
exten => _X.,n,Goto(lbl_vdp-outbound_3)
exten => _X.,n(lbl_vdp-outbound_9),GotoIf($["${GATE}" = "4"]?:lbl_vdp-outbound_10)
exten => _X.,n,Set(GATE=1)
exten => _X.,n(lbl_vdp-outbound_11),Set(SES=$[(${SES}+1)])
exten => _X.,n,Goto(lbl_vdp-outbound_0)
exten => _X.,n(lbl_vdp-outbound_10),GotoIf($["${GATE}" < "4"]?:lbl_vdp-outbound_9)
exten => _X.,n,Set(GATE=$[${GATE} + 1])
exten => _X.,n,Goto(lbl_vdp-outbound_11)
exten => _.,n(lbl_vdp-outbound_3),Hangup()
спасибо
Если сами настраивали, то быстро найдете