After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 324564 - Multiple network interfaces should be handled. Registration/unregistration should occur when interfaces are going up and down.
Multiple network interfaces should be handled. Registration/unregistration sh...
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: general
GIT master
Other All
: Normal enhancement
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
: 335088 345685 390890 397768 473013 491814 504218 521008 (view as bug list)
Depends on:
Blocks: 362102
 
 
Reported: 2005-12-20 04:36 UTC by Andy Botting
Modified: 2008-09-06 15:58 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description Andy Botting 2005-12-20 04:36:47 UTC
Please describe the problem:
I'm using the CVS snapshot to register to a SIP server though an OpenVPN
(bridged) link. Doing an ethereal trace seems to suggest that Gnomemeeting isn't
trying to route via the right interface.

I can register to the server using Linphone and I have some ethereal traces to
demonstrate this.

Steps to reproduce:
1. Set up an bridged mode OpenVPN link (which works for UDP)
2. Start the SIP server
3. Try and register (wait for it to time out)
4. Record a packet trace


Actual results:
The SIP register packet uses the default interface to send packets to instead of
the correct interface.

Expected results:
SIP register packets should be sent on the tap0 interface, not the eth0 interface.

Does this happen every time?
Yes

Other information:
The quick trace I did suggests that gnomemeeting is trying to connect to
172.20.1.1 (which is my SIP server) but the originating IP is 144.131.20.163
(which is wrong) and the SIP register packets time out.

Gnomemeeting:

  1.185038 144.131.20.163 -> 172.20.1.1   SIP Request: REGISTER sip:shake
  5.188584 144.131.20.163 -> 172.20.1.1   SIP Request: REGISTER sip:shake
 11.189030 144.131.20.163 -> 172.20.1.1   SIP Request: REGISTER sip:shake

Using Linphone, the same SIP request is sent out, but the difference is that the
packet is originating from the right IP address (172.20.1.16)

Linphone:
 
 28.118238  172.20.1.16 -> 172.20.1.1   SIP Request: REGISTER sip:shake
 28.140048   172.20.1.1 -> 172.20.1.16  SIP Status: 100 Trying    (1 bindings)
 28.158061   172.20.1.1 -> 172.20.1.16  SIP Status: 401 Unauthorized    (1 bindings)
 28.579643  172.20.1.16 -> 172.20.1.1   SIP Request: REGISTER sip:shake
 28.612163   172.20.1.1 -> 172.20.1.16  SIP Status: 100 Trying    (1 bindings)
 28.639937   172.20.1.1 -> 172.20.1.16  SIP Status: 200 OK    (1 bindings)
 28.639967   172.20.1.1 -> 172.20.1.16  SSH Encrypted response packet len=208
 33.752169  172.20.1.16 -> 172.20.1.1   SIP Request: REGISTER sip:shake
 33.782001   172.20.1.1 -> 172.20.1.16  SIP Status: 100 Trying    (1 bindings)
 33.801967   172.20.1.1 -> 172.20.1.16  SIP Status: 401 Unauthorized    (1 bindings)
 33.854565  172.20.1.16 -> 172.20.1.1   SIP Request: REGISTER sip:shake
 33.882006   172.20.1.1 -> 172.20.1.16  SIP Status: 100 Trying    (1 bindings)
 33.898207   172.20.1.1 -> 172.20.1.16  SIP Status: 200 OK    (1 bindings)
 33.898745   172.20.1.1 -> 172.20.1.16  SSH Encrypted response packet len=96

A route -n shows:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
144.131.20.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.20.1.0      0.0.0.0         255.255.255.0   U     0      0        0 tap0
127.0.0.0       127.0.0.1       255.0.0.0       UG    0      0        0 lo
0.0.0.0         144.131.20.1    0.0.0.0         UG    0      0        0 eth0
Comment 1 Damien Sandras 2005-12-20 08:23:08 UTC
Have you selected the rigth interface to "listen on" in the preferences?
Comment 2 Andy Botting 2005-12-20 09:05:33 UTC
Yeah, my bad. That fixed it. 

Thanks Damien. 
Comment 3 Damien Sandras 2005-12-20 09:14:27 UTC
The problem is that it is not really a good solution, because you could have several accounts using different routes. I'm still looking for a better way to do this. So I'll leave the bug "open".

Just know there is a solution, but I don't like it :)
Comment 4 Tony Lewis 2006-02-26 23:55:35 UTC
(was just about to file a bug about the only-listen-on-one-interface issue, but will add here instead)

I have the same problem, though it's worse, because I have two asterisk boxen, on two different VPNs.  I can't connect to both at the same time, and to switch between the two, I have to change the preferences.

Solution:?: have a list of detected interfaces, and the user selects which ones they want ekiga to listen on.  There should be a "Listen on all interfaces" which probably should be the default.
Comment 5 gnoembugs2eran 2006-03-14 16:54:59 UTC
Another twist on the same problem:
My laptop uses either of three net interfaces, depending on circumstances (eth0 for wired, wlan0 for wireless, or tun0 for OpenVPN). This changes several times a day.
Shouldn't Ekiga listen on all interfaces by default, like most network applications?
Comment 6 Damien Sandras 2007-01-02 19:01:20 UTC
*** Bug 345685 has been marked as a duplicate of this bug. ***
Comment 7 Damien Sandras 2007-01-02 19:02:11 UTC
Changing component to OPAL. The bug is there.
Comment 8 Snark 2007-03-29 16:37:12 UTC
*** Bug 397768 has been marked as a duplicate of this bug. ***
Comment 9 Snark 2007-03-29 16:37:33 UTC
*** Bug 335088 has been marked as a duplicate of this bug. ***
Comment 10 Snark 2007-03-29 16:40:20 UTC
There are several problems with network interfaces :
- a single box can have several of them, and we should be able to do something about it ;
- not every account may route through each of those interfaces ;
- if there are interface changes, say in the case of roaming, then we should be able to cope with network interfaces appearing/disappearing.

I'm trying to melt all reports we have into this only one :-)
Comment 11 Andrew Jorgensen 2007-06-13 22:18:52 UTC
Another problem with the way this is currently handled is that ekiga advertises itself as being available on all interfaces (via mDNS/Avahi/Bonjour) but can only be contacted on one.

It is probably possible to fix this on the mDNS end (tell Avahi that the service is only available on the specified interface) but a better way to fix it, if possible, would be to make OPAL listen on all interfaces by default.

Because of the way SIP works it's probably fairly difficult to make it handle more than one IP address at a time but in terms of making the product "just work" it may be worth the effort.

The next best thing would be to choose the default gateway interface by default.  Perhaps this is what ekiga already does?
Comment 12 Snark 2007-11-11 16:58:30 UTC
*** Bug 495917 has been marked as a duplicate of this bug. ***
Comment 13 Snark 2007-11-11 17:03:40 UTC
Retitling to make it more explicit.
Comment 14 Snark 2007-11-11 19:10:10 UTC
*** Bug 495917 has been marked as a duplicate of this bug. ***
Comment 15 Snark 2007-12-18 12:13:54 UTC
*** Bug 504218 has been marked as a duplicate of this bug. ***
Comment 16 Damien Sandras 2008-04-02 21:22:20 UTC
*** Bug 521008 has been marked as a duplicate of this bug. ***
Comment 17 Damien Sandras 2008-04-02 21:58:52 UTC
*** Bug 390890 has been marked as a duplicate of this bug. ***
Comment 18 Damien Sandras 2008-04-03 09:02:27 UTC
*** Bug 473013 has been marked as a duplicate of this bug. ***
Comment 19 Damien Sandras 2008-04-03 09:02:35 UTC
*** Bug 491814 has been marked as a duplicate of this bug. ***
Comment 20 Matthias Schneider 2008-09-06 10:42:28 UTC
This should be fixed by now, shouldnt it?
Comment 21 Damien Sandras 2008-09-06 11:01:53 UTC
I just did the last commit.