Have you tried with the latest release (1.12.10) ?

Mike

On Dec 22, 2008, at 7:06 AM, Mohammed Sulaiman wrote:

Hi , we are using Sofia 1.12.8 on the Windows Mobile 6 platform in a voip client app.
We have come across the following issue, when making a call over 3G.

Sofia is using the IpHelper api on a our platform to get a list of nameservers. We have a situation where it obtains 2 nameservers

192.168.0.1 and 10.205.65.68

the 3G access pointIp address is 10.47.127.102 so the first one obviously is no use. So there is some code in Sofia to traverse the nameservers if the query times out. However we fail to connect on the socket when trying to query the 10.205.65.68, the connect() call in "sres_server_socket" returns Windows error 10048

"Only one usage of each socket address (protocol/network address/ port) is normally permitted.""

sres_send_dns_query(003CD300, 0041B3D0) id=9637 A xxx.xxx.com (to [192.168.0.1]:53)
sres_resolver_timer() called at 1229661607
sres_resend_dns_query(003CD300, 0041B3D0, timeout) called sres_send_dns_query(003CD300, 0041B3D0) called sres_server_socket: connect: Address already in use: 10.206.65.68:53 sres_send_dns_query(003CD300, 0041B3D0) id=9637 A xxx.xxx.com (to [192.168.0.1]:53)

The problem is after this error sofia marks this nameserver as 'bad'
dns->dns_error = SRES_TIME_MAX;
and never uses it again. So always keeps trying to query the unreachable server 192.168.0.1 I've noticed running in the debugger we can query the 10.205.65.68 nameserver as the
connect(s, (void *)dns->dns_addr, dns->dns_addrlen) succeeds
 Without the debugger connected it always fails.
ie slowing things down makes it work. But what I am trying to work out is why the initial connect on the socket fails. It seems to be because we made an initial query to an unreachable server and the socket is maybe still in use or something.

Has anyone seen this issue before, any ideas how to resolve.
I did try setsockopt with SO_REUSEADDR, this time connect() succeeds but the query doesn't get a response although this nameserver is a reachable one. So i'm thinking the first query to 192.168.0.1 nameserver still causing a problem.

One final thing i would have thought using the sres library would result in NAPTR query
rather than A but i am seeing only A type queries going out.

Thanks

------------------------------------------------------------------------------
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

------------------------------------------------------------------------------
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to