News:

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

Main Menu

International Call Dialing Delay

Started by Steve56, April 03, 2017, 10:36:01 PM

Previous topic - Next topic

Steve56

A topic as seemingly mundane as this will likely have been discussed at length in past postings. Such is what I soon discovered after searching and reading a great many posts on configuring digit maps for Obi devices.

My Obi100 has served me quite well in the several years I've had it. In all those years, I've made slight modifications to its configuration to meet my needs. As such, configuration of digit maps has proved necessary, I field in which my knowledge is severely lacking. Most of everything I learned was cobbled together after scouring many forum posts.

Recently I've found myself with a need to dial internationally. My previous simplified digit map did not allow for this. Anyone making attempts to dial 011 + the phone number were greeted with a busy signal.

After having spent quite some time reading, a simple addition to the Obi's digit map is all the seems necessary to allow outbound international calls.

The device I'm using is an Obi100. It's being used with Google Voice under SP1 and SP2.

The digit map found under Service Providers > ITSP Profile A General > Digit Map is: (911S0|<1516>xxxxxxx|1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.S4|<411:18003733411>S0).

The digit map found under Physical Interfaces > Phone Port > Digit Map is: ([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**1(Msp1)|**2(Msp2)|**9(Mpp)(Mpli))

The outbound call route found under Physical Interfaces > Phone Port > Outbound Call Route is: {(<911:15555555555>):sp1},{([1-9]x?*(Mpli)):pp},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**9:>(Mpp)):pp},,{(Mpli):pli}
The emergency number is one that is unpublished and not meant to be publicly disclosed, hence the number of 555-555-5555. The digit map in use on my Obi, of course, has an actual phone number entered in this area.

It is using that digit map that I may dial using 7, 10, or 11 digits. 411 calls are also redirected immediately to the proper toll free service. Upon the advice of several posters on this very forum, I've added the "011xx." to allow international calls. It is my understanding that xx. following the 011 will match 1 or more numbers; in other words, dialing 0115, while not a proper number, will still be sent to the service provider. This seems to make things easy to avoid manually configuring every possible international telephone number format. The S4 at the end was suggested to lessen the waiting time from the last digit of the number being physically dialed and the Obi processing it.

Currently, everything works flawlessly. Calls made to US and Canadian numbers work well. International calls can be successfully dialed, but a roughly 10 second wait time is imposed before the call is actually made. This only happens when dialing up to and including three digits (eg. 011+123). Dialing numbers with any more digits than that (e.g., 011+1234), and my four second delay is honored. While this might sound foolish and petty (what international number will be only three digits in length?), I'm trying to fully wrap my head around the concept of digit maps. I'm sure this has something to do with the 7 digit dialing code in my digit map, yet if that's the case, why does a number like 011+1234 honor the four second delay but 011-123 does not? Does it have anything to do with the order of my digit map--in other words, it's matching/identifying it as a 7 digit dialed number instead of what it is, as an international number?


drgeoff

#1
1. The docs and downloads page at obihai.com has a good tutorial on digit maps and call routeing.  There is also a sticky post in the forum which points to it.

2. If you know the number of digits in the international numbers you will be dialling you can add specific entries for them. As examples 01144xxxxxxxxxx and 01181xxxxxxxxx

3. An # at the end of a number will cause it to be dialled without further delay.  Can do that manually or add it to numbers stored in a phone.

4. Yes,  you have 2 possible matches because of the 7 digit dialling rule.  The full details of the interdigit timers are in http://www.obihai.com/OBiDeviceAdminGuide#_Toc367543133. Look under the heading "Matching Against Multiple Rules in Digit Map".

5. As a local 7 digit number will never begin with a 0, you could change the <1516>xxxxxxx to <1516>[1-9]xxxxxx to remove the match against short international numbers.

6. Increasing the number of 'x's in '011xx.' would also eliminate your concern.

Steve56

#2
I'd like to sincerely thank you, drgeoff, for your clear and concise assistance.

So far, after applying the fifth solution you've mentioned, no longer are numbers like 011+1234 being incorrectly sent to the service provider with my local area code prepended to it. Thank you!

As for solution number six, it is my understanding that the instruction xx. matches one or more digits (e.g., a number of 011+1 will be sent to the SP). If I were to add an additional x (xxx.) would that match two or more digits? Would xxxx. match three or more digits and so on?

I'll likely add enough "x" elements to match no fewer than four digits (two digit country code + two digit area code); however, I'm not sure how many "x" elements to add.

drgeoff

Yes each 'x' can be matched by a single digit (ie 0 to 9).  You understand correctly that 'x.' can be matched by any number of digits, including none.

So 011xxxx. requires 011 followed by at least three digits.  Each additional x increases the minimum number of digits by one.

azrobert

You have a couple of errors in your code. Apparently these aren't causing any problems, but I think you should correct them.
You are missing a vertical bar in your phone digit map between (Mpp) and (Mpli).
You have an extra comma in your outbound route before the last rule.

QuoteI'm not sure how many "x" elements to add.

I would have at least the number of x's as the shortest number, but there are different ways to code it. We only call 11 and 12 digit international numbers. Here are the options for 11 and 12 digit numbers.

011xxxxxxxxxxxx.S2
You have up to 10 seconds to dial each of the 1st 11 numbers. After the 11th number there is a 2 second wait before the number is routed. You have up to 2 seconds to dial the 12th number and a 2 second wait after the 12 digit. Any number less than 11 digits will be rejected.

011xxxxxxxxxxx|011xxxxxxxxxxxx
Same as above, except NO wait after the 12th digit.

011xxxxxxxxxxxx?
Same as above with NO wait after the 12th digit. The digit before the question mark is optional.

Steve56

Thank you, azrobert, for not only pointing out the errors in my existing configuration but also for providing a step-by-step answer.

I like the approach of requiring a certain amount of digits to be dialed before it is sent out, to avoid issues of telephone numbers being prematurely dialed (read: sent out to the SP) even if they're invalid or incomplete. Did "we only call 11 and 12 digit international numbers" refer to yourself only needing to call 11 or 12 digit international phone numbers? I ask since I actually received something in the mail that looks to have a Chinese phone number that, with the country code, clocks in at 13 digits! I strongly doubt that any of the people in this house will be calling China anytime soon, but it might become a problem if using a stricter digit map.

Because of this, would the first digit map of 011xxxxxxxxxxxx.S2 (perhaps with a longer wait of maybe four seconds) be better suited than the last two, seeing as how they will only allow a maximum of 12 digits to be accepted?

azrobert

QuoteDid "we only call 11 and 12 digit international numbers" refer to yourself only needing to call 11 or 12 digit international phone numbers?

Yes, I was referring to the wife and myself.

I showed you the last 2 examples because there isn't a pause when dialing the max number of digits. There isn't a big difference between the examples, so it's a matter of personal preference. Same for the wait time.

Do you have the type of phone where you enter the number then press Talk/Send? If you do then you can use an S1 suffix on the digit map rule. All the digits are sent to the OBi after you press Talk and there is less than a second pause between numbers.

Steve56

To answer your question, I do not have something like a cordless phone that has a send button. All the phones in use here are the traditional touch tone/push button kind, which I why I've been working to perfect the digit maps.

For my personal edification, those last two examples will only allow a maximum of 12 digits to be dialed following the 011? Anything more than that will be returned with a rapid busy tone?

If that's the case, I suppose a more generic digit map such as your first example would be better, at the expense of a longer wait? With the first example at least 11 digits will be required, after which point I could set a 4 second delay to allow for the dialing of additional digits.

azrobert

Anything other than 11 or 12 digits after the "011" will be rejected, but it can be modified to include 13 digits. I never tested the 2nd example with 2 question marks, but I don't know why it wouldn't work.

011xxxxxxxxxxxS4|011xxxxxxxxxxxxS4|011xxxxxxxxxxxxxS4
or
011xxxxxxxxxxxx?x?S4

Steve56

#9
I'd like to again sincerely thank you for continuing to shed light on areas of confusion to me.

So far, I've come to have a better understanding of how to arrange and configure my digit maps.

The last two digits maps you provided both accomplish the same thing but go about in a different fashion? I take it the second digit map provides more room for creativity and configuration in not needing to have such lengthy digit maps?

To confirm, the digit map with the question marks is a simplification of the one above it; any number preceding the question mark is optional meaning that at least 11 digits must be dialed before the number is accepted--12 digit or 13 digit international phone numbers may also be dialed with 13 digit numbers be the maximum that will be accepted?

If I were to be unforgivably lazy, using 011xxxxxxxxxxxx.S4 would require a minimum of 11 digits but would also allow numbers exceeding 11 digits to be dialed, only it would also allow numbers of invalid length (20 digits, for example) to be dialed?

I ask your forgiveness of the peppering of questions. Digit maps, as I'm sure you can understand, are probably the most tedious and possibly complex aspect of configuring an ATA.

azrobert

QuoteThe last two digits maps you provided both accomplish the same thing but go about in a different fashion?
Correct

QuoteI take it the second digit map provides more room for creativity and configuration in not needing to have such lengthy digit maps?
I included the 2nd example to show you how to reduce the size of the digit map

QuoteTo confirm, the digit map with the question marks is a simplification of the one above it; any number preceding the question mark is optional meaning that at least 11 digits must be dialed before the number is accepted--12 digit or 13 digit international phone numbers may also be dialed with 13 digit numbers be the maximum that will be accepted?
Correct

QuoteIf I were to be unforgivably lazy, using 011xxxxxxxxxxxx.S4 would require a minimum of 11 digits but would also allow numbers exceeding 11 digits to be dialed, only it would also allow numbers of invalid length (20 digits, for example) to be dialed?
Correct

QuoteI ask your forgiveness of the peppering of questions.
You are forgiven

Steve56

#11
After some further pondering over spring break, I've decided to implement the abridged variable digit map which implements question marks. At first I had my doubts that I'd be able to craft a proper and fully functional digit map, but I believe I've squared everything away and am seeking confirmation.

Thus far I've developed and instituted the following digit map: 011[1-9]xxxxxxxxxxx?x?x?x?S4

If I've done things properly, and understand our previous discussions, the above will require at least 11 digits before doing anything with the dialed numbers. Anything numbers less than 11 digits will be be replied to with a rapid busy signal.

According to the ITU's specifications/recommendations (E.164):

QuotePlan-conforming numbers are limited to a maximum of 15 digits, excluding the international call prefix.

Because of this, my digit map is configured such that numbers ranging in length from 11 through 15 will be accepted. (I'm nearly certain that 10 digit phone numbers belong exclusively to the North American Numbering Plan.) Numbers with lengths of 16 or more digits will not be accepted and should receive a rapid busy signal.

Near as I can tell, there do not exist any country codes (not exit codes like 011) that begin with a zero. For this reason, the inclusion of the [1-9] will also invalidate dialing 011 + 0.

I'm hopeful my understanding and implementation of the above digit map is correct and welcome hearing from anyone with knowledge on the subject. Here's hoping I'm not too far from the mark!

Steve56

Even though it's been a while since last there was an update here, instead of creating yet another post I'll ask two additional questions I have that are closely related to the original discussion.

1) Does Google Voice/Chat accept international phone calls prepended with the U.S. exit code of 011? I've taken notice of several VoIP providers that don't need the 011 to route the international calls and the digit map needs to be configured to strip away the 011 before sending it to the service provider.
2) Even if Google accepts international calls with the 011 preceding the country code and other digits, just for my own edification, how would the digit map be altered so that the 011 would NOT be passed on the service provider (ex. dialing 011 44 161 794 5559 would be sent to the SP as 44 161 794 5559).

Again, my apologies for taking to a "dormant" topic to ask something else, but all the questions are very closely related. Hopefully the second of the two questions require just a simple modification to the digit map.


drgeoff

#13
1. GV requires the 011 prefix for calls to numbers outside the NANP area.

2. Stripping the international call prefix is done just the same way as removing any other leading digits. For example <011:>44xxxxxxx. as part of the relevant rule in the OutboundCallRoute.

Steve56

#14
Thanks for the response and suggested outbound call route. After further reading, it seems using my original outbound call route "command" of "011[1-9]xxxxxxxxxxx?x?x?x?" is unnecessary. Instead, something similar to what you've suggested like "<011:>xx." would be all that's necessary to strip away the 011 from any and all numbers dialed with one or more digits dialed after the 011. Is my understanding and application of outbound call route correct?

Conversely, if I wanted to prepend a set of digits to a dialed phone number, can that be accomplished through the outbound call route or the digit map? If so, I take it the correct syntax would be "<011>xx." or similar ("<011>xx." would then prepend 011 to any number dialed with one or more digits.)?

Steve56

To wind down this post finally, I'll start by documenting my results using the digit map configurations found here.

The approach tendered by AZRobert of 011xxxxxxxxxxxx?x?S4 didn't seem to work with multiple question marks. After altering the digit map to 011[1-9]xxxxxxxxxxx?x?x?x?S4, calls failed with a rapid busy signal after a 10 second wait. Dialing 11, 12, or even 15 digits garnered the same result.

Reverting to the less eloquent approach of manually specifying the possible combinations one by one (011xxxxxxxxxxxS4|011xxxxxxxxxxxxS4|011xxxxxxxxxxxxxS4|011xxxxxxxxxxxxxxS4|011xxxxxxxxxxxxxxxS4) worked to perfection. International telephone numbers of 11, 12, 13, 14, or 15 digits in length (excluding the 011 exit code) can be dialed. Dialing 16 digits (again, the ITU mandates international phone number to be a maximum of 15 digits in length) results in a rapid busy.

Now if only there were some way in which to slim down the lengthy digit map above.

drgeoff

Quote from: Steve56 on May 19, 2017, 10:30:51 PM
Now if only there were some way in which to slim down the lengthy digit map above.
You could try to reduce to 3 rules by using a single x? construct in 2 of them.  Eg one rule for 11 and 12, another for 13 and 14 and one for 15.

azrobert

Sorry for the bad advice. I thought I used 2 question marks in the past. I guess my memory is fading. Try this:

011[1-9]xxxxxxxxx(x|xx|xxx|xxxx|xxxxx)S4

Steve56

No need at all to apologize AZRobert. You've been instrumental in the creation and improvement of my digits maps and such.

Being the weekend and having multiple members of the family home and using the telephone on and off, I'll need to wait to put both digit maps suggested to the test. I really ought to purchase another Obi specifically as a guinea pig!

I'll report back as soon as possible on my findings.