|
From: | Peter Villeneuve |
Subject: | Re: [Linphone-developers] STUN Fingerprint attribute missing from Linphone Android's ICE implementation? |
Date: | Thu, 23 Oct 2014 18:34:30 +0100 |
More info from my previous email.I have been testing calls between linphone android and groundwire iOS with ICE enabled on both sides and both UACs using the same STUN server.Looking at the logs from both UACs, I can confirm that indeed there is an ICE problem.Even when both UAC are on the same subnet, ICE connectivity checks fail which makes no sense at all.Groundwire logs:UDP2014-10-23T11:08:24.969ZSending ICE packet.Local Address: ICE: 192.168.1.3:23420; UDP: WiFi[192.168.1.3:address@hiddenRemote Address: ICE: 192.168.1.4:7076; UDP: 192.168.1.4:7076Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8UDP2014-10-23T11:08:25.275ZSending ICE packet.Local Address: ICE: 192.168.1.3:23421; UDP: WiFi[192.168.1.3:address@hiddenRemote Address: ICE: 192.168.1.4:7077; UDP: 192.168.1.4:7077Packet: Request Binding; Id: 4AA1D156DC8D9E36E74D5A4BDP2014-10-23T11:08:27.768ZICE request timed out.Local Address: ICE: 192.168.1.3:23420; UDP: WiFi[192.168.1.3:address@hiddenRemote Address: ICE: 192.168.1.4:7076; UDP: 192.168.1.4:7076Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8ICE2014-10-23T11:08:27.769ZConnectivity check timed out.Local Address: 192.168.1.3:23420Remote Address: 192.168.1.4:7076Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8And then there's also this error which I believe maybe related to the missing STUN fingerprint error message I saw in the kamailio logs.ICE2014-10-23T11:08:24.878ZIgnoring received packet.Reason: Non-conforming user name.Local Address: 192.168.1.3:23420Remote Address: 79.xx.xx.xx:11772Received Packet: Request Binding; Id: 014FD6318B5AF06E6C45976DReceived Data: 000100002112A442014FD6318B5AF06E6C45976DIn the Linphone logs:Local candidates:type=host ip=192.168.1.4 port=7076 componentID=1 priority=2130706431 foundation= base=0x69045d78type=host ip=192.168.1.4 port=7077 componentID=2 priority=2130706430 foundation= base=0x68b62de0type=srflx ip=85.xx.xx.xx port=7076 componentID=1 priority=1694498815 foundation= base=0x69045d78type=srflx ip=85.xx.xx.xx port=7077 componentID=2 priority=1694498814 foundation= base=0x68b62de0Remote candidates: (empty)RtpSession [0x68b415a0] sending to rtp [79.xx.xx.xx:11792] rtcp [79.xx.xx.xx:11793] This is the relay IP so the call's being relayed through the server instead of establishing a direct p2p connection between 192.168.1.4 (linphone) and 192.168.1.3 (groundwire) even though they're both in the same subnet.And indeed the fact that media is being relayed through the server is confirmed in the call stats later on.LocalAddr: IP=85.xx.xx.xx PORT=7076 SSRC=3085361497 (this is my server reflexive IP gathered through STUN)RemoteAddr: IP=79.xx.xx.xx PORT=11792 SSRC=1352766754 (this is my server's IP)So, in conclusion, it seems that there's something wrong with Linphone's ICE stack, or, at least, Linphone's implementation doesn't seem to be inter-operable with others.Can someone from Linphone please confirm whether they have noticed similar problems with ICE? Has anyone gotten ICE to work with Linphone when calling other UACs (groundwire, CSipSimple, etc)?Also, where can I confirm that Linphone supports RFC 5245 and RFC 5389?Thanks,PeterOn Thu, Oct 23, 2014 at 12:52 PM, Peter Villeneuve <address@hidden> wrote:Hi,Using latest linphone for Android from the playstore I'm getting a lot of 1 way audio situations which is typical of NAT issues.Looking further into the Kamailio proxy logs (v 4.2 stable with RTPengine module enabled), I see a bunch of STUN related errors coming from the Linphone UAC:Not handling potential STUN packet from 89.xx.xx.xx:7076: FINGERPRINT attribute missingThis is likely the cause of the problems. Does Linphone's ICE stack not have full support for RFC 5245 and RFC 5389, specifically the missing Fingerprint attribute which is causing major problems?Thanks
[Prev in Thread] | Current Thread | [Next in Thread] |