Our VoIP code works fine, if we test it from a PC directly accessing the Internet using a dialup modem! But the same code doesn't work on a machine which is on LAN having Internet access through lease line. We have port restricted NAT. Even the register request gets Time Out! Our KEEP_ALIVE_PORT_TIME is 5 sec. Is that keeping VoIP working? We tried changing that time (0.5 sec to 5 sec), but the result was the same! Is there any special precaution to be taken why making the VoIP code run from LAN? Which are the timers or intervals I may need to change? I am using VoIP source code on Linux by Free Software Foundation. Can you help?
When running VoIP calls from the LAN and through a NAT to the Internet, you need to use some type of NAT traversal mechanism. It seems that you're trying to register and make SIP calls through your NAT to a SIP server on the Internet. If you have a port restricted cone NAT then the SIP Server with IP address X using port Y can only send a packet to your internal PC only if your PC sends a packet to SIP server with IP address X, port Y. If your SIP service provider has a STUN (Simple Traversal of UDP through NATs) server, you can implement a STUN client to help with NAT traversal through the port restricted cone NAT.
Dig deeper on VoIP Protocols
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.