2.5.17 Start and Join a Multiparty Audio Conference

This use case, illustrated in the following diagram, describes how a protocol client can start and join a multiparty audio conference. The diagram in example call flow below is composed of multiple asynchronous sub-flows, described in references after the diagram, so messages can appear in different order than in the diagram.

Steps for starting and joining a multiparty audio conference

Figure 16: Steps for starting and joining a multiparty audio conference

References

Preconditions

  • The protocol client is signed in, as described in section 2.5.5.

Steps

  1. The protocol client sends a request (addConference) to Communications Server to instantiate a conference, as described in [MS-CONFPRO] and [MS-SIPRE].

  2. Communications Server sends a SIP 200 OK response with a conference URI, as described in [MS-SIPRE] and [MS-CONFPRO].

  3. The protocol client sends a SIP INVITE message to Communications Server to join the conference (addUser) instantiated in step 1, as described in [MS-SIPRE] and [MS-CONFBAS].

  4. Communications Server sends a SIP 200 OK response containing the join response (addUser response) to the protocol client, as described in [MS-SIPRE] and [MS-CONFBAS].

  5. The protocol client sends a SIP SUBSCRIBE message to subscribe to conference information, as described in [MS-SIPRE] and [MS-CONFBAS].

  6. Communications Server sends a SIP 200 OK with the conference information document and the MCU URI, as described in [MS-SIPRE], [MS-CONFAV], and [MS-CONFBAS].

  7. Communications Server sends a SIP BENOTIFY to the protocol client containing subsequent roster updates, as described in [MS-SIPRE] and [MS-CONFBAS].

  8. The protocol client sends a SIP INFO message with a getConference request, as described in [MS-SIPRE] and [MS-CONFPRO].

  9. Communications Server sends a SIP 202 accepted response, as described in [MS-SIPRE].

  10. Communications Server sends a SIP INFO message with a getConference response to the protocol client, as described in [MS-SIPRE] and [MS-CONFPRO].

  11. The protocol client sends a SIP 200 OK to Communications Server, as described in [MS-SIPRE].

  12. The protocol client sends a SIP INVITE with an SDP offer to Communications Server, as described in [MS-SIPRE] and [MS-SDPEXT].

  13. Communications Server sends a SIP 200 OK with an SDP answer to the protocol client, as described in [MS-SIPRE] and [MS-SDPEXT].

  14. Communications Server initiates ICE connectivity tests to the protocol client, as described in [MS-ICE] or [MS-ICE2]<25> and [MS-ICE2BWM].<26>

  15. The protocol client sends an ICE connectivity response to Communications Server, as described in [MS-ICE] or [MS-ICE2]<27> and [MS-ICE2BWM].<28>

  16. Communications Server sends RTP/RTCP voice packets to the protocol client, as described in [MS-RTP], [MS-RTPRADEX], [MS-SRTP], and [MS-SSRTP].

  17. The protocol client sends RTP/RTCP voice packets to Communications Server, as described in [MS-RTP], [MS-RTPRADEX], [MS-SRTP], and [MS-SSRTP].

  18. The protocol client sends an updated media description offer to Communications Server, as described in [MS-SIPRE] and [MS-SDPEXT].

  19. Communications Server sends a media description answer to the protocol client, as described in [MS-SIPRE] and [MS-SDPEXT].

Note: The steps to allocate media ports on the edge protocol server for firewall and NAT traversal are omitted for clarity. These steps are described in see [MS-AVEDGEA], [MS-TURN], and [MS-TURNBWM]

Post-conditions

  • A conference session is established between the protocol client and Communications Server, and real-time voice packets are exchanged between the protocol client and Communications Server. Multiple protocol clients can join the same conference.