News:

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

Main Menu

How do I send three digit extension calls, etc. to a different Service Provider?

Started by VoIPuser, August 03, 2011, 02:21:56 PM

Previous topic - Next topic

VoIPuser

Here is my current setup on an OBi110, configured using the OBiTALK portal:

My LINE Port connects to a VoIP provider that requires me to use their hardware adapter, so it's as if I were connecting to a regular phone line.  By default I only want to send to the LINE port calls to 7 digit numbers, 11 digit numbers, and 911 calls.

SP1 Connects to a Google Voice account I rarely use.  I don't want any calls to go to it by default.

SP2 connects to a private SIP provider.  By default I want to send calls to it that fall into the following number ranges:
200-299 (but only after a four second delay, in case I am dialing a seven digit local number).
400-499 (same as above regarding four second delay)
[2-8]11 (the switch is programmed to handle these).
*[2-9]X (two digit star codes beginning with 2-9)
*1XX (three digit star codes starting with 1

Now here are the changes I have tried so far, using the OBi Expert Configuration (could probably do these locally on the device as well, but I started out using the portal to configure my services and it worked quite well except for having to dial **2 in front of the calls I want to send to SP2):

PHONE Port, DigitMap: Using the default set up by the OBiTalk Portal:
([1-9]x?*(Mpli)|[1-9]|[1-9][0-9]|911|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

PHONE Port, OutboundCallRoute: Using the default set up by the OBiTalk Portal:
{([1-9]x?*(Mpli)):pp},{(<#:>|911):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

ITSP Profile B General: Digit Map:
This is where I want to send 200-299, 400-499, and the other calls I listed above for SP2:
The original was:
(1xxxxxxxxxx|<1989>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*]@@.)
I changed it to:
([2-8]11|[24]xxS4|1xxxxxxxxxx|[2-9]xxxxxx|011xx.|xx.|*[2-9]x|*1xx|(Mipd)|[^*]@@.)

Basically I took out the seven and ten digit translations and added rules for [2-8]11 and [24]xxS4, and later in the pattern for *[2-9]x and *1xx

I thought the above would be sufficient, but apparently it was not.  So then I also tried this:

Line Port DigitMap:
Changed:
(xxxxxxxS4|1xxxxxxxxxx|xx.)
To:
(911|[2-9]xxxxxx|1xxxxxxxxxx)
(I wanted seven digit calls to go through without delay, but also removed the general xx. rule that I THOUGHT might be causing the problem. I added the 911 rule because I feared that might have been covered by the xx. rule I removed.)

ITSP Profile A General DigitMap:
Changed:
(1xxxxxxxxxx|<1989>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*]@@.)
To:
(1xxxxxxxxxx|<1989>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|(Mipd)|[^*]@@.)
(This is my Google Voice line and I do not make International calls so I removed that rule, but I also removed the xx. rule, again thinking that might be the problem.)

But still, if I dial a three digit extension such as 234, it goes to a fast busy.  If, however, I dial **2 234 it goes right through, and incoming calls from the private SIP provider come through just fine, so it's not a provider issue.  Also, they have watched the switch and say that when I dial only three digits it never hits the switch at all, whereas when I dial **2 first it comes right in.

So, my question is, why can't I force my three digit extension calls to go direct to SP2 after the four second timeout, without needing to dial the **2 code first?  What am I missing here?  Any help would be much appreciated!

RonR

Quote from: VoIPuser on August 03, 2011, 02:21:56 PM
So, my question is, why can't I force my three digit extension calls to go direct to SP2 after the four second timeout, without needing to dial the **2 code first?  What am I missing here?  Any help would be much appreciated!

By default, all calls go out the trunk selected by Physical Interfaces -> PrimaryLine.  When you don't dial a **n prefix, the only ITSPA/ITSPB/OBiTALK/LINE Port DigitMap that typically comes into play is the one that's the PrimaryLine.

Placing a call consists of two steps:

1. The dialed number is first processed through the PHONE Port DigitMap.  This validates and possibly transforms the dialed number.

2. The number resulting from step 1 is then processed through the PHONE Port OutboundCallRoute, sending the call to a particular trunk.

You can place rules in the PrimaryLine DigitMap that will effectively redirect a call from the PrimaryLine to an alternate trunk.  For example, if the LINE Port is the PrimaryLine:

Physical Interfaces -> Line Port -> DigitMap : (<**2>[2-8]11|<**2>[24]xx|[2-9]xxxxxx|1xxxxxxxxxx)

would redirect 411 and 234 to SP2.

ITSPB will still have to have rules to support these sequences:

Service Providers -> ITSP Profile B -> General -> DigitMap : ([2-8]11|[24]xx|...)