Fixes for Jingle on Linux
Could not establish a communication calling from a user in Linux. The message shown to the user is "Calling user. Please wait..."
How to reproduce it:
1- Modify the jingle/plugin.xml to include the linux os.
2- Modify the startup.sh to include ../lib/linux/jmf.jar: in the class path
3- Login and call a user.
4- In the error log there is the following error
5- Called user answer the phone.
6- The caller does not establish the communication
cstux, maybe this is already resolved as Spark is already on fmj? Maybe we can close this issue?
FMJ help for this problem. Here you can find the patch for Jingle with FMJ:
At this time you need a simple patched FMJ Version:
The javax.media.rtp.InvalidSessionAddressException: Local Data AddressDoes not belong to any of this hosts local interfaces is caused by the way the JSTUN library gets the local ip adres, it gets the adres only as ip adres while JMF checks the adres with a hostname/ipadres combination. The solution is to get the hostname before giving the localAdrr to JMF in AudioChannel
To fix it change
localAddr = new SessionAddress(InetAddress.getByName(this.localIpAddress),
in AudioChannel to
String hostname = InetAddress.getByName(this.localIpAddress).getHostName();
localAddr = new SessionAddress(InetAddress.getByName(hostname),
The hostname also has to be added to the local ip adress in /etc/hosts
After an immense amount of work by Thiago, we unfortunately need to reschedule this issue for some future release. JMF has many severe issues on Linux and it may never be possible to use it for stable audio and video capture on that platform. We're currently looking at other possible approaches, but it will not be a short term fix.