How to bypass IVR for some specific callers

Hello dears

I want to bypass the IVR for some specific callers and force them to connect to an extension automatically.
How can I do that.

thank you for supports

Are you using a GUI such as FreePBX? If so then you’d need to do it likely within the GUI. If you are using Asterisk as-is then you’d modify the dialplan - how do you know when to send specific callers to an extension?


  do you know the number of your callers? If the answer is yes, put

their numbers in a database and before to send the call to IVR,
make a query; if the caller is in the list go to directly to the
extension, if not, present the IVR


IVR isn’t a defined term in Asterisk, but basically, before doing whatever consitutes the IVR, if assuming the number is the number is the database key, read the database, and do a GotoIf to the extension you want to call, or if you really mean device, and want to bypass the processing associated with the extension, a GotoIf to a section of dialplan that Dial()'s the device.

Use Ex-Girlfriend logic.

Pretend this is your IVR and you want the number 5205551212 to go elsewhere.

exten = 2565551100/5205551212,1,Goto(internal-phones,100,1)
exten = 2565551100,1,Verbose(1, "New caller, ${CALLERID(num)} dialed into the IVR.")
 same = n,Answer()
 same = n(start),Background(basic-pbx-ivr-main)
 same = n,WaitExten(10)
 same = n,Background(basic-pbx-ivr-main)
 same = n,Hangup()

ex-girlfriend logic doesn’t use an arbitrary database.

I don’t see any mention of a database in the initial posters request?

You’re right. I thought he intermediate reply was from them, but wasn’t.

As everyone said, you can use the cmd: (Goto|GotoIf){Parameters} to filter the number that you want to bypass.
Also, if you want to bypass all peer calls (a specific client), you can use the variable calleridnumber.

There is no such variable unless the dialplan sets it. There is ${CALLERID(num)}.

@david551 is this page wrong? :c

You are looking at a document that is decades old.

I recommend getting your information from the official WIKI. Here is a more current list:

1 Like

Thank you @johnkiniston
I thought that asterisk didn’t had a official wiki… guess that i didn’t search enough

It’s probably correct, including the fact that CALLERIDNUM is no longer supported. Nowhere does it ever suggest that calleridnum was supported.

It is wrong in saying that CALLERID(num) is a variable; it is handled as a function.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.