News:

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

Main Menu

GV for international calls only config

Started by kbva, July 17, 2013, 12:15:00 PM

Previous topic - Next topic

kbva

I have Obi110 with PSTN hooked up and GV installed on my SP1 Voice service. The device is used in the US.

I would like to configure Obi to use my normal line (PSTN) for all calls (in particular 911, 411,611, but also toll free,800, 888,877,866,855, etc, even 900) except for international calls (011), which I would like to use GV for.

I am OK modifying the digitmap, but found confusing info on the Web  which exact settings to input (and where Physical Interfaces -> LINE Port -> DigitMap vs. (Physical Interfaces -> PHONE Port -> DigitMap).

Could anyone provide official best practice advice and detailed digitmap settings?

Thanks in advance.

ianobi

kbva – welcome to the forum.

QuoteCould anyone provide official best practice advice and detailed digitmap settings?

"official best practice" is a matter of debate here – opinions differ – here's my take on it.

With everthing at default PSTN is your Primary Line, this can be used to divert calls. This simple change will achieve what you want in a basic way:

Physical Interfaces > LINE Port > DigitMap:
(<**1>011xx.|xxxxxxxS4|1xxxxxxxxxx|xx.)

Now if you dial 011xx. the Line Port DigitMap will prepend **1 to the number. The Phone Port OutboundCallRoute will match anything starting with **1 with Msp1 and will send the number out on sp1 (GV).

911 is a special case and is sent directly to PSTN by the Phone Port OutboundCallRoute without reference to digitmaps.

The problem with this basic Line Port DigitMap is that it only matches "011xx." "xxxxxxx" and "1xxxxxxxxxx". All other numbers are matched by "xx." which works, but adds a ten second delay, while it waits to see if you have finished dialling. So the idea is to produce a digitmap that matches as many numbers as you will dial frequently. This may be better for you:

Physical Interfaces > LINE Port > DigitMap:
(<**1>011xx.|411|611|xxxxxxxS4|[2-9]xxxxxxxxx|18(00|88|77|66|55)xxxxxxx|8(00|88|77|66|55)xxxxxxx|1900xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.)

Some of the rules may not be needed depending on your PSTN telco and how you normally dial. Do you need/use 1800xx. as well as 0800xx.? Same for 0900xx. ? Do you use seven digit dialling for local calls? Lots of questions to be answered before a truly personal digitmap can be achieved.

With the above setup you can still use GV for calls such as 1xxxxxxxxxx by dialling **11xxxxxxxxxx. If you want to use GV for calls other than international, then that digitmap can be improved, but that's for another post!

Anyhow – this is a first attempt, it normally takes a while to see exactly how you will use your OBi. Feel free to come back with questions    :)


kbva

ianobi,

Thank you for your detailed well thought out explanation/mini tutorial.  I was looking this up on the internet a couple of months ago when I wanted to use GV for in US long distance + intl calling and eventually came up with the phone line digit map (I am in the 703 area code):

(411|611|811|1800xxxxxxx|1888xxxxxxx|1877xxxxxxx|1866xxxxxxx|1855xxxxxxx| <1>800xxxxxxx|<1>888xxxxxxx|<1>877xxxxxxx|<1>866xxxxxxx|<1>855xxxxxxx| 703xxxxxxx|<**1>1xxxxxxxxxx|<**11>xxxxxxxxxx|<**1>011xx.)

Now I just need it to use GV for international calls only, so re looked into the digit map. I was perplexed why there was no 911. Thank you for the explanation about the outbound call route handling it.

Your digit map seems more robust. Could you elaborate on the following 4 questions?
1. In my area I always need to dial 10 digits, so xxxxxxxS4 (from your digit map) will not work, will it?
2. If I wanted Obi to prepend 703 if I dial only 7 digits, should I add <703>xxxxxxx to the digit map? Or should it be <703>xxxxxxxS4?
3. Should I add 911 to the digit map to avoid a 10 sec wait after dialing it?
4. I noticed your map has "xx." at the end to handle all dialed numbers that do not match I assume obi will wait 10 sec before sending them to PSTN. Would changing that to xx.S5 be a proper way to decrease the wait to 5 seconds?

I am thinking of trying:
(<**1>011xx.|411|611|811|911|<703>xxxxxxx|[2-9]xxxxxxxxx|18(00|88|77|66|55)xxxxxxx|8(00|88|77|66|55)xxxxxxx|1900xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.)

Do you have any suggestions?

Thank you again for your help.

kb

ianobi

Looks like you are almost there. Answers to your questions:

1. You are correct – see answer 2.

2. <703>xxxxxxx and <703>xxxxxxxS4 will both work. Adding S4 forces a four second delay after the seventh digit is dialled if no more digits are dialled. The point of this is that you might be dialling a ten digit number and if you pause after seven digits then <703>xxxxxxx will match the seven digits dialled so far and send it out. In your digit map there is always a two second delay anyhow – see nerdy explanation further down.

3. No. 911 is routed directly to the Line Port by the OutboundCallRoute with no delay involved.

4. Interesting. I don't think this has been suggested before. Yes it should work, I might adopt this idea myself   :)


OBiNerdy explanation:

The aim of a digit map is to get numbers processed as fast as possible so that they can then be passed to the Phone Port OutboundCallRoute for routing. The best digitmap will aim to get a rule to be an "Exact Match" of the digits dialled while no other rule is in the "Indefinitely Matched"  state. If you achieve this, then the number will be sent out with no delay.

A rule such as "xx." is always in the "Indefinitely Matched" state. This means there will always be at least a two second delay after the last digit has been dialled.

See "Matching Against Multiple Rules in Digit Map" towards the end of this document:
http://www.obihai.com/docs/OBiDeviceAdminGuide.pdf


The end result for you would seem to be:
Physical Interfaces > LINE Port > DigitMap:
(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|18(00|88|77|66|55)xxxxxxx|8(00|88|77|66|55)xxxxxxx|1900xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.S5)

There is a very slight danger if you dial a seven digit number starting 411/611/811 that the rules |411|611|811| will match after the third digit. It's a very small risk and effectively you have an "S2" after each digit, so probably nothing to worry about.

It's hard to achieve the perfect digimap – but interesting to try   :)


Shale

#4
Kbva, if you do not specify S4 etc, the short or long interdigit timer provides the timing. If you have a rule that could still be matched, the long interdigit timer is used to decide that you are done dialing. "The long and the short timer values are set to 10s and 2s respectively at present (and they are not configurable)."

If a rule is exactly matched, but there is also a xx. rule, or another rule that permits a longer number, then the short digit timer is used. Here is an example digit map from the admin guide:
Quote(xx. | <1408>xxx xxxx)

After user dials 1 or more digits but less than 7 digits, the DMP would return the accumulated digits as a complete number when the (long) interdigit timer expires. As soon as 7 digits are entered, the DMP would return 1408 followed by the accumulated 7-digit when the (short) interdigit expires. On the 8th digit and beyond, however, the DMP will consider the first rule only and return the accumulated digits as is when the (long) interdigit timer expires.

Now add a S4 timer to the 2nd rule:

(xx. | <1408>xxx xxxxS4)

In this case the DMP behaves exactly the same as the last, except that the short interdigit timer the DMP [Digit Map Processor] uses upon receiving the 7th digit is overridden by a 4s timer; hence the user will have up to 4s instead of 2 to dial the 8th digit.



When dialing, user may usually force an interdigit timeout with a # key instead of waiting for the DMP to timeout its own long or short timer. so 7654321# would be sent immediately as a 7-digit number.
So the use of the S4 allows slower dialing of longer numbers. Otherwise, for the (xx. | <1408>xxx xxxx) example, the short timer would have made it as if you had used S2-- if I understand correctly.

When dialing, user may usually force an interdigit timeout with a # key instead of waiting for the DMP to timeout its own long or short timer. so 7654321# would be sent immediately as a 7-digit number.

A section of http://www.obihai.com/OBiAdminGuide.htm that gets into this is "Matching Against Multiple Rules in Digit Map".

kbva

ianobi and Shale

Thank you for added explanations. I can confirm that xx.S5 works. It is sort of useful if one skips a digit while dialing;the message informing about incomplete number arrives a couple of seconds earlier. Alternatively skipping xx. at the end of the digit map achieves a similar goal and is handled by Obi, not the telco.

This has been quite an instructive thread. Thank you again for your input.

Jon9999

Can someone please explain the benefit of:

(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|18(00|88|77|66|55)xxxxxxx|8(00|88|77|66|55)xxxxxxx|1900xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.)

over:
(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|8(00|88|77|66|55)xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.

That is, why do you need the first part of something like (1800xxxxxxx|1xxxxxxxxxx|xx.)?

Won't the first match everything the second one does, just as efficiently and with no additional delay, because 1xxxxxxxxxx incorporates 1800xxxxxxxxxx, etc.?



Thanks.

ianobi

Jon9999,

I'm putting my hand up to this one   :-[  It was a lazy "cut & paste" from one of my old posts where someone requested a digitmap specifically for a free "1800 / 800" service provider.

You are quite right 1xxxxxxxxxx covers any eleven digit number beginning with "1".

It's good to have a newbie pair of eyes looking at these things. Keep asking questions - some of us oldies need keeping on our toes   :)

Shale

#8
Quote from: Jon9999 on July 22, 2013, 07:45:16 AM
Can someone please explain the benefit of:

(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|18(00|88|77|66|55)xxxxxxx|8(00|88|77|66|55)xxxxxxx|1900xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.)

over:
(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|8(00|88|77|66|55)xxxxxxx|900xxxxxxx|1xxxxxxxxxx|xx.

The first one has the ) at the end, which was needed, so that is an advantage.  ;)

Now if you are looking for the equivalent of your string after the right-parenthesis was added, consider this to further shorten your string:
(<**1>011xx.|411|611|811|<703>xxxxxxxS4|[2-9]xxxxxxxxx|1xxxxxxxxxx|xx.)

My interpretation is that says allow 7-digit dialing to the 703 area code after a 4-second delay. Send 411. 611, and 811 immediately after a 2 second delay. Send 10-digit numbers, with or without a 1 prefix after a 2 second (short timer" delay, and send everything else after a 10 second (long timer) delay to wait for more digits. Everything gets sent to SP1 unless it is specifically prefixed with a **2 or other ** code. I am not suggesting that string to anybody. I was just continuing with the puzzle exercise.

I was unable to locate a post that contained the first string that you listed.

ianobi

Wow, I really was having a bad day when I posted my first reply   ::)  Maybe I look for complications where they really don't exist!

With my Mr Pedantic hat on, I will point out, that if you have the "xx." rule, then the shortest delay for any number in this digitmap, even 411/611/811, will be two seconds.


Shale

Quote from: ianobi on July 22, 2013, 11:16:22 AMWith my Mr Pedantic hat on, I will point out, that if you have the "xx." rule, then the shortest delay for any number in this digitmap, even 411/611/811, will be two seconds.

Thanks for the correction.