VoiceGuide IVR Software Main Page
Jump to content

Call routing of incoming VoIP/SIP calls

Recommended Posts

i would like to know is there a possibility to configure the script based on SIP number using SIP Trunk


If I receive a call on SIP Number 201 its should played script 1

If I receive a call on SIP Number 202 its should played script 2

if this can be done then please let me know the process.

Share this post

Link to post

This is "DNIS based call routing" and is supported.

To perform DNIS (indial number) based call routing you would look at the value stored in $RV_DNIS and then use paths to go to different scripts depending on what value was stored in $RV_DNIS for that call.


From: https://www.voiceguide.com/vghelp/source/html/resultvariables.htm



Telephone number called by the caller. This information is usually only provided on VoIP and ISDN lines, and is usually used when multiple numbers are terminated on the trunk.

$RV_DNIS is often used to determine which script should handle the call. This is done by using the Evaluate Expression module to jump to different scripts based on $RV_DNIS value.



An Evaluate Expression module can be used to determine what module to jump to based on $RV_DNIS. This is the expression to evaluate:


(note the double quotes around the $RV_DNIS)

Then the path to jump to another module would be:

on {201} goto [c:\myscript_1.vgs|]
on {202} goto [c:\myscript_2.vgs|]

note the "|" character at end of the script filename.

To specify the module of each script to stat at you would name the module after the "|", like this:

on {201} goto [c:\myscript_1.vgs|my_begin_module]
on {202} goto [c:\myscript_2.vgs|some_other_module]


More information on the Evaluate Expression module: https://www.voiceguide.com/vghelp/source/html/modevalexpr.htm

More information on Paths from any module:  https://www.voiceguide.com/vghelp/source/html/paths.htm

(see the "Branching to other scripts and calling subscripts" section)


If you need more advanced routing then you can use a Run Script module and use $RV_DNIS in the JavaScript/VBScript to give you more flexibility in designing your routing logic.

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now