Interworking with Optimum Business SIP Trunking

The purpose of this cookbook is to describe the steps needed to configure the sipXecs 4.6 IP PBX for proper operation with Cablevision's Optimum Business SIP Trunking offering. Interoperability was performed with sipXecs release 4.6 update 6. The Optimum Business SIP trunk offering uses the Edgewater Edgemarc 4552 customized for Cablevision with limited end-user provisioning. The Edgemarc 4552 is branded as a SIP Trunk Adapter and acts as a pseudo SBC into the Cablevision Voice Network. Other cable companies and competitive local exchange carriers also use a similar SIP trunking architecture to access the public switched telephone network - the interworking described in this cookbook may be applicable in other PSTN networks using pseudo SBC devices at the edge.

To take full advantage of the rich IP Phone provisioning capability with sipXecs, a dedicated voice network topology was used for the Optimum Business SIP trunks integration (see figure above this paragraph). In the network topology, a separate 10.10.8.x network was created for voice, with DHCP/DNS services and phone auto-provisioning enabled on sipXecs. The DHCP server on sipXecs was configured to dynamically assign IP addresses from 10.10.8.50 to 10.10.8.250 for IP Phones and other devices using DHCP on this sub-network. The sipXecs server was assigned an IP address of 10.10.8.10 at initial installation.

When Cablevision installs the Optimum SIP trunk adapter, a dedicated cable modem with separate RF frequencies for voice is also provided. The SIP trunk adapter is assigned a static IP address of 10.10.8.2. The SIP trunk adapter acts as a Session Border Controller and performs all the necessary IP address and port transformations from the Optimum Business network perspective. Network address Translation is disabled on sipXecs in this configuration.  

Creating SIP Trunk in sipXecs to Optimum SIP Trunk Adapter

The figure above this paragraph illustrates the SIP Trunk gateway definition from sipXecs to the SIP Trunk Adapter – key configuration considerations include:

  • The 10.10.8.2 address assigned to the SIP Trunk adapter is used in the sipXecs SIP trunk gateway definition. The SIP Trunk adapter listens for SIP signaling on port 5060 uses UDP as the transport protocol.
  • The Optimum voice network allows DIDs assigned to the SIP Trunk to be used in the default callerid field of the SIP trunk. There is a master DID assigned to the DID trunk by the Optimum network that is used as the callerid when un-assigned DIDs are provisioned in sipXecs for outgoing calls.
  • The sipXbridge component of sipXecs  is configured receive SIP signaling traffic on port 5080. This port information is passed to the Optimum SIP Trunk Adapter through the registration request. Select the register on initialization radio button in the ITSP account section of the SIP trunk gateway configuration. The Optimum SIP Trunk adapter allows for a username and password to be created for SIP trunks registering to the adapter. The username and password created on the SIP trunk adapter must be specified in the ITSP account username and password fields in sipXecs. 

Disabling Network Address Translation in sipXecs

To work with the Optimum SIP Trunk adapter, network address translation must be disabled. In the settings option of the NAT Traversal configuration (see top of the figure above this paragraph), the ‘Enable NAT traversal’ and ‘server behind NAT’ options are left unchecked.

In the NAT Traversal server configuration section, the public IP address is set to 10.10.8.10 (bottom of  figure above this paragraph). This is an important configuration setting as it sets the contact field in the SIP registration header as the address of the sipXecs server on the Optimum SIP Trunk adapter.

Configuring the Optimum SIP Trunk Adapter for sipXecs

The instructions for connecting to the Optimum SIP Trunk Adapter are provided by the Optimum Business SIP Trunk Set-Up Guide left by the Optimum Business technician at installation. The Set-Up Guide can also be downloaded at www.optimumbusiness.com/SIP

The top of the  figure above this paragraph shows the back of the Edgemarc 4552 – the software image for this SBC has been customized and the user is provided with the ability to perform the following functions:

  • Configure the IP address of Ethernet port 1 used for connectivity to the IP PBX
  • Definition of the SIP trunk as an active or passive connection
  • Simple diagnostics such as ping, traceroute, and placing outbound calls.

When a laptop is connected to the management port of the SIP Trunk Adapter (port 4), a web browser can be used to access the device using the IP address and user account information provided in the Optimum Set-Up Guide. In the LAN interface settings, provision the IP address of Ethernet port 1 used by the SIP Trunk adapter to 10.10.8.2 along with the associated sub-network mask (reference first figure in this cookbook).

In the SIP Trunk configuration section (lower right screen snapshot in the above figure), select the active connection using registration option and provision userid and password information used for SIP registration. This userid and password information must be used in the ITSP account provisioning section of the SIP Trunk in sipXecs.

When the sipXecs trunk registers to the Optimum SIP Trunk adapter, the trunk status changes to registered and the IP address and port used for the SIP registration appears below the password field. The address displayed should be the sipXecs IP address and port (10.10.8.10 in this configuration - see 'Registered' message in the following SIP Trunk Configuration figure below. Check the sipXecs NAT traversal settings if this address is different and incoming calls cannot be answered.

Finally, the SIP Trunk Configuration screen on the SIP Trunk Adapter has a pull-down menu of IP PBXs currently supported by Optimum Business SIP Trunking. The Asterisk selection (see figure) was used to successfully validate SIP trunk interworking with sipXecs. 

Issues Encountered and Resolution

After several days of operation, three main issues were reported by users:

  1. For some incoming PSTN calls into a line enabled with bridged line appearance and answered, a 15 second audio delay would take place when the caller was placed on hold on one Polycom phone, and the call was retrieved on another Polycom phone. PCAP traces between sipXecs and the SIP Trunk adapter of problem calls were benchmarked against PCAP traces of working calls with a similar call flow. From the analysis, it was determined for problem calls that sipXecs was sending RTP packets to the PSTN network but that the  Optimum Voice Network delayed sending RTP packets to sipXecs for exactly 15 seconds after the incoming call was taken off hold and retrieved by the second Polycom.
  2. For some outgoing PSTN calls from sipXecs, the user would observe dead air with no ringing or busy tones generated for the call. After several seconds of silence, the user would hang up and re-dial the same number and successfully complete the call. A PCAP analysis of outgoing calls showed that the Optimum Voice Network was not delivering SIP 180 ringing messages for problem calls back to sipXecs.
  3. Some Polycom VVX 400 phones (4.1.4 firmware) would lose the ability to automatically answer incoming calls when the handset was lifted after 24-48 hours of operation. To mitigate this issue, Polycom phones were restarted on a nightly basis.

Fixes to the SIP Trunk Adapter (Edgemarc 4552 firmware) were applied  to resolve the first two items - these fixes also appear to help with Polycom VVX 400s maintaining their ability to answer incoming calls when the handset is lifted without a nightly restart of the phones.