Subject: Re: [Sipping] 3pcc - controller receiving invite and sessions with multiple controllers

From: Niall Murray <[email-masked]>
Date: Mon, 9 Aug 2010 11:01:51 +0100

>
> Hello All,
>
> My question is probably quite simple as I am new to SIP but I have 2
> questions in relation to 3PCC best practices with SIP :
> http://tools.ietf.org/html/rfc3725.
>
> In all of the examples in this document, the controller initiates the
> session. My first query relates to the scenario whereby if a device acting
> as a controller *receives *an invite. If this called controlling device
> was aware of a number of local devices it wanted to use in the session I
> imagine that it could either parse the initial invite SDP, and send the
> updated or new SDP (with relevant SDP parts) to each of the respective
> devices e.g. m =audio is sent to speaker, whereas m=video is sent to display
> device. Or an alternative approach would be just to forward the initial
> invite SDP to all the devices and parse and edit the SDP "answer" back to
> the calling device. Are both of these approaches valid? Please see the flow
> below :
>
>
> Audio / Video Device           Controller         Speaker       Display
> Device
>
           |                          |
|                   |
           |(1) INV SDP (m=video,     |                   |
|
           |      m=audio )           |
|                   |
                     |   ------------>          |                   |
                   |
           |                          |2)INV SDP m=audio
|                   |
                     |                          |  ------------>    |
                   |
           |                          |3)INV SDP m=video
|                   |
                     |                          |  ------------
-----------------------> |
           |                          |
|                   |
                     |                          | (4) 200 OK answer1|
                   |
           |                          |  (audio)          |
|
           |                          |<------------------|
|
                     |                          |                   |(5)200
OK answer2  |
           |                          |                   | (video)
|
           |                          |
<--------------------------------------|
           |                          |
|                   |
           |                          |
|                   |
                      |              (6)Parsing and combining of
|                   |
                         audio/video SDP at controller   |
|
           | 200 OK(Combined a/v SDP) |
|                   |
           |   <------------------    |
|                   |
           |      (7) ACK             |
|                   |
           |      -------------->     |
|                   |
           |                          |         (8) ACK
|                   |
           |                          |  -------------->
|                   |
           |                          |
|                   |
           |                          |       (9) ACK   ------------------->
|

====================================================================
          ==================================Media
Flow========================

====================================================================

> I have a second question in relation to a scenario where a session involve
> multiple devices on both sides. A controller on "each" side of the
> communication would be required here. I am not certain how this scenario
> would work but I assume the calling controller would invite its local
> devices to a session first with no SDP, and use the capabilities of these
> devices in the "invite" to the called controller. The called controller
> could then use this description data to invite its respective local devices?
>
>

                           Calling
Side
Called Side

Camera   Microphone  Controller - A      Controller - B        Speaker
Display Device
      |         |             |                   |
|
|
      |         |(1)INV No SDP|                   |
|
|
      |         |  <-----     |                   |
|
|
      |         |             |                   |
|
|
      |        (2)INV No SDP  |                   |
|
|
      |  <-------------       |                   |
|
|
      |         |             |                   |
|
|
      |         |(3)200 OK    |                   |
|
|
      |         |  with Audio offer               |
|
|
      |         |  ------->   |                   |
|
|
      |(4)200 OK|             |                   |
|
|
      | with video offer      |                   |                   |
          |
      |  -------------->      |                   |
|
|
      |         |             |                   |
|
|
      |         |    (5)Combine offers at         |
|                |
      |         |        Controller               |
|
|
      |         |             |  INV SDP          |
|                |
      |         |              (Combined SDP)     |
|                |
      |         |             | ----------------> |
|
|
      |         |             |                   |
|
|
      |         |             |            (6)Parsing of SDP
|
|
      |         |             |                   |INV SDP m=audio
|                |
           |         |             |                   |  ------------>    |
                |
      |         |             |                   |INV SDP m=video
|                |
           |         |             |                   |
--------------------------------> |
      |         |             |                   |
|
|
      |         |             |                   | (7) 200 OK
answer1|
|
      |         |             |                   |    for audio
|
|
      |         |             |                   |  <-------------
|
|
      |         |             |                   |
|
|
      |         |             |                   |                   |(8)200
ok ans 2 |
      |         |             |                   |                   | for
video      |
      |         |             |                   |
<-------------------------------  |
      |         |             |                   |
|
|
      |         |             |                   |
|
|
      |         |             |            (9)Combination of answers
|
|
      |         |             |                 from various devices
|                |
      |         |             |                200 OK COMBined
answers|
|
      |         |             |  <---------------------------------
|
|
      |         |(10)ACK Audio|                   |
|
|
      |         |  <--------  |                   |
|
|
      |      (11)ACK Video    |                   |
|
|
      |   <-----------------  |                   |
ACK
|
      |         |             |                   |
--------------------------->       |

=====================================================================================
    ===========================================Media
Flow================================

=====================================================================================

I am aware of timeout issues with some of these flows. Also there is an
assumption that the SDP will stay the same during the call in case 2, are
there any other issues or alternative flows I should consider to assist with
multiple devices in a session?
Thanks in advance,
Niall