OBiTALK Community

General Support => Installation and Set-Up (Devices) => Topic started by: YongChen on January 13, 2013, 08:01:03 PM

Title: please help: OutboundCallRoute
Post by: YongChen on January 13, 2013, 08:01:03 PM
I have a Obi110 with the following settings:
SP1 with FreePhoneLine, primary line.
SP2 with Google Voice.

I add {(1xxxxxxxxxx):sp2} in the beginning of PHONE Port::OutboundCallRoute, try to do :
- If dial xxx-xxx-xxxx, go to SP1
- If dial 1-xxx-xxx-xxxx, go to SP2

It does not work. When I dial xxx-xxx-xxxx, it always goes to SP2. Please help. (All other settings are default.)

Thanks,
Title: Re: please help: OutboundCallRoute
Post by: Felix on January 13, 2013, 11:53:34 PM
What's the full value in Phone - OutboundCallRoute? Also, what are the values in   ITSP Profile A General - DigitMap and ITSP Profile B General - DigitMap? I know you said "default" - but still...
Title: Re: please help: OutboundCallRoute
Post by: YongChen on January 14, 2013, 05:19:13 AM
Quote from: Felix on January 13, 2013, 11:53:34 PM
What's the full value in Phone - OutboundCallRoute? Also, what are the values in   ITSP Profile A General - DigitMap and ITSP Profile B General - DigitMap? I know you said "default" - but still...

Thanks for the reply. My settings are:

PHONE Port::DigitMap = ([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

PHONE Port::OutboundCallRoute = {911:sp1},{(1xxxxxxxxxx):sp2},{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

SP1 Digitmap = (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 07:42:19 AM
SP1 Digitmap = (xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

Change {(1xxxxxxxxxx):sp2} to {(xxxxxxxxxx):sp1}.

If you want it to go out sp1 as 1xxxxxxxxxx:
Change {(1xxxxxxxxxx):sp2} to {(<1>xxxxxxxxxx):sp1}.

The reason your config didn't work is because the digit map is processed first.
In the digit map you add a prefix of "1", so when the call route is processed the outbound number always has a prefix "1".
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 08:04:54 AM
This is better:

SP1 Digitmap = (xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

Add {(xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.

If you want it to go out sp1 as 1xxxxxxxxxx:
Add {(<1>xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.

The reason your config didn't work is because the digit map is processed first.
In the digit map you add a prefix of "1", so when the call route is processed the outbound number always has a prefix "1".
Title: Re: please help: OutboundCallRoute
Post by: YongChen on January 14, 2013, 08:53:01 AM
Quote from: azrobert on January 14, 2013, 08:04:54 AM
The reason your config didn't work is because the digit map is processed first.
My understanding is, when making a outbound call:
- apply PHONE Port::DigitMap to see if it is allowed, if yes,
- apply PHONE Port::OutboundCallRoute to see which trunk to use
- apply DigitMap of the chosen trunk, and make call with the truck

For my settings, if I dial xxx-xxx-xxxx, it should go through my OutboundCallRoute as following:
{911:sp1} not-match
{(1xxxxxxxxxx):sp2} not-match
{([1-9]x?*(Mpli)):pp} not-match
{(<#:>|911):li} not-match
{**0:aa} not-match
{***:aa2} not-match
{(<**1:>(Msp1)):sp1} not-match
{(<**2:>(Msp2)):sp2} not-match
{(<**8:>(Mli)):li} not-match
{(<**9:>(Mpp)):pp} not-match
{(Mpli):pli} match, my pli is SP1 (FreePhoneLine)

But the person answer the call see my Google Voice #, not my FreePhoneLine #. Why?
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 09:35:06 AM
- apply PHONE Port::DigitMap to see if it is allowed.
  substitution also occurs at this time.
  In the Phone digit map you refer to sp1 digit map with "(Mpli)".
  In sp1 digit map you add prefix "1".
-  Phone outbound call route determines trunk AND makes call.
   Substitution can also occur here.

The spx digit map does NOTHING to determine what is allowed on spx or where the call is routed.
It's more for documentation.
It only has relevance when it's referred to in the phone digit map or phone outbound call route.

If you don't believe me:
 set sp1 digit map to xxxxxxxxxx|1xxxxxxxxxx
 set sp2 digit map to xxxx

I bet it will still work.


Did you try my suggestions and did it work?
Title: Re: please help: OutboundCallRoute
Post by: ianobi on January 14, 2013, 09:44:21 AM
YongChen,

azrobert is quite right. I'm going to throw my suggestion into the mix to show a different way of doing things.

I think the neatest way, which keeps the modular concept of the Phone Port DigitMap and OutboundCallRoute is as follows:

Leave Phone Port DigitMap and OutboundCallRoute at default.

SP1 Digitmap = (<**2>1xxxxxxxxxx|xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

SP2 Digitmap = (1xxxxxxxxxx|011xx.)

Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 09:50:10 AM
Forgot the parens.

If you don't believe me:
  set sp1 digit map to (xxxxxxxxxx|1xxxxxxxxxx)
  set sp2 digit map to (xxxx)

I bet it will still work.
Title: Re: please help: OutboundCallRoute
Post by: YongChen on January 14, 2013, 02:06:32 PM
Quote from: azrobert on January 14, 2013, 09:35:06 AM
Did you try my suggestions and did it work?

Hi azrobert, here are the results of your suggestions (without changing any digitmaps):

Quote from: azrobert on January 14, 2013, 07:42:19 AM
Change {(1xxxxxxxxxx):sp2} to {(xxxxxxxxxx):sp1}.
Result 1:
Dial xxx-xxx-xxxx, goes to SP1, working.
Dial 1-xxx-xxx-xxxx, goes to SP1, not working.

Quote from: azrobert on January 14, 2013, 08:04:54 AM
Add {(xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.
Result 2:
Dial xxx-xxx-xxxx, goes to SP2, not working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.

Quote from: azrobert on January 14, 2013, 08:04:54 AM
Add {(<1>xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.
Result 3:
Dial xxx-xxx-xxxx, goes to SP2, not working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.

The results show that you were right about the (SP1) digit map adds a prefix "1" before pass the number to the route.

Now the question is, how to let xxx-xxx-xxxx go to SP1 and 1-xxx-xxx-xxxx go to SP2, if I still want add prefix "1" to xxx-xxx-xxxx when using SP1? I mean, dial xxx-xxx-xxxx, but send 1-xxx-xxx-xxxx to SP1; dial and send 1-xxx-xxx-xxxx to SP2.
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 07:18:56 PM
Sorry if I was unclear.
My first post had a logic error, therefore the second post.
You missed that I removed "<1>[2-9]xxxxxxxxx" from your digit maps.
The second post I gave you 2 options.
One if you didn't want the prefix and the other if you did.

Anyway, below is what I think you need:

SP1 Digitmap = (xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

Add {(<1>xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.


The "(<1>xxxxxxxxxx)" portion of the outbound call route acts as another digit map and adds the "1" prefix before routing the call to sp1.
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 14, 2013, 08:07:32 PM
If you want to use ianobi's method do the following:

Leave Phone Port DigitMap and OutboundCallRoute at default.

SP1 Digitmap = (<**2>1xxxxxxxxxx|<**11>xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

SP2 Digitmap = (1xxxxxxxxxx|011xx.)

His approach is the add **1 or **2 to the dialed number.
The default phone outbound call route will strip these off and route the number to the correct spx.
The above example I'm adding **11. The extra 1 is the country code prefix.

Title: Re: please help: OutboundCallRoute
Post by: ianobi on January 15, 2013, 04:28:31 AM
OK, now I understand the question. It often takes me a few days  :)

To send out 1xxxxxxxxxx both on sp1 and sp2 and have automatic routing is a tricky problem. I don't think the last solution from azrobert will work because when the **1 is stripped from **11xxxxxxxxxx, there is no plain 1xxxxxxxxxx rule in the sp1 DigitMap to route the call to sp1 in the OutBoundCallRoute. It may well get **2 prepended to it because of the <**2>1xxxxxxxxxx rule. You cannot put the plain rule 1xxxxxxxxxx in sp1 DigitMap because it is Mpli and will take the calls meant for sp2. Anyone still following this ...  ::)

Here's what I suggest:

Leave Phone Port DigitMap and OutboundCallRoute at default.

SP1 Digitmap = (<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

SP2 Digitmap = (1xxxxxxxxxx|011xx.)

When Phone Port DigitMap is processed:
1xxxxxxxxxx has **2 prepended
xxxxxxxxxx has FPL prepended

When Phone Port OutBoundCallRoute is processed:
**21xxxxxxxxx matches sp2 DigitMap, **2 is removed and the call routes out on sp2 (GV).
FPLxxxxxxxxxx matches sp1/pli DigitMap, FPL is replaced by 1 transforming the number to 1xxxxxxxxxx and the call routes out on sp1 (FPL).

Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 15, 2013, 06:54:23 AM
Quote from: ianobi on January 15, 2013, 04:28:31 AM
I don't think the last solution from azrobert will work because when the **1 is stripped from **11xxxxxxxxxx, there is no plain 1xxxxxxxxxx rule in the sp1 DigitMap to route the call to sp1 in the OutBoundCallRoute.

I believe my suggestion will work.  You are correct that there is no 1xxxxxxxxxx rule in the sp1 digit map, but there is a xx. rule. "<**1:>xx." will get a match.
Title: Re: please help: OutboundCallRoute
Post by: ianobi on January 15, 2013, 08:33:11 AM
Azrobert. Your reply #10 I'm sure would work, even though it's not my preferred way of doing things. There's definitely more than one way of sorting this routing problem.

QuoteYou are correct that there is no 1xxxxxxxxxx rule in the sp1 digit map, but there is a xx. rule. "<**1:>xx." will get a match.

I'm not so sure about that. I know it does not look likely, but I think <**1:><**2>1xxxxxxxxxx is a better match for **11xxxxxxxxxx than <**1:>xx. Also the xx. rule adds a ten second delay to dialling out. What we really need is an expert opinion from RonR   ;)  or maybe someone keen enough to try all these different configurations on their OBi110.

Anyhow, I'm sure that your reply #10 or my reply #12 will both work. I guess there's something slightly odd about those of us who find this stuff interesting  :D
Title: Re: please help: OutboundCallRoute
Post by: azrobert on January 15, 2013, 09:20:25 AM
You are correct.  My reply #11 would not work properly.
<**1:><**2>1xxxxxxxxxx would get a match before  <**1:>xx.
The call would go out sp1, but as **21xxxxxxxxxx.
Title: Re: please help: OutboundCallRoute
Post by: YongChen on January 17, 2013, 08:27:43 AM
Thank you azrobert and ianobi,

Here are the results:

Reply #10
Quote from: azrobert on January 14, 2013, 07:18:56 PM
SP1 Digitmap = (xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
Add {(<1>xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.
Result:
Dial xxx-xxx-xxxx, goes to SP1, working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.

Reply #12
Quote from: ianobi on January 15, 2013, 04:28:31 AM
Leave Phone Port DigitMap and OutboundCallRoute at default.
SP1 Digitmap = (<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.)
Result:
Dial xxx-xxx-xxxx, goes to SP1, working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.


Now I want to call 1-8xx-xxx-xxxx from my SP1(FPL). Do you see any issues with the following settings:
Quote
SP1 Digitmap = (xxxxxxxxxx|*98|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
Phone Port::OutboundCallRoute, adding to beginning: {(18(00|22|33|44|55|66|77|80|81|82|88)xxxxxxx|<1>xxxxxxxxxx):sp1}, {(1xxxxxxxxxx):sp2},

or
Quote
Leave Phone Port DigitMap and OutboundCallRoute at default.
SP1 Digitmap = (18(00|22|33|44|55|66|77|80|81|82|88)xxxxxxx|<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|*98|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

or, I just dial 8xx-xxx-xxxx without the "1" with your suggestions.
Title: Re: please help: OutboundCallRoute
Post by: ianobi on January 17, 2013, 09:51:25 AM
YongChen,

I think you have answered your own question. All three of your suggestions look like they will work. The simple answers are usually the best. Dial without the "1", then it becomes a ten digit number which will go out to FPL anyhow.

If you go with this:

Leave Phone Port DigitMap and OutboundCallRoute at default.
SP1 Digitmap = (18(00|22|33|44|55|66|77|80|81|82|88)xxxxxxx|<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|*98|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

Then it should work with or without the "1".

I like to delete any rules not being used. xx. and [^*#]@@. can cause problems as they both match any number of any digits. None of these are useful in a GV DigitMap: xx.|(Mipd)|[^*#]@@.
Title: Re: please help: OutboundCallRoute
Post by: donly on January 18, 2013, 08:38:01 AM
Quote from: YongChen on January 17, 2013, 08:27:43 AM

Here are the results:

Reply #10
Quote from: azrobert on January 14, 2013, 07:18:56 PM
SP1 Digitmap = (xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
Add {(<1>xxxxxxxxxx):sp1}, before {(1xxxxxxxxxx):sp2}.
Result:
Dial xxx-xxx-xxxx, goes to SP1, working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.

Reply #12
Quote from: ianobi on January 15, 2013, 04:28:31 AM
Leave Phone Port DigitMap and OutboundCallRoute at default.
SP1 Digitmap = (<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.)
Result:
Dial xxx-xxx-xxxx, goes to SP1, working.
Dial 1-xxx-xxx-xxxx, goes to SP2, working.


Now I want to call 1-8xx-xxx-xxxx from my SP1(FPL). Do you see any issues with the following settings:
Quote
SP1 Digitmap = (xxxxxxxxxx|*98|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)
Phone Port::OutboundCallRoute, adding to beginning: {(18(00|22|33|44|55|66|77|80|81|82|88)xxxxxxx|<1>xxxxxxxxxx):sp1}, {(1xxxxxxxxxx):sp2},

or
Quote
Leave Phone Port DigitMap and OutboundCallRoute at default.
SP1 Digitmap = (18(00|22|33|44|55|66|77|80|81|82|88)xxxxxxx|<**2>1xxxxxxxxxx|<FPL>xxxxxxxxxx|<FPL:1>xxxxxxxxxx|*98|011xx.|xx.|(Mipd)|[^*#]@@.)
SP2 Digitmap = (1xxxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

or, I just dial 8xx-xxx-xxxx without the "1" with your suggestions.

I have the same setup with FPL on SP1 and GV on SP2 and would like to do that same thing with outbound call routing and glad I came across this thread. I do have one question, with this setup does 911 go out on SP1 (FPL)?

Thanks!
Title: Re: please help: OutboundCallRoute
Post by: ianobi on January 18, 2013, 09:04:54 AM
donly, welcome to the forum.

In reply #2 the relevant rule is this one:
PHONE Port::OutboundCallRoute = {911:sp1},...

911 is being sent out direct to sp1 (FPL) with no reference to DigitMaps etc. This avoids any delays and any chance of 911 being misrouted. I'm guessing that OBi inserted this rule when YongChen configured FPL and checked the "Use this Service Provider for 911" box.
Title: Re: please help: OutboundCallRoute
Post by: donly on January 18, 2013, 07:00:24 PM
Quote from: ianobi on January 18, 2013, 09:04:54 AM
donly, welcome to the forum.

In reply #2 the relevant rule is this one:
PHONE Port::OutboundCallRoute = {911:sp1},...

911 is being sent out direct to sp1 (FPL) with no reference to DigitMaps etc. This avoids any delays and any chance of 911 being misrouted. I'm guessing that OBi inserted this rule when YongChen configured FPL and checked the "Use this Service Provider for 911" box.


Thanks ianobi, my obi is setup the way I want it now. Glad to dropped my Linksys SPA2102 and got an Obi.  ;D
Title: Re: please help: OutboundCallRoute
Post by: YongChen on January 23, 2013, 09:00:05 AM
Quote from: ianobi on January 18, 2013, 09:04:54 AM
I'm guessing that OBi inserted this rule when YongChen configured FPL and checked the "Use this Service Provider for 911" box.
This is right.
I am glad this thread also helps others, and thank azrobert and ianobi for help.