ConnectivityProblems

Version 29 (Adrian Georgescu, 07/21/2013 10:38 pm)

1 1 Adrian Georgescu
h1. Connectivity Problems
2 1 Adrian Georgescu
3 22 Adrian Georgescu
Real-time communication between end-points may sometimes fail. A properly configured together application and service should always work unless there are explicit forces that aim to block such communications. Real-time communications, regardless of protocol used (SIP, XMPP or other), is a complex topic, for each session several IP addresses, port and protocols combinations are used in both directions. What are the possible reasons for such failures? Here is a checklist that can help eliminate possible causes:
4 1 Adrian Georgescu
5 7 Adrian Georgescu
h2. Software version
6 7 Adrian Georgescu
7 18 Adrian Georgescu
 * Upgrade to the latest version of your application, very often a problem may have already been solved even if the changeling does not explicitly list it. Unfortunately, there is also a risk of breaking existing functionality when installing a new version that contains a bug.
8 7 Adrian Georgescu
9 1 Adrian Georgescu
h2. Local Computer
10 1 Adrian Georgescu
11 5 Adrian Georgescu
 * Firewall software installed. Check if no software blocks access to the ports used by your application or enable the use of the proper ports in the firewall configuration.
12 1 Adrian Georgescu
13 2 Adrian Georgescu
h2. Internet Router
14 1 Adrian Georgescu
15 24 Adrian Georgescu
 * "SIP ALG":http://www.voip-info.org/wiki/view/Routers+SIP+ALG enabled. Your router re-writes the content of your SIP packets and breaks the communication. Check if the router has such feature enabled and disable it. Alternatively try use TCP or TLS instead of UDP if the service provider support it.
16 20 Adrian Georgescu
 * Firewall enabled. Check if no firewall is configured in the router to block access to the ports used by your application or enable the use of the proper ports in the firewall configuration.
17 1 Adrian Georgescu
18 25 Adrian Georgescu
h2. Internet Service Provider
19 1 Adrian Georgescu
20 25 Adrian Georgescu
 * Policy that blocks either signalling or media. You can try use another SIP Service Provider that gives access over TCP or TLS instead of UDP or is using custom ports. Otherwise, use another ISP.
21 12 Adrian Georgescu
 * Provider does not allow the use of ICE for NAT traversal and forces a media relay instead. Turn of ICE in the client.
22 1 Adrian Georgescu
23 3 Adrian Georgescu
h2. SIP Service Provider
24 1 Adrian Georgescu
25 29 Adrian Georgescu
 * Provider requires use of STUN protocol for providing a public IP address in the Contact header used by the SIP device. Sometimes they simply won't even answer to any request because of this. This is plain wrong and unreliable technique for traversing NAT routers, such behaviour is explicitly discouraged by the "standards":http://projects.ag-projects.com/projects/blinkc/wiki/MostEncounteredProblems#SIP-Provider-requires-STUN. "Tell your provider":http://projects.ag-projects.com/projects/blinkc/wiki/MostEncounteredProblems#SIP-Provider-requires-STUN  that what they are doing is wrong or use another provider.
26 13 Adrian Georgescu
 * Provider does does not support certain audio or video codecs. Instead of rejecting such sessions with an appropriate code, they simply won't answer.