<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Jive SBS Syndication Feed</title>
    <link>http://community.igniterealtime.org/blogs</link>
    <description>A syndication feed of all the blogs on this system</description>
    <pubDate>Sun, 25 Sep 2011 21:47:48 GMT</pubDate>
    <generator>Jive SBS 4.5.5.2  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2011-09-25T21:47:48Z</dc:date>
    <item>
      <title>Jappix users, PLEASE UPDATE!</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/09/25/jappix-users-please-update</link>
      <description>&lt;!-- [DocumentBodyStart:588014de-bed9-4a4a-9806-b0a122b09e76] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;If you use openfire-jappix plugin on your server, you should &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-jappix/downloads/list"&gt;update to version 0.0.2&lt;/a&gt; which uses the the new 0.8 package&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Please read&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://codingteam.net/project/jappix/news/show/500-jappix_users_please_update" target="_blank"&gt;http://codingteam.net/project/jappix/news/show/500-jappix_users_please_update&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;and&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small active_link" href="http://codingteam.net/project/jappix/browse/diff/1319/1320/" target="_blank"&gt;http://codingteam.net/project/jappix/browse/diff/1319/1320/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:588014de-bed9-4a4a-9806-b0a122b09e76] --&gt;</description>
      <pubDate>Sun, 25 Sep 2011 21:25:46 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/09/25/jappix-users-please-update</guid>
      <dc:date>2011-09-25T21:25:46Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/jappix-users-please-update</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1661</wfw:commentRss>
    </item>
    <item>
      <title>Openfire Chat Chrome Extension</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/09/18/openfire-chat-chrome-extension</link>
      <description>&lt;!-- [DocumentBodyStart:6368538d-0271-4dd8-ad85-257be98d4d8b] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Ignite Realtime community is happy to release OfChat (Openfire Chat), a Google Chrome extension that puts a chat toolbar on any web site you want so you don't have to switch back and forth between tabs or have to resize your browser window to include your desktop chat application on your screen.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1660-2500/Image1.jpg"&gt;&lt;img alt="Image1.jpg" class="jive-image-thumbnail jive-image" height="337" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1660-2500/450-337/Image1.jpg" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;OfChat &lt;strong&gt;does not require a front-end Apache web server or middle-man BOSH server and connects directly with Openfire&lt;/strong&gt; eliminating the cross-domain issues associated with web browser application like SparkWeb, Jappix or Candy. With WebSockets, it is as fast as a chat desktop application. It also uses Google Alerts when the Chrome window is minimised.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;OfChat is based on on &lt;a class="jive-link-external-small" href="https://chrome.google.com/webstore/detail/mijcfiakajpjojbebgmoahoddbeafckk?hl=en-US"&gt;Gtalklet&lt;/a&gt; for by Sean Zheng and has been modified to work with Openfire BOSH and the WebSockets Plugin for Openfire 3.7.1. It uses Strophe JavaScript library by Jack Moffitt and includes a new &lt;em&gt;Openfire.Connection&lt;/em&gt; class which implements the full &lt;em&gt;Strophe.Connection &lt;/em&gt;class for Openfire WebSockets. &lt;em&gt;Openfire.Connection&lt;/em&gt; should work with other Stophe based applications as a direct replacement for &lt;em&gt;Strophe.Connection&lt;/em&gt;..&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;OfChat does not have a conventional roster display with groups. You have to start typing into the search area to filter a list of contacts in Google search style and like the new Facebook contact list view. In order to see only online contacts, just press spacebar as your first character. Support for MUC (group-chat) will be added later on.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To install from Chrome, just click&lt;a class="jive-link-external-small" href="http://openfire-websockets.googlecode.com/files/ofchat.crx"&gt; on this link&lt;/a&gt; or download and install from the attached ofchat.crx file.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span&gt;After you install the extension, go to the extension's preferences and enter your Openfire account credentials. Enter your Openfire BOSH URL. It is usually &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://your_server:7070/http-bind/" target="_blank"&gt;http://your_server:7070/http-bind/&lt;/a&gt;&lt;span&gt;. Please don't select WebSockets unless you have upgraded your Openfire server to use jetty 7.5.1+ and running the WebSockets plugin. Once you've signed in, reload one of your tabs and you should see it pop up in the lower right-hand corner. Once you see it in the corner of your screen, just hit the grey circle to log in. Once you log in, you can set status as normal. Click the plus sign as many times you need to search for a contact and start a new chat.You can block it from showing up on certain sites from the extension's preferences.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:6368538d-0271-4dd8-ad85-257be98d4d8b] --&gt;</description>
      <pubDate>Sun, 18 Sep 2011 23:14:59 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/09/18/openfire-chat-chrome-extension</guid>
      <dc:date>2011-09-18T23:14:59Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/openfire-chat-chrome-extension</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1660</wfw:commentRss>
    </item>
    <item>
      <title>WebSockets Connection Manager for Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/09/15/websockets-connection-manager-for-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:1b506933-a91e-4ada-bc67-079ca0739604] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;This is an implementation of &lt;span style="color: #0000cc;"&gt;WebSockets&lt;/span&gt; for the Openfire XMPP server. It consists a plugin for Openfire and a low-level JavaScript library suitable to be used with jQuery.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;span style="color: #333333; font-family: arial, helvetica, sans-serif; font-size: 17px; font-weight: bold; line-height: normal; text-align: left;"&gt;Why?&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;Recently, I have been involved in shaping an XMPP protocol extension (XEP) for simple application remote control of telephony devices for financial trading systems. This XEP is called &lt;a class="jive-link-external-small" href="http://code.google.com/p/openlink"&gt;Openlink&lt;/a&gt; and is still evolving.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;I use XMPP Bosh to provide an Openlink Javascript library for web based applications and I am seeking to improve performance and scalability beyond the limitations of long-polling BOSH connections, so I decided to investigate replacing BOSH with Websockets in my Openlink Javascript library.&lt;/p&gt;&lt;h4&gt;What did you do?&lt;/h4&gt;&lt;p&gt;The Websocket protocol is close to finalising and Jetty (the embedded web server for Openfire) has been &lt;a class="jive-link-external-small" href="http://blogs.webtide.com/gregw/entry/jetty_websocket_server"&gt;supporting WebSocket since Nov 2009 in version 7.0.1&lt;/a&gt; which is the Jetty version in current Openfire 3.7.0. My first attempt of using the Jetty WebSocketServelet&lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/w/edit/WebSocketServelet"&gt;?&lt;/a&gt; class from Openfire 3.7.0 with Google Chrome web browser failed and I am not sure why. The &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/wiki/WebSockets"&gt;WebSockets&lt;/a&gt; specification has changed a lot over the last two years and both Chrome and Jetty have kept up with it, so I was not surprised. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;I therefore decided to &lt;span style="color: #ff0000;"&gt;&lt;strong&gt;recompile Openfire from SVN (version 3.7.1 Alpha) with latest Jetty 7.5.1&lt;/strong&gt;&lt;/span&gt; and finally got it working.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;a href="http://openfire-websockets.googlecode.com/files/Image1.jpg"&gt;&lt;img height="126" src="http://openfire-websockets.googlecode.com/files/Image1.jpg" style="border-style: initial; border-color: initial; max-width: 100%; float: left; height: 126px; width: 149.83783783783784px;" width="149"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt;I then implemented a very thin XMPP stanza based Javascript class called openfire-websockets which exposes a minimium "Stophe" like connection object which I tested with the XMPP console application in &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://professionalxmpp.com/profxmpp_ch04.pdf"&gt;chapter 4&lt;/a&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt; of the book &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://professionalxmpp.com/"&gt;"Professional XMPP Programming with JavaScript and jQuery"&lt;/a&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt; by Jack Moffitt.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="color: #000000; font-family: arial, sans-serif; line-height: 16px; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h4&gt;How?&lt;/h4&gt;&lt;p&gt;You can use this plugin from Openfire 3.7.0. Just replace openfire.jar and slf4j-log4j12.jar in OPENFIRE_HOME\lib.&lt;/p&gt;&lt;h4&gt;Should I?&lt;/h4&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;If you do most of your application development with XMPP like I do, using Openfire and need fast and simple access to the low level XMPP messages as DOM elements in Javascript from JQuery right now, then take a look at &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/source/browse/trunk/plugin/peek/openfire-websockets.js"&gt;openfire-websockets.js&lt;/a&gt;&lt;/p&gt;&lt;h4&gt;Where?&lt;/h4&gt;&lt;p style="line-height: 1.25em; max-width: 64em; color: #000000; font-family: arial, sans-serif; text-align: -webkit-auto; background-color: #ffffff;"&gt;&lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-websockets/"&gt;http://code.google.com/p/openfire-websockets/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1b506933-a91e-4ada-bc67-079ca0739604] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">connection</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">manager</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">javascript</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">websockets</category>
      <pubDate>Thu, 15 Sep 2011 10:38:29 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/09/15/websockets-connection-manager-for-openfire</guid>
      <dc:date>2011-09-15T10:38:29Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/websockets-connection-manager-for-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1659</wfw:commentRss>
    </item>
    <item>
      <title>Jappix MiniChat with Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/07/23/jappix-minichat-with-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:1deaad4d-25a3-4cc3-9676-d315f7a0994d] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1655-2489/Image2.jpg"&gt;&lt;img alt="Image2.jpg" class="jive-image" height="398" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1655-2489/131-398/Image2.jpg" style="float: right; width: 131px; height: 398.5982905982906px;" width="131"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have received a couple of emails about Jappix MiniChat not working properly with Openfire BOSH.&amp;#160; The main issue seems to be that the Openfire BOSH is not handling the reconnection properly as the user browses from page to page.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I'll be surprised if it did as the implementation was a few years ago and the BOSH specification has moved on since. More importantly was that it was designed to work with SparkWeb which was always resident on the web page until the user logged off. In this mode, Openfire BOSH works very well. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;A possible solution for using Jappix MiniChat with Openfire is to use this same approach and keep Jappix resident on the web page as the user browses from page to page. My way of doing this is to use a main top page container with the Jappix MiniChat which puts the content web page in an &amp;lt;iframe&amp;gt; tag. I then call JavaScript on the main top page from within the iframe to control Jappix.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Of course, this does not always work especially if the content page promotes itself to be the top main page for security purposes like Goole Mail for example. In practice, I use Jappix MiniChat with my own web applications and even if my web page is hijacked, cross domain security will stop malicious JavaScript controlling my application.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;If this solution will work for you, then use the attached HTML file and adapt it to your needs.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1deaad4d-25a3-4cc3-9676-d315f7a0994d] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">jappix</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">minichat</category>
      <pubDate>Sat, 23 Jul 2011 08:54:35 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/07/23/jappix-minichat-with-openfire</guid>
      <dc:date>2011-07-23T08:54:35Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/jappix-minichat-with-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1655</wfw:commentRss>
    </item>
    <item>
      <title>Jappix for Openfire plugin</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/06/26/jappix-for-openfire-plugin</link>
      <description>&lt;!-- [DocumentBodyStart:1a14f8ce-8c6f-48ec-8228-d696c9454b38] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I really like Jappix. It ia fully functional XMPP web client with a lot of features and even looks like Sparkweb &lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/wink.gif" width="16px"/&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1648-2486/Image1.png"&gt;&lt;img alt="Image1.png" class="jive-image-thumbnail jive-image" height="199" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1648-2486/273-199/Image1.png" style="width: 273px; height: 199.00934579439252px; float: right;" width="273"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It has a cool microblog feature like onesocialweb similiar to the one I implemented on a comercial version of SparkWeb using XMPP pubsub. As much as I liked Jappix, I really could not use it. It was developed in PHP and required a second web server with too much fiddly configuration to make Openfire HTTP-BIND run the cross-domain gauntlet. Well that all changed when I discovered &lt;a class="jive-link-external-small" href="http://www.caucho.com/resin-3.0/quercus/"&gt;&lt;em&gt;Quercus: &lt;/em&gt;Caucho Technology's fast, open-source, 100% Java implementation of the PHP language&lt;/a&gt;. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;It has enabled me to create an Openfire plugin for Jappix that works out-of-the box. No configuration required.&lt;/strong&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The main reason for my interest in Jappix was the minichat feature which is like the Facebook IM User Interface and is best for integration with other web applications. I have an immediate requirement to put IM into my Clearspace/Openfire setup and Jappix was just right for this.&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1648-2487/Image4.png"&gt;&lt;img alt="Image4.png" class="jive-image-thumbnail jive-image" height="208" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1648-2487/272-208/Image4.png" style="width: 272px; height: 208.7004608294931px; float: right;" width="272"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I am posting this here for community members who might have a need for it. I do not plan on doing any development work on the Jappix PHP code, so if you spot a fault, head over to the Jappix project web site and report it. Please don't email me.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h4&gt;How to install and use&lt;/h4&gt;&lt;ol start="1"&gt;&lt;li&gt;Download the appropiate zip file for your Openfire server&lt;/li&gt;&lt;li&gt;Stop Openfire&lt;/li&gt;&lt;li&gt;Unzip jappix.war and copy to your plugins folder&lt;/li&gt;&lt;li&gt;Restart Openfire&lt;/li&gt;&lt;li&gt;&lt;span&gt;Go to &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://your-server:7070/jappix" target="_blank"&gt;http://your-server:7070/jappix&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h4&gt;How to access the Jappix Admin Console&lt;/h4&gt;&lt;ol start="1"&gt;&lt;li&gt;Delete the contents of the OPENFIRE_HOME\plugins\jappix\store folder&lt;/li&gt;&lt;li&gt;&lt;span&gt;Go to &lt;/span&gt;&lt;a class="jive-link-external-small" href="http://YOUR_SERVER:7070/jappix" target="_blank"&gt;http://YOUR_SERVER:7070/jappix&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;h4&gt;References&lt;/h4&gt;&lt;p&gt;Download for Openfire-Jappix is &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-jappix/downloads/list"&gt;http://code.google.com/p/openfire-jappix/downloads/list&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Source code is &lt;a class="jive-link-external-small" href="http://code.google.com/p/openfire-jappix/source/checkout"&gt;http://code.google.com/p/openfire-jappix/source/checkout&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Project Jappix is &lt;a class="jive-link-external-small" href="https://project.jappix.com/"&gt;https://project.jappix.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Project Quercus is &lt;a class="jive-link-external-small" href="http://www.caucho.com/resin-3.0/quercus/"&gt;http://www.caucho.com/resin-3.0/quercus/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:1a14f8ce-8c6f-48ec-8228-d696c9454b38] --&gt;</description>
      <pubDate>Sun, 26 Jun 2011 19:57:44 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/06/26/jappix-for-openfire-plugin</guid>
      <dc:date>2011-06-26T19:57:44Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/jappix-for-openfire-plugin</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1648</wfw:commentRss>
    </item>
    <item>
      <title>Moving SparkWeb Forward</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/06/03/moving-sparkweb-forward</link>
      <description>&lt;!-- [DocumentBodyStart:b3d85c03-657b-4642-81ea-3c5efff86267] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;This is an update from ignite realtime community about where we are with SparkWeb&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;There is an Open Source HTML version of SparkWeb based on the original commercial Jive Software version and now released under the Apache 2.0 license just like Spark and Openfire. It can be found on the ignite realtime community &lt;a class="jive-link-wiki-small" href="http://community.igniterealtime.org/docs/DOC-2109"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1643-2474/Image3.png"&gt;&lt;img alt="Image3.png" class="jive-image" height="160" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1643-2474/254-160/Image3.png" width="254"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-profile-small" href="http://community.igniterealtime.org/people/knight"&gt;Knight Raider&lt;/a&gt; has worked on the Flash version of SparkWeb and has made it compatible with the ignite realtime latest version of XIFF. His version compiles with Flex Builder using Flex SDK 3.0&amp;#160; for Flash Player 9 and above. It can be found on the ignite realtime community &lt;a class="jive-link-message-small" href="http://community.igniterealtime.org/message/212197#212197"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have made a few more changes to make it compile with the latest Flex SDK 4.5 for current Flash Player 10.3 and above and uploaded it to the SparkWeb SVN. The code can be checked out using&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;a class="jive-link-external-small" href="https://svn.igniterealtime.org/svn/repos/sparkweb/trunk/SparkWeb2" target="_blank"&gt;https://svn.igniterealtime.org/svn/repos/sparkweb/trunk/SparkWeb2&lt;/a&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Knight Raider has volunteered to work on this. We plan to to add Jingle-based audio, video, file transfer, screen sharing, etc and make it look better than this&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1643-2475/Image1.jpg"&gt;&lt;img alt="Image1.jpg" class="jive-image" height="232" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1643-2475/310-232/Image1.jpg" width="310"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Finally, work has started on RedSpark which is yet another web client for Spark, but is tightly integrated into Redfire and will be compatible with the Redfire plugin for Spark. It is extending XIFF with the new RTMP/RTMFP connection classes and has a Facebook/Google type chat user interface that combines both HTML5 and Flash to support a softphone (red5phone), audio/video in both 2-way and multi-user chat with screen sharing (red5-screenshare) and p2p file transfer using RTMFP.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1643-2476/Image6.png"&gt;&lt;img alt="Image6.png" class="jive-image-thumbnail jive-image" height="45" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1643-2476/450-45/Image6.png" width="450"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:b3d85c03-657b-4642-81ea-3c5efff86267] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">spark</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5phone</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">redfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">rtmfp</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5-screenshare</category>
      <pubDate>Fri, 03 Jun 2011 23:35:10 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/06/03/moving-sparkweb-forward</guid>
      <dc:date>2011-06-03T23:35:10Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/moving-sparkweb-forward</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1643</wfw:commentRss>
    </item>
    <item>
      <title>Peer2peer Openfire with RTMFP and RTMP</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2011/05/17/scaling-openfire-with-rtmfp-and-rtmp</link>
      <description>&lt;!-- [DocumentBodyStart:bb9ce3c4-ec4b-42cf-99e6-e6229ad34018] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I am currently looking at adding peer2peer support to Openfire using the &lt;a class="jive-link-external-small" href="http://code.google.com/p/redfire/"&gt;Redfire&lt;/a&gt; plugin which has support for both RTMP and the new &lt;a class="jive-link-external-small" href="http://en.wikipedia.org/wiki/Real_Time_Media_Flow_Protocol"&gt;RTMFP&lt;/a&gt; (peer to peer) protocol from Adobe. I would like to get some feedback from the community to validate my thinking and confirm I am on the right track.&lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/wink.gif" width="16px"/&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I know that I should be looking at &lt;a class="jive-link-external-small" href="http://xmpp.org/extensions/inbox/jingle-rtmp.html"&gt;Jingle&lt;/a&gt; and I also know I should be looking at &lt;a class="jive-link-external-small" href="http://xmpp.org/extensions/xep-0174.html"&gt;XEP-0174: Serverless Messagin&lt;/a&gt;g, but they don't serve my needs and the &lt;a class="jive-link-external-small" href="http://web.archiveorange.com/archive/v/B3A2L4sc1ylFscW2dgz6"&gt;XMPP council had reservations about my RTMP ideas for Jingle because RTMP and RTMFP are considered proprietary&lt;/a&gt;. Unfortunately, Flash Player has not gone away and the open HTML5 websockets is still taking its first steps as a toddler.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have developed a new client-side RTMFP connection class for XIFF that enables clients to dynamically become nodes or supernodes (like Skype) using RTMP and RTMFP. Nodes will connect and distribute messages to each other without a server using RTMFP, while super-nodes will connect to Openfire via the Redfire connection manager using RTMP and act as proxies for their neighbour nodes. Like Openfire clustering, disconnecting super-nodes are replaced immediately by election among the neighbour nodes.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;XMPP Message packets between neighbours can be sent directly peer to peer if there is a route and server messaging logging is not mandatory.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In theory, a fully populated enterprise muticast 192.168.x.x network with aproximately 64K users would only need 256 Openfire socket connections&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.igniterealtime.org/servlet/JiveServlet/showImage/38-1637-2470/Image2.png"&gt;&lt;img alt="Image2.png" class="jive-image" height="85" src="http://community.igniterealtime.org/servlet/JiveServlet/downloadImage/38-1637-2470/310-85/Image2.png" width="310"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;As a first step towards Openfire peer2peer, the&lt;a class="jive-link-message-small" href="http://community.igniterealtime.org/message/212607#212607"&gt; latest version of the Redfire plugin for Spark&lt;/a&gt; has support for RTMFP. If there is a route between clients having a two-way chat or multi-user chat, then the audio and video is sent peer2peer using RTMFP. There should be some performance gains with multiple participants in a chat room. Screenshare and remote desktop control is still done via Openfire server using RTMP with Red5.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:bb9ce3c4-ec4b-42cf-99e6-e6229ad34018] --&gt;</description>
      <pubDate>Tue, 17 May 2011 09:24:59 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2011/05/17/scaling-openfire-with-rtmfp-and-rtmp</guid>
      <dc:date>2011-05-17T09:24:59Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/scaling-openfire-with-rtmfp-and-rtmp</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1637</wfw:commentRss>
    </item>
    <item>
      <title>Red5 + Openfire = redfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2010/07/27/red5-openfire-redfire</link>
      <description>&lt;!-- [DocumentBodyStart:cb07a580-1b52-4e4b-b68e-6eb9c04d82a2] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;redfire is the future of the Red5 plugin for Openfire. &lt;a href="http://red5.googlecode.com/svn/doc/trunk/FinalLogo.png"&gt;&lt;img alt="http://red5.googlecode.com/svn/doc/trunk/FinalLogo.png" class="jive-image" height="36" src="http://red5.googlecode.com/svn/doc/trunk/FinalLogo.png" style="float: right;" width="96"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In an attempt to maintain a single version of Red5phone and keep Openfire (ver 3.7.0) in step with Red5 (ver 0.9.1), I have chosen to embed Openfire inside Red5 instead of the other way round.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.igniterealtime.org/images/ignite_fans_logo-openfire.gif"&gt;&lt;img alt="http://www.igniterealtime.org/images/ignite_fans_logo-openfire.gif" class="jive-image" src="http://www.igniterealtime.org/images/ignite_fans_logo-openfire.gif" style="float: right;"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I have posted the first version at &lt;a class="jive-link-external-small" href="http://code.google.com/p/redfire/"&gt;http://code.google.com/p/redfire/&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;This first version is just only Openfire 3.7.0 beta running as a web application in Red5. You acess Openfire web console the same way. &lt;a class="jive-link-external-small" href="http://your_server:9090"&gt;http://your_server:9090&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I will be adding the improved redfire sparkweb client with latest versions of red5phone, red5screen-share and support for onesocialweb later on.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:cb07a580-1b52-4e4b-b68e-6eb9c04d82a2] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">xmpp</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5phone</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">redfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">rtmp</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">onesocialweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5screen-share</category>
      <pubDate>Tue, 27 Jul 2010 16:11:39 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2010/07/27/red5-openfire-redfire</guid>
      <dc:date>2010-07-27T16:11:39Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/red5-openfire-redfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1615</wfw:commentRss>
    </item>
    <item>
      <title>Adobe to Open Flash Platform Messaging Protocol</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2009/01/22/adobe-to-open-flash-platform-messaging-protocol</link>
      <description>&lt;!-- [DocumentBodyStart:969e6f97-8092-4ca3-a6de-df561f3c6381] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; color: #000000; font-family: 'Arial','sans-serif';"&gt;&lt;strong&gt;SAN JOSE, Calif. &amp;mdash; Jan. 20, 2009 &amp;mdash;&lt;/strong&gt; Adobe Systems Incorporated (Nasdaq:ADBE) today announced plans to publish the Real-Time Messaging Protocol (RTMP) specification, &lt;a class="jive-link-external-small" href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200901/012009RTMP.html"&gt;more&lt;/a&gt;..&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-size: 10pt; color: #000000; font-family: 'Arial','sans-serif';"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; color: #000000; font-family: 'Arial','sans-serif';"&gt;This is good news for the &lt;a class="jive-link-external-small" href="http://www.osflash.org/red5"&gt;Red5 project&lt;/a&gt; and the Red5 plugin for Openfire with the &lt;a class="jive-link-external-small" href="http://code.google.com/p/red5phone/"&gt;Red5phone Flash phone&lt;/a&gt;.&lt;/span&gt; &lt;span style="font-size: 10pt; color: #000000; font-family: 'Arial','sans-serif';"&gt;It will be interesting to see if the XMPP Standards council will give the &lt;a class="jive-link-external-small" href="http://xmpp.org/extensions/inbox/jingle-rtmp.html"&gt;Jingle RTMP Transport&lt;/a&gt; proposal another consideration.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:969e6f97-8092-4ca3-a6de-df561f3c6381] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">xmpp</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">flash</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">jingle</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5phone</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">rmtp</category>
      <pubDate>Thu, 22 Jan 2009 21:04:10 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2009/01/22/adobe-to-open-flash-platform-messaging-protocol</guid>
      <dc:date>2009-01-22T21:04:10Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/adobe-to-open-flash-platform-messaging-protocol</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1582</wfw:commentRss>
    </item>
    <item>
      <title>Develop your own Plugins for Red5 SparkWeb</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/12/08/develop-your-own-plugins-for-red5-sparkweb</link>
      <description>&lt;!-- [DocumentBodyStart:bcf780c4-3b70-4011-bf11-babdf01f89e4] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;After Gato made this suggestion in my &lt;a class="" href="http://community.igniterealtime.org/blogs/fastpath-added-to-sparkweb-with-red5-video-and-desktop-sharing"&gt;last blog&lt;/a&gt;, I decided to move this request to the top of my to-do list as I also need it for another project I am currently working on.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/user_tune.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/user_tune.jpg" class="jive-image" src="http://red5.4ng.net/gtms/user_tune.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;How does it work?&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I am using the &lt;a class="jive-link-external-small" href="http://www.adobe.com/devnet/flex/samples/dashboard/dashboard.html"&gt;Flex Dashboard&lt;/a&gt; developed by &lt;a class="jive-link-external-small" href="http://www.esria.com"&gt;ESRIA&lt;/a&gt; which was donated to the Adobe Developer Connection. Plugins are presented in a pod layout called a View. Each View occupies a Tab in the SparkWeb ChatWindow. You can modify Views by dragging and dropping pods to a different location and minimizing, maximizing, and restoring pod windows. View changes are saved using a LocalSharedObject. View configuration data is loaded from sparkweb/plugins/plugins.xml with values in plugins.xml indicating which swf file to load for a particular pod within each View.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: courier new,courier;"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;&lt;a href="http://red5.4ng.net/gtms/plugins.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/plugins.jpg" class="jive-image" src="http://red5.4ng.net/gtms/plugins.jpg"/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&lt;span style="font-family: Courier New;"&gt;&lt;/span&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;views&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;view id="view0" label="Plugin Demo"&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app01" title="User Moods" dataSource="plugins/moods.swf" /&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app02" title="User Tunes" dataSource="plugins/usertunes.swf" /&amp;gt;&lt;br/&gt;&amp;#160; &amp;lt;pod id="app03" title="Demo" dataSource="plugins/demo.swf" /&amp;gt;&lt;br/&gt;&amp;lt;/view&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-size: 8pt; font-family: courier new,courier;"&gt;&amp;lt;/views&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;SparkWeb will load each pod SWF file and call the method setParentApplication passing it the SparkWeb root Application object. From this object, you can navigate your way to access all other SparkWeb public objects and even add eventhandlers on events like NewMessage for example.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;To get a feel of what can be done, I decided to implement the User Tunes and Moods PEP (personal eventing protocol) applications. See &lt;a class="jive-link-external-small" href="http://caustiq.esoteriq.org/nb/archives/2007/08/#e2007-08-19T21_56_08.txt"&gt;Armando Jagucki's blog&lt;/a&gt; for more details about PEP in Openfire. The source code to the demo plugins is in the src/plugins folder.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;span&gt;For those interested, the latest version of Red5 Plugin for Openfire can be found at _&lt;/span&gt;&lt;a class="jive-link-external-small" href="http://red5.4ng.net/red5-0.1.06.zip" target="_blank"&gt;http://red5.4ng.net/red5-0.1.06.zip&lt;/a&gt;&lt;span&gt;. Remove comments in plugins.xml to activate the demo.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:bcf780c4-3b70-4011-bf11-babdf01f89e4] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">flex</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">pep</category>
      <pubDate>Mon, 08 Dec 2008 22:21:28 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/12/08/develop-your-own-plugins-for-red5-sparkweb</guid>
      <dc:date>2008-12-08T22:21:28Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/develop-your-own-plugins-for-red5-sparkweb</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1576</wfw:commentRss>
    </item>
    <item>
      <title>Fastpath added to SparkWeb with Red5 video and desktop sharing</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/11/23/fastpath-added-to-sparkweb-with-red5-video-and-desktop-sharing</link>
      <description>&lt;!-- [DocumentBodyStart:958589b8-62b7-4936-8a3b-c68f90c30998] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;The latest version of the Openfire Red5 plugin supports Openfire Fastpath and Webchat plugins from SparkWeb.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a class="jive-link-external-small" href="http://red5.4ng.net/red5-0.1.04.zip"&gt;http://red5.4ng.net/red5-0.1.04.zip&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;You can now use SparkWeb as a support agent to a workgroup queue and engage in a live support chat with a remote Webchat user on a website. It is fully compatible with Spark, but does not have all the Fastpath features of Spark yet.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/Image13.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/Image13.jpg" class="jive-image" src="http://red5.4ng.net/gtms/Image13.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It will also let a support agent start a Red5 audio/video conference or desktop share session with the remote user.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/Image4a.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/Image4a.jpg" class="jive-image" src="http://red5.4ng.net/gtms/Image4a.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The requests will appear as Webchat co-browsing requests. The user clicks on the link to start the video conference in a web browser window.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:958589b8-62b7-4936-8a3b-c68f90c30998] --&gt;</description>
      <pubDate>Mon, 24 Nov 2008 01:14:58 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/11/23/fastpath-added-to-sparkweb-with-red5-video-and-desktop-sharing</guid>
      <dc:date>2008-11-24T01:14:58Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/fastpath-added-to-sparkweb-with-red5-video-and-desktop-sharing</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1573</wfw:commentRss>
    </item>
    <item>
      <title>Clearspace and Openfire with SparkWeb</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/10/11/clearspace-and-openfire-with-sparkweb</link>
      <description>&lt;!-- [DocumentBodyStart:6c880a4f-76fb-4a22-a502-a54bd9199b68] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;I use Openfire and SparkWeb everyday and recently starting evaluating Clearspace to power the community I am building for my wife's education consultancy (&lt;a class="jive-link-external-small" href="http://www.inspiredfutures.co.uk"&gt;www.inspiredfutures.co.uk&lt;/a&gt;). As I had limited computing power and memory to work with on my hosted server, it became expedient that I needed to integrate all three products under the same web server and Java JVM.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;The first thing I did was to make an openfire plugin out of Clearspace&lt;/em&gt;&lt;/p&gt;&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;The next thing I did was to enable SparkWeb display an HTML page from its chat container&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/Image14.jpg"&gt;&lt;img alt="http://red5.4ng.net/gtms/Image14.jpg" class="jive-image" height="293" src="http://red5.4ng.net/gtms/Image14.jpg" width="454"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The result is what you see above and I am very pleased with it (chuffed as we say in the UK). The benefits of integrating Openfire and Clearspace has already been mentioned &lt;a class="" href="http://community.igniterealtime.org/blogs/openfire-360-has-been-released"&gt;here &lt;/a&gt;. Adding SparkWeb to that combination in order to have realtime messaging, desktop sharing, Red5 audio/video calling and a SIP phone makes a compelling case for me to use Clearspace &lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/happy.gif" width="16px"/&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have reservations about real-time integration with web applications that use the MVC model based on Stuts like Clearspace or even PHP applications like SugarCRM. Even Salesforce.com also falls into the same group because they all build their UI on the server and everytime the user does anything that requires a server fetch, the screen goes all blank while you wait for the whole page to be rebuilt from server-side Java code.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Putting a softphone or an IM client as a widget in these applications requires constant connect/disconnect cycles as the user moves from page to page. It reminds me of my attempt to build a real-time application on an Apple iPhone and a softphone in Salesforce.com. What we need is to be able to keep our widgets UI resident on the client as well as the user session in the plugin on the server. I am curious to see how Jive Software implements the realtime widgets in Clearspace.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In the meantime, I am happy to make SparkWeb my container for real-time web applications as I am getting biased towards Adobe's open-source Flex as my de-facto web client application development platform. I learnt a lot from studying the SparkWeb code &lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/wink.gif" width="16px"/&gt; and I am planing on developing some Clearspace widgets that use SparkWeb's features through the Javascript External Interface to make the integration complete.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;If you want to use SparkWeb as a container for your web applications as I have done, pick up the latest version of the Red5 plugin from &lt;a class="" href="http://community.igniterealtime.org/blogs/openfire-360-has-been-released"&gt;here.&lt;/a&gt; Copy and edit index.html. Change the &lt;strong&gt;httpLabel&lt;/strong&gt; and &lt;strong&gt;httpURL&lt;/strong&gt; parameters to your preference.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:6c880a4f-76fb-4a22-a502-a54bd9199b68] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">webapps</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">open-source</category>
      <pubDate>Sun, 12 Oct 2008 00:09:12 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/10/11/clearspace-and-openfire-with-sparkweb</guid>
      <dc:date>2008-10-12T00:09:12Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/clearspace-and-openfire-with-sparkweb</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1568</wfw:commentRss>
    </item>
    <item>
      <title>Flash-based Audio and Video in Spark, SparkWeb and Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/07/26/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:c35c3fc8-7cd4-4f80-b961-08dca010b571] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;When SparkWeb became open-source, I took a look at the source code and found it had more features than the Flex-based XMPP client I was co-developing for the &lt;a class="jive-link-anchor-small"&gt;Red5 Plugin&lt;/a&gt;. It therefore made sense to migrate the Flash audio and video features we had developed for our client to SparkWeb and make it compatible with the Spark and Openfire Red5 Plugins and package it as part of the Red5 plugin. The downside to this that the modifications to the Red5 version of SparkWeb makes it out of sync with the official SVN and it could possibly become a fork requiring a name change later on.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;So what does the Red5 SparkWeb offer?&lt;br/&gt;&lt;br/&gt;&lt;/em&gt;&lt;/p&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td style=";"&gt;&lt;a href="http://red5.4ng.net/gtms/sparkweb5.png"&gt;&lt;img src="http://red5.4ng.net/gtms/sparkweb5.png"/&gt;&lt;/a&gt;&lt;/td&gt;&lt;td style=";"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;A plugin container for SparkWeb. I noticed&amp;#160; that quite a number of users are asking for a plugin to deploy SparkWeb. My advice would be to try the Red5 Plugin. &lt;br/&gt;&lt;br/&gt;Configure&amp;#160; Index.html and point your users at &lt;br/&gt;&lt;br/&gt;&lt;a class="jive-link-external-small" href="http://your_server:nnnn/red5_webapp_name/sparkweb" target="_blank"&gt;http://your_server:nnnn/red5_webapp_name/sparkweb&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Where nnnn is your HTTP-BIND port number (default 7070) and red5_webapp_name is your default red5 web application name (default red5)&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Enables use of the Red5 plugin audio and video features with both Spark and SparkWeb. You can't do video messaging and the video roster is replaced with visual presence (see below). You can make audio/video calls and share your desktop with your contacts. Each call record is logged in openfire and can be queried by the administrator with the Openfire SIP plugin.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Makes SIP phone calls between Spark and SparkWeb users. All SparkWeb SIP calls are logged with the Openfire SIP plugin as well.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Provides webcam support. If you have a webcam installed on your PC, it will be automatically detected and will be used instead of your vcard photo. You can disable this in index.html. You can add or replace your vcard photo with a snapshot of your webcam when you edit your profile. You can also publish snapshots from your webcam as &lt;strong&gt;visual presence &lt;/strong&gt;to all your contacts&lt;strong&gt;.&lt;/strong&gt; What this means is that all your contacts will have&amp;#160; a snapshot of your webcam in their rosters. The interval between snapshots is 60 secs by default and can be modified in index.html. See a draft copy of my &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/community/docs/DOC-1573"&gt;proposal&lt;/a&gt; to extend XMPP with visual presence. Please feel free to post comments at the bottom of the document.&lt;br/&gt;&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I also made a few cosmetic changes to my taste and added sound effects for incoming calls and instant messaging. I added some code to improve the loss of focus detection by tracking Flash application activation/deactivation messages and mouse movement. If you use Internet explorer and enable pop-ups, you will get a pop-up in the bottom right corner of the screen with a photo, name and first line of the incoming messaging if you are outside of SparkWeb when a new message arrives.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I am hoping to add fastpath support and a calendar to SparkWeb next. &lt;img height="16px" src="http://community.igniterealtime.org/4.5.5/images/emoticons/happy.gif" width="16px"/&gt;&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:c35c3fc8-7cd4-4f80-b961-08dca010b571] --&gt;</description>
      <category domain="http://community.igniterealtime.org/blogs/tags">spark</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">video</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">flex</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">openfire</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">plugin</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">presence</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">flash</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sparkweb</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">red5</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">webcam</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">sip</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">audio</category>
      <category domain="http://community.igniterealtime.org/blogs/tags">visual</category>
      <pubDate>Sat, 26 Jul 2008 06:08:54 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/07/26/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</guid>
      <dc:date>2008-07-26T06:08:54Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/flash-based-audio-and-video-in-spark-sparkweb-and-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1551</wfw:commentRss>
    </item>
    <item>
      <title>Flash-based Audio in Openfire part II</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2008/05/05/flashbased-audio-in-openfire-part-ii</link>
      <description>&lt;!-- [DocumentBodyStart:006b868e-e253-450b-aab3-5d7bd8632acf] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Just over a year ago, I &lt;a class="jive-link-external-small" href="http://www.igniterealtime.org/community/blogs/ignite/2007/04/17/flashbased-audio-and-video-in-openfire"&gt;blogged&lt;/a&gt; about using audio and video with openfire. At that time, I implemented a SIP based softphone in Adobe Flash using &lt;a class="jive-link-external-small" href="http://www.asteriskwin32.com"&gt;AsteriskWin32&lt;/a&gt; and &lt;a class="jive-link-external-small" href="http://www.ntonyx.com/vac.htm"&gt;VAC4&lt;/a&gt;. My argument for an open-source, standards based, no-install web-based softphone as a requirement for Web 2.0 voice applications is still valid today and the emergence of &lt;a class="jive-link-external-small" href="http://www.ribbit.com/"&gt;Ribbit&lt;/a&gt;, &lt;a class="jive-link-external-small" href="http://tringme.com/"&gt;TringMe&lt;/a&gt;, &lt;a class="jive-link-external-small" href="http://www.zingaya.jp/"&gt;Zingaya&lt;/a&gt; (&lt;a class="jive-link-external-small" href="http://www.flashphone.ru"&gt;Flashphone&lt;/a&gt;) and others confirmed my thinking was not isolated. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;em&gt;It has however been a disappointment that all implementations I have encountered to-date have been closed, proprietary and inaccessible for integration (both client and server).&lt;/em&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The latest release of the Red5 Plugin for Openfire features a completely open-source implementation of a web-based SIP softphone written in Flex3 and should work on both Windows and Linux. It uses &lt;a class="jive-link-external-small" href="http://www.mjsip.org/"&gt;MjSIP&lt;/a&gt; as the SIP user agent in the plugin and should work with most SIP proxies, but I have only tested with Asterisk. I have also only tested 2 simultaneous users, but there is no limit and will depend on how many users and media streams Red5 can cope with before it dies. Each telephone conversation consumes 2 user RTMP connections and 4 audio streams on Red5. All source code is provided and you are free to use it in your Openfire Red5 Plugin applications. Just confirm that the open-source licenses of MjSIP and Nelly2PCM are to your liking.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/flashphone3.jpg"&gt;&lt;img src="http://red5.4ng.net/gtms/flashphone3.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have also integrated the softphone into SparkWeb and the Openfire SIP plugin. This will enable a user to make SIP calls from Spark and SparkWeb with the same user profile. The old Red5gateway will be depreciated and in a later release for window users, I will be adding AsteriskWin32 to the plugin and provide a complete SIP solution for Openfire.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;As usual, any feedback will be appreciated.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt; &amp;#160;&lt;/p&gt;&lt;p&gt;For details of how this works read on.....&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://red5.4ng.net/gtms/flashphone2.jpg"&gt;&lt;img src="http://red5.4ng.net/gtms/flashphone2.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The red5Phone Flex3 client makes a NetConnection with the Red5 SIP application. When it recieves a success response, it makes a remote "open" method call in the Red5 SIP application which creates a pair of SIPUser and RTMPUser objects for that user and instructs SIPUser to register the user with the specified SIP proxy. When the NetConnection is closed by the Flex3 client, the pair of objects are destroyed and the user is unregistered from the SIP proxy.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;When the Flex3 client invokes "call" remotely, SIPUser starts a SIP outgoing call with the SIP proxy and exchanges RTP audio streams. It invokes "connected" on the Flex3 client and informs it of what stream names Flex3 client should use to publish from the PC microphone and play to the PC speaker. It then resamples the incoming audio RTP packets from 8KHZ to 11KHZ, converts from ulaw to ADPCM and calls a method in the RTMPUser object to publish the audio to Red5 using the same name it gave to the Flex3 client to play.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;The RTMPUser objects also plays the stream being published by the Flex3 client which is in the Nellymoser ASAO codec. It calls asao2ulaw (my modified version of the open source nelly2pcm) to convert the packets to ulaw and pass to SIPUser through a PipedOutputStream.&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;An incoming call follows the same pattern, the incoming SIP signal appears as a remote "incoming" call on the flex3 client. The user can then pickup the call and the Red5phone Flex3 client remotely calls "accept" in SIPUser to accept the call. The audio is setup the same way as an outgoing call.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:006b868e-e253-450b-aab3-5d7bd8632acf] --&gt;</description>
      <pubDate>Mon, 05 May 2008 13:47:18 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2008/05/05/flashbased-audio-in-openfire-part-ii</guid>
      <dc:date>2008-05-05T13:47:18Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/flashbased-audio-in-openfire-part-ii</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1536</wfw:commentRss>
    </item>
    <item>
      <title>Desktop screen sharing with Openfire</title>
      <link>http://community.igniterealtime.org/blogs/ignite/2007/08/30/desktop-screen-sharing-with-openfire</link>
      <description>&lt;!-- [DocumentBodyStart:58de99e8-908e-4825-9b49-375eaf48d24e] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;A few moons ago, there was a &lt;a class="jive-link-message-small" href="http://community.igniterealtime.org/message/147627#147627"&gt;request&lt;/a&gt; from some Spark users in igniterealtime for a desktop screen sharing plugin. I did mention at that point that I had done something in the past using Red5 and a screen-capture webcam called &lt;a class="jive-link-external-small" href="http://www.hmelyoff.com/index.php?section=9"&gt;VH Screen Capture Driver&lt;/a&gt; and that I would dig it out of my archives and put it into a future release of the Red5 plugin. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have since discovered that this approach has a few drawbacks. It is not bandwidth efficient, will only work on Windows and although the video driver is free, it is not open source. What we needed was for Flash on the desktop to capture the screen as images, send them to a server and re-assemble them back into a video feed which is then published by Red5. Despite my best efforts, I have since not been able to work out how to do this and if &lt;em&gt;anyone has any tips and clues, please tell me&lt;/em&gt;. It will be appreciated. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;In the meantime I stumbled on &lt;a class="jive-link-external-small" href="http://code.google.com/p/openmeetings/"&gt;Openmeetings&lt;/a&gt; in the Openlaszlo community. It is an online meeting collaboration tool developed by Sebastian Wagner with a number of usefull tools like video, white-board and of course screen-sharing. The video sharing is java-based and does not require any software install other than (the java runtime environment) JRE 1.4+. It uses the same java technique (java.awt.Robot class) as Spark to take a screenshot. It goes one step further by pushing the captured screen shots at a regular interval to a web server using the http upload feature. In the spirit of Open Source and re-useability, I have now decided to use Sebatian's approach and keep the images on the web server and allow multiple clients to view with an auto-refreshing webpage instead of my original intention to convert into a video feed for Red5. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;I have added this feature to the latest version (0.0.10) of the Red5 plugin. It includes the server-side image upload support, the viewer webpage and the Openmeeting screen publisher application as a java webstart application. Both publisher and viewer can be accessed from the Spark red5 plugin and JWChat. You select the publisher from the menu to publish your desktop screen and you right click the roster context menu to view the desktop screens of your contacts. &lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;As usual, all feedback is welcome.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:58de99e8-908e-4825-9b49-375eaf48d24e] --&gt;</description>
      <pubDate>Thu, 30 Aug 2007 20:39:23 GMT</pubDate>
      <author>communityadmin@igniterealtime.org</author>
      <guid>http://community.igniterealtime.org/blogs/ignite/2007/08/30/desktop-screen-sharing-with-openfire</guid>
      <dc:date>2007-08-30T20:39:23Z</dc:date>
      <wfw:comment>http://community.igniterealtime.org/blogs/ignite/comment/desktop-screen-sharing-with-openfire</wfw:comment>
      <wfw:commentRss>http://community.igniterealtime.org/blogs/ignite/feeds/comments?blogPost=1502</wfw:commentRss>
    </item>
  </channel>
</rss>


