Page 1 of 1

Autodialed calls dropped by agi-VDAD_LB_transfer.agi

PostPosted: Tue Dec 08, 2009 5:16 am
by kbenson
We seem to be having a problem with autodialed calls not being transferedby agi-VDAD_LB_transfer.agi. AFAICT, i seems to be related to the portion of that file that skips all calls with channels beginning with Local/. Any thoughts on this? It's a new phenomenon for us, but results in the lead getting a call, but never being dropped into a conference (they fall through to hangup after the 3 agi calls).

Extensions entry:
; VICIDIAL_auto_dialer transfer script Load Balanced:
exten => 8368,1,AGI(agi://127.0.0.1:4577/call_log)
exten => 8368,2,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,3,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,4,AGI(agi-VDAD_LB_transfer.agi,${EXTEN})
exten => 8368,5,Hangup


Asterisk log (number changed):
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- Executing AGI("Local/917071111111@default-ae2d,2", "agi://127.0.0.1:4577/call_log") in new stack
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- Executing NoOp("Local/917071111111@default-ae2d,2", "Using _91NXXNXXXXXX") in new stack
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- Executing Set("Local/917071111111@default-ae2d,2", "_FAKECID=7071111111") in new stack
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- Executing Dial("Local/917071111111@default-ae2d,2", "SIP/bandwidth/+17071111111||tTo") in new stack
Dec 8 00:57:04 VERBOSE[3156] logger.c: -- Called bandwidth/+17071111111
Dec 8 00:57:06 VERBOSE[3156] logger.c: -- SIP/bandwidth-090ebeb0 is making progress passing it to Local/917071111111@default-ae2d,2
Dec 8 00:57:13 VERBOSE[3156] logger.c: -- SIP/bandwidth-090ebeb0 answered Local/917071111111@default-ae2d,2
Dec 8 00:57:13 VERBOSE[3154] logger.c: == Manager 'sendcron' logged off from 127.0.0.1
Dec 8 00:57:13 VERBOSE[3165] logger.c: -- Executing AGI("Local/917071111111@default-ae2d,1", "agi://127.0.0.1:4577/call_log") in new stack
Dec 8 00:57:13 VERBOSE[3165] logger.c: -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
Dec 8 00:57:13 VERBOSE[3165] logger.c: -- Executing AGI("Local/917071111111@default-ae2d,1", "agi-VDAD_LB_transfer.agi|8368") in new stack
Dec 8 00:57:13 VERBOSE[3165] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDAD_LB_transfer.agi
Dec 8 00:57:14 VERBOSE[3165] logger.c: -- AGI Script agi-VDAD_LB_transfer.agi completed, returning 0
Dec 8 00:57:14 VERBOSE[3165] logger.c: -- Executing AGI("Local/917071111111@default-ae2d,1", "agi-VDAD_LB_transfer.agi|8368") in new stack
Dec 8 00:57:14 VERBOSE[3165] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDAD_LB_transfer.agi
Dec 8 00:57:15 VERBOSE[3165] logger.c: -- AGI Script agi-VDAD_LB_transfer.agi completed, returning 0
Dec 8 00:57:15 VERBOSE[3165] logger.c: -- Executing AGI("Local/917071111111@default-ae2d,1", "agi-VDAD_LB_transfer.agi|8368") in new stack
Dec 8 00:57:15 VERBOSE[3165] logger.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/agi-VDAD_LB_transfer.agi
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- AGI Script agi-VDAD_LB_transfer.agi completed, returning 0
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- Executing Hangup("Local/917071111111@default-ae2d,1", "") in new stack
Dec 8 00:57:16 VERBOSE[3165] logger.c: == Spawn extension (default, 8368, 5) exited non-zero on 'Local/917071111111@default-ae2d,1'
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- Executing DeadAGI("Local/917071111111@default-ae2d,1", "agi://127.0.0.1:4577/call_log") in new stack
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- Executing DeadAGI("Local/917071111111@default-ae2d,1", "agi://127.0.0.1:4577/VD_hangup--HVcauses--PRI-----NODEBUG-----16---------------)") in new stack
Dec 8 00:57:16 VERBOSE[3165] logger.c: -- AGI Script agi://127.0.0.1:4577/VD_hangup--HVcause ... ----------) completed, returning 0
Dec 8 00:57:16 VERBOSE[3156] logger.c: == Spawn extension (default, 917071111111, 4) exited non-zero on 'Local/917071111111@default-ae2d,2'
Dec 8 00:57:16 VERBOSE[3156] logger.c: -- Executing DeadAGI("Local/917071111111@default-ae2d,2", "agi://127.0.0.1:4577/call_log") in new stack
Dec 8 00:57:16 VERBOSE[3156] logger.c: -- AGI Script agi://127.0.0.1:4577/call_log completed, returning 0
Dec 8 00:57:16 VERBOSE[3156] logger.c: -- Executing DeadAGI("Local/917071111111@default-ae2d,2", "agi://127.0.0.1:4577/VD_hangup--HVcauses--PRI-----NODEBUG-----16-----ANSWER-----12-----3)") in new stack
Dec 8 00:57:16 VERBOSE[3156] logger.c: -- AGI Script agi://127.0.0.1:4577/VD_hangup--HVcause ... --12-----3) completed, returning 0

Any thoughts? I'm a bit confused as to the reason Local/ calls cause an immediate exit in the transfer agi, but that hasn't changed.

PostPosted: Tue Dec 08, 2009 7:45 am
by mflorell
You are having a channel resolution issue. Usually these are solved by changing how you are registering your SIP provider or how you are placing your phone calls. Try using a full Dial string instead of referencing an account. Also, try another carrier.

PostPosted: Tue Dec 08, 2009 12:09 pm
by tbenson
mflorell wrote:You are having a channel resolution issue. Usually these are solved by changing how you are registering your SIP provider or how you are placing your phone calls. Try using a full Dial string instead of referencing an account. Also, try another carrier.


We are using bandwidth.com which does not do registration between us and them, they allow dialing based on an ACL list, so no real way to change 'registration' since there isnt any.

When you say try using a 'full dial string' what do you mean? My assumption is you mean change dialing Dial(${TRUNKX}/+17075551212) to Dial(sip/bandwidth/+17075551212)? Are you referring to dialing with SIP URI? like +17075551212@IPADDR? How would that apply to dialing over Zap, as we experience this exact same issue when dialing out Zap.

The issue also only occurs in ADAPT, manual dialing from the client, and dialing from the voip phone works great. It just appears to be that any outbound autodial via zap or sip stays as a local and never gets handled by the AGI.

Otherwise please clarify what you mean by a full dial string instead of referencing an account, as I am unaware how to dial without Dial(type/identifier[, timeout, options, url])

PostPosted: Tue Dec 08, 2009 12:51 pm
by mflorell
Dialing through an account in sip.conf:
Dial(sip/bandwidth/+17075551212)

Dialing through a full dial string:
Dial(sip/account:secret@sip.bandwidth.com:5060/+17075551212)

PostPosted: Tue Dec 08, 2009 1:54 pm
by tbenson
Did it without the account:secret@ portion, gets normal dial from a handset, but again adapt doesn't appear to function.

And the Zap comment was mistake during a LB test that somehow went out a server with zero trunks defined. Zap works, albeit not supporting nearly as manly lines as we use. I will start to look into channel resolution, as unless changing the AGI to recognize Local extensions and conference rooms as the sleep, instead of all local, that way a local 10digit (or if it sees a local/+1 (knowings it is E.164 dialing) that it doesnt sleep, and then attempts to transfer that local channel, or is there much more that would need to be changed besides the sleep portion of agi-VDAD_LB_transfer.agi to allow it to function with a local channel instead of the sip/provider/.. channel?

Thanks

PostPosted: Tue Dec 08, 2009 6:10 pm
by mflorell
The Local/ channel resolution issue is actually a bug in Asterisk. We have looked into fixing it before, but all of our clients that have had it we have been able to fix with small changes to the dial and/or registration of the carrier.