[How-To] Setup Spectrum (Brighthouse/TWC Legacy) SIP Trunk
Â
Setup a new Spectrum (Brighthouse Legacy) SIP Trunk with a AudioCodes Mediant SBC (Session Border Controller) will be referred to in this article as the "CPE".
Â
Despite having several guides on their website here for TWC and BrightHouse Networks customers none of those guides actually show any up to date information (and/or usable information).Â
Â
When your Spectrum/BHN/TWC SBC is installed for the first time they (Spectrum) will perform a "Bench Test" which should last a few days, if successful your project manager will schedule a "Cut-over date". Its important that you review what numbers will get cut-over before this gets scheduled.
Â
When your Charter/Spectrum project manager reaches out to you regarding the scheduling of the installation day make sure you set the expectation that you need to know the SIP proxy address at least 1 day ahead of the actual installation. This is important because you need to setup the route in the PBX to reach this address for calls to work correctly and this may take a while depending on your configuration.
Â
What you need to know to continue
Requirement | Description | Example |
---|---|---|
SIP Proxy IP/SIP Server | This is where your calls will be handled and also serves as the host address this depends on what market you are located in | 97.69.197.195 |
Signaling and RTP IP | This is your PBX Interface IP. This was the address you gave the Spectrum Rep when you initially signed up for the service (about 2 months ago). | 192.168.0.2 |
Spectrum/TWC/BHN "CPE IP" | This is the IP of the AudioCodes SBC that Spectrum configured | 192.168.0.3 |
CPE Internal Ping IP | This is the second IP that the CPE will consume, essentially this is what the "SIP Proxy" above will constantly ping behind the scenes to make sure the circuit is active. If your CPE goes down it helps Spectrum save resources (you don't have to do anything with it other than be aware its there and not to use that IP anywhere at all). | 192.168.0.4 |
pjSIP | Spectrum will recommend that you use ChanSIP, this is a complete waste of time because in fact they use pjSIP on port 5060 ChanSIP may work for outgoing but it will never work for incoming calls. | use pjSIP |
G.711 Codec | Spectrum/TWC/BHN only supports ulaw audio with a 20ms or less packetization rate (20ms is the default for PBXact and FreePBX ulaw) G722 is not on the roadmap as of (03/2020) | use only ulaw |
Â
Step-by-step guide
Â
Make sure that your router is configured to NOT distribute both the 2 CPE addresses needed above and the PBX IP. If you accidentally run into a place where you duplicated the IP of the CPE you will need to contact a Spectrum Engineer and have them remotely restart the SBC in order for it to work correctly. In my case I setup a small subnet for both the CPE and PBX. It important to note that I attempted to configure the eth2 interface on the PBXAct Appliance I had to handle nothing but the voice traffic from the trunk but this failed miserably for me because all traffic had to route through the two interfaces and it just didn't work out. (Not sure the appliance is designed to be a router or switch). So in any case its just easier to use one IP on eth0 interface and keep it on a separate VLAN than your Phones. In my case my PBX was located on 192.168.0.0/29 and my phones are located on 10.10.0.0/24. Remember that the only thing that can communicate to the proxy is your PBX using the IP above (in my case its 192.168.0.2)
Setup a new chan_pjsip Trunk under "Trunks"
Name the trunk whatever you would like in my example I used "Spectrum-eSBC" and make sure "Allow Any CID" is selected.
Switch the "pjsip" tab and in the "general" tab make sure "Authentication" and "Registration" is set to "None"
Your SIP Server is your SIP Proxy IP in the table above. The port should be 5060. The Transport settings can be left alone (Make sure its set to UDP, Spectrum does not accept any other traffic types to the Proxy)
Switch to the "advanced" tab and make sure "Direct Media" is disabled or set to no.
On the "codecs" tab make sure ulaw is the only thing checked and bring it to the top of the list.Â
Save the trunk, apply settings.Â
You might notice that the trunk displays the status as "UNREACHABLE" this is probably due to the fact that it has no idea how to get to the proxy.Â
Simple fix SSH into your box and add a route for that single IP, you need to use the SBC as the gateway. Example, ip route add 97.69.197.195/32 via 192.168.0.3 dev eth0.
After you restart your PBX the static route will disappear you need to follow the instructions HERE on how to make them persist through restarts
Ok, you should be at a point where the trunk status reads "OK" or "Reachable" if that's the case you should be able to make an outbound call.Â
Assuming that call worked you probably only heard one way audio, you need to make sure under "Asterisk SIP Settings" that your External IP is the same as your PBX IP and the Subnet is listed under "Local Networks".Â
After you save and apply those settings it should solve your one way audio problems.
Make sure you check your inbound and outbound routes and then your Trunk should be operational!
Â
Side note, I would've added step by step pictures but this Jira portal doesnt give me permission to do so (if anyone knows how to enable that ill be more than happy to update the article with fancy screenshots).
Until then feel free to comment and let me know if you experience any issues.Â
Â
This guide was created on my experience with working with Spectrum as a Legacy BrightHouse customer in the Central Florida Region. I do not represent Spectrum and I am not advertising for them using this article. If you work with Spectrum/Charter feel free to reach out to me and I will be more than happy to help you update your SIP configuration guides for FreePBX and PBXAct (they desperately need updated).
Related articles
Page: Patching Asterisk 16 on FreePBX 16 with USECALLMANAGER.NZ Presence for Cisco SIP-Firmware Phones
Page: [How-To] Setup Spectrum (Brighthouse/TWC Legacy) SIP Trunk