News:

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

Main Menu

Obi110 Setup Help

Started by nichmj01, January 27, 2015, 09:53:36 AM

Previous topic - Next topic

nichmj01

I recently got an Obihai 110 which I am giving to my family who live outside the US.
I got it setup with GoogleVoice on SIP1 so that they can send and receive US calls for free and can make other international calls if necessary.

Here is what I would like:
+ Calls get routed through LINE by default.
--> Guarantees emergency calls will go through.
+ GoogleVoice calls can be made by entering a prefix (For example, **1)
+ Access to the AutoAttendant services (**0, ***)

I know I could probably set it up to route US calls through GoogleVoice automatically but I was thinking the above setup would be easier. If automatic routing of ONLY US calls is easy then I'm open to it. My family is not tech savvy so I don't want to make it confusing.

I'm not too concerned about Obi2Obi calls but not against having it if possible.

A couple details:
My family lives in the Caribbean, specifically Trinidad and Tobago (T&T). The international calling code is +1 (the same as the US) and all numbers have an "area code" of 868.

Example:
1-868-637-XXXX --> Trinidad and Tobago (T&T)

Therefore, all 7 digit numbers are local (T&T) numbers.

I read through a few tutorials / tips and have tried setting it up using the digitmap and outboundcallroute settings. Here is the current settings:

Physical Interfaces --> Phone:
DigitMap:
( (Mli) | 911 | **0 | *** | # | **1{t=di2}(Msp1) | **2(Msp2) | **8(Mli) | **9(Mpp) )

OutboundCallRoute:
{(Mli):li}, {(911|<#:>):li}, {**0:aa}, {***:aa2}, {(<**1:>Msp1):sp1}, {(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp}

Physical Interface --> Line:
DigitMap:
(xxxxxxxS0|1xxxxxxxxxx|xx.)

Service Providers --> ITSP Profile A General: (Google Voice)
DigitMap:
(1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|011xx.|xx.|(Mipd)|[^*#]@@.)

What currently happens:
+ Calling 7 digit numbers calls locally.
+ Using **1 prefix routes US numbers (and presumably all numbers) using Google Voice.
+ Calling the GoogleVoice number from Google Hangouts and another Obihai (and presumably any US number) works.
+ Calling the local number (LINE) works.
+ Calling US numbers directly (Example: 1-202-412-XXXX) doesn't work. I get a local message saying to hang up and try the call again.
+ Using # to get a POTS line, and then calling a US number directly works.

My best guess is that something is changing the US number when it is called directly so the number is invalid and I get the "try your call again" message but I can't figure out what is causing it.

Anyone have any thoughts?

Thanks!

drgeoff

I think you are missing a pair of brackets around 'Msp1' in the OutBoundCallRoute:

{(<**1:>Msp1):sp1}

should be

{(<**1:>(Msp1)):sp1}

NB It is often useful to have a look at Status, Call History.  It is only accessible via the OBi's local web interface.  It will show you which SP the OBi tried to use and what number was sent after all the manipulations.

202Owner

#2
I've never seen an OBi110 and its LINE settings, and I have no International dialing experience, and I don't use OBiTALK, but I thought I would give this a shot:

SP1 Google Voice (Msp1) = (<1>[2-9]xx xxx xxxx|1[2-9]xx xxx xxxx|011xx.)  ;long-distance, US International (US IDD prefix = 011).
SP1 Service - SP1 Service::X_NoRegNoCall = checked ;speed up trunk group failover.

PP1 OBiTALK (Mpp1) = (<ob>xxx xxx xxx|obxxx xxx xxx)  ;default.

LI1 LINE (Mli1) = (911|[2-9]xx xxxx|<1>[2-9]xx xxx xxxx|1[2-9]xx xxx xxxx|11xx.)  ;911, local, long-distance, T&T International (T&T IDD prefix = 11).
LINE Service - LINE Service::X_NoRegNoCall = checked ;is there a 'no dial tone' setting like this?

PH PHONE Port PLI Primary Line = TG1 Trunk Group 1 = sp1,li1
PH PHONE Port (Mpli) = TG1 (Mtg1) = ((Msp1)|(Mli1))

PH PHONE Port digit map = (**1(Msp1)|**2(Msp2)|**8(Mli1)|**9(Mpp1)|**0|***|#|[1-9]S9|[1-9][0-9]S9|(Mpp1)|(Mpli))
PH PHONE Port outbound call route = {(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli1)):li1},{((<**9:>|ob)(Mpp1)):pp1},{**0:aa1},{***:aa2},{(<#:>):li1},{(Mpli):pli}

Outbound will route to Trunk Group 1 = sp1,li1.  Digits dialed will route out the first trunk that permits them by its digit map.  If SP1 GV is down, outbound will failover to LI1 LINE.

Long-distance and US International dialing will go out SP1 GV, as if dialing from the US.

911, local, long-distance, and T&T International dialing will go out LI1 LINE, as if dialing from T&T.

9-digit OBITALK peer-to-peer will go out PP1.

OBi features including manual routing are supported except ad hoc gateways are not supported.

Check the OBi web interface Status - Call History to confirm dialing results when testing a dial plan. If the digits dialed were not successfully mapped and routed to a service provider, the DMP will return an error message/fast busy signal and there will be no Call History.

Test and tweak to taste!  Let me know if it works.

nichmj01

@drgeoff:
Thanks for the response. I fixed the brackets with no change. The tip about the Status and Call History seemed useful but I couldn't seem to access the local web interface.

I tried going to the IP address of the Obi110 directly and got a "webpage is not available" page. I found some information talking about enabling the web interface but seemed to only relate to the Obi202. Listening through AA (***) menus and digging around with expert configuration didn't yield anything obvious. Also I can't ping the Obi from my computer, should I be able to? Do I have to direct connect to get this to work?

While trying to figure out the local web interface, I saw that there is a System Status and Call Status pages on ObiTalk. I used to the Call Status page to verify my suspicions, that the 11 digit number (1-202-412-XXXX) was being truncated to 7 digits which is not a valid local number.

I changed the LINE DigitMap to be: (xxxxxxxS1|1xxxxxxxxxx|xx.)
and that seemed to work.

I had set the first line to be S0 initially to speed up the local call dialing (it was originally S4, and it was painful waiting for a local 7-digit call to start ringing). I'm guessing that the use of S0 meant that no numbers past the 7th digit was every being registered with the Obi.

@202Owner:
Thanks! I'll try out those settings as soon as I can access the Status - Call History page. It would be really useful to see a log of what the Obi is doing with the numbers. Any thoughts on how I access the page?

drgeoff

Dial ***1 and the IP address will be read out to you.  Point your browser to it and you should be prompted for login details.  admin and admin are the defaults.

nichmj01

@202Owner:
Nope, there is no X_NoRegNoCall under LINE. There is a PTSN Disconnect Detection section which I'm guessing is supposed to be the same idea but with a physical line. I've attached an image it in case you were curious what it looked like.

202Owner

No worries... given LI1 is last in the trunk group and behaves differently than a SIP registration and is very PSTN reliable, there may be no delay-to-fail that would upset the user experience.

azrobert

#7
Here is another suggestion:

Physical Interfaces --> Phone:
DigitMap:
( (Mli) | (Msp1) | 911 | **0 | *** | # | **1(Msp1) | **2(Msp2) | **8(Mli) | **9(Mpp) )

OutboundCallRoute:
{(Msp1):sp1}, {(Mli):li}, {(911|<#:>):li}, {**0:aa}, {***:aa2}, {(<**1:>Msp1):sp1}, {(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp}

Physical Interface --> Line:
DigitMap:
(xxxxxxx)
(xxxxxxx|1?868xxxxxxx)
or
(xxxxxxx|1868xxxxxxx)
or
(xxxxxxx|1868xxxxxxx|<1>868xxxxxxx)


Service Providers --> ITSP Profile A General: (Google Voice)
DigitMap:
(1xxxxxxxxxx|[2-9]xxxxxxxxx|011xx.)

Don't dial **1
7 digit and 868 numbers routed to Line.
Don't know your requirements on 868, so I gave you options.
All other 10, 11 and international number routed to GV.

nichmj01

@drgeoff:
I had originally gotten the IP address off my router and when I checked using ***1, it reported the same IP address I tried before.  :-\  I still can't browse to the local web server for the Obi110.

I also have an Obi202 on the same network and (after enabling the web interface on WAN) I can browse to that guy just fine.

I might have been unclear before. I get a message from the browser saying the page is unavailable. I've attached a screenshot. It's like the web server is not running on the Obi110 or some other network issue.

drgeoff

I have an OBi110 and am not aware of any method to switch off its web server.  It can be changed from the default port 80 but I think you would know if you had done that.

My Obi110 responds to pings.  What happens if you ping the IP address?

nichmj01

The pings time out. I'm going to try a static IP address and see if that has any effect.

nichmj01

Changing to a static IP address fixed the problem. I can now ping the Obi and access the local web server. I have no idea why that changed anything.

azrobert

I don't think 202Owner's suggestion will do what you want.

All calls, including 868 will be routed to GV.
I believe 868 numbers will be toll calls.

Same if GV is down.
All US domestic number will be routed to line.
These will also be toll calls.

Did you see my previous post?

202Owner

#13
Quote from: azrobert on January 27, 2015, 01:53:32 PM
I don't think 202Owner's suggestion will do what you want.

All calls, including 868 will be routed to GV.
I believe 868 numbers will be toll calls.

Same if GV is down.
All US domestic number will be routed to line.
These will also be toll calls.

Did you see my previous post?


The operative phrase is 'what you want'.

What are your outbound dialing requirements?  What are the desired digits dialed for each trunk?

It is fairly simple to define each trunk digit map accordingly.  Then those digits will route to their respective trunks, subject to trunk group order, left-to-right... digits common to both trunk digit maps will route to SP1 first and failover to LI1 second.

I assumed T&T local dialing was 7-digits... no 868 area code required.

All calls will not be routed to GV.  Only the digits dialed that match the GV digit map will be routed to GV.   911 and 7-digit local numbers and 11xx. are not in the GV digit map, so they will not route to SP1... they will only route to LI1 LINE.

All 10,11-digit long-distance calls will route to GV first and to LINE second.  This assumes you want to make the call no matter the health of GV.  If you want otherwise, its very easy to revise the digit maps.

azrobert

#14
202Owner,

You are correct.
As usual I didn't read the OP's requirements correctly.
I thought 7 digit calls were only for Tobago.
I have corrected my suggested configuration.

With your config, on failover they will be charged for a toll call.
It is up to the OP if that is what they want.

nichmj01

Thanks everyone! I'll look at and play with the suggested configurations when I have a chance, probably won't be until tomorrow.

nichmj01

Just wanted to give an update. Again, thanks everyone for all the help. I mostly followed 202Owner's suggestion. I liked that International calls would automatically route through GV. My original requirements didn't ask for this but it greatly simplifies it for my family and the suggestions helped me understand what I needed to do. I like that they can just pick up the phone and make the call like it's the local line and then have it go through GV for the savings.

Anyway here is my current configuration. Please let me know if you see any problems. I tested a bunch of different numbers and looked at the Call History to see how they were being routed so I'm feeling good that it's set up at least close to correctly.


SP1 Google Voice (Msp1) = (1 [2-9]xx xxx xxxx|011 xx.) ;US long distance (must use US prefix = 1), US International (US IDD prefix = 011).
SP1 Service::X_NoRegNoCall = checked

PP1 OBiTALK (Mpp1) = (<ob>xxxxxxxxx|obxxxxxxxxx) ; default

LI1 LINE (Mli1) = (911 | 999 | 990 | 811 | 555 | [2-9]xx xxxx | 1 [2-9]xx xxx xxxx | 011 xx. | xx.)  ; T&T Emergency Numbers (911 - Emergency, 999 - Police, 990 - Fire, 811 - Ambulance, 555 - Anti-Crime Hotline) , local (T&T), US Calls (T&T US prefix = 1), T&T Other International (T&T IDD prefix = 011), all unmatched numbers fall through to Line.

PH PHONE Port digit map = (**1(Msp1)|**2(Msp2)|**8(Mli1)|**9(Mpp1)|**0|***|#|[1-9]S9|[1-9][0-9]S9|(Mpp1)|(Mpli))
PH PHONE Port outbound call route = {(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli1)):li1},{((<**9:>|ob)(Mpp1)):pp1},{**0:aa1},{***:aa2},{(<#:>):li1},{(Mpli):pli}

PH PHONE Port PLI Primary Line = TG1 Trunk Group 1 = sp1,li1
PH PHONE Port (Mpli) = TG1 (Mtg1) = ((Msp1)|(Mli1))


One interesting thing is that I can't just dial an Obi 9 digit number and have it work. I have to use the **9 prefix. When I look at the call history, I see the ob prefix is added twice? (See attached). Am I missing something here? I'm not worried about this since they are probably never gonna make Obi2Obi calls but I thought it was strange.


azrobert

#17
When you dial 123456789 it is changed to ob123456789 in the Phone port DigitMap

ob123456789 will match rule {((<**9:>|ob)(Mpp1)):pp1} and <ob>xxxxxxxxx in Mpp will add another ob prefix.

The dialed number doesn't use the trunk group because the above rule is to the left of {(Mpli):pli}

The "ob" is optional.
To fix the problem:
PP1 OBiTALK (Mpp) = (xxxxxxxxx)
Change {((<**9:>|ob)(Mpp1)):pp1} to {(<**9:>(Mpp)):pp}
PH PHONE Port PLI Primary Line = TG1 Trunk Group 1 = sp1,li,pp

Now you don't need the **9 prefix and the dialed number will use the trunk group.

Edit:
You don't have to change the Mpp DigitMap
You can remove (Mpp1) from the phone port DigitMap

202Owner

Quote from: nichmj01 on January 28, 2015, 07:26:32 AM
Just wanted to give an update. Again, thanks everyone for all the help. I mostly followed 202Owner's suggestion.

One interesting thing is that I can't just dial an Obi 9 digit number and have it work. I have to use the **9 prefix. When I look at the call history, I see the ob prefix is added twice? (See attached). Am I missing something here? I'm not worried about this since they are probably never gonna make Obi2Obi calls but I thought it was strange.

Cool!  You certainly have it under control now.  My work here is done. :-)

Note that digit maps are NOT evaluated left-to-right.  They are parsed and evaluated en mass, best match wins.  So, you can organize them logically to keep them tidy... 911 can go anywhere.  I prefer a general left-to-right/specific-to-general/local-to-global digit map organization:

features, extensions, services (911), local/long-distance, toll-free, International, iNum, SIP peering, SIP URI addressing.

Note that call routes ARE evaluated left-to-right, first match wins.  I prefer the order I used, OBi routing, my routing.

The 9-digit OBiTALK dialing and auto-routing was a last minute idea that I did not vet (not using OBiTALK).  I will revise it and test thoroughly for my own dial plan, but I'm sure you can fix it or set it back to the default manual routing only.  I'll post back if I get to it sooner than later.

202Owner

#19
Quote from: azrobert on January 28, 2015, 08:14:01 AM
Change {((<**9:>|ob)(Mpp1)):pp1} to {(<**9:>(Mpp)):pp}
PH PHONE Port PLI Primary Line = TG1 Trunk Group 1 = sp1,li,pp

Now you don't need the **9 prefix and the dialed number will use the trunk group.

Edit:
You don't have to change the Mpp DigitMap
You can remove (Mpp1) from the phone port DigitMap

I'm not in dial plan mode right now, but I'm liking this revision... it leverages the trunk group magic and simplifies everything else... Elegant!

Edit:  <dial plan mode ON>

(Mpp1) = OBiTALK = (<ob>xxx xxx xxx|obxxx xxx xxx)  ;OBiTALK server account (default setting).

Trunk Group 1 = sp1,li1,pp1
(Mpli) = (Mtg1) = ((Msp1)|(Mli1)|(Mpp1))

Remove |(Mpp1) from the PH PHONE port digit map.

Change {((<**9:>|ob)(Mpp1)):pp1} back to default {(<**9:>(Mpp1)):pp1} in the PH PHONE port outbound call route.

Note that digit maps are limited to 511 characters including spaces... pretty generous but you never know.  I prefer to only use spaces to break up x'es as in ([2-9]xx xxx xxxx) to discourage a miscount.

Telephony means test, test, test!