Case Study asteriskjava

SIP based application to facilitate peers presence information

Q3 developed a customized SIP based GUI solution to facilitate peers presence information.


Q3's global sourcing model gives the maximum benefit to customers in terms of cost savings, improved quality, access to highly talented professionals, flexibility of operations and reduced time to market.

Company Profile


The client provides VoIP based telephony solutions to the enterprises. Solutions include building VoIP infrastructure, providing soft phones, hard terminals, centrally hosted IP-PBXs etc., for in-house, inter-office and external telecommunication.

Business Situation

 

The client has a proprietary SIP based soft phone which could be installed in the MS-Windows platform to make calls. The application supports SIP 2.0 i.e. RFC 3261 and Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265.

 

The client needed a customized, GUI solution, along with the source code, that provided the presence information of the users which are configured in a peers list in the soft phone. Client needed a visual indication for the user of the software to know that the party they need to watch is currently logged on to the soft phone, using it or sitting idle.

The specific requirements of the requisite application are as follows:

 

  • The application would give an option to user to set his/her presence status. The statuses are online, offline, busy, out-of-office.
  • The application would give an option to user to make a peer/buddy list. The list would contain the usernames of persons using client’s phones.
  • The application extends the user interface of the soft phone to show the names in the buddy list. There would be a multi-coloured round indicator with each name which would show a different colour for each presence status. For, e.g. Green for Online, Red for Busy, Purple for out-of-office.
  • The application would start calling the person on the buddy list once the name is double-clicked.
  • The application would subscribe on the presence server for the presence information of the peers in the list.
  • On getting the presence notification packet from the presence server, the application should parse the PIDF document coming in the packet body, get the user name and its presence information and update the indicator again the user name accordingly.
  • When the contact in the buddy list is changed, then the application should unsubscribe for the status information of the name being removed and send a new subscription for the new contact, if entered.
  • On exiting the soft-phone the application should unsubscribe for the presence information for all the contacts listed in the buddy list


Solution

 

Q3 realized that it was important to build the requisite application in a way that the functionality should be easily integrated within the existing solution without making any changes or upgrades in the server side of the solution. Also, the application should be totally standards based so that it could be used with an array of VoIP servers and hence making it a scalable and easily deployable application. This perspective was necessary as per the demanding inter-operability requirements in the telecommunication sector.

 

The VOIP technology experts at Q3 thoroughly studied the client requirements and unearthed the hidden complications by using the existing soft-phone in the client’s VoIP infrastructure and investigating the various features provided by the application. For example, Q3 discovered that the application is supposed to be used by user in various offices of the company.

 

Furthermore, Q3 suggested improvements and alternative ways to build the application. For example, Q3 proposed to build the application is a way that users of the existing soft-phone need not to re-install the soft-phone. In this way the users need not to configure and personalize it again. To do this the application was built in a way that the users could get it as an update to the software. Also, Q3 suggested to integrate more presence statuses in the application like do not disturb, in a meeting and a custom message as well.

 

Besides the actual application development, an important client requirement was that there should be complete documentation of the entire product cycle and the document should meet the GAMP4 standards. This meant a lot of additional efforts; still, Q3 went out of its way to explore the GAMP4 standards and delivered appropriate documentation using industry standard version control system, VSS.

Technologies

 

Java 1.5, XML files (for storing data), SQL Server 2005.

Benefits

 

  • To indicate that you are currently logged on to your terminal or not.
  • Set self-status to indicate other your willingness to take the calls or not.
  • An interactive way to see the peers’ statuses in order to know the status before making calls.
  • The application can also get the statuses of hard phones as well as they also have a basic status of logged-in or logged-out, even if they do not support other statuses.
  • Dynamic update of buddy list and real-time status update.

Customer Speaks

blockquote We specialize in web and mobile software design. For one project that involved 5 CMS technologies, Blackberry and iPhone applications, we were searching for a partner from Europe to India and were seeing solution companies. Last year at CeBIT 2009, we found Q3 Technologies under the Indian Pavilion and we went through a selection process by visiting them and other companies in India. We are now associated with Q3 for more than a year and in Q3 we have found the right partners with all the skills in order to architect, develop, test and finally develop a brand new solution.blockquote
Veniel Sabestian
Director, IBusiness Solutions