Bookmark showing examples of X_InboundCallRoute & other interesting tips:
QBZappy:
I will be using this thread as a bookmark for myself. My memory isn't as good as it used to be, I sometimes have trouble finding old posts with examples. I like easy to understand one liners like these examples from Hortoristic. I have seen many interesting, creative and useful Inbound call route configurations such as the "Oleg Method" used to block spam calling. I will start collecting other examples as I see fit. Anyone can contribute their favorites. Feel free to add to this community "Best of" list. Remember to keep it short with a corresponding short one line explanation of what it does. Perhaps some of these examples could eventually end up in a future version of the admin guide.
Quote from: Hortoristic on February 26, 2014, 02:23:18 pm
Remove any of the hi-lighted text as these were just for comments:
X_InboundCallRoute:
{(16046985518):aa}, -- any call from 16046985518 should get AA
{(13604703652)>(19142961123):sp2(011441903208888)}, -- if 19142961123 was called from 13604703652, then dial out SP2: 011441903208888 - using my voip.ms international plan
{(13604708123)>(19142961111):sp1(13604703562)}, -- if 19142961111 was called from 13604708123, then dial out SP1: 13604703562
{>44113604708123:sp1(13605158499)}, -- if any number calls this UK DID, then dial local cell number: 13605158499 from SP1
{(x|xx|xxx|xxxx|xxxx|xxxxxx|un@@.):}, -- a great SIP scanner avoidance string
{ph}
ianobi:
Yes, some good ones there from Hortoristic. I'll throw this one in as it seemed to get some interest from users:
Quote
Call forking with varying delays and using the Oleg Method:
Voice Services > SP1 Service > X_InboundCallRoute:
{>1234567:ph,sp2(12222222222;d=5),sp2(13333333333;d=15)}
QBZappy:
Quote from: azrobert on February 28, 2014, 08:25:32 am
It should look like this.
DigitMap:
(<S0:9999>|[1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))
OutboundCallRoute:
{(<ob200111111*>9999):pp},{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}
I set this up like you requested, but it might cause you problems. There will be a slight delay before you hear the dial tone from the PBX after the phone is taken off hook. Maybe a second. If you have a phone that you dial a number and then hit SEND, the call will probably fail.
I think a better setup is when you take the phone offhook, you will hear dial tone from OBi110 but any number dialed will be routed to the PBX.
Here is the setup:
OBi110#1
Physical Interfaces -> Line Port -> InboundCallRoute:
{pp(ob200222222)}
Voice services -> OBiTalk Service -> InboudCallRoute:
{200222222>(<#:>):li},{200222222>(XX.):li}
OBi110#2
Physical Interfaces -> Phone Port
DigitMap:
(XX.S4|[1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))
OutboundCallRoute:
{(<ob200111111*>XX.)|(<ob200111111*>#):pp},{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}
Voice services -> OBiTalk Service -> InboudCallRoute:
ph
Dial # to get dial tone on the PBX.
Any other dialed number will be routed to the PBX.
QBZappy:
Quote from: azrobert on March 06, 2014, 11:37:54 am
I helped a newbie with a setup and he asked for an explanation of how the InboundCallRoute worked. I thought answering the question in a separate thread might help others.
This is the route he asked about:
{pvpham>(Msp1):sp1},{101>17771234567:aa},{ph}
The above rules are use to make calls from an Android phone using CSipSimple softphone. The first rule uses Sip2Sip service to make single stage calls by bridging an inbound call out SP1. The second uses Callcentric to make calls via the AA.
Rules are processed left to right.
When a rule matches a call, it is immediately routed to the destination.
Each rule has 2 tests and the format is:
{test1>test2:dest}
You can optionally have only 1 test like this:
{test1:dest} or {>test2:dest}
If you have 2 tests, both tests must be true to get a match on a rule.
If a test is enclosed in parentheses it is a DigitMap.
If it is not enclosed it is a LITERAL.
Rule {123:dest} is testing for literal "123"
Rule {(1xx):dest} is testing for literal "1" followed by 2 digits
Rule {1xx:dest} is testing for literal "1" followed by 2 alpha "x"
If a test is in this format (Maaa) it uses the DigitMap of a trunk.
Rule {(Msp1):dest} uses SP1 DigitMap for the test.
The tests have different meanings depending if it's a normal inbound call or an inbound call initiated by a softphone/ATA meant to be bridged.
Normal Inbound Call:
Test1 is the CallerID of the inbound call.
Test2 is your UserID of the service provider.
{101>17771234567:aa}
Callcentric sends the extension number as CallerID when a sub-account calls the main account.
101 is the extension number.
17771234567 is your Callcentric UserID.
If both these match the call is routed to the Auto Attendant.
Inbound Call meant to be bridged:
Test1 is your UserID
Test2 is the outbound phone number.
{pvpham>(Msp1):sp1}
pvpham is your Sip2Sip UserID.
(Msp1) is using SP1 DigitMap to match on the dialed number.
If both tests are true the call is bridged out SP1.
If both rules fail to match, the call is routed to the Phone Port.
QBZappy:
Quote from: azrobert on February 03, 2014, 05:58:28 pm
Here is a trick you can do to determine the username.
Temporarily add {sp1($2)} to the beginning of your SP2 X_InboundCallRoute, then call your SP2 phone number.
$2 is a variable that contains the username of SP2.
The above rule will attempt to bridge the inbound call out SP1 using the username as the outbound phone number.
This call will obviously fail, but the call history will show the username as the outbound number.
Navigation
[0] Message Index
[#] Next page