Where does the REGISTER stop between the gateway and Webex Calling?
This installation runs the Voice Notification module on two gateway versions: a legacy 7.9 gateway and an 8.1 gateway. Neither registers as a SIP endpoint with Webex Calling. IT suspected that the module does not support TLS 1.2. The upgrade from 7.9 to 8.1 did not change the result, so a version bump alone does not clear this class of failure.
Follow the packet. The module is the SIP user agent. It sends a REGISTER to the provider's registrar. That request crosses the plant or MES network, the site firewall and NAT, the internet path, and then the cloud edge. A cloud calling service that only accepts SIP over TLS drops the request at its edge if the TLS handshake never completes. In that case the SIP layer never sees a REGISTER, and the module's log reports a timeout or a registration failure with no SIP response code.
| Hop | What it carries | Failure signature |
|---|---|---|
| Gateway NIC / host firewall | Outbound SIP signaling | No packets leave the host |
| Site firewall / NAT | SIP signaling plus RTP/SRTP media ports | SYN sent, no SYN-ACK; or UDP with no reply |
| Cloud edge (TLS termination) | TLS handshake on the SIP-TLS port | TCP reset, TLS alert, or silent close after ClientHello |
| Registrar (SIP layer) |
REGISTER / digest challenge |
401/403 responses, or repeated 401 loops |
Why does a SIP client fail against a TLS-only cloud registrar?
SIP defines three transports. UDP and TCP normally use port 5060, and TLS normally uses port 5061. Many embedded SIP stacks in notification and paging products implement only UDP and TCP, because they were built to register against an on-premises PBX on a trusted LAN. Hosted calling platforms usually require signaling encryption and often require SRTP for media as well. When the client cannot speak the transport the registrar demands, the failure happens below SIP, so SIP-level settings such as credentials, realm, and outbound proxy have no effect.
Three distinct cases produce the same "fails to register" symptom:
- No TLS transport in the SIP stack. The module sends plaintext SIP to 5060, or plaintext to 5061. The cloud edge ignores it or resets the connection.
- TLS offered, wrong version or cipher. A ClientHello goes out, but it advertises only older protocol versions or cipher suites the edge refuses. The edge answers with a TLS alert.
- TLS completes, trust or auth fails. The certificate chain is not in the client's trust store, or the client does not present a certificate the service expects. If the handshake does complete, the SIP digest exchange can still fail.
Only the second case is a "TLS 1.2 support" problem in the narrow sense. The first case is more common for this class of module, and no TLS setting can fix it.
Which captures isolate the failing layer?
Layer one first. Confirm that the gateway host has a route and DNS resolution to the registrar's hostname before you look at protocols. Then run a capture on the gateway host, or on a SPAN port upstream of it, while the module attempts registration.
| Capture observation | Wireshark filter | Meaning | Next action |
|---|---|---|---|
SIP REGISTER in plaintext on UDP/TCP |
sip |
The module is not using TLS transport | Check the module's transport option; if TLS is absent, use an intermediary |
| ClientHello sent, server replies with alert | tls.handshake.type == 1 || tls.alert_message |
Protocol version or cipher mismatch | Read the ClientHello's supported versions; check the gateway JVM's TLS client protocol list |
| Handshake completes, client closes on certificate | tls |
Trust store missing the provider's CA | Import the CA chain into the trust store the module uses |
| TLS OK, SIP 401/403 repeated | Decrypted SIP, or the module's debug log | Credentials, realm, or registration line ID wrong | Re-provision the device credentials in the provider portal |
| TCP SYN with no SYN-ACK | tcp.port == 5061 |
Firewall or egress block | Open outbound signaling to the provider's published ranges |
Set the module's logger to debug or trace in the gateway's logging settings before you capture, so that the SIP stack's transport selection appears alongside the packets.
Which integration path fits: upgrade, SBC, or plain-SIP trunk?
| Approach | Fixes missing TLS transport | Handles SRTP requirement | Change footprint | Status here |
|---|---|---|---|---|
| Upgrade module (7.9 to 8.1) | Only if the newer release added TLS | Only if the newer release added SRTP | Gateway upgrade, project migration | Tested; 8.1 also fails to register |
| Open a case with the module vendor's official support | Gives a definitive answer on transport support per version | Same | None | Fastest way to settle the TLS 1.2 question |
| SBC or on-prem PBX as a TLS/SRTP proxy | Yes: module speaks UDP/TCP SIP on the LAN, SBC speaks TLS to the cloud | Yes: SBC transcodes RTP to SRTP | One appliance or VM, dial-plan config | Recommended |
| Separate plain-SIP trunk provider | Sidesteps it | Sidesteps it | New carrier, cleartext signaling over the WAN | Fallback if IT allows |
Recommendation: put a session border controller, or a PBX that is certified to register to Webex Calling, between the gateways and the cloud. It decouples the notification pipeline from the SIP stack's transport support. It serves the legacy 7.9 gateway and the 8.1 gateways identically, and it survives the planned move to 8.3 without rework. Open the support case in parallel. If support confirms native TLS/SRTP in a specific release, you can retire the SBC later.
How do I build the SBC path for the notification gateways?
- Provision the SBC or PBX in Webex Calling using the trunk or local-gateway type that Webex Calling supports. Follow the provider's current documentation for TLS version, certificate, and SRTP requirements.
- Import the provider's CA chain on the SBC. Confirm that its TLS registration shows as up in the provider portal before you touch the gateways.
- Create a LAN-side SIP registrar or extension on the SBC for each gateway. Use UDP or TCP on 5060, with digest credentials unique to each gateway.
- Point each gateway's Voice Notification SIP profile at the SBC's LAN address. Set the transport to UDP or TCP, and enter that extension's credentials.
- Build the outbound dial rule on the SBC. Route calls originating from the gateway extensions to the Webex trunk, with number normalization in the format the cloud expects.
- Enable RTP-to-SRTP handling on the SBC for the gateway extensions. Open the SBC's LAN-side RTP port range on any firewall between the gateways and the SBC.
- Restrict the SBC's LAN SIP listener to the gateway subnet, so the cleartext leg is not exposed beyond the OT segment.
How do I verify the pipeline end to end?
- Check the module's registration status on each gateway. It must show as registered against the SBC.
- Capture on the SBC's LAN interface. Confirm
REGISTERreturns200 OKand that theExpiresrefresh repeats before timeout. - Capture on the SBC's WAN interface. Confirm that only TLS appears on the signaling port and that no plaintext SIP leaves the site.
- Trigger a test alarm routed to a voice roster. Confirm the call is placed, the TTS prompt is audible, and acknowledgement digits (DTMF) are received. DTMF is the item most often lost when media is transcoded, so check the SBC's DTMF relay mode if acks fail.
- Leave the pipeline idle past several registration refresh intervals, then trigger again. This confirms NAT and firewall pinholes hold between calls.
FAQ
How do I tell whether the Voice Notification module is even attempting TLS?
Capture on the gateway host during a registration attempt. Plaintext REGISTER packets under the sip filter mean no TLS transport is in use. A ClientHello under tls.handshake.type == 1 means TLS is attempted, and you can read the offered version and ciphers from it.
Does upgrading from 7.9 to 8.1 fix Webex Calling SIP registration?
Not in this case: the 8.1 gateway also failed to register. Ask the module vendor's official support which release, if any, supports SIP over TLS and SRTP before you plan an upgrade around it.
How do I confirm the SBC workaround is actually working?
Verify 200 OK on the gateway-to-SBC REGISTER and TLS-only signaling on the SBC's WAN side. Then trigger a test alarm and confirm audio plus DTMF acknowledgement. Repeat the test after the pipeline has sat idle past several registration refresh intervals to prove the firewall pinholes hold.