[asterisk-users] How do I create an IVR/Dial Group that worksproperly?

Alan Lord (News) alanslists at gmail.com
Fri Jul 17 10:12:02 CDT 2009


On 17/07/09 14:14, Danny Nicholas wrote:
> I may 100% off here, but I seem to recall reading in the last 2 days threads
> that macro dialing messes with CDR entries.  I would try replacing one of
> your macro lines with a straight Dial command to verify this.

Thanks Danny, but that doesn't really help. I have tried moving the 
contents of the offending Macro into the IVR menu itself and using a 
Dial() command. But it makes no difference. The call is still on the "s" 
extension and the CDR records the connection with the correct callerid 
but with the destination as "s". Which is not what I want.

If the caller dials an extension number, say 101, then it all works 
fine. The problem is when trying to automatically dial from within the 
plan it fails. I need to somehow change "s" to the end extension number 
of the person who actually picks up the phone.

I am trying to understand how other people configure their * to achieve 
the requirement I specified below.

I can't believe it is this hard to do. But I fail to see how I can 
achieve it, because there is no extension - other than "s" - when the 
caller enters the dialplan. I want the caller to be automatically 
connected to one or other of our extensions if they do not know the 
extension number to dial themselves.

I guess I am trying to find out if I have set this up totally *wrong* 
and perhaps I should be using a queue or something, but that seems a bit 
overkill...

Alan


>
> -----Original Message-----
> From: asterisk-users-bounces at lists.digium.com
> [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Alan Lord
> (News)
> Sent: Friday, July 17, 2009 3:23 AM
> To: asterisk-users at lists.digium.com
> Subject: [asterisk-users] How do I create an IVR/Dial Group that
> worksproperly?
>
> Hi all,
>
> I am trying to understand how I can get a simple IVR scenario to work
> properly (having already removed most of my hair...).
>
> The basic requirement is as follows:
>
> * Caller arrives at our main number
> * Caller is greeted and then told they can enter an extension number, if
> known, or wait and their call will be connected to an available rep.
> * The IVR then dials a group of extensions (if the caller didn't enter
> one obviously).
> * Someone picks up the call and the connection is established and logged.
>
> Now, I have all of this working apart from the last piece.
>
> My IVR rings various extensions and I can pick up the call just fine.
> But my problem is that the data asterisk records regarding the call is
> wrong.
>
> It correctly identifies the CallerID, but it always records the
> destination as "s". Not the extension of, for example my SIP phone (101).
>
> If the incoming caller dials 101 whilst in the IVR, the log is correct.
>
> I can see *why* I am having this problem (There is no extension when you
> arrive in the IVR other than "s"), but I cannot see *how* to fix it.
>
> Please can I ask how do others handle this so it works properly (I've
> included the basics of my DP below)?
>
> I'm running Asterisk 1.4.21.2~dfsg-1ubuntu3 on Ubuntu Server 8.10.
>
> Thanks
>
> Alan
>
>
> Here is the IVR which callers are dropped into:
>
> [tolc_menu] ; Welcome and information to callers
> exten =>  s,1,Answer()
> exten =>  s,n,Wait(2)
> exten =>  s,n,Background(welcome-to-tolc) ; Say Hello
> exten =>  s,n,Wait(1)
> exten =>  s,n(tryagain),Background(enter-ext-of-person&or) ; Enter
> extension number if known, or
> exten =>  s,n,Background(pls-stay-on-line) ; Trying to connect...
> exten =>  s,n,WaitExten(5)
> exten =>  s,n,Macro(belllord,${ALANL}&${ALANB},303)
>
> exten =>  _10[1-5],1,Macro(call_extension,SIP/${EXTEN})
>
> exten =>  _20[1-5],1,Macro(call_extension,IAX2/alanb/${EXTEN})
>
>
> The Vars ALANL and ALANB are:
> ALANL=SIP/101
> ALANB=IAX2/alanb/202
>
>
> Here is the Macro belllord:
>
> [macro-belllord]
> exten =>  s,1,Dial(${ARG1},20,t)
> exten =>  s,n,Goto(s-${DIALSTATUS},1)
>
> exten =>  s-NOANSWER,1,Voicemail(${ARG2}@business,u) ; business is the
> voicemail context, ${ARG2} is the mailbox number to dial
> exten =>  s-NOANSWER,n,Hangup()
>
> exten =>  s-BUSY,1,Voicemail(${ARG2}@business,b)
> exten =>  s-BUSY,n,Hangup()
>
> exten =>  _s-.,1,Goto(s-NOANSWER,1)
>
>
> Here is the call-extension Macro:
>
> [macro-call_extension]
> exten =>  s,1,Dial(${ARG1},20,t) ; Ring channel for up to 20s
> exten =>  s,n,Goto(s-${DIALSTATUS},1) ; Go to either no answer or busy.
>
> exten =>  s-NOANSWER,1,Voicemail(${MACRO_EXTEN}@garden_house,u)
>
> exten =>  s-BUSY,1,Voicemail(${MACRO_EXTEN}@garden_house,b)
>
> exten =>  _s-.,1,Goto(s-NOANSWER,1)
>
>
>
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
> _______________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.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