Can't Change OutboundCallRoute when primary line is not PSTN

Started by Northern.Bob, February 03, 2011, 03:33:06 PM

Previous topic - Next topic


What I want to do is set the OBi to automatically route long distance through my Sp1 provider and all local calls through the PSTN line (li).

Under "Phone Port" I tried changing the primary line to Sp1 and then added the following into the OutboundCallRoute : {(514xx.|450xx.):li}

Those are the two local area codes from my house. But when I save changes and reboot those two areas go back to default settings with check marks. Is this normal behavior and if so, how can I accomplish what I want here?

Bob M.


If you are using the OBiTALK portal to provision your device then it may overwrite your changes.  Until/unless they fix the portal to accommodate user customizations you'll probably need to go to System Management, Auto Provisioning and set Auto Provisioning: Method to Disabled.
Inactive, no longer posting or responding to messages.  Goodbye and good luck.  Some of my old Obihai-related blog posts have been moved to - note this in NOT my blog; I have simply given the owner permission to repost some of my old stuff.


Ahh... Thanks MT. I had it set to Periodically never thinking it would freeze the settings.
Unfortunately, with the primary line set to Sp1 my code {(514xx.|450xx.):li} isn't working. Local calls still go to Sp1. I'm stuck.. altho this mimics the default routing code, it fails.

Bob M.



If you changed your "Phone PrimaryLine" to PSTN line in the " Setup Wizard" section of the Obi web page your dial plan should work with the following: (514xxxxxxx|x.450xxxxxxx)

If you prefer to have SP1 or SP2 set up as your primary line you will have to push the call to the POTS line using the dial plan.

Go here: Physical Interfaces->LINE Port->DigitMap

Setup digimap as follows: Syntax as explained in manual (P96-99)

Obi uses the LINE Port to call all numbers that start with **8 and subsequent digits matching LINE Port's DigitMap.
Removes the **8 prefix from the resulting number before making the call

<**8:>514xxxxxxx – Matches any number that starts with **8514 followed by 7 digits. OBi removes the **8 prefix when making the call.

try this:

(<**8>514xxxxxxx|<**8>x.450xxxxxxx ) Note the x. In certain parts of the 450 area code it must be prefixed by a 1. This would catch both dialing use scenarios. You could also put x. in front of the 514, I'm not certain what your local area code is. I'm assuming it is 514 and not 450.

Let us know if it works.
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.


I'm not sure if you are replacing the entire OutboundCallRoute, or just adding the entry.

If you set the primary line to SP1, then just make sure you have your route defined before the section


in the default OutboundCallRoute.

This sends any call that matches the primary line's digit map to the primary line.  If you add your entry before that section, it should be sent to whatever service you define.


Thanks for the help guys but I don't think this will do what I want. Let me restate:

I want the OBi to route a call by parsing the area code. That is, if I dial 1 (514) or (450) and the phone number it is routed to the PSTN line. If I dial any other area code it goes to Sp1. I don't want to dial **8 or any other ** code.

It should be transparent to any user, pick up the phone, dial normally and the OBi does the routing behind the scenes. Perhaps the unit cannot do this but I thought it should after seeing this bit of code in the Phone Port>OutboundCallRoute :  {(<#:>|911):li}. That code routes both # and 911 to the PSTN port. Given that, I was sure my code (above post) would also work if put immediately after this entry. Sigh, no go.



If you leave SP1 as the primary line Obi is looking for 514xxxxxxx. It will automatically prepend **8 for you.
You dial 5145551212
Obi dials **85145551212 on line port, any other number goes to to SP1 with the dial plan setup there.

Try it
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.


Changing the OutboundCallRoute on the Phone port worked for me.

My primary line is SP1(Viatalk) and I am having all 281 numbers route through SP2 (GV).




You want the PSTN line to be primary for local calls and everything else going to SP1. Choose PSTN as  "Phone PrimaryLine" in the Setup Wizard->Outbound Settings->Phone PrimaryLine. This will give you normal call without pressing any extra digits before the telephone number you are calling. (transparent to any user, pick up the phone, dial normally and the OBi does the routing behind the scenes)

This is the Default Obi in the: Setup Wizard->System Management->Outbound Settings->Parameter Name->Phone OutboundCallRoute. (Note the same setting can be configured in the "Physical Interfaces" part of the web page. There is more than one way to change some settings)


As biomesh mentioned, you can use his setup. The first part will send all calls to the POTS line by pressing the #. I know you don't care for having to press the "#" digit. As long as you leave PSTN as the "Phone PrimaryLine" this will be another way to access the POTS line directly. Using this approach you need to assign in advance the long distance area codes you are likely to use. This will send the calls to SP1. The "!" character will block the 514 and 450 from going over the SP1. I think blocking 514 and 450 part is not really necessary as it should be picked up by the Primary line before the call processing reaches this part of the dial plan. The only problem you might have is you are restricted to the area codes you put in the dial plan. Other long distance calls might go over your POTS line if you have not prevented it.

Try this:
Owner of the 1st OBi110/100 units in service in Canada & South America. 1st OBi202 on my street. 1st OBi1032 in Montreal.


With my config, no extra digits or key presses are needed... just dial your number and they get passed to the appropriate service.


Thanks for all the suggestions guys. After much mucking about I final got it!

Let me first say that the setup is for the rest of the family whom I don't want to accidentally dial long distance on the PSTN line. My own line is running a Linksys 3102 which i set up to do this routing easily. I thought the 3102's dial code was a bit difficult to master until I met the Obi. I had no idea!

I can't have the primary be the PSTN line. The routing code would be massive with having to type all the area codes that need be routed to Sp1.

With the primary set as Sp1 (, I tried QZappy's code "(<**8>514xxxxxxx|<**8>x.450xxxxxxx )" placed in the DigitMap of the Line Port. It was ignored and routed to Sp1. I tried placing a slight variation in the OutboundCallRoute of the Phone Port and got a message "There is no service available to complete your call".

Finally, I put "{(<#:>514xxxxxxx|<#:>x.450xxxxxxx):li}" in the OutboundCallRoute as the second entry and BINGO! Any 514 or 450 number is pre-pended with # which opens up the PSTN line before dialing the number. It won't work if I delete the colon after #. Whew!

Thanks again guys, and one last question (grin): How to speed up dialing? IF I dial # after the number it takes 5 seconds to dial, 15 without the # added. How can I automate the # digit for all phone numbers, or can I?

Bob M.


OOPS. Wrong direction. I think the earlier code was being ignored and at some point after a reboot the primary line was switched to PSTN without my noticing.

75 reboots later I think I nailed it. In the OutboundCallRoute I put:


when the primary is Sp1 (and probably Sp2 also) the OBi automagically adds a 1 in front of the number dialed. I had to strip it out before things worked. Doesn't seem to be a problem with shorter numbers such as the 310's or [4-9]11 numbers.

This took so long and so many reboots that I swear I took a year off the OBi's life!

Bob M.


Actually, can anyone explain why the OBi is auto-magically adding a 1 to dialed numbers in the above situation (Primary Line is Sp2 or Sp1) ? Below is what is seen in Call History after dialing a local 514 AC out on the PSTN line:


There is something to do with the phone port digimap located in the setup wizard which tells me this is a important setting value.  

I modified the the outboundcallroute to
{(<#:>|911|3420000):li}  and the rest after it.  notice that 3420000 is the # should be dialed in landline.  
however, I always end up having 15103420000 to my sp1 (GV).  510 is my local area code.  
my sp1 digimap: (1xxxxxxxxxx|<1510>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx)

here is the way I fixed it to use landline to dial 3420000
I changed the phoneport digimap.
Default value: ([1-9]|[1-9][0-9]|911|**0|***|#|(Mpli)|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp))
modified : ([1-9]|[1-9][0-9]|911|3420000|**0|***|#|(Mpli)|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp))  

Why the default value have 911 in both in phone digimap and outboundcallroute. because this way it make sure "911" is a fixed #,  other digimap should not change 911 (by adding or subtracting).  

my conclusion on this issue why Obi add 1 or 1+area code to the dialed #
Because: Obi first follows the phoneport digimap, if it find matches then it send to outboundcallroute.  
If it didn't find matches then it go into the (Mpli) digimap (my primary line, pli, is sp1 in my case) and modify the dialed # to match pli digimap, ie adding 1510.  Now Obi find the matches after (Mpli),  it send 1510342000 to outboundcallroute.  and it ends up in sp1 not landline because it now has 1 in front.