[Asterisk-Users] Transferring a call with IAX

Douglas Garstang dgarstang at oneeighty.com
Fri Mar 24 16:02:10 MST 2006


Aaron... I don't think that's it.

When I comment out the Macro call on the ACD server, the NoOP(QUEUE DONE) is called, and that's where it stops. Without the macro being called on the ACD server, control should return to the PBX server and it does not.

Here's what the caller 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)
exten => 2944000,7,NoOp(CONTROL RETURNED) <-- this does NOT execute

and here's what the callee has:
exten => oe_custcare,1,Answer
exten => oe_custcare,2,Queue(oe_custcare||||120)
exten => oe_custcare,3,NoOP(QUEUE DONE) <-- this executes
exten => oe_custcare,4,Hangup <-- this also executes

and here's the caller's macro:
exten => s,1,Dial(IAX2/pbxuser@${ARG1}/${ARG2}@${ARG3},25,wW)
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

... on callee:
    -- Executing NoOp("IAX2/216.187.142.203:4569-5", "QUEUE DONE") in new stack
    -- Executing Hangup("IAX2/216.187.142.203:4569-5", "") in new stack

... on the caller:
    -- Hungup 'IAX2/acdserver1-3'


> -----Original Message-----
> From: Aaron Daniel [mailto:amdtech at shsu.edu]
> Sent: Friday, March 24, 2006 3:52 PM
> To: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: RE: [Asterisk-Users] Transferring a call with IAX
> 
> 
> My bad, sorry, one of those days.
> 
> Change priority 4 on the ACD server to a Hangup and ignore 
> what I said 
> before about putting in priority 5.  Put the macro call you 
> had on the ACD 
> server on the PBX server, and that should fix your problem.  
> Since you're 
> having the ACD server do a macro of it's own, it's not 
> getting sent back 
> directly to the PBX server.
> 
> Let me know how that works.
> 
> Aaron
> 
> On Fri, 24 Mar 2006, Douglas Garstang wrote:
> 
> > Aaron.
> >
> > Uhm... yes. I thought you picked up on that.
> > It's like this:
> >
> > PBX Server -> ACD Server(queue times out) -> VM Server
> >
> > I'd like it to go like this:
> >
> > PBX Server -> ACD Server(queue times out) -> PBX Server -> VM Server
> >
> > So, after the pbx server dials the acd server, and the 
> queue times out, I wanted to have control returned to the pbx 
> server where _it_ could dial the VM server, instead of the 
> ACD server doing it. I thought you where doing something similar?
> >
> > Douglas.
> >
> >
> >
> >> -----Original Message-----
> >> From: Aaron Daniel [mailto:amdtech at shsu.edu]
> >> Sent: Friday, March 24, 2006 2:51 PM
> >> To: Asterisk Users Mailing List - Non-Commercial Discussion
> >> Subject: RE: [Asterisk-Users] Transferring a call with IAX
> >>
> >>
> >> Hhhmmm... I missed something... You're jumping from one
> >> calling server
> >> through a "callee" server, and then from there to another 
> server for
> >> voicemail?
> >>
> >> Aaron
> >>
> >> On Fri, 24 Mar 2006, Douglas Garstang wrote:
> >>
> >>> 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
> >>>>
> >>> _______________________________________________
> >>> --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
> >>>
> >>
> >> --
> >> 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
> >>
> > _______________________________________________
> > --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
> >
> 
> -- 
> 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