News:

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

Main Menu

DigitMap Auto-routing of UK Freephone numbers

Started by xpr722946ghd, March 08, 2024, 09:01:37 PM

Previous topic - Next topic

xpr722946ghd

Hi Gurus.
I am in Canada. Wanting to have all US & Canada numbers route through sp1, and UK freephone numbers to route through sp3.

If I dial **3, I can dial the UK freephone numbers (0800 / 0808 area codes).

However I am trying to automate it so that simply dialing 0800 / 0808 selects sp3 and the call is routed via that provider. My guess is something is out of whack on the Phone 1 ldigitmaps. Can anyone spot the issue and suggest a fix please?

Phone 1 Digit Map
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|##|**70(Mli)|**8(Mbt)|**81(Mbt)|**82(Mbt2)|**1(Msp1)|**2(Msp2)|**3(Msp3)|**4(Msp4)|**9(Mpp)|(Mpli)|(Mcan1)|(Msp3)|(Msp4))

Phone 1 Port Outbound Call Route :
{(18(00|88|77|66|55|44|33)xxxxxxx):sp1},{(Msp1):sp1},{(Mcan1):sp1},{(08(00|08)xx.):sp3},{(Msp3):sp3},{(Msp4):sp4},{([1-9]x?*(Mpli)):pp},{(<##:>):li},{(<#:>):ph2},{(<**70:>(Mli)):li},{(<**82:>(Mbt2)):bt2},{(<**81:>(Mbt)):bt},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

drgeoff

1. When you dial an 08... number what response do you hear and what does the OBi's Call History show?

2. What have you got in SP3 DigitMap?

xpr722946ghd

Quote from: drgeoff on March 09, 2024, 12:08:19 AM1. When you dial an 08... number what response do you hear and what does the OBi's Call History show?

2. What have you got in SP3 DigitMap?

1 - Get an error tone in the handset. Call history showed it routed via SP1 and received "Call Ended (603 Declined).

2 - SP3 DigitMap is ((0800|0808)xxxxxx.S3)

As mentioned, if I dial **3 to invoke SP3, call proceeds with no problems.

azrobert

#3
Move {(08(00|08)xx.):sp3} to the beginning of the outbound route.

Add ((0800|0808)xxxxxx.S3) to the phone digit map. This isn't required, but should speed routing by a few seconds.

xpr722946ghd

Quote from: azrobert on March 10, 2024, 03:43:38 PMMove {(08(00|08)xx.):sp3} to the beginning of the outbound route.

Add ((0800|0808)xxxxxx.S3) to the phone digit map. This isn't required, but should speed routing by a few seconds.


OK, performed both actions, and this has nailed it.
Thanks for the help. Much appreciated!

drgeoff

Quote from: xpr722946ghd on March 10, 2024, 05:24:36 PM
Quote from: azrobert on March 10, 2024, 03:43:38 PMMove {(08(00|08)xx.):sp3} to the beginning of the outbound route.

Add ((0800|0808)xxxxxx.S3) to the phone digit map. This isn't required, but should speed routing by a few seconds.


OK, performed both actions, and this has nailed it.
Thanks for the help. Much appreciated!
From left to right the first rule in the OutboundCallRoute that is satisfied wins and the call is routed to its SP.  That moving the SP3 rule to the front solves your problem indicates that in the OutboundCallRoute in the first post one of the SP1 rules was being satisfied by the 0800 type numbers.  That is still the case but that rule is now never reached.

xpr722946ghd

Quote from: drgeoff on March 10, 2024, 05:33:51 PMFrom left to right the first rule in the OutboundCallRoute that is satisfied wins and the call is routed to its SP.  That moving the SP3 rule to the front solves your problem indicates that in the OutboundCallRoute in the first post one of the SP1 rules was being satisfied by the 0800 type numbers.  That is still the case but that rule is now never reached.

Indeed. That is one of the things that surprised me.

{(18(00|88|77|66|55|44|33)xxxxxxx):sp1}

To me the portion of DigitMap above instructs the ATA to grab
1800, 1888, 1877, 1866, 1855, 1844, 1833 and direct them to SP1.

I have not yet spotted how it would grab a 0800 number...

azrobert

What is your sp1 digit map?

Outbound Route rule (Msp1):sp1} is probably the culprit.

You don't need this rule. If your primary line is sp1 then rule {(Mpli):pli} will equate to (Msp1):sp1}.

xpr722946ghd

Quote from: azrobert on March 10, 2024, 07:47:46 PMWhat is your sp1 digit map?

Outbound Route rule (Msp1):sp1} is probably the culprit.

You don't need this rule. If your primary line is sp1 then rule {(Mpli):pli} will equate to (Msp1):sp1}.


(*xxxx|1xx|<:1780>[2-9]xxxxxx|<:1>[2-9]xx[2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|<07:011447>xxxxxxxxx|<0:04444>[1-2]xxxxxxxxx|<44:04444>[1-2]xxxxxxxxx|011[2-9]x.|310xxxxS0|'*97'|(Mipd)|[^*]@@.)

This is my SP1 DigitMap.

7 digit dialing for my area code (although I never actually do that).
Could the <0:0444> transformation be the culprit? It routes UK geographical numbers (01253 / 0208 etc) via voip.ms premium routing. The 07 transform routes UK cell calls.

azrobert

[^*]@@. will match any number that doesn't start with a "*".

xpr722946ghd

Quote from: azrobert on March 11, 2024, 08:52:40 AM[^*]@@. will match any number that doesn't start with a "*".

OK, that would explain my error then. Thanks for explaining that piece.

As it happens, I think I am going to have to do a complete rewrite of all my rules. VOIP.MS termination rates to the UK have become astronomical.

I'll want to route all North American area codes, North America toll free. and most international calls, through Voip.ms who are on SP1.

SP2 will have to route all 01/02/07 UK numbers, which I'll want to dial without using international codes. Not sure who the provider will be yet - will perform some tests over the next several weeks using 3 providers.

SP3 will route the UK freephone numbers (0800 / 0808) as in the current setup.

Would the best route be to use the User Defined digitmaps?

azrobert

I think User Defined Digit Maps are there to better organize complex configurations.  If you think it will help then use UDDMs.

I don't use them. I have my own unique way of defining a configuration. Anyway, I can make suggestions when you need to change your config.

xpr722946ghd

Quote from: azrobert on March 11, 2024, 09:04:03 PMAnyway, I can make suggestions when you need to change your config.

Thanks for your offer. I'm playing around with these ideas today. New plan is as follows.
SP1 = VoIP.ms for North America & most international calls
SP2 = Telnyx for UK calls (10 & 11 digit numbers in UK localized format beginning with 01, 02, or 07 and having a total of 10 or 11 digits.
SP3 = Sipgate for UK freephone numbers (0800 / 0808) 10 or 11 total digits

ITSP A DigitMap would become :
(*xxxx|1xx|<:1780>[2-9]xxxxxx|<:1>[2-9]xx[2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|011[2-9]x.|310xxxxS0|'*97'|(Mipd)|[^*]@@.)

ITSP B DigitMap :
(0[127]xxxxxxxxx|0[4568]xx.|1xxxx|1xxxxxx|00xx.) - I'm just not sure how to make it accept 10 or 11 digits...

ITSP C DigitMap :
((0800|0808|)xxxxxx.S3)

New Phone 1 Port Outbound Call Route :
{(01|02|07)xx.):sp2},{(08(00|08)xx.):sp3},{(18(00|88|77|66|55|44|33)xxxxxxx):sp1},{(Msp1):sp1},{(Mcan1):sp1},{(Msp3):sp3},{(Msp4):sp4},{([1-9]x?*(Mpli)):pp},{(<##:>):li},{(<#:>):ph2},{(<**70:>(Mli)):li},{(<**82:>(Mbt2)):bt2},{(<**81:>(Mbt)):bt},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

My current Phone 1 DigitMap would probably need to be changed as well. It is currently :
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|##|((0800|0808)xxxxxx.S3)| **70(Mli)|**8(Mbt)|**81(Mbt)|**82(Mbt2)|**1(Msp1)|**2(Msp2)|**3(Msp3)|**4(Msp4)|**9(Mpp)|(Mpli)|(Mcan1)|(Msp3)|(Msp4))

This probably also needs a change to accommodate UK 10 or 11 digit numbers.

Open to all suggestions relating to tidying up / efficiency / reduced wait times on dialing.
Thanks in advance!

azrobert

#13
This is basically how I define a config. I deleted all the "**n" rules. These make the config almost unreadable and if you don't use them, why have them. I define each ITSP DigitMap with the rules pertaining to them then use refer backs in the Phone DigitMap and outboundCallRoute.

I removed the USA Tollfree rule. The USA 10 and 11 digit rules will also match TF numbers.

You had to put SP2 1st in the OutboundCallRoute. I removed the rule that matched everything, so this isn't a requirement anymore.

I didn't spend a lot of time on this. Hopefully I didn't make any mistakes. Post back if you have trouble or questions.


ITSP A DigitMap:
(*xxxx|1xx|<:1780>[2-9]xxxxxx|<:1>[2-9]xx[2-9]xxxxxx|1[2-9]xx[2-9]xxxxxx|011[2-9]x.|310xxxxS0|*97|911|(Mcan1))

ITSP B DigitMap :
(0[127]xxxxxxxxx?S2|0[4568]xx.S3|1xxxx|1xxxxxx|00xx.S3)

"I'm just not sure how to make it accept 10 or 11 digits..."
You're referring to the "0[4568].." number?

ITSP C DigitMap :
((0800|0808)xx.S3)

Phone 1 Port Outbound Call Route :
{(<##:>):li},{(<#:>):ph2},{**0:aa},{***:aa2},{(Msp1):sp1},{(Msp2):sp2},{(Msp3):sp3},{(Msp4):sp4

Phone 1 DigitMap
([1-9]S9|[1-9][0-9]S9|**0|***|#|##|(Msp1)|(Msp2)|(Msp3)|(Msp4))

drgeoff

Quote from: xpr722946ghd on March 16, 2024, 11:55:17 AM(0[127]xxxxxxxxx|0[4568]xx.|1xxxx|1xxxxxx|00xx.) - I'm just not sure how to make it accept 10 or 11 digits...
For 10 or 11 (and the general case of n or n+1) digits see the explanation of x? on page 198 of the Admin Guide.

azrobert

Quote from: drgeoff on March 17, 2024, 01:59:11 AMFor 10 or 11 (and the general case of n or n+1) digits see the explanation of x? on page 198 of the Admin Guide.

Using x? the n+1 works perfectly, but n has a long delay same as "x.". You could add "S3" to eliminate the delay. I just used 2 rules. It's a personal preference.

Do you have a link to the Admin Guide. The link I have stopped working. If you down loaded the PDF, could you post it?

Thanks


drgeoff

#17
Various docs including the Admin Guides are at
https://www.obitalk.com/info/support/docs-downloads
There is a link to that on your dashboard.  The last of the four under Support.

azrobert

I'm half losing it. I had 2 links for the User Guide. The PDF link was correct, but I was using the link to the HTML guide that doesn't work. The links I had to the IP Phone guide and Documents & Downloads also don't work.

Thanks guys!

azrobert

The more I think about it "x?S2" is better than 2 rules. I changed my above config example. The truth is I wasn't 100% sure you can use "S2" with "x?". I tested and it does work.