Discussion:
3pcc - controller receiving invite and sessions with multiple controllers
Niall Murray
2010-08-09 10:01:51 UTC
Permalink
Hello All,
My question is probably quite simple as I am new to SIP but I have 2
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
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

Loading...