Transcript
SIP Conferencing
IIR · SIP Congress 2001 21 May 2001
Stockholm, Sweden
21 – 24 May 2001 Jörg Ott
[email protected]
21 May 2001
ipDialog, Inc.
2
IETF Conferencing
! Packet multimedia experiments since 1980s
– Audio/video tools + protocols for A/V over IP
– Conference announcement and control protocols
! First IETF Audiocast (1992)
! Since then: IETF sessions on the Mbone
– Audio + video (+ sometimes slides)
! Other uses of Mbone conferencing
– Lectures, seminars, project meetings, …
– Broadcasting NASA missions, concerts, …
21 May 2001
ipDialog, Inc.
3
IETF Conferencing Architecture
IP / IP Multicast
UDP
RTP / RTCP
Conference
Control
Integrated / Differentiated Services Forwarding
TCP
Audio
Video
Media
Streaming
Session Direct.
RSVP RTSP SMTP HTTP SAP SIP
Shared
Apps SDP
21 May 2001
ipDialog, Inc.
4
IETF Conferencing Model
Descr.: IRR 2001 SIP Congress
Orig.: Jörg Ott
[email protected]
Info: http://www.ipdialog.com/
Start: 21.05.2001 / 09.00
End: 24.05.2001 / 17.00
Media: Audio GSM 224.1.6.7/49000
Media: Video H.263 224.1.6.8/49100
Workshop
S
e
s
s
i
o
n
D
e
s
c
r
i
p
t
i
o
n
2a. Disseminate
NNTP
1. Create
HTTP
E-Mail
SAP
2b. Invite
SIP
3. Join
3. Join
4. Media Streams
21 May 2001
ipDialog, Inc.
5
The latter is not SIP — but it is the way
SIP is looked at today in many cases.
SIP and Conferencing over Time…
! Origin: MMUSIC
Multiparty Multimedia Session Control
! From Invitation… to initiation, modification,
and termination
! From Multiparty… to point-to-point-focused
! From Multimedia… to voice-centric
21 May 2001
ipDialog, Inc.
6
The Role of SIP in Conferencing
! INITIATE a call or conference
! JOIN a conference
! LEAVE a conference
! INVITE participants
! EXPEL participants?
! CONFIGURE media streams
! SHARE state? CONTROL conference?
21 May 2001
ipDialog, Inc.
7
SIP and Multiparty Conferencing
! SIP signaling relationships
– Central (bridge, endpoint) vs. mesh
! Media distribution
– Unicast vs. multicast
! Media mixing
– Centralized (bridge, endpoint) vs. decentralized
! Conference creation
– ad-hoc vs. scheduled
– “dial-in” vs. “dial-out” vs. equal peers
21 May 2001
ipDialog, Inc.
8
Centralized Signaling: Bridge
Conference Bridge / MCU
(SIP UA)
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
SIP /
SDP
SIP may convey
membership
Feels like a
point-to-point
call
21 May 2001
ipDialog, Inc.
9
Centralized Signaling: Endpoint
SIP UA
(Ann)
SIP UA
(Dave)
SIP / SDP
SIP UA
(Carol)
Feels like a
point-to-point
call
(Only) Carol’s
UA is aware of
the conference
SIP may convey
membership
21 May 2001
ipDialog, Inc.
10
Decentralized Signaling: Mesh
SIP UA
(Ann)
SIP UA
(Dave)
SIP UA
(Carol)
All endpoints
know about
the conference
SIP conveys
membership
SIP / SDP
21 May 2001
ipDialog, Inc.
11
Centralized Media: Bridge
Conference Bridge / MCU
(SIP UA)
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP Audio
A
C
D
A+C C+D
A+D
Feels like a
point-to-point
call
Membership
from RTCP
21 May 2001
ipDialog, Inc.
12
Centralized Media: Endpoint
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP Audio
A D
A+C C+D
Local mixing
and source
selection
Feels like a
point-to-point
call
Membership
from RTCP
21 May 2001
ipDialog, Inc.
13
Decentralized Media: Multi-Unicast
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP
Audio
A D
C C
Local mixing
and source
selection
D
A
Membership
from RTCP
21 May 2001
ipDialog, Inc.
14
Decentralized Media: Multicast
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP
Audio
A D
C C
Local mixing
and source
selection
D
A
Membership
from RTCP
C
21 May 2001
ipDialog, Inc.
15
Conference Creation
! Ad-hoc expansion of a SIP call
– INVITE further participants
– Re-configure media streams
– Introduce a mixer if necessary (e.g. by SIP server)
! Advance reservation of a bridge / MCU
– (Reservation itself out of scope)
– Call in to conference URL
– Call out from bridge to list of participants
– Repeatedly (re-)configure media streams as needed
! (Scheduling and Announcement with SAP)
21 May 2001
ipDialog, Inc.
16
Model Transition
! Conference starts off as a call
– Endpoints can’t do mixing
! Conference grows larger
– Than the mixing endpoint can deal with
! Conference bridge no longer needed
! “Call Transfer” for all participants
– INVITE and BYE, REFER
– Re-direct (and re-configure) media streams
21 May 2001
ipDialog, Inc.
17
Example 1: Conference Bridge
Configure (HTTP)
Conference
Bridge / MCU
(SIP UA)
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP
Audio
SIP/
SDP
21 May 2001
ipDialog, Inc.
18
Example 1: Conference Bridge
! Use only basic SIP features
– SIP URL for identification
– point-to-point calls for control and media
! Conferencing: application of SIP in the bridge
– may hide or expose media differences
! transcoding vs. media re-negotiation
– may hide or expose participants’ identities
! Make a conference “feel” like a phone call
! Works with SIP phones today!
21 May 2001
ipDialog, Inc.
19
Conference Setup
! Ann uses a web browser
to set up the conference
! She creates / obtains a
URL for the conference
– to send to Carol and Dave
– to put on a web page
! Bridge registers with SIP
server using the URL
– when the conference is
supposed to start
Booking
Server
SIP
Server
REGISTER
sip:irr2001@
example.com
[email protected]
21 May 2001
ipDialog, Inc.
20
Ann calls in (1
st
)
INVITE
100 Trying
ACK
UA Ann SIP Server
Conference (A ∩ ∩∩ ∩ B)
UA Bridges
INVITE
sip:irr@
example.com
Caps (A)
INVITE
200 OK
Caps (B)
Conference
with
Caps (A ∩ ∩∩ ∩ B)
21 May 2001
ipDialog, Inc.
21
Carol calls in (2
nd
)
INVITE
100 Trying
ACK
UA Carol UA Bridge UA Ann
INVITE
sip:irr@
example.com
Caps (C)
re-INVITE
Caps (B∩C)
200 OK
Caps (A)
Conf (A ∩ B)
check caps!
200 OK
Caps (B∩ ∩∩ ∩C)
re-INVITE
ACK
Conference (A ∩ ∩∩ ∩ B ∩ ∩∩ ∩ C)
Conference
with
Caps (A ∩ ∩∩ ∩ B ∩ ∩∩ ∩ C)
21 May 2001
ipDialog, Inc.
22
Dave calls in (3
rd
)
INVITE
100 Trying
ACK
UA Carol UA Bridge UA Ann
INVITE
sip:irr@
example.com
Caps (D)
Conf (A ∩ B ∩ C)
check caps:
Nothing to do!
200 OK
Caps (A ∩ ∩∩ ∩ B ∩ ∩∩ ∩ C)
Conference (A ∩ ∩∩ ∩ B ∩ ∩∩ ∩ C ∩ ∩∩ ∩ D)
UA Carol
Conference
with Caps
(A ∩ ∩∩ ∩ B ∩ ∩∩ ∩ C ∩ ∩∩ ∩ D)
21 May 2001
ipDialog, Inc.
23
Leaving and Terminating
! Leave a conference: BYE
! Expel a participant: Bridge sends BYE
– Invocation triggered by other participant?
– Extensions needed + policies + …
! Terminate a conference:
– Bridge BYEs all
– (Bridge de-registers from SIP server)
21 May 2001
ipDialog, Inc.
24
Example 1: Conference Bridge
! PRO
– Endpoints need not be aware of conference
! (if media distribution is handled centrally as well)
– Can be done with SIP today
– Endpoints can leave at will
– Simple!
! CON
– Central entity required (find it, book it, access it, ...)
– Single point of failure
21 May 2001
ipDialog, Inc.
25
Example 2: Endpoint as “Mixer”
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
RTP Audio
SIP / SDP
21 May 2001
ipDialog, Inc.
26
Example 2: Endpoint as Mixer
! Logically similar to centralized bridge
! Endpoint creates two calls and bridges locally
! Perfect solution for small ad-hoc conferences
! With decentralized media: processing power
less an issue
! Implemented in SIP Phones today!
21 May 2001
ipDialog, Inc.
27
Example 2: Endpoint as “Mixer”
! PRO
– Endpoints need not be aware of conference
! (if media distribution is handled by mixing endpoint)
– Can be done with SIP today
– Simple!
! CON
– Mixing endpoint cannot leave
! or will terminate the signaling relationships
– Mixing endpoint has to handle many streams (b/w)
– Single point of failure
21 May 2001
ipDialog, Inc.
28
Example 3: Meshed Conference
SIP UA
(Ann)
SIP UA
(Carol)
SIP UA
(Dave)
SIP / SDP
RTP
Audio
21 May 2001
ipDialog, Inc.
29
Example 3: Meshed Conference
Two-party media
INVITE A
(C, D)
200 OK
200 OK
ACK
ACK
UA Ann UA Carol UA Dave
INVITE D
(A,C)
Two-party media
Two-party media
Two-party call
3 X
Two-party call
=
Three-way
conference
21 May 2001
ipDialog, Inc.
30
Example 3: Meshed Conference
! PRO
– No centralized server required
– No single point of failure
– Participants may leave at will
! CON
– More sophisticated endpoints required
– Each endpoint has to handle multiple streams (b/w)
– Complex protocol
! Not yet completely defined!
21 May 2001
ipDialog, Inc.
31
SIP and Conference Control
For conferences of limited size:
! Share conference state information
– Membership, media, encryption keys
– Other?
! Manage the course of the conference
– Floor control, conference policies, …
! Use SIP for state, but not for management
! Should there be another control protocol?
21 May 2001
ipDialog, Inc.
32
SIP for State Synchronization?
! Media configuration handled by SIP anyway
! Membership is straightforward
– Done for full-mesh conferences
! Use SUBSCRIBE/NOTIFY for other
– Membership and other conference state
– Not perfectly efficient
! But there is currently not so much state
! Need not scale to arbitrarily large conferences
– Seek another solution only when really needed
YES
21 May 2001
ipDialog, Inc.
33
SIP for Conference Management?
! Current perception: don’t do that!
! Instead: devise a conference control protocol
when needed
– Could be carried in SIP
– Or as one of the media
! Idea of conference control around for years
! BUT: no real (commercial) interest yet
NO
21 May 2001
ipDialog, Inc.
34
SIP and Multimedia
First of all:
But:
And:
SIP supports ANY media!
Need the other protocols & applications
Need a way to “signal” them
21 May 2001
ipDialog, Inc.
35
Media Protocols
! Audio
! Video
! Tones (DTMF etc.)
! Text chat
! Fax
! Pointers
! ...
! Shared Whiteboard
– LBL WB, ...
! Shared Text
– UCL NTE, emacs, ...
! Application Sharing
– ITU-T T.128
– Sun VNC
! ...
MISSING DONE
21 May 2001
ipDialog, Inc.
36
Session Description Protocol (SDP)
! Has enabled SIP and streaming application
– works fine for many cases
– makes many implicit assumptions
! BUT: Designed for Session Announcements
– rather than for interactive “negotiations”
! Many recent extensions
– to better support SIP, MEGACO in the short-term
– General solution being worked out
21 May 2001
ipDialog, Inc.
37
SDP Next Generation (SDPng)
! Being designed to address SDP’s flaws…
– Limited expressiveness
! For individual media and their combination
! Often only very basic media descriptions available
– No real negotiation functionality
– Limited extensibility (clumsy, hard to coordinate)
– No semantics for media sessions (only implicit)
! Also: Avoid second system syndrome!
– Simple, easy to parse, extensible, limited scope
21 May 2001
ipDialog, Inc.
38
SDPng Structure
Definitions
Potential and
Actual Configurations
Constraints
Session Attributes
SDP m= blocks
refers to definitions
SDP session attr’s
+ stream semantics
“optional”
may be “imported”
on configurations
“optional”
21 May 2001
ipDialog, Inc.
39
SDPng Status
! Requirements agreed upon in MMUSIC
– Also input from SIP, MEGACO
! Basic structure agreed upon
! XML-based syntax chosen
! Strawman proposal available
! Draft spec expected for 51
st
IETF
! Next steps: definitions (media, transport, …)
21 May 2001
ipDialog, Inc.
40
Conclusion
! For TODAY, we are ok!
– Audio(visual) conference bridges
– Small group ad-hoc conferencing
– End points may but need not support conferences.
! For TOMORROW, there is a long way to go…
– SIP conferencing support and SDPng
– Conference control?
– Media protocols
! And we NEED APPLICATIONS that use it…!