News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Dial plan explanation

Started by QBZappy, December 02, 2010, 10:25:46 PM

Previous topic - Next topic

Gennady

Thanks Ron. Works Ok. Could you please explain me sequence of events, other words, what OBI analyzed first (Phone DigitMap, Line Digitmap, CallRoute.., etc....)???? Thanks in advance.

RonR

Quote from: Gennady on February 20, 2012, 04:27:54 PM
Could you please explain me sequence of events, other words, what OBI analyzed first (Phone DigitMap, Line Digitmap, CallRoute.., etc....)?

When a number is dialed from the PHONE Port, the OBi DigitMap Processor evaluates it digit-by-digit using the PHONE Port DigitMap:

Physical Interfaces -> 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))

With your Primary Line set to PSTN Line, pli gets replaced by li, making the actual PHONE Port -> DigitMap:

([1-9]x?*(Mli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mli))

Mli is a reference to the LINE Port Digit:

Physical Interfaces -> LINE Port -> DigitMap:

([2-9]11S0|[2-9]xxxxxx|1xxxxxxxxxx|011xx.|<8044:**2>xxxxxxx)

Each of these rules matches as follows:

[2-9]11S0 matches 211/311/.../811/911.  The S0 forces the interdigit timer to 0 if any of these are matched.
[2-9]xxxxxxx matches any 7-digit number starting with 2 through 9.
1xxxxxxxxxx matches any 11-digit number starting with 1.
011xx. matches any number starting with 011.
<8044:**2>xxxxxxx matches any 7-digit number starting with 8044 and replaces the 8044 with **2.

Once a match is found, the resulting number is evaluated using the PHONE Port OutboundCallRoute:

Physical Interfaces -> PHONE Port -> OutboundCallRoute:

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

With your Primary Line set to PSTN Line, pli gets replaced by li, making the actual PHONE Port -> OutboundCallRoute:

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

As before, Mli is a reference to the LINE Port Digit.  Msp2 is a reference to the SP2 Service DigitMap.

In all the cases except where 8044 was replaced by **2, the number will again match one of the rules in the LINE Port DigitMap, resulting in the call being placed through the LINE Port.

In the case where 8044 was replaced by **2, the number will match one of rules in the SP2 Service DigitMap, resulting in the call being placed through the SP2 Service after first removing **2.

Gennady


Gennady

Ron, after implementing your changes suddenly I lost ability to switch lines on my PSTN line by phone flash button. HookFlashHandling is set to "Handle Hook Flash Localy" (default) and Flash time on the phone is 700ms. Any idea?

RonR

Quote from: Gennady on February 22, 2012, 04:57:21 PM
Ron, after implementing your changes suddenly I lost ability to switch lines on my PSTN line by phone flash button. HookFlashHandling is set to "Handle Hook Flash Localy" (default) and Flash time on the phone is 700ms. Any idea?

DigitMap and OutboundCallroute settings should not affect Hook Flash handling.

From the OBi Device Administration Guide:

Handle Hook Flash Locally

This is the normal setting, where the device intercepts all the hook flash events detected on the PHONE port, and acts on them accordingly, such as:
- Hold current call and start second dial tone for 3-way calls
- Start a 3-way conference
- End call with 2nd conferencee in a 3-way conference
- Swap between two calls in a call-waiting situation

Send Hook Flash Signal to PSTN

Device does not act on hook flash events detected on the PHONE port. It either ignores hook flash events OR regenerates similar hook flash events on the PSTN line if the phone user is currently in a call using the PSTN line service when the hook flash event happens. This option may be useful in cases where the user has traditional call-waiting or 3-way calling services on his PSTN line service; hence he can control those PSTN supplementary services using hook flash signals. However, the OBi in this case would automatically disables its own call-waiting function on the PHONE port, and the user would have no means to tell OBi to make 3-way calls.

Note that an alternative way to let OBi generate a hook flash signal to the PSTN line is to use a double hook flash event by hook flashing twice within 700 ms. See the description of the parameter EnableDoubleHookFlash in this table. With this enabled, you can still let the device handle normal hook flash event locally and preserve the call-waiting and 3-way calling functionalities.

Gennady

Thanks Ron, I reset OBI to factory default and manually type everything back, and now flash working.  I suspect that during my "experiments" I setup a wrong value somewhere.  Now my settings for Physical Interfaces -> LINE Port -> DigitMap:  ([2-9]11S0|[2-9]xxxxxxxxx|3xxxxxx|<8044:**2>xxxxxxx).
Could you please tell me of how I should direct all international calls started with 011 to SP1? 

RonR

Quote from: Gennady on February 24, 2012, 01:59:51 PM
Now my settings for
Physical Interfaces -> LINE Port -> DigitMap:  ([2-9]11S0|[2-9]xxxxxxxxx|3xxxxxx|<8044:**2>xxxxxxx).
Could you please tell me of how I should direct all international calls started with 011 to SP1? 

Physical Interfaces -> LINE Port -> DigitMap:

([2-9]11S0|[2-9]xxxxxxxxx|3xxxxxx|<8044:**2>xxxxxxx|<**1>011xx.)

brav

what does this part of the dialplan do? is it for speedials?

{([1-9]x?*(Mpli)):pp}

like it takes 1 or 2 digits with a star after and sends it to primary line..but for what?

thanks!

RonR

Quote from: brav on February 27, 2012, 01:22:38 AM
{([1-9]x?*(Mpli)):pp}

One or two digits followed by an asterisk followed by a number that matches the PrimaryLine DigitMap rules is sent to the OBiTALK Service trunk.  This is for single-stage dialing from OBi's and OBiON Apps (limited to using the PrimaryLine).

jimates

RonR,

I am doing some clean up and simplification in one of my Obi's.
What can I do to clean these up some, and what is  Msp1. It is present in some default settings but removed in some custom settings.

ITSP Profile
Digit Map
- (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1814>[2-9]xxxxxx|011xx.)

SP1 - X_InboundCallRoute - {ph,pp(290xxxxxx|290xxxxxx|290xxxxxx)}

Obitalk Service
Digit Map

(<ob>xxxxxxxxx|obxxxxxxxxx)

InboundCallRoute(3 Obion softphone numbers with this Obi set as the default gateway and direct dialing, same as from the phone port)
{(290xxxxxx|290xxxxxx|290xxxxxx)>(xx.):SP1},{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**2:>xx.):SP2},{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**8:>xx.):LI},{(290xxxxxx|290xxxxxx|290xxxxxx):aa},{ph}

Phone Port(I know I should move the 411 to the digit map and out of the call route. This was done long long ago when we first got Obi's, and since it worked I didn't worry about it.)
Digit Map
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|411|**0|***|#|**1{t=di2}(Msp1)|**2{t=di2}(Msp2)|**8{t=od}(Mli)|**9{t=di2}(Mpp)|(Mpli))

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

RonR

#110
Quote from: jimates on March 25, 2012, 08:14:44 PM
ITSP Profile
Digit Map
- (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1814>[2-9]xxxxxx|011xx.)

This is an optimzed DigitMap for most service providers with US/Canada calling (11/10/7 digits and 011+).

Since this DigitMap is typically needed in multiple places, a good idea is to place it in a User Defined DigitMap where it can be shared instead of replicated:

User Defined Digit MapX
Label: ste
DigitMap : (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1814>[2-9]xxxxxx|011xx.)

Then it can be used in multiple places:

Services Providers -> ITSP Profile A -> General -> DigitMap : (<411:18002464411>|(Mste))

Services Providers -> ITSP Profile B -> General -> DigitMap : (Mste)

Adding 411 number substitution support to SP1 is shown in the example above.

Quote from: jimates on March 25, 2012, 08:14:44 PM
SP1 - X_InboundCallRoute - {ph,pp(290xxxxxx|290xxxxxx|290xxxxxx)}

This is not valid syntax and should be:

Voice Services -> SP1 Service -> X_InboundCallRoute : {ph,pp(ob290xxxxxx),pp(ob290xxxxxx),pp(ob290xxxxxx)}

Quote from: jimates on March 25, 2012, 08:14:44 PM
Obitalk Service
Digit Map

(<ob>xxxxxxxxx|obxxxxxxxxx)

This is correct.

Quote from: jimates on March 25, 2012, 08:14:44 PM
InboundCallRoute(3 Obion softphone numbers with this Obi set as the default gateway and direct dialing, same as from the phone port)
{(290xxxxxx|290xxxxxx|290xxxxxx)>(xx.):SP1},{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**2:>xx.):SP2},{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**8:>xx.):LI},{(290xxxxxx|290xxxxxx|290xxxxxx):aa},{ph}

This should be:

Voice Services -> OBiTALK Service -> InboundCallRoute:

{(290xxxxxx|290xxxxxx|290xxxxxx)>(Msp1):sp1},{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**2:>(Msp2)):sp2},
{(290xxxxxx|290xxxxxx|290xxxxxx)>(<**8:>(Mli)):li},{(290xxxxxx|290xxxxxx|290xxxxxx):aa},{ph}

For a more elegant approach, you might consider Single-Stage Dialing Through Any OBi Trunk.  The result is more consistent with PHONE Port dialing and much easier to maintain.  If you don't need to call out through other OBi's, the only change required is:

Voice Services -> OBiTALK Service -> InboundCallRoute:

{(Mcot)>(Msp1):sp1},{(Mcot)>(<**1:>(Msp1)):sp1},{(Mcot)>(<**2:>(Msp2)):sp2},
{(Mcot)>(<**8:>(Mli)):li},{(Mcot)>(<**9:>(Mpp)):pp},{(Mcot):aa},{ph}

User Settings -> User Defined Digit Maps -> User Defined Digit MapX:

Label : cot
DigitMap : (290123002|290123003|290123004)

Quote from: jimates on March 25, 2012, 08:14:44 PM
Phone Port -  (I know I should move the 411 to the digit map and out of the call route. This was done long long ago when we first got Obi's, and since it worked I didn't worry about it.)
Digit Map
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|411|**0|***|#|**1{t=di2}(Msp1)|**2{t=di2}(Msp2)|**8{t=od}(Mli)|**9{t=di2}(Mpp)|(Mpli))

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

With 411 moved to the SP1 DigitMap, these would become:

Physical Interfaces -> PHONE Port -> DigitMap:

([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1{t=di2}(Msp1)|**2{t=di2}(Msp2)|
**8{t=od}(Mli)|**9{t=di2}(Mpp)|(Mpli))

Physical Interfaces -> PHONE Port -> OutboundCallRoute : Default

jimates

#111
Thanks so much. I made the changes for a much cleaner config.

even with the invalid syntax the call forking was working before.

but the "single stage dialing" isn't really single stage dialing, is it?

since I have a single Obi set as the default gateway for all 3 of my Obion numbers I can dial from the app just like from the phone port. True single stage dialing, nothing extra like speed dials to direct the calls through a certain Obi.

With the elaborate single stage dialing setup don't you have to direct the call to the Obi using extra digit inputs?

RonR

#112
What I proposed (since you don't use more than one OBi):

Voice Services -> OBiTALK Service -> InboundCallRoute:

{(Mcot)>(Msp1):sp1},{(Mcot)>(<**1:>(Msp1)):sp1},{(Mcot)>(<**2:>(Msp2)):sp2},
{(Mcot)>(<**8:>(Mli)):li},{(Mcot)>(<**9:>(Mpp)):pp},{(Mcot):aa},{ph}

User Settings -> User Defined Digit Maps -> User Defined Digit MapX:

Label : cot
DigitMap : (290123002|290123003|290123004)

adds support for **1 that you didn't have (I reaslize it isn't necessary since SP1 is your PrimaryLine).

The main improvement is a more streamlined approach, with all the trusted callers in a single DigitMap once instead of being repeated four or five times in the InboundCallRoute.

No extra dialing is required.  The extra digits are only needed to address other OBi's (this is stipped out of the example above).

jimates

OK, if I didn't have them assigned to the gateway (or if I were going to use more than the one Obi, I would need the slight extra dialing just to direct the call to an Obi. Right?

I will make the changes to that also.

RonR

#114
An OBiON App always needs to be assigned to a gateway OBi.  Default dialing (normal single-stage dialing with no extra digits) will go to the gateway OBi and use its service providers.

If you also want the capability to place calls though an alternate OBi's providers, you need to use the full blown 'Single-Stage Dialing Through Any OBi Trunk' configuration and dial the extra digits to address that alternate OBi.  In that case, the OBiON App call is routed to the alternate OBi to use the alternate OBi's providers.

WilliamDains

Although DigitMap for the primary line is much more reliable and it's precedence is lasting for the secondary one.
The legitimate value of dial up connection is totally depends on it's basic configurations.


littleboy

Hi newbie here, don't know if this is right topic but i need some help to setup the dial plan for obi110.

i just have a cordless phone connected to phone port, no line in cause have to POTS line.

i have GV as sp1 and as primary line, and voip as sp2.
currently every time i dial out from sp2 for international calling i have to use **20049<10 digits> while calling in US through GV is direct. Also pressing # give me no dial tone, because i don't have anything connected to line in port (and not planning to in near future). So i was wondering if i could use # instead on **20049 so that every time i have to call internationally then i can simply use #<ten digit> number? is it doable?

Thanks in advance.
Regards.

RonR

littleboy,

One option is to have international calling (00+) automatically redirected to SP2:

Service Providers -> ITSP Profile A -> General -> DigitMap:

(<1aaa>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|1xxxxxxxxxx|<**2>00xx.)

where aaa is your local area code.

littleboy

Quote from: RonR on May 11, 2012, 05:43:36 PM
littleboy,
One option is to have international calling (00+) automatically redirected to SP2:
Service Providers -> ITSP Profile A -> General -> DigitMap:
(<1aaa>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|1xxxxxxxxxx|<**2>00xx.)
where aaa is your local area code.

Hi RonR, that was quick reply, thanks for the information, I will try it.

Also it still means i need to type in 00<country code><phone no> for international calls, i was think of reducing everything to single digit prefix's instead of 00<country code>, is it possible?

I was trying this: {(<#:>)(<0049>xxxxxxxxxx):sp2}

where 0049 is country code for germany.

Regards.

RonR

Quote from: littleboy on May 11, 2012, 06:23:30 PM
I was trying this: {(<#:>)(<0049>xxxxxxxxxx):sp2}

where 0049 is country code for germany.

Personally, I don't like replacing a 'normal/standard' feature of the OBi such as '#' meaning 'bridge to the LINE Port'.  But it's all a matter of what you prefer, so as long as it works for you, that's what counts.

Instead of the above, I think you would need the following changes:

DigitMap : ...|#xxxxxxxxxx|...

OutboundCallRoute : ...{(<#:0049>xxxxxxxxxx):sp2}...