SIP registration vs Host-based routing: Which side wins?
When a call comes in to your SIP trunking account, your provider needs to know where to send it. Depending on the call routing methods your provider offers, you may be able to tweak your inbound call routing to deliver calls more reliably – to the exact location you want them to reach, without chance or error getting in the way.
There are two main ways to send inbound calls to your PBX: SIP registration, and host-based routing (Flowroute also offers the option to route a DID directly to a SIP URI, an advanced variation on host-based routing). There are pros and cons to both SIP registration and host-based routing, so let’s take a look at which one is right for you.
SIP registrations are like a trail of crumbs from your PBX to your SIP provider’s servers. When you’re using SIP registrations, an inbound call INVITE can follow the registration trail back so it knows where to find the PBX within your local network. Which is a very useful, and necessary, function if port forwarding rules or NAT routes are not explicitly configured on your router – or if there’s technology in your network devices that interferes with your SIP signaling (such as a SIP ALG).
There’s a good chance your NAT configuration, or firewall, needs SIP registrations regularly communicating with your provider’s servers in order to keep an access point open in your firewall, or to keep a NAT route statically mapped within your network. In this case, not using SIP registration could mean that your firewall closes off access and blocks SIP packets from ever reaching your PBX – and you won’t receive inbound calls. It might be possible to assure access if you can explicitly configure firewall rules to whitelist traffic from your provider’s servers, but that can get complicated.
If SIP registration is assisting with your NAT traversal, losing that registration could mean that the NAT route doesn’t get held statically in your router. If the NAT route is lost, the router could end up sending a call INVITE to your photocopier instead of your PBX. Or the call could get dropped altogether because the router doesn’t know where to send it.
Routing calls based on SIP registration will send an INVITE to every actively-registered SIP device on your account. That means if you have PBXes at two locations, and both are registered to the same SIP account, both PBXes will receive an INVITE to the call. This creates a “race condition” in which the first PBX that sends a SIP response can dictate the ultimate behavior of the call – even if a subsequent SIP response issues a conflicting direction.
With host-based routing, you can specifically designate which PBX inbound calls route to by directing a phone number to a particular PBX’s IP or domain name. You get more control of where calls go, and this helps prevent unintended behavior such as calls misrouting or dropping instantly.
Security and reliability are two of the biggest issues facing business phone systems today. Host-based routing may be able to offer you more of both.
In terms of security, using SIP Registrations means that each REGISTER request sent out from your PBX will need to send your SIP username and your encrypted SIP password to your provider’s registration server.
Encrypting your SIP password before sending it to your provider prevents it from being compromised in transit. Some PBXes, however, store your SIP password in plain text, leaving a potential loophole through which attackers could compromise your credentials (if your system isn’t well locked-down and the attackers are able to gain access to your config files). If you exclusively use host-based routing for your inbound calls, and IP-based authentication for your outbound calls, you may be able to keep your SIP password more secure – you may be able to completely remove it from your PBX configuration(s).
Host-based routing requires a static IP address or a domain name. If your ISP provides you with dynamic IPs and you don’t already have a domain name set up, you can create a fixed host domain using dynamic IP address services like DynDNS, and no-ip. These types of services communicate with your router to associate each new IP address with a static domain. You can then use your static domain as your host route.
Once you have a static IP or domain to route inbound calls to, your provider can send calls to your PBX without requiring a REGISTER request, because they already know where to send the calls.
So the answer is clear:
Sometimes you need to use SIP registration. And in some cases, you can/should use host-based routing. It really comes down to your network, and your needs. One more way SIP trunking is more customizable to your organization.