Continuing my thoughts about value added services in a SIP world, I’d like to complete my idea about this subject by defining an interactive service and briefly talking about what enabling technologies and protocols are available.
So how do you define an interactive service?
I believe an interactive service has 3 main components:
- Enables users to interact with the service or other users in real-time by an online interaction.
- Utilizes “presence”.
- Allows the service logic (or backend application) to send unsolicited events to the user or subscriber.
IM services like Skype, MSN and Yahoo Messenger, etc., are perfect examples of this type of service. Note that interactive services are not a new concept and many BBS in the 80s or the 90s or even terminal based services on the French Minitel used these principles already. Except that at this time there was no video transport and very crude UI and protocols. And let’s not forget that an interactive value added service willl be the combination of both interactive and value added service.
What technologies and protocols enable us to produce interactive services then?
I can summarize them like this:
- A user interface technology.
- A set of protocols to download the user interface, authenticate the user and provide a two way interactive conversation composed of media (IM, audio, video), server events and user commands.
- Application servers that implement the business logic and protocol connectors to interact with clients.
- Billing servers.
For now let’s focus on items 1 and 2. For these items there’s an obvious choice: Adobe Flash. It is a widespread UI technology and it has interactive functions provided by Flash Media Server. However, control and media transport use a proprietary protocol called RTMP based on TCP and a proprietary video codec On2. This severly limits the interoperation with other infrastucture.
We also studied the MPEG4 framework that has provisions for client/server interactive services. However, there is no known implementation of this.
Another choice was Microsoft: they prepared an alternative with XAML and its offer Microsoft Live Communication Server but it will be deployed with Vista. It will take two years for Vista to be supported enough to build mass services and we believe that HTML, Ajax will be in place already and it will be extremely difficult for XAML to take over.
Given these constrains, we decided to stick with “the triplet”: HTTP, HTML and Ajax and combine them with these great protocols:
- XMPP: It is a very tempting choice because it has all the primitives and the extensibility built-in.
- SIP: which provides a very good interoperability with the existing telco infrastructure.
Finally, at Ivès we chose SIP because of the reasons stated above. Without being too specific, the fact is that the MESSAGE primitive can be used for IM services, the INFO primitive can be used by the user to send commands or receive events and thus a SIP presence server can be created.