[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] STUN Fingerprint attribute missing from Linpho

From: Peter Villeneuve
Subject: Re: [Linphone-developers] STUN Fingerprint attribute missing from Linphone Android's ICE implementation?
Date: Thu, 23 Oct 2014 17:59:08 +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:

Sending ICE packet.
 Local Address: ICE:; UDP: WiFi[
Remote Address: ICE:; UDP:
        Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8

Sending ICE packet.
 Local Address: ICE:; UDP: WiFi[
Remote Address: ICE:; UDP:
        Packet: Request Binding; Id: 4AA1D156DC8D9E36E74D5A4B

ICE request timed out.
 Local Address: ICE:; UDP: WiFi[
Remote Address: ICE:; UDP:
        Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8

Connectivity check timed out.
  Local Address:
 Remote Address:
         Packet: Request Binding; Id: 3D243D50DE89AF81EE88B2C8

And then there's also this error which I believe maybe related to the missing STUN fingerprint error message I saw in the kamailio logs.

Ignoring received packet.
         Reason: Non-conforming user name.
  Local Address:
 Remote Address: 79.xx.xx.xx:11772
Received Packet: Request Binding; Id: 014FD6318B5AF06E6C45976D
  Received Data: 000100002112A442014FD6318B5AF06E6C45976D

In the Linphone logs:

Local candidates:
type=host ip= port=7076 componentID=1 priority=2130706431 foundation= base=0x69045d78
type=host ip= port=7077 componentID=2 priority=2130706430 foundation= base=0x68b62de0
type=srflx ip=85.xx.xx.xx port=7076 componentID=1 priority=1694498815 foundation= base=0x69045d78
type=srflx ip=85.xx.xx.xx port=7077 componentID=2 priority=1694498814 foundation= base=0x68b62de0

Remote 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 (linphone) and (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?



On Thu, Oct 23, 2014 at 12:52 PM, Peter Villeneuve <address@hidden> wrote:

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 missing

This 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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]