News:

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

Main Menu

OBi100 as IP phone on OBi110 using SIP

Started by RevKev, April 03, 2012, 07:05:01 PM

Previous topic - Next topic

RevKev

I wanted to share the setup I've recently completed using an OBi110 and OBi100 on a single network. The OBi110 is the primary device and the OBi100 is used more as an IP phone connected to the OBi110. This setup is done without using the OBiTalk network, only using SIP. I couldn't see going out and back over the OBiTalk network when both devices are on the same wire.

Most of the setup was gleaned from this forum and from a bit of trial and error.

My goal was to access the phone, auto attendant, and SP1 service on one device from the other and to dial out through the OBi110 LINE from the OBi100 phone.

The OBi110 is in the house with the LINE connected to my land-line (cable), SP1 is Google Voice, SP2 is CallCentric (SIP). The setup of the voice services is pretty standard.

The OBi100 is in an out building connected only by Ethernet over a Netgear Poweline. It has a separate Google Voice account on SP1 and SP2 is setup as SIP with the OBi110 being the provider.

On the OBi100 (with SP1 setup for Google Voice) ...

User Settings -> User Defined Digit Maps -> User Defined Digit Map X
   Label -> ste
   DigitMap -> ([2-9]11|1[2-9]xx[2-9]xxxxxx|<1>[2-9]xx[2-9]xxxxxxS0|<1aaa>[2-9]xxxxxxS2|011xx.|(Mipd)|[^*]@@.'@'@@.)
      this provides 7, 10, 11 digit dialing, aaa is the local area code.

ITSP Profile B -> General
   DigitMap -> (*xx.|(Mste))
      this adds dialing *nn prefixed numbers.

ITSP Profile B -> SIP
   ProxyServer -> 192.168.x.x (the IP address of the OBi110)
   ProxyServerPort -> 5061
   RegistrarServerPort -> 5061
   OutboundProxyPort -> 5061
   X_SpoofCallerID -> (checked)
all other values are default. Even though I have SP2 on the OBi110 (CallCentric) configured to use 5060, here I still had to use 5061.

ITSP Profile B -> RTP
   LocalPortMin -> 16800
   LocalPortMax -> 16898
all other values are default.

Voice Services -> SP2 Service -> SP2 Service
   X_InboundCallRoute -> {OBiSIP>*00:ph},{OBiSIP>(<*01:>x.):sp1},{OBiSIP>*11:aa},{ph}
      this allows the OBi110 to dial through the OBi100. OBiSIP is the AuthUserName in VG3 of the OBi110.
   X_RegisterEnable -> (unchecked)

Voice Services -> SP2 Service -> SIP Credentials
   AuthUserName -> OBiSIP
   AuthPassword -> (blank)
all other values are default (except CallerIDName which can be whatever you want).

Auto Attendent -> Primary Line
   SP1 (2nd Google Voice account)

Gateways and Trunk Groups -> Voice Gateway3
   Name -> OBi110
   AccessNumber: sp2(192.168.x.x:5061) (the IP address and port of the OBi110)
   DigitMap -> (*xx.|(Mste))
   AuthUserID -> OBiSIP
   AuthPassword -> (blank)

Physical Interfaces -> Phone Port
   Digit Map -> inserted ,<*0:vg3(*00)>|<*1:vg3(*11)>,
      dial *0 to call the phone on the OBi110, *1 to call the OBi110 AA.
   OutboundCallRoute -> inserted ,{(<**3:>(Msp2)):sp2(*01$2)},
      dialing **3<number> routes the call through SP1 on the OBi110.
   OutboundCallRoute -> ended with ̌,{(Msp2):sp2(*08$2)} instead of ,{(Mpli):pli}
      this prefixes any number dialed with*08 and routes the call through the OBi110 LINE port.
   PrimaryLine -> SP2 Service

Voice Services -> SP1 Service -> SP1 Service
   InboundCallRoute -> {ph,sp2}
      routes incoming calls to the phone and to the OBi110 (w/caller id) could also be {ph,vg3($1)}

With this configuration, there's little or no difference between using SP2() and VG3(). You could configure SP2 as local (127.0.0.1) or as another outside service provider and then use only VG3() instead of SP2() above (but I believe you'll lose caller id on incoming calls routed to the OBi110). Conversely, you can do everything above through SP2 and not need VG3.


On the OBi110 (with SP1 setup for Google Voice, SP2 setup for CallCentric) ...

User Settings -> User Defined Digit Maps -> User Defined Digit map X
   Label -> ste
   DigitMap -> ([2-9]11|1[2-9]xx[2-9]xxxxxx|<1>[2-9]xx[2-9]xxxxxxS0|<1aaa>[2-9]xxxxxxS2|011xx.|(Mipd)|[^*]@@.'@'@@.)
      this provides 7, 10, 11 digit dialing, aaa is the local area code.

ITSP Profile B -> General
   DigitMap -> (*xx.|(Mste))
      this adds dialing *nn prefixed numbers.

ITSP Profile B -> SIP
   setup for SIP server (CallCentric).

ITSP Profile B -> RTP
   LocalPortMin -> 16900
   LocalPortMax -> 16998
different range from OBi100.

Voice Services -> SP2 Service -> SP2 Service
   X_InboundCallRoute -> {OBiSIP>*00:ph},{OBiSIP>(<*01:>x.):sp1},{OBiSIP>(<*08:>x.):li},{OBiSIP>*11:aa},{ph}
      this allows the OBi100 to dial through the OBi110. OBiSIP is the AuthUserName in SP2 and VG3 of the OBi100.

Gateways and Trunk Groups -> Voice Gateway3
   Name -> OBi100
   AccessNumber: sp2(192.168.x.x:5061) (the IP address and port of the OBi100)
   DigitMap -> (*xx.|(Mste))
   AuthUserID -> OBiSIP
   AuthPassword -> (blank)

Physical Interfaces -> Phone Port
   Digit Map -> inserted ,<*0:vg3(*00)>|<*1:vg3(*11)>,
      dial *0 to call the phone on the OBi100, *1 to call the OBi100 AA.
   OutboundCallRoute -> inserted ,{(<**3:>(Mvg3)):vg3(*01$2)},
      dialing **3<number> routes the call through SP1 on the OBi100.

Line Port
   InboundCallRoute -> {ph,vg3($1)}
      routes incoming calls to the phone and to the OBi100 (the $1 should pass caller id but it doesn't).

With this configuration, all access to the OBi100 is through VG3() since SP2 is configured for an outside service.


What this does...

   Dialing "*0" from one OBi rings the phone on the other.
   Dialing "*1" from one OBi calls the auto attendant on the other.
   Dialing a 7, 10 or 11 digit number from the phone attached to the OBi100 calls out through the LINE of the OBi110.
   Dialing "**3" followed by a 7, 10 or 11 digit number from the phone attached to one OBi calls out through SP1 of the other.
   All calls coming in on the OBi110 LINE port also ring the phone on the OBi100.
   All calls coming in on the OBi100 SP1 port also ring the phone on the OBi110.

The key point to this is that calls routed from one OBi to the other are prefixed with a "routing code". This routing is handled by X_InboundCallRoute
   *00 - route to the phone - {OBiSIP>*00:ph}
   *01 - route to SP1 - {OBiSIP>(<*01:>x.):sp1}
   *08 - route to LINE port - {OBiSIP>(<*08:>x.):li}
   *11 - route to the auto attendant - {OBiSIP>*11:aa}
OBiSIP is the AuthUserID of the calling OBi.
It would be easy to add direct dialing through SP2 by using vg3(*02$2) and adding {OBiSIP>(<*02:>x.):sp2} to X_InboundCallRoute.

One last thing I had to do to get this working ... when the 2 Obi devices are connected to the same network switch (and the switch to the router) everything worked fine. When I connected each to it's own port on the router, I had to add RTP routing in the router - routing UDP ports 16800-16898 to the OBi100 and 16900-16998 to the OBi110.

...open to questions or suggestions...



RonR

Congratulations on a nicely organized configuration.

Quote from: RevKev on April 03, 2012, 07:05:01 PM
Line Port
   InboundCallRoute -> {ph,vg3($1)}
      routes incoming calls to the phone and to the OBi100 (the $1 should pass caller id but it doesn't).

To preserve CallerId, instead of using VG3, use : {ph,sp2(192.168.x.x:5061)}

Quote from: RevKev on April 03, 2012, 07:05:01 PM
...open to questions or suggestions...

You might wish to take a look at Single-Stage Dialing Through Any OBi Trunk Using SIP which I believe satisfies all of your goals plus:

- Provides access to any OBi trunk on any number of OB's from any number of OBi's or SIP clients in a generalized/consistent fashion using normal Service Route Access Codes (**n), Auto Attendant access (**0), and PHONE Port access (0).  IOW, one doesn't have to remember new access codes in odrer to access trunks or services on any number of other OBi's.

- Does not preclude the use of SP2 with a service provider while still preserving CallerID pass-through.  No Voice Gateways are used.

RevKev

Thanks RonR,

I used {ph,sp2(OBiSIP@192.168.x.x:5061)} (needed the AuthUserName) instead of {ph,vg3($1)} and it worked w/caller id.

I'll definitely refer to your single-stage dialing as I try to incorporate my iPod/OBiON into the mix.

Seattleweather

I have one Obi110 and one ip phone.  I have SP1 setup for GV, and SP2 setup for CC.  How can I setup obi110 and ip phone so I can use GC on Sp1 as gateway?

drgeoff

Quote from: Seattleweather on June 17, 2015, 11:45:01 AM
I have one Obi110 and one ip phone.  I have SP1 setup for GV, and SP2 setup for CC.  How can I setup obi110 and ip phone so I can use GC on Sp1 as gateway?
Your IP phone doesn't have Obitalk so the method in the opening post won't work.

You cannot register an IP phone to an OBi1x0.

If your IP phone is able to make a call without registration, there may be a method.  IMO poster azrobert is the resident expert on that so keep your fingers crossed that he sees your post and comes to your aid.  ;) 

azrobert

If your IP phone can call without registration then you can use the above setup.  I helped someone whose IP phone didn't have the No Registration option and the phone failed to register to the OBi1xx. He still tried a call and it worked.

To see if your phone will work, don't make any changes to the OBi110 unless you modified SP2's X_InboundCallRoute to block scanners. If you have, temporarily change the X_InboundCallRoute to "ph" without the quotes. Set the Proxy on the phone to the IP address of the OBi110 and port 5061. Set the UserID and password to anything you want. Now make a call by dialing zero. If the phone connected to the OBi110 rings then the setup will work. Your requirements are not as extensive as the above setup. If you need help simplifying the configuration, post back.

If the above setup won't work:

Here is a more complex setup using PBXes.org:
http://www.obitalk.com/forum/index.php?topic=5411.0

You can use your Callcentric account and the Auto Attendant for 2 stage dialing:
http://www.obitalk.com/forum/index.php?topic=7606.msg48943#msg48943