News:

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

Main Menu

DigiMap Question

Started by twinclouds, March 09, 2014, 11:39:35 PM

Previous topic - Next topic

twinclouds

Based on many people's posts, I set up my Obi110 for domestic and international calls.  I have set up **N for the GWN and set up ITSP Profile A > General > DigitMap to direct the domestic and international call to SP1, SP2 and the proper gateways based on the number dialed.  I can do **N+Number to directly using the gateway N.  What I don't know how to do is as follows.  Say, I want to use gateway 7 as back up in case there's some problem with the SP1 that I used as default for domestic calls.   instead of dial **7 plus the number, I would like to use * plus the number.  Can this be done?  It is possible to do that using SPA3102 but I don't know how to do this on Obi110.  Appreciate if someone can help.  Thanks in advance.

azrobert

#1
Voice Gateway 7 DigitMap: (1xxxxxxxxxx)

Phone Port DigitMap:  (*(Mvg7)|......current rules....)

Phone Port OutBoundCallRoute: {(<*:>(Mvg7)):vg7},.......current rules.......

You can use any prefix if it doesn't match another rule.
I use another digit for a prefix.
I dial 714805551212 to route out vg7.

Edit
I corrected a typo in the OutboundCallRoute

ianobi

Any prefix that does not conflict with any other prefix/code can be configured into an OBi dial plan. I seem to remember someone using *#* as a prefix as they had run out of **N codes.

The problem with using a single "*" is that it is the prefix for the "Star Codes". If the first two digits of the number you dial are the same as a Star Code, then the OBi could swallow them and activate that Star Code.

If you do not use Star Codes, then you can simply disable them all - in the Phone Port settings set the StarCodeProfile to "None". Also, except for a few involving OBiPLUS, no Star Codes start with "*1", so if you are only dialling 1xxxxxxxxxx type numbers, there would be no problem.

(Posted before seeing azrobert's post. If you only dial 1xxxxxxxxxx type numbers, his suggestion should be fine.)

azrobert

#3
ianobi and I disagree on how Star Codes work. I believe the DigitMap rule takes precedence over Star Codes. I think this might affect Star Code usage.

Edit:

Try this test.
Add *6235941000| to the Phone Port DigitMap
Add {(<*:1>6235941000):sp1} to Phone Port OutboundCallRoute.

Star Code#11 is *62

Dial *6235941000

6235941000 is the phone number of my ISP, Cox Communications.
If I'm right the call will go out SP1.

ianobi

azrobert – I suspected that you might comment on my post   :)

I think we are over complicating the explanation. I've tested again as you suggested and find the following:

1. Dial slowly or pause after *62 and the *62 Star Code will be activated.
2. Dial quickly say using a DECT phone with a "go" button and 16235941000 will go out via sp1.

My explanation is that the Star Codes are simply another DigitMap referenced in the Phone Port DigitMap, but hidden from us users. Let's call it (Msca) for Star Code Profile A. *62 and *6235941000 now both exist in the Phone Port DigitMap. After dialling *62 one rule will now be in the "Exactly Matched" state. This results in the Digit Map Processor starting the short interdigit timer (two seconds). If another digit is dialled after *62 within those two seconds, then the rule *62 will be ignored and the Digit Map Processor will wait for the remaining digits 35941000 and the number *6235941000 will be matched, transformed to 16235941000 and sent out via sp1.

The above explanation is the same as how all standard number matching is done in any OBi, it's just that parts of the Star Code process are hidden from us.

Anyhow, my explanation works for me   :D

azrobert

#5
I tried another test.

I changed Star Code#11 to: *62(35941000)

Now the DigitMap and Star Code are testing for the same dialed string.

When I dialed *6235941000 It was routed out SP1.

You are probably correct that the Star Code is a hidden entry in the DigitMap, but if I setup this test correctly the coded DigitMap takes precedence over the Star Code.

Will this debate ever end? LOL

twinclouds

Thank you all for the replies.  Maybe I didn't explain my requirement clear enough, sorry about that.
I would like to set up alternative dialing routes by press * first then the number, in the case the primary route is degraded or stopped working.   (# is o.k also.)  However, it has to be able to select the right gateway based on the number it is dialed.  For example, I use SP1 and SP2 as the primary routes for domestic and international calls, respectively.  Say GW3 and GW4 as for the secondly routes.  If I dial * with an domestic number, I would like it go to GW3.  If I dial * with 011xxxxxxxxxxxx, I would like it go to GW4.  In SPA3102, it can be done as: <*:>1[2-9]xxxxxxxxx<:@gw3> and <*:>011xxxxxxxxxxxx<:@gw4>.  However, I don't know if it can be done in Obi also.  Associate * or # with one of the GWs will not work.

azrobert

#7
Phone Port DigitMap:  (*(Msp1)|*(Msp2)|......current rules....)

Phone Port OutBoundCallRoute:

{(<*:>(Msp1)):vg3},{(<*:>(Msp2)):vg4},......current rules.......

Any number dialed that matches SP1 DigitMap with an asterisk prefix will be routed to VG3.

Any number dialed that matches SP2 DigitMap with an asterisk prefix will be routed to VG4.


twinclouds

#8
Thanks.  I will try it out.
Now, I have a few more more basic questions.  Hope you can help.  
(1) What are exactly the Msp1/Msp2?  Are they referring to the DigiMap defined in the Service Providers > ITSP Profile A/B > General or something else?  
(2) How are the GW1/2 related to the SP1/SP2?
(3) For directing international calls to SP2, I defined  |<**2>011xx.| in Service Providers>ITSP Profile A> General > DigiMap, is this the right way?  Will your suggestion for add <*:> will still work or I need to change anything else?
Thanks again.

azrobert

I did some more Star Code testing. Here are the results.

Test 1 (Repeat of above)
Star Code#11: *62(35941000)
Phone Port DigitMap: *6235941000
Phone Port OutboundCallRoute: {(<*:1>6235941000):sp1}

Dialed *6235941000 and call was routed out SP1

Test 2
Star Code#11: *62(35941000)
Phone Port DigitMap: *6235941000

With OutboundCallRoute rule removed I received error message "There is no call route to complete your call".

Test 2
Star Code#11: *62(35941000)

With DigitMap and OutboundCallRoute rules removed I received the Star Code Tone. The same tone as the default Star Code Setting.

My interpretation of the above is that the dialed number must fail the DigitMap before the Star Code processor gets control and the Star Code rule is not a hidden entry in the DigitMap.


twinclouds

Quote from: azrobert on March 10, 2014, 01:50:55 PM
Phone Port DigitMap:  (*(Msp1)|*(Msp2)|......current rules....)

Phone Port OutBoundCallRoute:

{(<*:>(Msp1)):vg3},{(<*:>(Msp2)):vg4},......current rules.......

Any number dialed that matches SP1 DigitMap with an asterisk prefix will be routed to VG3.

Any number dialed that matches SP2 DigitMap with an asterisk prefix will be routed to VG4.

I added {(<*:>(Msp1)):vg3} to the Phone Port OutBoundCallRoute.  I did not work.  Again, which is Msp1 anyway.  Is it the DigiMap in Service Providers>ITSP Profile A>General or the DigiMap of vg1?  I checked both and both contains the dial patten anyway.

azrobert

Phone Port DigitMap:  (*(Mvg3)|*(Mvg4)|......current rules....)

Phone Port OutBoundCallRoute:

{(<*:>(Mvg3)):vg3},{(<*:>(Mvg4)):vg4},......current rules.......

VG3 DigitMap: (1[2-9]xxxxxxxxx)

VG4 DigitMap: (011xxxxxxxxxxxx)

You have to update the Phone Port DigitMap also.
Msp1 points to ITSP A DigitMap
Msp2 points to ITSP B DigitMap
I assumed these were coded a certain way and was trying to save some code.
Try the above.
The VG4 DigitMap will only match 011 followed by exactly 11 digits.
Is that what you want?


twinclouds

It works now.  Thank you very much.
the 011xxxxxxxxxxx is just an example.  I have more than one entries in the digimap followed by S0/1/2/4 to speed up connection time.
One more question.  Since there are *(Mvg3) and *(Mvg4) as well as **3(Mvg3) and **4(Mvg4) in the phone port digimap, will there be any confusions?  Oh, one more thing: should I match the digimap of GW1/2 with Mvg1/2?  These are just for my information.  The method you described works fine anyway.
Thanks again.

azrobert

No confusions on **3 and **4, but if you're not using them they should be removed.

Most people don't understand that the Phone Port DigitMap is the one that really counts. The only time the trunk DigitMaps become relevant is when they are referenced by the Phone Port DigitMap. It doesn't matter what DigitMap you use for a trunk. That is what I did with my first attempt to help you.

*(Msp1) {(<*:>(Msp1)):vg3}

In the above Map and Route I was trying to reuse Msp1 for VG3.
The * will be prepended to each rule in Msp1 before the compare.

To answer your question you normally would use VG1 with Mvg1 (less confusion), but you can do anything you want.

In the suggestion that worked I used the same technique putting the * outside Mvg3. If I used Mvg3 DigitMap = (<*:>1[2-9]xxxxxxxxx) when the DigitMap excutes it will remove the * and then the outbound route would not function correctly. If you don't use this technique and need to remove a prefix you would have to do something different for the Map and Route. Most people use the technique of prepending an ** number in the DigitMap. I just don't like that technique.

This was a long winded answer. I hope I didn't confuse you.

twinclouds

Thanks for you taking time to answer my question.  Obi DigiMap is not the easiest thing to understand, I guess I need read more to fully understand.  Just get to lazy nowadays  ;).

ianobi

azrobert,

QuoteTest 1 (Repeat of above)
Star Code#11: *62(35941000)
Phone Port DigitMap: *6235941000
Phone Port OutboundCallRoute: {(<*:1>6235941000):sp1}

Dialed *6235941000 and call was routed out SP1

Test 2
Star Code#11: *62(35941000)
Phone Port DigitMap: *6235941000

With OutboundCallRoute rule removed I received error message "There is no call route to complete your call".

I don't think these tests are testing like with like. Try:
Test 1 (Repeat of above)
Star Code#11: *6235941000
Phone Port DigitMap: *6235941000
Phone Port OutboundCallRoute: {(<*:1>6235941000):sp1}

That way the DMP is looking at two identical numbers, which must both somehow be in the Phone Port DigitMap.

You do raise an interesting point - if there are two identical numbers in the Phone Port DigitMap (ignoring Star Codes for now) how does the DMP decide which has priority?


azrobert

#16
We know that the Phone Port OutboundCallRoute gets priority over the Star Code because that's what happens with our testing.

Try this test:
Test 4
Star Code#11: *6235941000
Phone Port OutboundCallRoute: {<*:1>6235941000:sp1}

If your theory is correct about the Star Code as a hidden DigitMap entry, removing the Phone Port DigitMap entry will still leave the hidden entry from the Star Code definition. You would expect the call to still be routed to SP1, but that's not what happens. I get the Star Code tone. I think this proves the Star Code is not a hidden entry in the DigitMap and the dialed number must fail the DigitMap before the Star Code processor gets control.


ianobi

QuoteWe know that the Phone Port OutboundCallRoute gets priority over the Star Code because that's what happens with our testing.
This depends entirely on how fast you dial. Pause for two seconds after *nn and the Star Code gets the priority.


QuoteTest 4
Star Code#11: *6235941000
Phone Port OutboundCallRoute: {<*:1>6235941000:sp1}
This is more interesting. It does show that only number formats allowed in the Phone Port DigitMap (visible to us) can make it to the Phone Port OutboundCallRoute. Any number matched by a Star Code will be sent to the "Star Code OutboundCallRoute"

I think we are still guessing somewhat here   :)  Either way we should move the debate back to the "Star Code" subject at:

http://www.obitalk.com/forum/index.php?topic=6740.msg42502#msg42502

twinclouds

Quote from: azrobert on March 10, 2014, 07:01:57 PM
Phone Port DigitMap:  (*(Mvg3)|*(Mvg4)|......current rules....)

Phone Port OutBoundCallRoute:

{(<*:>(Mvg3)):vg3},{(<*:>(Mvg4)):vg4},......current rules.......

VG3 DigitMap: (1[2-9]xxxxxxxxx)

VG4 DigitMap: (011xxxxxxxxxxxx)

You have to update the Phone Port DigitMap also.
Msp1 points to ITSP A DigitMap
Msp2 points to ITSP B DigitMap
I assumed these were coded a certain way and was trying to save some code.
Try the above.
The VG4 DigitMap will only match 011 followed by exactly 11 digits.
Is that what you want?

Hi,
I thought it worked last time.  However, when I try repeat it today, the method does not work now.
I did as you said, in phone port digimap, I added (*(Mvg3)|*(Mvg4)|...original), in the phone port OutboundCallRoute I added {(<*:>(Msp1)):vg3},{(<*:>(Msp2)):vg4},{.....original}.  Only the first one works, i.e., in this case, only * plus local number works but the international one does not work.  If swap the order of vg3 and vg4, then the * plus 011xx...., will work but the local number does not work.  I also tried to add *(Msp1)|*(Msp2)|... as you said first time.  The results are the same.  Any suggestions? Thanks.
BTW, in the phone port digimap, do I need to add *(Mvg3)|*(Mvg4)|... or *(Mvg3)|*(Mvg4)|*(Msp1)|*(Msp2)|...?

azrobert

#19
You said
Quotein the phone port OutboundCallRoute I added {(<*:>(Msp1)):vg3},{(<*:>(Msp2)):vg4},{.....original}.

Check my instructions again. I said:
{(<*:>(Mvg3)):vg3},{(<*:>(Mvg4)):vg4}

Only add *(Mvg3)|*(Mvg4)|

Edit:
{(<*:>(Msp1)):vg3},{(<*:>(Msp2)):vg4},
The above was from my 1st suggestion that failed.