News:

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

Main Menu

Need Help with Obi200 DigitMap Setup

Started by n4mwd, May 26, 2015, 05:18:08 PM

Previous topic - Next topic

n4mwd

I was told that the obi could allow multiple sip simultaneous connections and provided for a cell phone failover.  So I bought the obi200 and the obiBT, but after several weeks of trying to configure it, I found that I also need an obiPhD.  Any help would be appreciated.

Here is what I have:

Callcentric -> SP1
Asterisk ->SP2
Cell Phone -> BT1

When I dial on the phone (outgoing only for now) I want it to connect to this...

all 2 digit numbers, 3 digit numbers starting with 1 or 2, 411, toll free calls -> Asterisk (SP2)
311,611,911, 933, North american numbers excluding toll free -> callcentric (SP1)
If the network is down or CC is otherwaise unavailable, then send SP1 calls to BT1.

Here is what I have that doesn't work right:   (EDITED)
SP1(digitmap) -> ([369]11S0 | 933 | !(MTollFree) | (MNANPA))
SP2(digitmap) -> (xx | [12]xx | (MTollFree) | 411)
BT1(digitmap) -> ((MNANPA) | [369]11S0 )
Trunk Group 1 (Name) -> tg1
Trunk Group 1 (TrunkList) -> sp1,bt1
Trunk Group 1 (DigitMap) -> ((Msp1) | (Mbt1))
Phone Port (DigitMap) -> ((Msp1)|(Msp2)|**0|***|#|##||**8(Mbt)|**1(Msp1)|**2(Msp2))
Phone Port (OutboundCallRoute) ->
{(Msp2):sp2},{(Msp1):tg1},{(<**8:>(Mbt)):bt},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2}
Phone Port (Primary Line) -> Trunk Group 1
User Defined DigitMap (Label) -> TollFree
User Defined DigitMap (DigitMap) -> (<1>18 (00 | 88 | 77 | 66 | 55) xxx xxxx )
User Defined DigitMap (Label) -> NANPA
User Defined DigitMap (DigitMap) ->
(1 [2-9]xx [2-9]xx xxxx | <1>[2-9]xx [2-9]xx xxxx | <1561>[2-9]xx xxxx)

What works:
911, 933, NANPA via Callcentric (sp1)
411, 2 and 3 digit local numbers via asterisk (sp2)
800 numbers are correctly routed to asterisk (SP2)


What doesn't work:
when the network cable is unplugged, the unit gives a SIT error code instead of failing over to BT1.

Any ideas on what is wrong?


azrobert

After you dial a number the Phone DigitMap validates the number.
The number can also be modified at this point depending on the rules.
Rule "<1>[2-9]xx [2-9]xx xxxx" in NANPA will prepend the  tollfree number with a "1".
Phone DigitMap points to SP1 and SP1 includes NANPA.

The call is then processed by the OutboundCallRoute.
In the OutboundCallRoute Processing the 800 number will not match (MTollFree) because it is now 11 digits.

Change
User Defined DigitMap (DigitMap) -> (1 8 (00 | 88 | 77 | 66 | 55) xxx xxxx )

I never used the Not operand and I'm not sure how it works.
If it actually rejected the number, tollfree numbers wouldn't pass the Phone port DigitMap.

A better method is to remove !(MTollFree)
Then change the sequence of the OutboundCallRoute:
{(Msp2):sp2},{(Msp1):tg1},.....

Not sure about the failover.
I'll post some thoughts latter if nobody replies.

n4mwd

Thanks, that did the trick.  I made the changes to the digitmaps in the original post as well. 

There is still a minor issue regarding toll free numbers.  When I dial a regular NANPA number, it connects as soon as I hit the last digit.  When I dial a toll free number, it waits for me to hit #.  It would be nice if toll free numbers could dial automatically like that as well.

411 and 911 also require a #.   I'm thinking that its conflicting with the NANPA definition and waiting for extra digits. 

Any insight regarding the ObiBT failover, would also be appreciated.

azrobert

The Phone Port DigitMap determines the delay.
When you dial a number and it matches a rule and it can't potentially match another rule with additional digits, it will be routed immediately.
When a dialed number can potentially match another rule, the OBi will wait 2 seconds for additional digits.
If you override the timer with a suffix S0, the call will be routed immediately.
The only problem I see is with 411
Change it to 411S0
[369]11S0 should route 911 immediately.
Maybe there is a bug.
Try 311S0|611S0|911S0
I assume you are dialing 10 digit 800 numbers.
What happens if you dial an 11 digit 800 number?
I don't see any other rule that will match a 10 digit 800 number with additional digits, so I don't understand why it's not routed immediately.
Try adding S0 suffix to "<1>[2-9]xx [2-9]xx xxxx"
2 and 3 digit number can potentially match other rules, so you need a delay.

Do you only use phones where you dial a number then press Talk/Send?
If you do then you can reduce the delay to 1 second.

Physical Interfaces -> Phone1 Port -> DigitMapShortTimer: 1

azrobert

The OBi is not a PBX and its failover processing is not the best.
It will not failover on all failure types, but should when you pull the plug on the router.
It might be in the process of failover and you don't know it.
It can take 32 seconds for the process to work.
I believe it's TimerB that determines the failover delay.
Service Providers -> ITSP Profile X SIP -> TimerB
The default is 32 seconds.
I don't know what a minimum number should be.
I also don't know why you are getting a SIT tone.

You will get this delay even if the trunk is down.
A trick someone (can't remember their name) showed me is:
Voice Services -> SP X Service -> X_NoRegNoCall: Checked
Now if the trunk is down, failover will be immediate.

Use a shorter Service Providers -> ITSP Profile X SIP -> RegistrationPeriod
The OBi might not know the trunk is down until it tries to re-register.

n4mwd

Thanks again for getting back to me.

I forgot to mention that the ObiBT interface works ok when I dial the **8 prefix.  That is with or without a network connection.  The only glitch is that the remote phone starts ringing about 15 seconds before I hear the three beeps and a ring signal on the Obi phone.

I checked X_NoRegNoCall and it did not activate the automatic failover when I unplugged the network cable.  I still get a SIT tone followed by a voice message - something like "Network Failure - IP address - code 000".

The changes in regards to the phantom delays were only partially successful.  I changed the NANPA string to include the exclusionary rule "![2-9]11 [2-9]xx xxxx".  The idea was that the obi was getting hung up in the "<1>[2-9]xx [2-9]xx xxxx" rule waiting for other digits after 911.  The result of this change only succeeded in making 911 calls go through without the delay.  411 calls, even with the s0, still have a delay.  800 numbers, with or without the 1, also still have the delay.  However, 10 and 11 digit NANPA numbers are processed immediately.  7 digit local numbers also still have the delay, but I doubt anything can be done to fix them.

Since this Obi is going to be used by elderly people who can't dial at normal speeds, the 2 second short interdigit delay will likely be lengthened to something like 15 seconds.  So shortening it is not an option.  However, its working sufficiently well since toll free and 3 digit numbers are rarely dialed.


n4mwd

UPDATE: Regarding the claim to be able to use the ObiBT as a failover, it seems that I may have been persuing an untamed ornithoid.   I just found this thread...

https://www.obitalk.com/forum/index.php?topic=3985.10;wap2

Excerpt:
Quotemrjoe:
I can confirm that the Obi202 cannot work with a Trunk group for Failover the way the Obi110+Xlink does.
This is because the ObiBT cannot work in a Trunk Group.

So now I am starting to lose hope for the Obi ata since 911 failover is mandatory for my situation.  I wish I had found that thread before I invested all this time and money on this thing.

azrobert

I just tried a call with BT via a trunk group on my OBi200 and it worked.
I didn't test it with failover, but it should work.
I just placed bt first in the trunk list.
Make sure you are at the current firmware level (4738).

n4mwd

#8
I got another sit message "There is no service to connect your call".

HardwareVersion   1.4   help
SoftwareVersion   3.0.1 (Build: 4420)   

I think you mean the build number.  I'll see if I can download the latest version somewhere and get it installed.

UPDATE:
I now have...
HardwareVersion   1.4   
SoftwareVersion   3.0.1.4738   

By putting only bt1 in the group, the calls will go out the cell phone.  However, I unplugged the network cable and it still gives a SIT error "Network status: IP address failure".

I'm going to try unplugging the cable modem and leave the obi plugged in and see if that makes a difference.

n4mwd

It seems to be working better now.  I unplugged the cable modem and caused a network failure upstream from the router.  When I did that, the bluetooth failover seems to work - albeit buggy.  The first call was my fault because I called my own phone and the voip phone system needs a network connection to work.  However, callcentric routed the call to my other cell phone. 

One thing I noticed is that obi cell phone doesn't disconnect right away.  In fact, on the second attempt, I dialed a local time service number that went through ok, but when I hung up the obi phone, I kept hearing the guy talk.  Turns out, it was coming from the obi cell phone.  Looks like the obi is disconnecting the audio and not the call when I hang up and the obi cell phone kept the call going.

So anyway, thanks for the help.  The firmware is clearly buggy.  Pulling the network cable from the obi should still work for services that don't need a network connection such as obiBT and obiLINE.  As such, the Bluetooth failover should also still work.