Grandstream HT503 as SIP FXO gateway with CUCM

Started by Dieselboy, February 19, 2019, 03:10:25 AM

Previous topic - Next topic

Dieselboy

Finally had the chance to set this FXO gateway up properly with CUCM as a SIP trunk. This device is cheap and provides a single FXO port. So it's great for your lab or a small office if you want to manage the risk associated with a single device and single FXO.

Call flows are as such:

Phone endpoint <> CUCM <<>> SIP TRUNK <<>> Ht503 <> PSTN

Remember FXO means it connects to the Foreign Exchange OFFICE. Where OFFICE is the telephone port that comes in from the street.
(In contrast, FXS is the STATION and station means a analogue phone). You cannot use an ATA for this SIP FXO gateway because an ATA provides FXS ports. (I know this, and had a momentary lapse and bought an ata some time back  :XD: )

The CUCM config is pretty simple. We will use standard SIP TCP 5060 ports to configure the trunk. And then a Route Pattern to set up call routing for outbound calls.
For inbound, any signal from the FXO line to "ring" the line, will make the ht503 place a SIP call to a number we choose. This number can be an IP phone or a Hunt Pilot that can then ring multiple phones simultaneously.

CUCM config:
1. Create trunk. The important bit here is that you set the destination address and destination port (Port is 5060) as well as the "sip trunk security profile". I used the CUCM standard profile "Non secure sip trunk profile" which has the default settings allowing incomming TCP+UDP and outgoing TCP. Incoming port is 5060.

Then create your route pattern and point it to the trunk. In my case I use 10-digit dialing so my pattern is 0.XXXXXXXXXX and discard digit is pre-dot, which makes CUCM send the number to the device as the 10 digits.

Now the HT503 config:

Assuming the device has IP address and DNS configured....

1. On basic settings at the bottom "Unconditional Call Forward to VOIP:" for incoming calls from FXO.
User ID = the phone number you want this device to call
Sip server = the CUCM
Sip destination port = 5060

2. FXS port page:
Account active = NO
Local SIP port:   = put something other than 5060 here. I used 5069. Otherwise this conflicts with the FXO settings.

3. FXO port page:
Account active = yes
Primary and secondary SIP servers = your sub and pub CUCM
prefer primary sip server = I chose no for this

outbound proxy and backup outbound proxy = your sub and pub CUCM again
prefer outbound proxy = no

SIP transport = TCP
Local SIP port = 5060
Check SIP User ID for incoming INVITE: = no
Allow Incoming SIP Messages from SIP Proxy Only: = no


At the moment this is working inbound and outbound but occasionally when working in CUCM that might require a trunk to be reset, I notice the trunk going "not in service". To resolve, usually a trunk reset works but sometimes need to reboot the gateway also (which takes a few seconds only) but calls will not work until its done.

I think I need to tweak the above settings, so if/when that happens I'll update this post.

deanwebb

Take a baseball bat and trash all the routers, shout out "IT'S A NETWORK PROBLEM NOW, SUCKERS!" and then peel out of the parking lot in your Ferrari.
"The world could perish if people only worked on things that were easy to handle." -- Vladimir Savchenko
Вопросы есть? Вопросов нет! | BCEB: Belkin Certified Expert Baffler | "Plan B is Plan A with an element of panic." -- John Clarke
Accounting is architecture, remember that!
Air gaps are high-latency Internet connections.