How about sharing your emotions in audio rather than the traditional email message ? 🙂 Socialengine allows you to upload a audio/video and send them in a message to other community user but is not of much help if you want to send and receive a voice message or song to your friend or family on their mobile phone.
- Monetize your community
- Send and receive voice message
- Easily customizable with any telephony vendor
- Extensible support for SMS
- No requirement for streaming server
We have been working on a module which allows socialengine community users to send recorded voice message on user mobile phone. In some countries there is limited access to internet due to their government policy though most of the people in those countries have access to mobile phone. So its easier for a community user to send voice message or song to their friends and relatives without requiring the access to internet.
We knew that it would be challenging job and the first task was to find out a solution to record the voice from a website. There were multiple solutions like implementing the client for audio streaming server like RED5 or Flash Media Server. Our client requirements was to record the voice message for 2-3 mins and adding audio streaming infrastructure was overkill. So we decided to use a very simple solution which allow us to record the voice and able to send it to our server. Luckily we found a wonderful open source plugin for voice recording by sajith. This plugin allow us to record the voice and also allow to review the recording. This plugin also allow us to send the voice to the server in wave format. You can found many utilities for linux like ffmpeg or lame which can easily convert the wav files to mp3.
There were some missing features & bugs in the plugin. The main problem with the plugin was that it can’t work with any third party javascript’s framework other than jQuery. Since socialengine uses prototype as its javascript framework, the recording plugin didn’t worked at all. The other major issue with the plugin was that you cannot add parameters on the fly to the server. The easy fix could be to make two calls, one for the file and other for other parameters. Also there was issue with this approach as callback for upload completion was not working properly. So we decided to fix those issues and contributed those fixes back to the project for the benefit of the socialengine community.
Now the next challenge was to send the voice message to the user’s actual device. There are many vendors which can provide telephony infrastructure to send the voice message to user’s device. So one can choose the appropriate vendor for the specific country. Our client decided to use casiencuba to send the voice message to the user’s device.
Now the last part of the challenge was to receive the voice mail from the user and publish it to socialengine. For this purpose, we exposed a service to vendor who can publish the voice message to the socialengine community. Once socialengine service gets the reply message from the vendor, voice mail plugin stores the information in the system. Community user is notified about the voice message and user shall be able to play the voice message.
This module is extensible enough to support the SMS feature as well. Feel free to contact us if you have any question or interested in customizing this module for your need.