This post originally appeared here on 2009-07-19.
New Ekiga versions do not allow setting the network interface to send the requests. This is now controlled by to underlying OPAL library and Ekiga developer does not see any problems. The problems that are caused by sending REGISTERs on all the available interfaces hoping that at least one will make its way to the server.
This manifested as the following message during the registration:
Now when more than one interface could reach the SIP server, such as virtualization ones enabled for forwarding - virbr, docker, ekiga fails with the following error:
Damien Sandras (ekiga developer):
We tend to automate things at maximum, so I don’t think it is possible.
Perhaps in 3.2 we will reintroduce a setting, but in that case if you listen only on one interface, there is no way to connect through a VPN and to the Internet at the same time. I’ll discuss with Robert, but I think the problem is on Asterisk side. One thing we could improve is that as soon we get an answer for one interface, we do not try others.
Basically, all what I needed to do is to expose one network interface to Ekiga so that it does not start sending bogus data through the other ones.
The answer is… ioctl wrapping done previously for my Motorola A1200 camera.
Sources here: ~rye/+junk/exposeif. Don’t forget to run ldconfig after installing.
/usr/local/bin/exposeif usage: /usr/local/bin/exposeif options program Options: -i|--interfaces List of interfaces to expose (comma delimited) -d|--debug Debug output from libexposeif.so -h|--help This help Example: /usr/local/bin/exposeif -i eth0,lo ekiga -d 4
This is not a production-level code. It may cause memory leaks within the application. As always, standard no liability disclaimer applies.