Имеется:
PBX - elastix 2.0.0;
Asterisk 1.6.2.13;
GSM Gate - GOIP 4 c прошивкой версии: GS-4.01-34;
Таже заведены 2 шлюза gudwin, через которые идёт основной поток звонок;
Несколько транков;
Задача настроить исходящие вызовы через шлюз goip4 ( в шлюз вставлено 4 карточки) при дополнительном наборе префикс 220 чтобы звонки шли через данный шлюз по очереди через каждую сим-карту);
sip_additional.conf
[GSMVOIP991]
type=friend
host=192.168.ХХХ.ХХХ - ; адрес шлюза
username=991
secret=ХХХХХХ
context=vdp-inbound
disallow=all
allow=ulaw&alaw
qualify=yes
insecure=port,invite
nat=no
[991]
type=friend
host=dynamic
secret=ХХХХХХ
context=vdp-inbound
[GSMVOIP902]
type=friend
host=192.168.ХХХ.ХХХ
username=992
secret=ХХХХХХ
context=vdp-inbound
disallow=all
allow=ulaw&alaw
qualify=yes
insecure=port,invite
nat=no
[992]
type=friend
host=dynamic
secret=ХХХХХХХХ
context=vdp-inbound
[GSMVOIP903]
type=friend
host=192.168.ХХХ.ХХХ
username=993
secret=ХХХХХХ
context=vdp-inbound
disallow=all
allow=ulaw&alaw
qualify=yes
insecure=port,invite
nat=no
[993]
type=friend
secret=ХХХХХХ
host=dynamic
context=vdp-inbound
[GSMVOIP904]
type=friend
host=192.168.ХХХ.ХХХ
username=994
secret=ХХХХХХ
context=vdp-inbound
disallow=all
allow=ulaw&alaw
qualify=yes
insecure=port,invite
nat=no
[994]
type=friend
secret=ХХХХХХ
host=dynamic
context=vdp-inbound
[outbound-rezina]
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 => _21XXXXXXXXXX,5,Dial(SIP/gudwin1/991${EXTEN:2})
;exten => _22XXXXXXXXXX,5,Dial(SIP/gudwin1/992${EXTEN:2})
;exten => _23XXXXXXXXXX,5,Dial(SIP/gudwin1/993${EXTEN:2})
;exten => _24XXXXXXXXXX,5,Dial(SIP/gudwin1/994${EXTEN:2})
exten => _0668656055,5,Dial(SIP/GSMVOIP991/801${EXTEN})
exten => _7XXXXXXXXXX,5,Dial(SIP/79629313810/${EXTEN})
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()
Шлюз зарегестрировался:
991/991 192.168.10.14 D 5060 Unmonitored
992/992 192.168.10.14 D 5060 Unmonitored
993/993 192.168.10.14 D 5060 Unmonitored
994/994 (Unspecified) D 0 Unmonitored
GSMVOIP902/992 192.168.10.14 5060 OK (13 ms)
GSMVOIP903/993 192.168.10.14 5060 OK (13 ms)
GSMVOIP991/991 192.168.10.14 5060 OK (13 ms)
При исходящем астериск пишет следующее:
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [066Х2332ХХ@from-internal:1] Answer("SIP/630-00010a4e", "") in new stack
-- Executing [066Х2332ХХ@from-internal:2] Wait("SIP/630-00010a4e", "1") in new stack
-- Executing [066Х2332ХХ@from-internal:3] Set("SIP/630-00010a4e", "fname=1343897769.68186") in new stack
-- Executing [066Х2332ХХ@from-internal:4] MixMonitor("SIP/630-00010a4e", "/var/spool/asterisk/monitor/20120802/1343897769.68186.wav") in new stack
-- Executing [066Х2332ХХ@from-internal:5] Dial("SIP/630-00010a4e", "SIP/GSMVOIP991/8010668656055") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Couldn't call GSMVOIP991/8010668656055
== Everyone is busy/congested at this time (0:0/0/0)
-- Executing [066Х2332ХХ@from-internal:6] Set("SIP/630-00010a4e", "GMIN=1") in new stack
-- Executing [066Х2332ХХ@from-internal:7] Set("SIP/630-00010a4e", "GMAX=4") in new stack
-- Executing [066Х2332ХХ@from-internal:8] Set("SIP/630-00010a4e", "GSMGMIN=1") in new stack
-- Executing [066Х2332ХХ@from-internal:9] Set("SIP/630-00010a4e", "GSMGMAX=2") in new stack
-- Executing [066Х2332ХХ@from-internal:10] Set("SIP/630-00010a4e", "GSMGATE=1") in new stack
-- Executing [066Х2332ХХ@from-internal:11] Set("SIP/630-00010a4e", "GATE=3") in new stack
-- Executing [066Х2332ХХ@from-internal:12] GotoIf("SIP/630-00010a4e", "1?lbl_vdp-outbound_0:lbl_vdp-outbound_12") in new stack
-- Goto (from-internal,066Х2332ХХ,13)
-- Executing [066Х2332ХХ@from-internal:13] GotoIf("SIP/630-00010a4e", "0?:lbl_vdp-outbound_2") in new stack
-- Goto (from-internal,066Х2332ХХ,16)
-- Executing [066Х2332ХХ@from-internal:16] Dial("SIP/630-00010a4e", "SIP/gudwin1/066Х2332ХХ") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called gudwin1/993066Х2332ХХ
== Begin MixMonitor Recording SIP/630-00010a4e
== Spawn extension (from-internal, 0668656055, 16) exited non-zero on 'SIP/630-00010a4e'
-- Executing [h@from-internal:1] Macro("SIP/630-00010a4e", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/630-00010a4e", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] NoOp("SIP/630-00010a4e", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:4] GotoIf("SIP/630-00010a4e", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("SIP/630-00010a4e", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,10)
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/630-00010a4e", "1?theend") in new stack
-- Goto (macro-hangupcall,s,12)
-- Executing [s@macro-hangupcall:12] Hangup("SIP/630-00010a4e", "") in new stack
== Spawn extension (macro-hangupcall, s, 12) exited non-zero on 'SIP/630-00010a4e' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/630-00010a4e'
== MixMonitor close filestream
Возможно кто либо увидит опытным глазом и подскажет решение. Заранее спасибо. По надобности могу предоставить настройки шлюза