powered by Jive Software

Jingle nodes plugin

Hi,

I successfuly installed and set up my openfire server.

I performed several tests with jitsi clients, chat and file transfer works perfectly.

I then tried to implement audio calls by installing the Jingle nodes plugin.

I have the issue that most of the people have :

Jingle Nodes Requires a Public IP for Internet Calling. Public IP found: none.

From what I understand the issue is the STUN server hardcoded which is wrong.

I have found the fix on this forum, but unfortunately I am not advanced enough to know how to recompile the jar.

Here’s what I try :

  • extracting jingleNodes.jar files with winrar (the one I found in /var/lib/openfire/plugins)

  • extracting the plugin-jingleNodes-jspc.jar with Winrar in the same folder where I found the jar

  • in org/jivesoftware/openfire/plugin/jingleNodes/ I find the file I should modify: jingle_002dnodes_jsp.class

  • I edit it with Notepad++ and I search for the string to edit:

“final InetSocketAddress addr = PublicIPResolver.getPublicAddress(“stun.xten.com”, 3478))” to change to (final InetSocketAddress addr = PublicIPResolver.getPublicAddress(“stun.ekiga.net”, 3478):wink:

But I can’t find the string… what do I do wrong? where should I make the modification ? how should I recompile the jar?

Anyone could help me ?

Thanks in advance

same situation for me

I ran into this and a few other issues as well. I went ahead and made a custom modification to the jingle nodes plugin to expose all the properties right within the OpenFire UI. This was also necessary to get the plugin to work properly behind a firewall.

As was stated in the thread - the STUN server that was used to verify the public IP address was no longer in service. It now defaults to a google server but can be changed via the UI in case that server is not functional. Also if the verification fails the error log will have a more detailed message as to why.

The code also was blending Local IP and Public IP into a single concept. This would be fine for a server outside a firewall but for a server inside a firewall you need to be able to stipulate both. I added this feature.

Finally I added the ability to override the default port range so if you want to be more restrictive you can.

The linked zip file below contains all the code changes I made to the plugin as well as a .jar that can be uploaded to the Openfire server. Hopefully one of the developers who participate in this project will take a look at my code changes and put them into the production flow. But for now these small changes to the plugin solved my issues and will likely solve yours.

filehosting.org | Download | jingleNodes-0.1.2-unoffical.zip

1 Like

Greg,

Thanks for your offer of a contribution. Please consider making a github pull request with your suggested change or attaching a unified diff to your message

Not being familiar with github I stumbled through the process and think I was able to submit it properly. in the process I noticed 2 other pull requests with similar ideas for this plugin. One narrowly focused on providing a list of STUN test servers and another one that fixed the STUN test server and exposed some port settings. But I don’t believe either of them (I could be wrong) addressed the issue of the server behind the firewall with a local and public IP.

Your update plugin was not working for me in openfire 3.10.0. After uploading the jar file I get

2015.04.23 10:39:21 org.jivesoftware.openfire.container.PluginManager - Error loading plugin: /opt/openfire/plugins/jinglenodes
java.lang.ClassNotFoundException: org.jinglenodes.JingleNodesPlugin

When I look in plugins/jinglenodes/lib I see files with names

jnsapi.jar.pack  plugin-jingleNodes.jar.pack  plugin-jingleNodes-jspc.jar.pack

I run unpack200 on these to make them simple jar files again and then it worked

Your download link does not take me to the file it only shows the upload host site. Could you please pm me the download or re add it here?

I am having the same issue. I see the Jingle node and it has a green check in the box for public IP but Spark messenger still shows no phone button and hoping your zip will fix that.