News:

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

Main Menu

Digitmap or OutboundCallroute to control what SP to use

Started by Hortoristic, September 29, 2012, 05:58:12 PM

Previous topic - Next topic

Hortoristic

Can someone explain the difference of ITSP Profile A > General > Digitmap or Physical Interfaces > Phone1 Port > OutboundCallRoute - what the differences are?

It seems for example when I want to make when I dial 01144 call out on SP2, I can use either way?

Wont both these methods make any number I dial with 01144 dial out on SP2?  Is one way better than the other?

ITSP Profile A > General > Digitmap
(*xx|1xxxxxxxxxx|<1360>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|<**2>01144xx.|[^*]@@.)

Physical Interfaces > Phone1 Port > OutboundCallRoute
{<**2>01144xx.},{911:sp2},{([1-9]x?*(Mpli)):pp},{(<#:>):ph2},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

ianobi

There is a basic difference between a DigitMap and an OutboundCallRoute.

The DigitMap decides what number format is acceptable to that ITSP Profile.

The OutboundCallRoute decides where a number is routed to.

Using your example, in this rule:

ITSP Profile A > General > Digitmap
(*xx|1xxxxxxxxxx|<1360>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|<**2>01144xx.|[^*]@@.)

<**2>01144xx. says if you dial a number beginning 01144xx, then prepend that number with **2. This rule does not send the call anywhere.


In this rule:

Physical Interfaces > Phone1 Port > OutboundCallRoute
{<**2>01144xx.},{911:sp2},{([1-9]x?*(Mpli)):pp},{(<#:>):ph2},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

{(<**2:>(Msp2)):sp2} says if a number begins with **2 and matches the DigitMap for Msp2, then remove the **2, then send the call out via Service Provider 2. Again the rule {<**2>01144xx.} would not send the call anywhere.

It is useful to imagine the DMP (Digit Map Processor) making two passes. First it passes the number you dialled through all of the DigitMaps finding the best match, then doing any indicated transforming such as prepending **2. Second it passes that transformed number through the OutboundCallRoute Looking for a matching rule, which may do more transforming, such as removing **2, then sending the call out to the relevant service provider.

Using the more simple example of an Obi110 RonR explained that there is really only one big Phone Port DigitMap and one big Phone Port OutboundCallRoute. Both of these reference to other DigitMaps, Msp1, Msp2 etc, so if we change Msp1 we are changing the overall Phone Port DigitMap and overall Phone Port OutboundCallRoute.

I believe the above still holds true for the Obi202 Phone Port DigitMap, but it may have two Phone Port OutboundCallRoutes.

It is possible to put routing rules directly into the OutboundCallRoute, but this would soon become very messy and hard to control. Hence the Obi modular way of using what appear to be separate DigitMaps for each Service Provider / trunk.

There are other considerations such as how the Primary Line affects routing and trunk groups, but let's leave them be for now  :)

I recommend reading the first post here:

http://www.obitalk.com/forum/index.php?topic=513.msg3001#msg3001

Do not read the rest, it gets very confusing  ::)


Ostracus

Quote from: ianobi on September 30, 2012, 02:04:19 AM

I believe the above still holds true for the Obi202 Phone Port DigitMap, but it may have two Phone Port OutboundCallRoutes.


It does.

Phone 2:
{911:sp3},{([1-9]x?*(Mpli)):pp},{(<#:>):ph1},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

Phone 1:
{911:sp3},{([1-9]x?*(Mpli)):pp},{(<#:>):ph2},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

Trivial differences though.


ianobi

yes, I see the # is dealt with differently to allow the phones to call each other.

On reflection, I think the OBi202 must have one big DigitMap for phone1 and a separate big DigitMap for phone2. This would be needed to allow for each having its own Primary Line. Although both would contain the same trunk DigitMaps (Msp1,Msp2 etc,) you could allocate different routings to get to each trunk DigitMap. It would be perverse, but you could use **1 for Msp1 in phone1's Digit map and **7 for Msp1 in phone2's DigitMap.

In this respect I guess the OBi202 is really just two OBi100's bolted together.

Hortoristic

You said both of my examples won't make a call that is dialed on SP1 as 01144, and redirect it via SP2 - I'm seeing odd results when I put the <**2>01144xx. in the ITSP Profile A -> General > Digitmap setting.

It really does seem to be dialing out SP2 when I dial the UK number from SP1, in call history it shows:
From PH1   To SP2(011441903300093)

So changing the digitmap in ITSP seems to have been the right place -

QuoteITSP Profile A > General > Digitmap
(*xx|1xxxxxxxxxx|<1360>[2-9]xxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|<**2>01144xx.|[^*]@@.)

In my call history, when I dial a UK number begging with 01144, my history shows: From PH1   To SP2(011441903300093) - so it really does seem to be dialing my call out on SP2.

<**2>01144xx. says if you dial a number beginning 01144xx, then prepend that number with **2. This rule does not send the call anywhere.

QuotePhysical Interfaces > Phone1 Port > OutboundCallRoute
{<**2>01144xx.},{911:sp2},{([1-9]x?*(Mpli)):pp},{(<#:>):ph2},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

{(<**2:>(Msp2)):sp2} says if a number begins with **2 and matches the DigitMap for Msp2, then remove the **2, then send the call out via Service Provider 2. Again the rule {<**2>01144xx.} would not send the call anywhere.

ianobi

This is a perfectly valid rule: <**2>01144xx. in the ITSP Profile A -> General > Digitmap setting. It is the rule that prepares the number to be sent out on sp2.

The rule that is actually sending the call out to sp2 is: {(<**2:>(Msp2)):sp2} in the Physical Interfaces > Phone1 Port > OutboundCallRoute.

In the Physical Interfaces > Phone1 Port > OutboundCallRoute, if you delete the rule {<**2>01144xx.} the call will still go out to sp2.

You are doing exactly the correct thing in the DigitMap, but there is no need to do anything in the OutboundCall Route.





ianobi

Hortoristic has highlighted a very useful DigitMap feature, so it's worth some more explanation of why it works.

If a plain number (with no **1, **2 etc) is dialled from the Phone Port, the Phone Port OutboundCallRoute will process it using Mpli (Map Primary Line). In the case of the Obi202 at default settings, Mpli = Msp1 because Phone Port Primary Line is set to sp1 Service.

Also remember that by default ITSP Profile A > General > Digitmap = Msp1 as Service Provider 1 is located on  ITSP Profile A.

In our example dialling numbers starting 01144 will be matched by the rule <**2>01144xx. in Msp1. This prepends **2 to any number starting 01144. The Phone Port OutboundCallRoute will now send this call to sp2, after removing the **2 using the rule {(<**2:>(Msp2)):sp2}.

This means that redirecting numbers can be achieved for all numbers dialled by using your Mpli. The Mpli acts like a telephone exchange looking at the numbers and prepending the correct ** code for the OutboundCallRoute to send the call out on the correct trunk. Using this method there is no need for the user to use ** codes when dialling.

This does rely on your DigitMaps being sufficiently different from each other for Mpli to sort the numbers.

That's probably enough of me rambling on about DigitMaps for now  :)

roberthuang

#7
Hi, I've got a problem with the call route and hopefully I can get an answer here.

I've configured SP1 on Phone1, checked this SP1 for both "Make This Service the Primary Line to Call Out From Phone1" and "Incoming Calls Will Ring On Phone1". SP1 is my main phone line and I don't want to play any fancy stuff with it.

I've also configured SP2 and SP4 on Phone2, checked this SP2 for both "Make This Service the Primary Line to Call Out From Phone2" and "Incoming Calls Will Ring On Phone2".  I'd like to configure the Auto Attendant on SP2 to get a second dial tone. SP4 is the google voice. When I dial new york (718) or Seattle (425), the phone routes to SP4.

ITSP Profile A > General > Digitmap
(<416:1416>xxxxxxx|<647:1647>xxxxxxx|<905:1905>xxxxxxx|<289:1289>xxxxxxx|1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

ITSP Profile B > General > Digitmap
(<416:1416>xxxxxxx|<647:1647>xxxxxxx|<905:1905>xxxxxxx|<289:1289>xxxxxxx|1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<**4>1718xxxxxxx|<**4>1425xxxxxxx|<**3>011xx.|xx.|(Mipd)|[^*#]@@.)

Physical Interfaces > Phone1&2 Port > DigitMap
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**8(Mbt)|**1(Msp1)|**2(Msp2)|**3(Msp3)|**4(Msp4)|**9(Mpp)|(Mpli))

Physical Interfaces > Phone1&2 Port > OutboundCallRoute
{911:sp1},{([1-9]x?*(Mpli)):pp},{(<#:>):ph1},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**9:>(Mpp)):pp},{(Mpli):pli}

I enabled "Auto Attendant 1", specified "SP2 Service" as the PrimaryLine.

When I call SP2, press 1 to continue this call. Both Phone1 and Phone2 ring. If I press 2 to make a new call 416xxxxxxx, the caller shows SP1 is calling, not SP2.

Obi202 call log shows "From AA1   Fork to: PH1 PH2". I'd like only Phone2 ring when I press 1 because I'm calling SP2 that is configured on Phone2. When I press 2, I'd also like the called party to see SP2 or SP4 depending on the destination is the caller, has nothting the SP1.

I must have missed some configuration for the phone2 port's DigitMap or OutboundCallRoute(I left it as default). Please help. Thanks a lot.

Robert

ianobi

The auto attendant has its own OutboundCallRoute. When you press 1 to continue this call this rule is used {0:ph,ph2}. You could change it to {0:ph2} to only ring phone 2. However, that will apply to any calls coming in from any trunks and pressing 1 to continue the call.

Try a few changes and post back. I'm away for a day or two, but I'll pick it up again when I get back if it's still a live issue.

roberthuang

Thanks ianobi for your reply.

My SP1 is the primary line for Phone1 and SP2 is the primary line for Phone2. Both SP1 and SP2 are SIP.

I configured the CallWithUs as voice gateway 6. also configured the DigitMap and OutboundCallRoute under Physical Interfaces - Phone 2.  The problem is, whenever I use this gateway to make an outbound call, the 3rd party always see my SP1 number, not SP2 number.

The call log shows below
21:07:50   From PH2   To SP2(1647302xxxx@sip.callwithus.com)

Physical Interfaces - Phone2
DigitMap
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|911|**0|***|#|**8(Mbt)|**1(Msp1)|**2(Msp2)|**3(Msp3)|**4(Msp4)|**6(Mvg6)|**9(Mpp)|(Mpli))
OutboundCallRoute
{911:sp1},{([1-9]x?*(Mpli)):pp},{(<#:>):ph2},{(<**8:>(Mbt)):bt},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Msp3)):sp3},{(<**4:>(Msp4)):sp4},{(<**6:>(Mvg6)):vg6},{(<**9:>(Mpp)):pp},{(Mpli):pli}

How can I make the callee see my SP2 number, not SP1 number? Thanks again.

azrobert

The CallerID would be defined in CallWithUs.
Log on to your CallWithUs account and click on "Add Caller ID".

ianobi

roberthuang,

Can I clarify things here. You have two SIP providers on sp1 and sp2. Additionally, as a third SIP provider (calling out only) you have callwithus set up on Voice Gateway6.

In Voice Gateway6 you have:
AccessNumber > sp2(sip.callwithus.com)

If this is your setup, then I cannot see anyway that that calls going out on sp2 (from SIP provider on sp2 or from callwithus using sp2 via VG6) can be picking up CallerID from sp1.

It would be worth looking on your web page interface to see if all is set as you think, particularly all of the PrimaryLine settings. Checking the correct boxes when configuring the services should work ok, but it is worth looking at the actual settings on the web page to make sure they are correct.

azrobert

Quote from: roberthuang on December 29, 2012, 06:22:11 PM
The call log shows below
21:07:50   From PH2   To SP2(1647302xxxx@sip.callwithus.com)

ianobi,

According to his roberthuang's call history the outbound call is going thru CallWithUs, therefore his config is correct.

The only way I can see this happening is if he already has a CallerID setup in CallWithUs and that number is the same as his SP1 service.

ianobi

azrobert,

Yes, I agree the config looks ok and you are most likely right about the CallerID mix up. My concern is that if callwithus is on vg6 and another SIP provider is on sp2 and robert wants to use the CallerID from sp2, then we could be going down the tricky road of spoofing CallerID.

I often find that I'm answering a question that has not been asked  :)

roberthuang

Thanks azrobert and ianobi,

I logged into my CallWithUs web portable and checked the settings. Yes, I put my SP1 number over there 1 year ago. That's why the called always see my SP1 number. Thank you too again.