Estimados.
Tengo creado 3 trunk:
zapg0 (por defecto)
4002_sip
4001_sip
El caso es que para diferenciar las llamadas uso los prefijos 4001 y 4002 que son rutas salientes en el fondo.
Al marcar 40020056xxxxxx no tengo problemas la llamada se cursa, no así
al Marcar 40010056xxxxxx me indica que el trunk esta ocupado.
Ambos trunk están registrados.
en el CLI me aparece los siguiente:
tarif*CLI>
-- Executing [40010056322321461@from-internal:1] Macro("SIP/3013-08bccb70", "user-callerid|SKIPTTL|") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/3013-08bccb70", "AMPUSER=301 3") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/3013-08bccb70", "0?report ") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/3013-08bccb70", "1|Set|RE ALCALLERIDNUM=3013") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/3013-08bccb70", "AMPUSER=301 3") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/3013-08bccb70", "AMPUSERCIDN AME=administrador") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/3013-08bccb70", "0?report ") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/3013-08bccb70", "AMPUSERCID= 3013") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/3013-08bccb70", "CALLERID(al l)="administrador" <3013>") in new stack
-- Executing [s@macro-user-callerid:9] Set("SIP/3013-08bccb70", "REALCALLERI DNUM=3013") in new stack
-- Executing [s@macro-user-callerid:10] ExecIf("SIP/3013-08bccb70", "0|Set|C HANNEL(language)=") in new stack
-- Executing [s@macro-user-callerid:11] GotoIf("SIP/3013-08bccb70", "1?conti nue") in new stack
-- Goto (macro-user-callerid,s,20)
-- Executing [s@macro-user-callerid:20] NoOp("SIP/3013-08bccb70", "Using Cal lerID "administrador" <3013>") in new stack
-- Executing [40010056322321461@from-internal:2] Set("SIP/3013-08bccb70", "_ NODEST=") in new stack
-- Executing [40010056322321461@from-internal:3] Macro("SIP/3013-08bccb70", "record-enable|3013|OUT|") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/3013-08bccb70", "1?check" ) in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("SIP/3013-08bccb70", "recordingch eck|20090819-132616|1250702776.326") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20090819-132616|1250702776.326: Outbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("SIP/3013-08bccb70", "") in new stack
-- Executing [40010056322321461@from-internal:4] Macro("SIP/3013-08bccb70", "dialout-trunk|3|0056322321461||") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("SIP/3013-08bccb70", "DIAL_TRUNK= 3") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("SIP/3013-08bccb70", "0?sub-p incheck|s|1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("SIP/3013-08bccb70", "0?disabl etrunk|1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("SIP/3013-08bccb70", "DIAL_NUMBER =0056322321461") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("SIP/3013-08bccb70", "DIAL_TRUNK_ OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("SIP/3013-08bccb70", "OUTBOUND_GR OUP=OUT_3") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("SIP/3013-08bccb70", "1?nomax" ) in new stack
-- Goto (macro-dialout-trunk,s,9)
-- Executing [s@macro-dialout-trunk:9] GotoIf("SIP/3013-08bccb70", "0?skipou tcid") in new stack
-- Executing [s@macro-dialout-trunk:10] Set("SIP/3013-08bccb70", "DIAL_TRUNK _OPTIONS=") in new stack
-- Executing [s@macro-dialout-trunk:11] Macro("SIP/3013-08bccb70", "outbound -callerid|3") in new stack
-- Executing [s@macro-outbound-callerid:1] ExecIf("SIP/3013-08bccb70", "0|Se tCallerPres|") in new stack
-- Executing [s@macro-outbound-callerid:2] ExecIf("SIP/3013-08bccb70", "0|Se t|REALCALLERIDNUM=3013") in new stack
-- Executing [s@macro-outbound-callerid:3] GotoIf("SIP/3013-08bccb70", "1?no rmcid") in new stack
-- Goto (macro-outbound-callerid,s,6)
-- Executing [s@macro-outbound-callerid:6] Set("SIP/3013-08bccb70", "USEROUT CID=") in new stack
-- Executing [s@macro-outbound-callerid:7] Set("SIP/3013-08bccb70", "EMERGEN CYCID=") in new stack
-- Executing [s@macro-outbound-callerid:8] Set("SIP/3013-08bccb70", "TRUNKOU TCID=") in new stack
-- Executing [s@macro-outbound-callerid:9] GotoIf("SIP/3013-08bccb70", "1?tr unkcid") in new stack
-- Goto (macro-outbound-callerid,s,12)
-- Executing [s@macro-outbound-callerid:12] ExecIf("SIP/3013-08bccb70", "0|S et|CALLERID(all)=") in new stack
-- Executing [s@macro-outbound-callerid:13] GotoIf("SIP/3013-08bccb70", "1?e xit") in new stack
-- Goto (macro-outbound-callerid,s,11)
-- Executing [s@macro-outbound-callerid:11] MacroExit("SIP/3013-08bccb70", " ") in new stack
-- Executing [s@macro-dialout-trunk:12] ExecIf("SIP/3013-08bccb70", "1|AGI|f ixlocalprefix") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
-- AGI Script fixlocalprefix completed, returning 0
-- Executing [s@macro-dialout-trunk:13] Set("SIP/3013-08bccb70", "OUTNUM=005 6322321461") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("SIP/3013-08bccb70", "custom=SIP /4001_itorres") in new stack
-- Executing [s@macro-dialout-trunk:15] ExecIf("SIP/3013-08bccb70", "0|Set|D IAL_TRUNK_OPTIONS=M(setmusic^)") in new stack
-- Executing [s@macro-dialout-trunk:16] Macro("SIP/3013-08bccb70", "dialout- trunk-predial-hook|") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("SIP/3013-08bc cb70", "") in new stack
-- Executing [s@macro-dialout-trunk:17] GotoIf("SIP/3013-08bccb70", "0?bypas s|1") in new stack
-- Executing [s@macro-dialout-trunk:18] GotoIf("SIP/3013-08bccb70", "0?custo mtrunk") in new stack
-- Executing [s@macro-dialout-trunk:19] Dial("SIP/3013-08bccb70", "SIP/4001_ itorres/0056322321461|300|") in new stack
-- Called 4001_itorres/0056322321461
// ya resolvio de sacar la llamada por trunk 4001_itorres
-- SIP/4001_itorres-08c60e28 is circuit-busy
== Everyone is busy/congested at this time (1:0/1/0)
-- Executing [s@macro-dialout-trunk:20] Goto("SIP/3013-08bccb70", "s-CONGEST ION|1") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,1)
-- Executing [s-CONGESTION@macro-dialout-trunk:1] GotoIf("SIP/3013-08bccb70" , "1?noreport") in new stack
-- Goto (macro-dialout-trunk,s-CONGESTION,3)
-- Executing [s-CONGESTION@macro-dialout-trunk:3]
NoOp("SIP/3013-08bccb70", "TRUNK Dial failed due to CONGESTION -
failing through to other trunks") in new stack
-- Executing [40010056322321461@from-internal:5] Macro("SIP/3013-08bccb70", "outisbusy|") in new stack
-- Executing [s@macro-outisbusy:1] Playback("SIP/3013-08bccb70", "all-circui ts-busy-now|noanswer") in new stack
-- Playing 'all-circuits-busy-now' (language 'en')
-- Executing [s@macro-outisbusy:2] Playback("SIP/3013-08bccb70", "pls-try-ca ll-later|noanswer") in new stack
-- Playing 'pls-try-call-later' (language 'en')
-- Executing [s@macro-outisbusy:3] Macro("SIP/3013-08bccb70", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] ResetCDR("SIP/3013-08bccb70", "w") in ne w stack
-- Executing [s@macro-hangupcall:2] NoCDR("SIP/3013-08bccb70", "") in new st ack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/3013-08bccb70", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing [s@macro-hangupcall:6] GotoIf("SIP/3013-08bccb70", "1?skipblkvm ") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] GotoIf("SIP/3013-08bccb70", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing [s@macro-hangupcall:11] Hangup("SIP/3013-08bccb70", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/3013-08bc cb70' in macro 'hangupcall'
== Spawn extension (macro-outisbusy, s, 3) exited non-zero on 'SIP/3013-08bccb 70' in macro 'outisbusy'
== Spawn extension (from-internal, 40010056322321461, 5) exited non-zero on 'S IP/3013-08bccb70'
-- Executing [h@from-internal:1] Macro("SIP/3013-08bccb70", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] ResetCDR("SIP/3013-08bccb70", "w") in ne w stack
-- Executing [s@macro-hangupcall:2] NoCDR("SIP/3013-08bccb70", "") in new st ack
-- Executing [s@macro-hangupcall:3] GotoIf("SIP/3013-08bccb70", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,6)
-- Executing [s@macro-hangupcall:6] GotoIf("SIP/3013-08bccb70", "1?skipblkvm ") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] GotoIf("SIP/3013-08bccb70", "1?theend") in new stack
-- Goto (macro-hangupcall,s,11)
-- Executing [s@macro-hangupcall:11] Hangup("SIP/3013-08bccb70", "") in new stack
== Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/3013-08bc cb70' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/3013-08bccb70
Los troncales son del mismo proveedor sip, sólo cambian las cuentas.
¿Alguna idea?
Saludos.
Carlos.
[eliminemos los 10 kilos de mierda que mete FreePBX y que no son necesarios
para esta consulta]
> -- Executing [s@macro-dialout-trunk:19] Dial("SIP/3013-08bccb70",
> "SIP/4001_ itorres/0056322321461|300|") in new stack
>
> -- Called 4001_itorres/0056322321461
> // ya resolvio de sacar la llamada por trunk 4001_itorres
>
> -- SIP/4001_itorres-08c60e28 is circuit-busy
> == Everyone is busy/congested at this time (1:0/1/0)
> -- Executing [s@macro-dialout-trunk:20] Goto("SIP/3013-08bccb70",
> "s-CONGEST ION|1") in new stack
El trunk está ocupado ... ¿que problema hay?
> Los troncales son del mismo proveedor sip, sólo cambian las cuentas.
>
> ¿Alguna idea?
Viendo que lo que te devuelve es circuit-busy ... pues lo siguiente es que
hagas una traza SIP para ver exactamente que está devolviendo el proveedor.
--
Raúl Alexis Betancor Santana
Dimensión Virtual S.L.