GNOME Bugzilla – Bug 634256
listens to wrong ip
Last modified: 2010-11-20 23:39:15 UTC
Created attachment 174035 [details] hack, use IP ANY for binding Ekiga/opal initially listens to each individual ip:port on the system. When a call is started it is picking the first non-localhost ip address and binding to that one, which is a very bad guess as to which IP the remote system is going to send RPT packets to. This means if the system has multiple ip addresses it either works, or all the incoming UDP packets get rejected with an ICMP error because ekiga is listening to a different ip and port. Capture ekiga -d 4, and search for "Initial interface list:" for the interface order. Also, on startup not only does ekiga bind to each ip address it sends out the initial subscribe SIP requests from each to the remote server. In my case only one ip address is on the network which has a default route, the other networks are in the 192.168.0.0 and 172.20.0.0 ranges, which is causing packets to be routed to internet with local non-routable ip addresses. If it isn't going to look at the routing tables to figure out which local ip addresses can get to the route system, it should just call connect, let the kernel assign the local ip address, and read what that local ip address is. Until some more sane algorithm is picked, here is a hack patch to listen to all of them. I'm not going to call this the right solution, but it does let me hear the other end.
The versions in use are, Debian Ekiga 3.2.7-2, libopal 3.6.8~dfsg-2, ptlib 2.6.7-1
Thank you very much for reporting this important bug. Please post it to opalvoip bugzilla: http://sourceforge.net/tracker/?words=tracker_browse&sort=open_date&sortdir=desc&offset=0&group_id=204472&atid=989748&assignee=&status=&category=&artgroup=&keyword=&submitter=&artifact_id= (tell them also the versions involved) and inform us here if it is fixed. Thank you very much!
Bug posted as, OpalVOIP ID: 3113951 https://sourceforge.net/tracker/?func=detail&aid=3113951&group_id=204472&atid=989748