What on earth is call control ?
When researching about VoIP, PBX or phone service, you will certainly come across these words: call control. You will find it everywhere reading telecom oriented documentation. On the other hand if you search for a reference to call control in the XMPP Jingle related pages, your result set will be mostly irrelevant. And this is not because (insert your favorite search engine here)'s crawler did not read these pages, but more simply because nobody actually took the time to describe it and associate it with Jingle. I am going to try and fill this void.
Call control is the manipulation of session and media relationship affecting the experience of participants in a "conversation space".
There are several definitions of “session” on the web. I could use this one: “Each instance of a service. Sessions start when the service is first provided and close when the service is ended. A user may be allowed to have multiple sessions active simultaneously.” In the context of multimedia communication, a service is simply what supports the ability to communicate between a pair of participants. In XMPP, the willingness to establish a service session relationship is managed by the session level of the Jingle framework.
The communication between the “participants” is supported by a variable number of communication media such as voice, video, text, etc. A session comprises a dynamic set of multimedia senders and receivers and the data streams flowing from senders to receivers. In XMPP, the choice of these media, their characteristics, as well as the dynamic modification of their usage rules is managed by the media and transport levels of the Jingle framework.
At this point, we can call a participant an entity able to send an original version of a media, or receives a media, and terminate a media. In short, a participant is a end entity in a conversation, using mutimedia senders and receivers. This definifion excludes the intermediaries entities such as a media mixer or a conference service.
And finaly, we can define a “conversation space” as the set of participants having access to all the media sent in the context of that space. A phone call is a simple conversation space, as is an IM chat session in XMPP. A MUC conference room is another conversation space, as is a voice conference call.Technorati Tags: XMPP, Jingle, Jabber, VoIP, IPBX, Session signaling, Conversation space, Call control, Antecipate