SIP presence is a tricky subject, mainly because there are some different ways to achieve the same thing. VoIP users are interested to know if “something” has happened in their network. They don’t care how this is technically done, or how many RFCs describe a simple scenario. The truth is that there are indeed many RFCs that handle various aspects:
- the message-summary event allows the user to learn about new voice mail messages
- the dialog event advertises when users are initiating, accepting or terminating voice conversations
- presence events let users know when the status of a resource has changed
There is no simple way to communicate presence between devices because they might support different standards. Also, standards are sometimes ambiguous resulting in different implementations.
VoipNow tries to solve these shortcomings by translating presence between different types of implementations and events.
Let’s take a short example. In a cloud deployment with tens of thousands of customers, the service provider cannot hope that his customers would use only recommended devices. On a typical business deployment this might work because the company installing the PBX will get only a particular type of SIP device, which is known to work flawlessly. Cloud deployments are flexible, so a single customer can use a mix of Grandstream handsets, X-Lite softphones and Polycom handsets. Grandstream publishes dialog events, X-Lite learns about presence events of type pidf+xml, and Polycom subscribes for events of type xpidf+xml. These phones will subscribe for the presence information to the VoipNow server in their own language: dialog-info+xml, pidf+xml and xpidf+xml. VoipNow is able to translate between languages so every device will speak with the server the language it can understand.
So, to sum up, there is an efficient way of achieving real Unified Communications between different vendors without limiting the customer’s options. Enjoy the freedom to choose 🙂