[Asterisk-Users] Transferring a call with IAX

Douglas Garstang dgarstang at oneeighty.com
Fri Mar 24 14:46:41 MST 2006


Thanks Aaron, but nope... that didn't do it. I put an explicit hangup right after the Queue app on the ACD server, and I see this when it times out:
Executing Hangup("IAX2/216.187.142.203:4569-2", "") in new stack

However, the calling server never regained control. Ahhh Asterisk a marvelous thing... I can see myself spending days on trying to get this to work.

Doug

> -----Original Message-----
> From: Aaron Daniel [mailto:amdtech at shsu.edu]
> Sent: Friday, March 24, 2006 1:43 PM
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: RE: [Asterisk-Users] Transferring a call with IAX
> 
> 
> Heh, lots of voodoo... I've got a drawer full of dolls shaped 
> like servers 
> that we stick pins into when something's not working :)
> 
> Anyway... um, let's see if I can piece this together, it's kinda 
> scattered...
> 
> A call comes from SCM2 (the secondary call server) and it 
> starts looking 
> for the phone with this:
>                  Dial(SIP/${info_forwardto},25);
> then using the DIALSTATUS, if it finds that it's in 
> CHANUNAVAIL, it sends 
> it to the primary server:
>                  case "CHANUNAVAIL":
>  			
> Dial(IAX2/asterisk:password at scm1.shsu.edu/${info_forwardto},25,wW);
>                          &uvm(${ext});
>                          Hangup;
>                          break;
> 
> In order to keep the call compartmentalized, on SCM1, we've got:
> context from-scm2 {
>          _4XXXX => {
>                  NoOp(DIALING SIP EXTENSION ${EXTEN} - FROM 
> ${CALLERIDNUM});
>                  Dial(SIP/${EXTEN},20,wW);
>                  Hangup;
>          };
> 
>          _6XXXX => {
>                  NoOp(DIALING SIP EXTENSION ${EXTEN} - FROM 
> ${CALLERIDNUM});
>                  Dial(SIP/${EXTEN},20,wW);
>                  Hangup;
>          };
> };
> 
> I think your problem is that the other server isn't hanging 
> up the line 
> when it runs out of the queue.  Add this, and it should work for you:
> 
> exten => oe_custcare,5,Hangup
> 
> Let me know if that works :)
> 
> Aaron
> 
> P.S. It's the same on both servers, just the server names are 
> switched. 
> Either server can be the primary.  If you want it in extensions.conf 
> language, let me know.
> 
> On Fri, 24 Mar 2006, Douglas Garstang wrote:
> 
> > Aaron,
> >
> > That's not what I'm seeing. I'd like to know how your doing it.
> > Here's what the calling system has:
> >
> > exten => 2944000,1,Dial(SIP/2944030,15,tr)
> > exten => 2944000,2,Answer
> > exten => 2944000,3,Wait,1
> > exten => 2944000,4,Playback(thank-you-for-calling)
> > exten => 2944000,5,Playback(customer-service)
> > exten => 
> 2944000,6,Macro(DialIAX,acdserver1,oe_custcare,oneeighty_acd)
> >
> > and on the callee system(acd box) I have:
> > exten => oe_custcare,1,Answer
> > exten => oe_custcare,2,Queue(oe_custcare||||120)
> > exten => oe_custcare,3,NoOP(QUEUE DONE)
> > exten => oe_custcare,4,Macro(DialIAX,vmserver1,2944002,vmdeposit)
> >
> > and here's the Macro on the calling system:
> > exten => s,1,Dial(IAX2/pbxuser@${ARG1}/${ARG2}@${ARG3})
> > exten => s,2,Goto(s-${DIALSTATUS},1)
> > exten => s-ANSWER,1,Goto(s-OK,1)
> > exten => s-NOANSWER,1,Goto(s-ERROR,1)
> > exten => s-CONGESTION,1,Goto(s-ERROR,1)
> > exten => s-CHANUNAVAIL,1,Goto(s-ERROR,1)
> > exten => s-ERROR,1,Answer()
> > exten => s-ERROR,2,Wait,1
> > exten => s-ERROR,3,Set(i=1)
> > exten => s-ERROR,4,While($[${i} < 4])
> > exten => s-ERROR,5,Playback(cannot-complete-network-error)
> > exten => s-ERROR,6,Playback(message-number)
> > exten => s-ERROR,7,Playback(letters/o)
> > exten => s-ERROR,8,Playback(letters/e)
> > exten => s-ERROR,9,Playback(digits/9)
> > exten => s-ERROR,10,Playback(digits/0)
> > exten => s-ERROR,11,Playback(digits/0)
> > exten => s-ERROR,12,Set(i=$[${i} + 1])
> > exten => s-ERROR,13,EndWhile
> > exten => s-ERROR,14,Hangup()
> > exten => s-OK,1,MacroExit
> >
> > The callee system executes the NoOP(QUEUE DONE) when the 
> queue times out, but does not return control to the calling 
> system. I have to dial the VM server from the ACD box. I 
> don't understand how that could work anyways. Once you've 
> transferred the call, you've transferred it.
> >
> > What voodoo are you using?
> >
> > Doug.
> >
> 
> -- 
> Aaron Daniel
> Computer Systems Technician
> Sam Houston State University
> amdtech at shsu.edu
> (936) 294-4198
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
> 



More information about the asterisk-users mailing list