Mango's Guide to Configuring an OBi100, OBi110, OBi202, OBi200, OBi302, and OBi300 ATA

August 16th, 2013 Leave a comment Go to comments

OBi100We used Linksys ATAs for many years but upgraded to Obihai when we needed a device with an FXO port.  Obihai has outdone themselves and created some devices that are even more configurable than their older PAP2T, SPA2102, and SPA3102.  OBi ATAs are deficient in only a few ways - for example a non-configurable jitter buffer, and no way of routing calls based on Caller ID Name or customizing Caller ID Name.  Perhaps most disappointingly, the FXS/FXO relay has been removed in hardware version 3.4 of the OBi110, meaning that during a power outage, your POTS line will not function.  Fortunately, OBi ATAs' good qualities far exceed their shortcomings and they are what we believe to be the finest ATAs available today.

EDIT: The jitter buffer is now configurable in the latest firmware version for the OBi2 and OBi3 series (but not OBi1).

Need to buy an OBi ATA in Canada?


Are you Canadian and do you need an OBi ATA?  We recommend you buy your OBi100, OBi110, OBi202, or OBiWiFi in Canada from AcroVoice.  As with all our recommendations, we don't receive a commission for this endorsement; however they did allow us to use the pretty picture you see above.

OBi ATA Configuration


Mango claims he hasn't used all default settings on anything since '73, and his OBi110 is not an exception to the rule.  However, the setup required much less effort than PAP/SPA devices.

Note that if you use the OBiTALK Portal to configure your device, and you want to use our suggested configuration, you may need to enter "OBI Expert Configuration".

System Management >> Network Settings:
Time Service Settings >> LocalTimeZone: (set appropriately for your location)

System Management >> Device Admin:
Web Server >> AdminPassword: (pick a strong password)
Web Server >> UserPassword: (pick a strong password)

Service Providers >> ITSP Profile x >> SIP:
RegistrationPeriod: 1800
(The default RegistrationPeriod of 60, while effective, can in many cases be safely raised to reduce resource requirements.  1800 is somewhat of an arbitrary number and will cause the device to register every 15 minutes.)
TimerT1: 1000
X_ProxyServerRedundancy: (Checked)

Voice Services >> SPx Service >> SPx Service:
X_KeepAliveEnable: (Checked)
KeepAlive is an appropriate and less expensive alternative to a short registration interval.

Physical Interfaces >> LINE Port: (OBi110 only)
LINE Port RingDelay: We were able to lower this to 2750, discovered that it took less time for our phone to ring, and still allowed Caller ID to function.  If you have Caller ID problems after changing this, just change it back.

LINE Port DetectOutboundConnectMethod: None

LINE Port DialDigitOnTime: 75
LINE Port DialDigitOffTime: 50
(We came up with the above settings by trial and error.  This made outgoing POTS calls connect much faster.  However, if you are unable to make POTS calls after setting this, relax the settings or set them back to default.)

PSTN Disconnect Detection SilenceTimeThreshold: 900
This feature disconnects the call if no audio is received for some time.  However, if you call someone and they place you on hold without hold music, the OBi will disconnect the call after 60 seconds.  You may wish to increase this.  If you don't use voicemail provided by your POTS provider, you should test your voicemail after making this change to ensure it still works properly.

OBi ATA Security


If you don't use a "restricted cone NAT" router (and we think you should!) you may wish to set the following so that your OBi ATA doesn't accept calls from SIP scanners:

Voice Services >> SPx Service:
Enable: Uncheck this if you don't intend to use this service provider.
X_UserAgentPort:
X_InboundCallRoute: {>('Insert your AuthUserName here'):ph}
By default, OBi devices accept calls destined for any username.  The above syntax rejects calls that are not intended for whatever you have configured as AuthUserName.  (Credit to Oleg for this excellent solution!)

If you're particularly security conscious, need to be protected from liability, or otherwise want to prevent the OBi device from automatically updating its firmware, reporting its configuration to OBiTALK, and updating its configuration from OBiTALK, you can set the following settings.

System Management >> Auto Provisioning:
Auto Firmware Update >> Method: Disabled
ITSP Provisioning >> Method: Disabled
OBiTalk Provisioning >> Method: Disabled

The following will disable OBiTALK.  If you require the features of OBiTALK, you should skip the next two steps.

Voice Services >> OBiTALK Service:
Enable: (Unchecked)

Physical Interfaces >> PHONE Port:
DigitMap: (add !**5S0| as the first sequence of the DigitMap)

OBi ATA Dial Plan


The default dial plan on the OBi110 allows you to configure a "Primary Line" and use star codes to select different lines.  We decided to change our dial plan so that the device would use the appropriate "line" based on the number dialed.  Here is an example, which is the dial plan we use.  With the dial plan below, one can add or remove sequences from the DigitMap of the LINE Port or a Service Provider.  Since we will include these DigitMaps in the PHONE Port's DigitMap and OutboundCallRoute, you needn't make the same change in multiple places.

With this technique, if you use substitutions in a DigitMap, the result of the substitution must also be included in the DigitMap for things to work properly.

Physical Interfaces >> LINE Port: (OBi110 only)
DigitMap: ([2-9]xx[2-9]xxxxxxS0|[3456798]11S0|18(00|88|77|66|55)xxxxxxxS0|<#:>|)

Take a look at the two sequences <#:>| which you'll see at the end of the DigitMap above.  Yes, there are two here - one that matches and removes #, and one that matches nothing at all.  These sequences will allow the user to dial # and be presented with a POTS dial tone.

Service Providers >> ITSP Profile A >> General: (configured for SIP)
DigitMap: (1[2-9]xx[2-9]xxxxxxS0|011xxxxxxx.)

Service Providers >> ITSP Profile B >> General: (configured for Google Voice)
DigitMap: (<0:001>[2-9]xx[2-9]xxxxxx|001[2-9]xx[2-9]xxxxxx)

Why <0:001> and 001?  001 is a legitimate prefix for North America numbers that works with Google Voice, and doesn't interfere with the rest of this dial plan.  <0:001> allows the shortcut of dialing 0 instead.

Physical Interfaces >> PHONE Port: (sp3 and sp4 may be added for the OBi202.  li may be removed for non-OBi110.)
DigitMap: ((Mli)|(Msp1)|(Msp2))
(The above combines the DigitMaps of the LINE Port, SP1 Service, and SP2 Service.)

OutboundCallRoute: {(Mli):li},{(Msp1):sp1},{(Msp2):sp2}
(The above routes outbound calls via li, sp1, or sp2, whichever matches first.)

This is how the above dial plan functions:

  • x11, 10-digit calls, and toll-free calls are routed via POTS.
  • 11-digit calls and international calls are routed via a SIP provider.
  • 11-digit calls prepended with a 0 (instead of 1) are routed via Google Voice.  Granted, this isn't much of a step up from a star code, but the main purpose of our device is use of POTS and SIP.  Google Voice is a bonus.

Do we consider this the "right" dial plan for an OBi ATA?  Not necessarily.  OBi ATAs are infinitely variable, and dial plans can be crafted to satisfy nearly any situation.  This is just one example of how it can be done.

We hope you'll be as delighted with your OBi ATA as we are with ours!




 
  1. b3l
    April 22nd, 2013 at 19:38 | #1

    Oops, I forgot to say thank you, Mango. Thank you for this guide and for everything else that you do for fellow techies and non-techies alike. It is folks like you that make the tech 'community' so great.
     

If you would like a reply to your comment, you must leave your email address! We receive dozens of questions every month from people who don't leave us with any way to contact them, so we have no choice but to ignore the question. We try to reply to as many questions as we can, if we know the email address of the person who asked the question. Thanks in advance for writing in :)

Allowed HTML: <b>, <i>, <em>, <strong>. All other < and > will be replaced with &lt; and &gt;.