Problems with SIP calls over TCP on some Android devices
Polycom has found an issue with certain Android tablets that can lead to problems connecting SIP calls, and sometimes even cause problems registering with SIP servers.
The problem seems to only occur when using TCP to connect to the SIP network. It does not seem to happen with either UDP or TLS connections. The problem can occur both with outbound calls (RealPresence Mobile calling someone else), and with inbound calls (RealPresence Mobile receiving calls). The symptoms are that the "far end" system never sees the incoming call, and that the call does not connect.
As part of this investigation it has been discovered that other Android developers have reported what seems to be the same problem. Here are some links to this reported by other developers:
The issue does not seem to happen on all Android devices, and for the devices it does happen on, it does not seem to happen on all versions of Android. Here is a table of devices that Polycom has specifically seen this issue on. There may be other devices on which the problem also occurs.
Placing SIP calls over TCP *may* fail on these devices:
Transformer Pad TF300T Tablet, Android version 4.1.1
HTC One X 4.1.1
HTC One 801e phone 4.2.2
Samsung Tab2 7" GT-P3110 Tablet 4.1.1
Samsung Tab2 10" GT-P5100 Tablet 4.0.3
Samsung Galaxy SII GT-I9100 Phone 4.0.3
Samsung Galaxy Note GT-I9220 Phone 4.0.3
SONY Xperia ZL L35h Phone 4.1.2
SONY Xperia Z SGP312 Tablet
(other devices, not listed above, might also experieince this issue)
Polycom is continueing to investigate this issue, with the goal of understanding the specific cause and finding a solution to it. In the meantime there seems to be some things that can be done to work around the issue. Either of the following approaches may help:
a. Don't use TCP for SIP connections. Use UDP or TLS instead. Being able to do this will depend on the capabilities and configuration of the SIP proxy you are calling through. The SIP transport used by RealPresence Mobile can be configured on its provisioning server (e.g. RealPresence Resource Manager). It can also be configured on RealPresence itself, if it is not being provisioned.
b. Use a non-standard port for the SIP proxy. The standard port for SIP TCP calls is 5060. Changing the port number that the SIP proxy server receives SIP TCP connections on seems to help avoid this issue, at least on certain SIP proxies.