How can I determine which carrier placed call

All installation and configuration problems and questions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

How can I determine which carrier placed call

Postby perlmutr » Tue Mar 21, 2017 11:10 am

I am running a press 1 type campaign. I have 2 carriers for my outbound traffic and i round robin between the carriers as well as doing a failover on congestion, etc. In addition one of the carriers has 2 ip's and i round robin between those. I also have a carrier for my conversational/bridge traffic (on press 1) with 2 ip's that i round robin between. From what report (or file) can i determine where the call was actually routed?

my dialplan is below.... prefix 9 is outbound traffic, prefix 8 is my bridge traffic

Globals

MAX_PROVIDERS = 2
sip_provider = 1
Carrier2_bridge = 1
Carrier2_dialer = 1


;
; dial out on provider 1 and set provider 2
;
exten => _91NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _91NXXNXXXXXX,n,GotoIf($[${sip_provider} = 2]?30)
exten => _91NXXNXXXXXX,n,Set(GLOBAL(sip_provider)=2)
exten => _91NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@carrier1,,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?40)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?40)
exten => _91NXXNXXXXXX,n,Hangup
;
; dial out on provider 2 and set provider 1
;
exten => _91NXXNXXXXXX,30,Set(GLOBAL(sip_provider)=1)
;
; round robin provider 2 dialer servers dial server 1
;
exten => _91NXXNXXXXXX,n,GotoIf($[${Carrier2_dialer} = 2]?35)
exten => _91NXXNXXXXXX,n,Set(GLOBAL(Carrier2_dialer)=2)
exten => _91NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@Carrier2,,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?50)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?50)
exten => _91NXXNXXXXXX,n,Hangup
;
; round robin provider 2 dialer servers dial server 2
;
exten => _91NXXNXXXXXX,35,Set(GLOBAL(Carrier2_dialer)=1)
exten => _91NXXNXXXXXX,n,Dial(SIP/${EXTEN:}@Carrier2Alt,,To)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?50)
exten => _91NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?50)
exten => _91NXXNXXXXXX,n,Hangup
;
; congestion on 1 try provider 2
;
exten => _91NXXNXXXXXX,40, Dial(SIP/${EXTEN:1}@Carrier2,,To)
exten => _91NXXNXXXXXX,n,Noop("Tried failover to Carrier2")
exten => _91NXXNXXXXXX,n,Hangup
;
; congestion on 2 try provider 1
;
exten => _91NXXNXXXXXX,50, Dial(SIP/${EXTEN:1}@Carrier1,,To)
exten => _91NXXNXXXXXX,n,Noop("Tried failover to Carrier1")
exten => _91NXXNXXXXXX,n,Hangup
;
; Bridge calls go to Provider 2 unless congestion then provider 1 then provider 2 outbound
;
exten => _81NXXNXXXXXX,1,AGI(agi://127.0.0.1:4577/call_log)
exten => _81NXXNXXXXXX,n,AGI(agi-NVA_recording.agi,BOTH---TRANSFER---Y---Y---Y)
;
; round robin provider 2 servers dial server 1
;
exten => _81NXXNXXXXXX,n,GotoIf($[${Carrier2_bridge} = 2]?60)
exten => _81NXXNXXXXXX,n,Set(GLOBAL(Carrier2_bridge)=2)
exten => _81NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@BridgeCall,,To)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?70)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?70)
exten => _81NXXNXXXXXX,n,Hangup
;
; round robin provider 2 servers dial server 2
;
exten => _81NXXNXXXXXX,60,Set(GLOBAL(Carrier2_bridge)=1)
exten => _81NXXNXXXXXX,n,Dial(SIP/${EXTEN:1}@BridgeCallAlt,,To)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?70)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?70)
exten => _81NXXNXXXXXX,n,Hangup
;
; congestion on 2 try provider 1
;
exten => _81NXXNXXXXXX,70,Noop("Try failover to carrier1")
exten => _81NXXNXXXXXX,n, Dial(SIP/${EXTEN:1}@carrier1,,To)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CHANUNAVAIL"]?80)
exten => _81NXXNXXXXXX,n,GotoIf($["${DIALSTATUS}" = "CONGESTION"]?80)
exten => _81NXXNXXXXXX,n,Hangup
;
; congestion on 1 try provider 2 dialer route
;
exten => _81NXXNXXXXXX,80,Noop("Try failover to carrier2")
exten => _81NXXNXXXXXX,n, Dial(SIP/${EXTEN:1}@Carrier2,,To)
exten => _81NXXNXXXXXX,n,Hangup




Vicidial Version 2.12b0.5 SVN 2564 DB schema version 1462 asterisk version 11.22.0-vici

3 machine cluster
Database machine, Dialer 1 and dialer 2.. both dialers have 2 nic's.. one internal and 1 external for traffic.
perlmutr
 
Posts: 21
Joined: Mon Jun 20, 2016 1:01 pm

Re: How can I determine which carrier placed call

Postby mflorell » Tue Mar 21, 2017 11:32 am

Have you looked at the Carrier Log Report or the Hangup Cause Report?

If those won't work, you may have to resort to looking at the Asterisk CLI screenlog, because that's a VERY complex dialplan you've got there.
mflorell
Site Admin
 
Posts: 18387
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida


Return to Support

Who is online

Users browsing this forum: No registered users and 60 guests