Author’s note: This article supports our legacy products. At Inventive Labs, after two decades of providing telephony tools, we never stop supporting those who rely on our products to run their businesses. We no longer recommend Dialogic. This article is for our customers who are using our CTI32 Legacy Toolkit with Dialogic equipment. For more information about these legacy products and where we are today, read Ditch Dialogic & Convert to Voice Elements.
NAT Assistant is a product developed by Inventive Labs that enables users of Dialogic’s HMP software to traverse NATs and firewalls. By intercepting SIP packets generated by HMP locally, NAT Assistant is able to correct relevant port and ip address information before it is sent out over the internet. By doing so, the remote party is able to correctly establish audio with the HMP software across the NAT.
Many users and developers would prefer to leave HMP behind a NAT for security reasons. Regretably, until NAT Assistant, they were forced to place a computer on the open internet with a public IP address.
When a SIP based call is initiated, critical information about the call, such as the ip address and port for the RTP datastream, needs to be revealed to the called party.
Unfortunately, when the HMP software sits behind a NAT or firewall, HMP is only aware of it’s local LAN’s ip address, and not its public IP address, which is critical information needed by the called party.
Accordingly, when HMP tries to send the call related information to the called party, it incorrecly uses it’s local LAN address. Since the called party has no notion of the local lan address, it cannot send RTP (voice) traffic back to HMP.
NAT Assistant intercepts the SIP packets generated by HMP. It makes appropriate corrections to the SIP message and then transmits the corrected packet to the called party.
This allows the remote caller to establish it’s data stream with HMP!
Ease of Use
Setting up NAT Assistant easy. NAT Assistant can be run on the same machine as HMP, or can be run on another provided it is on the same LAN.
There are six main settings that are specified in the NatAssistant.exe.config file:
- HmpIp – The ip address of the HMP machine
- HmpPort – The port the HMP is using for SIP traffic (Recommended: 5065)
- NatAssistantIp – The ip address of the machine running NatAssistant
- NatAssistantPort – Port NatAssistant is listening on (Typically 5060)
- ExternalIp – The public ip address of the NAT
- LicenseId – Your NatAssistant License Id
Additionally, NAT Assistant requires that you forward certain ports from your NAT
Typically, forward 5060 to the machine running NAT Assistant and the RTP traffic ports to the machine running HMP.