Enhanced MPOP Support
RTC Client API version 1.3 provides enhanced multi-point of presence (MPOP) support so that client applications have the flexibility to specify how session requests are routed. MPOP is the ability for multiple devices to publish presence on behalf of one user, and for this presence information to be sent to any of that user's watchers.
For previous versions of the RTC Client API, a client application was completely dependant on the routing configuration of the SIP server, the presence states of the buddy (who is logged into multiple devices in the MPOP case), and the behavior of other client applications that have registered the buddy's presence. A calling application was not able to route a request to a specific device or application. In addition, a receiving application also was not able to support forking features provided by some SIP servers (such as Microsoft Office Live Communications Server 2005).
Forking is a routing feature where the server routes a session request to all devices that the user is signed in to. Each device (client application) has the opportunity to accept the request. The first device to accept the request becomes the receiving end point of that session. All other devices that received a session request are sent a message that cancels the original request sent to those devices. Note that even though session requests can be forked to multiple devices, the RTC Client API supports one and only one device per user in a given session.
RTC Client API version 1.3 has the following MPOP enhancements:
- A calling application can specify that a request to be routed to a specific device or use the routing logic provided by the SIP server.
- A receiving application can specify whether it supports forking. If it does support forking, the application can accept a session request (for the user signed in to that application) that has been forked to multiple devices (applications) and become the buddy's single receiving endpoint for the session.