linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] RTP streams running delayed with DNS set


From: Neil Sharp
Subject: Re: [Linphone-developers] RTP streams running delayed with DNS set
Date: Wed, 26 Apr 2023 11:25:35 -0500

Anyone with insight into this RTP streams issue? I would truly appreciate it!

Thanks,

Neil

> On Mar 15, 2023, at 6:32 PM, Neil Sharp <developer@akamaiapps.com> wrote:
> 
> Hoping maybe someone here can chime in with an easy solution.
> 
> I am able to setup a call just fine in my Android app using the liblinphone 
> library (v4.0.1) on my Android device. SIP registration and INVITEs work just 
> fine; so, the SIP signaling portion works 100%. However, the RTP 
> StreamsRunning state is delayed when I have a DNS server set on my Android 
> device, even if that DNS server has no upstream Internet connection.
> 
> If no DNS server is set in the Android settings, SIP and RTP work just fine 
> (voices are heard immediately after a call is answered). If I set a DNS 
> server in the Android settings (just a local server with local address 
> mappings), the RTP StreamsRunning state is delayed by exactly 40 seconds on 
> every call. After that 40 second delay, the RTP streams start running and 
> voices can be heard on both ends of the call. So, this does not appear to be 
> a network/NAT issue — everything works as expected after a 40-second timeout. 
> After running Wireshark/tcpdump, I can see RTP packets being sent from my 
> PABX server back to the Linphone client (which Linphone confirms in its 
> report at the end of the call), but there are no outgoing packets from the 
> Linphone client to Asterisk for 40 seconds. And, there is no incoming call 
> audio played from the Linphone client, despite the RTP packets being sent 
> from the PABX server.
> 
> I believe the problem is related to the DNS server being set on my device. I 
> see Linphone making requests for AAAA records for my SIP server, which is an 
> IP address. So, the AAAA requests the IPv6 address for an IPv4 address 
> (172.16.1.xxx).  I have tried overriding the DNS servers list in 
> LinphoneCore.setDnsServers(), but this does not seem to actually override the 
> DNS server list. I tried just setting the list to ”0.0.0.0” to disable DNS 
> lookups altogether. I have also tried placing dns_search_enabled=0 and 
> dns_srv_enabled=0 into my linphonerc file; but, neither of these has any 
> effect. The documentation is unclear, but I think these do not disable DNS 
> lookups but rather just determine options for the DNS in use. Ideally, I do 
> not want or need to use DNS whatsoever for Linphone in my app. I have also 
> explicitly turned off IPv6 support (which is the default anyways).
> 
> Is there any option available in the API or from .linphonerc to turn off DNS 
> lookups within liblinphone? I did not see one in the code that reads the 
> config file in GitHub. Barring that, is there a way to figure out what 
> *exactly* is being looked up and timing out at the 40-second mark? Maybe I 
> could add that into my local DNS server. I don’t see anything other than the 
> IPv4 address being looked up via DNS.
> 
> Any help would be appreciated.
> 
> Thanks,
> 
> Neil




reply via email to

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