A Bit of History

For a while now AVChat 3 has only been compatible with Red5 0.8 and Red5 1.0 RC1. The reasons are many but the most notable is the fact that we just couldn’t get the users and rooms list to work correctly on the newer versions of Red5. It wasn’t a major issue since AVChat worked very well with 0.8 and 0.8 could be installed along newer versions of Red5.

But back in August 2014 the Red5 developers introduced WebSocket support in version 1.0.3. This version peaked our interest knowing that WebSockets are a very good platform for building chat applications and adopting it would be a natural step forward for our mobile version of AVChat. But there was a problem, our desktop client was not yet compatible with the newer version of Red5 and the WebSocket support was still in it’s early stages. We decided to wait a little longer at the time.

We waited until the beggining of 2015 when we decided to make a major update to our mobile version and change the whole technology on which it relied to communicate with the media-server to WebSockets. First step we needed to do was make our desktop client compatible with the newer versions of Red5. So in order to do that we worked alongside Red5’s main developer Paul Mondain (thanks Paul!) to solve the issues Red5 had regarding the way it treated shared objects (the users list and rooms list rely on SharedObjects). Without going too much into technical jargon, I just wanted to say that we managed to identify and fix the issues. The fixes were included in the Red5 1.0.5 release.

In parallel we also worked on the new mobile version of the client that was based on WebSocket technology, re-writing the whole code from ground up.

What This All Means?

Two MAJOR things:

  1. AVChat 3.6 will only support Red5 1.0.5 or newer
  2. we have a new, better, faster mobile version and it’s only compatible with Red5 1.0.5  or newer

Red5 is the only media server that supports WebSockets at this time so our new mobile version only works with it. The mobile version needs a JSON library (json-smart) to be added to Red5 1.0.5’s plugins folder. You can download a Red5 1.0.5 with this library included.

Mobile Version Evolved

In the new mobile version all of the functionalities that existed before, were kept, but now they have the added benefits of the instantaneous  and open connection of the web-socket communication. A WebSocket connection is similar to the RTMP connections used by the desktop client.

This new WebSockets mechanism has a lot of benefits:

  • instantaneous communication between the mobile client and the desktop client
  • faster users list and rooms list
  • no more refreshing to get the new messages
  • much better detection of the mobile user status (joined > online > left/disconnected)

In addition to this, web-sockets allowed us to implement new functionalities that couldn’t been done before like kicking, instant join and leave messages and file sharing.

Kicking of the Mobile Users

Mobile users can now be kicked from a room (by a room moderator or an admin), or kicked from the whole chat (by an admin). The mobile client user will be notified and redirected accordingly.

Mobile user being kicked from room

Mobile user being kicked from room

Join and Leave Messages for Mobile Users

The mobile app can now register in real-time when another user from either desktop or mobile, joins or leaves the room he is in. A message will be displayed in the text chat, same as in the desktop version.

Join/Leave messages as seen by the mobile users

Join/Leave messages as seen by the mobile users

Shared Images and Files

Files and images that are shared by the desktop users are now also shown in the mobile app and can be downloaded. Images are previewed directly in the text-chat.

Shared files as seen by a mobile user

Shared files as seen by a mobile user

Other Changes

The new mobile version is found in the new ws folder. The old one was in the m folder and it is not included anymore with the AVChat archive. The new mobile version comes in a new archive separate from AVChat.

Some of the config options that were specifically implemented for the older version of the mobile client became completely unnecessary for the new version so they were removed. The options in question are from the media server config file:

  • webServerIp was removed
  • adminConnectedForXSeconds  was removed

Therefore the required steps for the setup have been changed, more details in  the mobile installation instructions.

Updated Integration Kits

The following integration kits have all been updated to check for and redirect users to the new mobile version:

New Mobile Demo

The new AVChat Mobile Version is available to test at m.avchat.net .

New Price & Licensing Model

From now on the mobile version will sell separately from AVChat:

  • $59 for the license/download/archive
  • $39 for 1 Year of Updates & Support
  • $19 for 3 Months of Updates & Support

All existing clients will get the initial license for free. During the next few days the new mobile version will show up as a downloadable product/archive in their private client area.

New Features for the Desktop Client

Stream Recording API (Red5 only)

We’ve implemented a mechanism that calls a URL every time a new stream recording is started and/or stopped.

The way this works is if the media server is setup to record the live streams, each time a stream is started or closed, the media server calls the new webserver side file – defined by the new getRecordedVideosInfo setting in avchat3.properties – sending the following information about the stream: stream name, the siteId and the username of the user who’s stream belongs to.

The API works hand in hand with the recordAudioVideoStreams setting (also in avchat3.properties). 

The documentation covers the API in detail.

Recorded Video Streams Can Be Acessed via HTTP (Red5 only)

The API described above makes it possible to track the recorded videos but you can now also easily play them back via HTTP. Together they can be a powerful tool for managing the streams recorded by AVChat.

Accessing the recorded streams via http will help greatly if you want to:

  • Play specific files through HTML5 or progressive download
  • Download files locally
  • Move the files to a different server

The access to the recorded videos is done using Red5’s integrated Tomcat web server and the recorded streams can be accessible from the browser at http://RED5_SERVER_ADDRESS:5080/avchat30/streams/

For more information check out the documentation.

Updates & Fixes:

Updates:

  • Updates to the way the camera setting window looks when only a microphone is detected
  • Updates to the way a webcam window is shown when the stream is audio only.
  • Updated version of third party PHP library (Mobile_Detect.php), because it was causing issues with Chrome version 41.0.2272.76 m.
  • PMs from admins are no longer ignored even if the option is selected.
  • Fixed moderator glitch caused by the join room button not getting disabled in certain circumstances.

Fixes:

  • Fixed issue with user left conversation message being shown even though the user did not leave the room in which the PM initially started, but another common room.
  • Fixed mute cam issue that occurred when muting the audio on a users private webcam before they accepted the request, causing the audio to still come through.
  • Fixed issue with the status bar overlapping with the active room tab in the admin client if hideStatusBar was set to 1.
  • Fixed issue with some buttons font colors reverting to default color after they have been pressed.
  • Fixed issue with close button overlapping with the text of a tab button if the tabs were resized to a much smaller width than the intended size.
  • Fixed issue with tab width being larger than it should.
  • Further fixes for useritem alignment based on the size of the menu and position of the useritem.
  • Fixed issue with possible null reference when just a microphone was present and no camera.
  • Fixed issue with the way long user names were displayed in the webcam window.
  • Fixed issue with push to talk button position when only the microphone was present.

How To Download AVChat 3.6 And Upgrade Older Versions

You can download the new AVChat 3.6 from your private client area. You can login at https://nusofthq.com/c/ .

Steps to upgrade old AVChat installations to AVChat 3.6:

  1. make a backup of your current AVChat client side folder (it’s on your website)
  2. overwrite all old client side files (for the settings file and the language files, you can just add the new settings and the new translations to your current settings and language files.)
  3. make a backup of your media server files
  4. If you’re using Red5 0.8 or 1.0 RC1 download Red5 1.0.5 from here and install it together with the new Red5 avchat30 webapp
  5. If you’re using Wowza or AMS just overwrite the media server files with the new ones and restart the media server
  6. clear your browser cache and access AVChat 3.6

If you have issues with it after upgrading contact AVChat’s tech support through your client area or send us an email at support@nusofthq.com.

If you want us to upgrade your existing AVChat installation to 3.6 for you can purchase our Update AVChat Service ($59) from http://avchat.net/services#update. If you’re looking for a clean install you can just purchase the Pro AVChat Install Service ($29) from http://avchat.net/services#installavchat.  Once you make the purchase just contact AVChat’s tech support through your client area or send us an email at support@nusofthq.com and we’ll take it from there.