Jappix plugin for Openfire with WebRTC audio/video

A new version of the Jappix plugin for Openfire is available with support for WebRTC restored back. It only supports Chrome version 26+ and is compatible with the WebRTC plugin for Spark. It uses The Openfire JingleNodes plugin for media relaying via Openfire server when WebRTC peers can connect directly with each other.

Video Chat


Group Video Chat


How to use

Click on the webcam icon to share video in an active chat/groupchat.

With chats, the other party receives a prompt to share their audio/video.


Groupchat does not prompt and auto shares audio and video with all participants.

Normally, webrtc audio/video is peer to peer (P2P) and should work when all peers are on the same LAN (local access network). If users are on the Internet or seperated by WANs (wide area networks), then you could need JingleNodes to work.

JingleNodes needs UDP ports between 30000 to 50000 to be opened. It also needs a public IP address acessible by all peers.

Just jinglenodes.

Latest version with webrtc uses websockets. Install websockets plugin for Openfire

Hi Dele,

tnx for your good post

I’m try to use Jappix on to two different OS: Ubuntu 13.04 and Windows 7.

On Windows 7 it’s OK. On Ubuntu, instead, at http://localhost:7070/jappix obtain a blank page.

In OpenFire log there aren’t message for thrubleshooting.

on http://localhost:9090, instead, I obtain the OpenFire administration page.

Had you a suggest for my issue?


Openfire 3.8.1


webrtc support not yet available in IE and Safari. Only Chrome for now. Firefox will be available in June

Hi Dele,

i successfully deployed and tested the plugin. I’ve some questions:

  1. I tried to publish the resource by a reverse proxy (send the request to the application on 7070 port of openfire) but even if the landing page is displayed the error: “service unavailable” is raised trying to logging in

  2. Is it possibile with this version do a conference call with more than 1 person? Trying to use a room with 3 people and sharing video i cannot see all the 3 cams.



Did you test it with a mixed environment (spark - jappix)

Thanks, regards.

There is an issue when the users do not use their usernames in the room. It needs more work to map nicknames back to user names.

The author of Jappix is working on adding webrtc. It should appear soon and replace this

Thanks Dele,

it’s really interesting because this plus webrtc for spark is really nice due to the fact that provide audio video on a web chat.

Have you any idea on the reverse proxy question? It could be really useful for me becvause the http and https ports are already engaged and i would live to access via a reverse proxy (MS ARR on IIS 7.5) placed on an another machine.

I’m trying also ofchat on chrome but i do have some issues also on it (the video call from the web to spark and viceversa simply doesn’t do anything more than turning on the cam).

Let me say again thanks for all the job arount webrtc.


webrtc is probably broken in most of my projects especially ofchat. I have been too busy lately to keep up. As for reverse proxies, not sure i can help. I run all my web application from inside Openfire Jetty web server and have no use for a reverse proxy

There is a limitation i am aware of. The nickname for the groupchat (conference) MUST be the username. I have to implement a mapping of conference nicknames to usernames to solve that problem. On the other hand, it could simple be a bug.

Hi Dele, I worte you also an IM. I’m having audio issues trying to use jappix jointly with spark/webrtc. The issue is related to the fact that I hear my voice back…is there any way to isolate it? The same settings on skype works perfectly.

yes, there has been a change in Chrome webrtc that requires the local audio to be muted.

in jappix, change the line in chat.js

’ +


’ +

In spark webrtc plugin,

add line

document.getElementById(“localVideoPreview”).muted = true;


document.getElementById(“localVideoPreview”).src = webkitURL.createObjectURL(stream);

in \plugin\www\spark_webrtc.js

Im facing the same issues

Hi Dele,

I did double check the code and I noticed that you use google stun server (stun.l.google.com port 19302), what if I want to use another stun server (I did compiled and started a stun server on a dedicated machine placed on ip that our internal client and external client access passing on public network by using nat or whatelse).

I did find the refeer to the google stun on the chat.js file and i did change it with my one but it seems not to work.

Just to know is it correct to set up the stun server to work on UPS o do it need TCP?

Are there any other files to change?

Let me know, thanks in advance


Hi Dele,

don’t know if you are still following this plugin, i wrote you privately too but it seems that the plugin is not working anymore on WAN connections.

Could you give me any help?


Hi guys,

I’ve installed the plugin which runs normally when I want to call a Jappix -> Jappix.

But, is there a way that we can call from f.i Jappix to Jitsi communicator?

Suppose that you have some users with Jitsi installed and logged in and a couple of users using Jappix.

Chat is working perfectly but I cannot get video and audio to work between Jappix and Jitsi.

Any ideas/help?

And just to add some more infos, when I call from Jitsi to Jappix, I get the error: “Could not find a resource which supports Jingle or Google Talk”.

By the way, I’ve installed Jingle Nodes(not sure if it running correctly, I still get the error "Jingle Nodes Requires a Public IP for Internet Calling. Public IP Found: none"