The SILC Project

source navigation ]
identifier search ]
freetext search ]
file search ]

silc/doc/draft-riikonen-silc-multimedia-session-00.nroff

  1 .pl 10.0i
  2 .po 0
  3 .ll 7.2i
  4 .lt 7.2i
  5 .nr LL 7.2i
  6 .nr LT 7.2i
  7 .ds LF Riikonen
  8 .ds RF FORMFEED[Page %]
  9 .ds CF
 10 .ds LH Internet-Draft
 11 .ds RH 15 January 2007
 12 .ds CH
 13 .na
 14 .hy 0
 15 .in 0
 16 .nf
 17 Network Working Group                                        P. Riikonen
 18 Internet-Draft
 19 draft-riikonen-silc-multimedia-session-00.txt            15 January 2007
 20 Expires: 15 July 2007
 21 
 22 .in 3
 23 
 24 .ce 2
 25 Multimedia Sessions in SILC protocol
 26 <draft-riikonen-silc-multimedia-session-00.txt>
 27 
 28 .ti 0
 29 Status of this Draft
 30 
 31 By submitting this Internet-Draft, each author represents that any
 32 applicable patent or other IPR claims of which he or she is aware
 33 have been or will be disclosed, and any of which he or she becomes
 34 aware will be disclosed, in accordance with Section 6 of BCP 79.
 35 
 36 Internet-Drafts are working documents of the Internet Engineering
 37 Task Force (IETF), its areas, and its working groups. Note that
 38 other groups may also distribute working documents as Internet-
 39 Drafts. Internet-Drafts are draft documents valid for a maximum of
 40 six months and may be updated, replaced, or obsoleted by other
 41 documents at any time. It is inappropriate to use Internet-Drafts as
 42 reference material or to cite them other than as "work in progress".
 43 
 44 The list of current Internet-Drafts can be accessed at
 45 http://www.ietf.org/1id-abstracts.html
 46 The list of Internet-Draft Shadow Directories can be accessed at
 47 http://www.ietf.org/shadow.html.
 48 
 49 
 50 .ti 0
 51 Abstract
 52 
 53 This document defines the use of multimedia protocols and the set up
 54 of multimedia sessions in the Secure Internet Live Conferencing (SILC)
 55 protocol [SILC1].
 56 
 57 
 58 .ti 0
 59 Table of Contents
 60 
 61 .nf
 62 1 Introduction ..................................................  2
 63   1.1 Requirements Terminology ..................................  2
 64 2 Recommended Protocol ..........................................  2
 65 3 Session Description Protocol (SDP) ............................  2
 66   3.1 SDP field usage in SILC ...................................  3
 67   3.2 SDP Examples ..............................................  5
 68 4 Session Initiation Protocol (SIP) .............................  6
 69 5 Other Protocols ...............................................  6
 70 6 Security Considerations .......................................  7
 71 7 References ....................................................  7
 72 8 Author's Address ..............................................  7
 73 9 Full Copyright Statement ......................................  7
 74 
 75 
 76 .ti 0
 77 1 Introduction
 78 
 79 This document defines the use of multimedia protocols and the set up
 80 of multimedia sessions in the Secure Internet Live Conferencing (SILC)
 81 protocol [SILC1].  The SILC protocol supports multimedia messages
 82 with the Message Payload [SILC2] and SILC_MESSAGE_FLAG_DATA which
 83 has the ability to define what type of content is delievered within
 84 the payload.  The Message Payload is used to encapsulate the multimedia
 85 session set up procedure and the actual multimedia session data.  We
 86 define the recommended multimedia session protocol for SILC and also
 87 consider some other protocols in the scope of SILC.
 88 
 89 
 90 .ti 0
 91 1.1 Requirements Terminology
 92 
 93 The keywords MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED,
 94 MAY, and OPTIONAL, when they appear in this document, are to be
 95 interpreted as described in [RFC2119].
 96 
 97 
 98 .ti 0
 99 2 Recommended Protocol
100 
101 Since SILC protocol can encapsulate practically any protocol for setting
102 up a multimedia session we have selected the Session Description Protocol
103 (SDP) as RECOMMENDED protocol.  It was chosen for its maturity, simplicity
104 and versatility.  If multimedia features are implemented in SILC
105 application it is recommended that at least support for SDP is added.
106 
107 
108 .ti 0
109 3 Session Description Protocol (SDP)
110 
111 The SDP [SDP] protocol defines a general purpose multimedia session
112 description protocol.  SDP is one of the simplest protocols to negotiate
113 multimedia sessions and is suited perfectly for SILC protocol.  Since SDP
114 does not itself define how it is used to set up the session, we define it
115 here for SILC.  The definition is based on the [RFC3264] and [RFC4145].
116 
117 In SILC the SDP messages are sent as data messages (MIME message).  They
118 can be destined directly to a client for direct conferencing, or to a
119 channel for group conferencing.  It is also possible to send the message
120 directly to client to invite them to group conferencing before they have
121 joined the channel.  The MIME type used is application/sdp.
122 
123 To set up a multimedia session a client sends SILC message with
124 SILC_MESSAGE_FLAG_DATA and SILC_MESSAGE_FLAG_REQUEST flags set and with
125 MIME SDP message in the message payload.  If the receiver wants to
126 participate in the multimedia session it sends MIME SDP message back with
127 SILC_MESSAGE_FLAG_DATA and SILC_MESSAGE_FLAG_REPLY flags set to the
128 sender.  If reply is not received after an application defined period of
129 time the message may be retransmitted or the session set up may be
130 terminated.
131 
132 After reply has been received the multimedia session is started according
133 to the SDP and all multimedia data is sent using SILC data messages.  When
134 performing peer-to-peer connection the SDP defines which party initiates
135 the connection.  After initiation the SILC Key Exchange protocol MUST be
136 performed.  The resulted key material will be used to protect the multimedia
137 session.  Multimedia data transmission may start after the key exchange
138 has been performed.  When performing group conferencing all parties
139 independently connect to the SILC server specified in the SDP.  In other
140 cases when performing the multimedia session inside the SILC network, any
141 party may start transmitting the multimedia data after the SDPs have been
142 exchanged.
143 
144 To terminate the session, or to reject incoming request, an MD5 digest
145 MUST be computed from the original SDP data, and the digest is sent back
146 with the SILC_MESSAGE_FLAG_DATA and SILC_MESSAGE_FLAG_STOP flags set.
147 The receiver of such message should verify the MD5 digest and terminate
148 the session if it matches any active session.  The session may also be
149 terminated by closing network connection.  In group sessions simply by
150 leaving the channel terminates the session.  The original sender of the
151 SDP message may send the terminating message to notify all clients on the
152 channel to terminate the session.  If the original sender on channel
153 receives the terminating message it takes no action on it.
154 
155 .ti 0
156 3.1 SDP field usage in SILC
157 
158 The Encryption Keys (k=) field describes encryption key to protect the
159 multimedia session.  As SILC protocol transport and the multimedia session
160 is secured by default this field SHOULD NOT be used.
161 
162 
163 The Origin (o=) field describes from where the session originates.  The
164 <username> sub-field is the sender's SILC nickname.  Examples:
165 
166         o=foobar 2890844521 2890842804 IN IP4 10.2.1.7
167 
168 
169 The Connection Data (c=) field describes the connection information for
170 the multimedia session.  When performing peer-to-peer multimedia session
171 the <network type> is 'IN', indicating Internet connection.  When
172 performing multimedia session inside SILC network it is 'SILC'.  When
173 the 'SILC' network type is used the <address type> and <connection address>
174 sub-fields are omitted.  Examples:
175 
176         c=SILC
177         c=IN IP4 10.2.1.7
178 
179 
180 The Media Announcements (m=) field describes the media information for the
181 multimedia session.  If the network type in c= field is 'SILC' the <port>
182 sub-field MUST be set to 9 (discard).  The <transport> for RTP over UDP
183 is 'RTP/AVP', for RTP over TCP it is 'TCP/RTP/AVP', and for non-RTP protocol
184 over UDP it is 'udp' and over TCP it is 'tcp'.  The <fmt> sub-field
185 includes the RTP media payload number when using RTP.  When using non-RTP
186 protocol it includes MIME subtype.  Examples:
187 
188         c=SILC
189         m=audio 9 TCP/RTP/AVP 3
190         a=rtpmap:3 GSM/8000
191 
192         c=SILC
193         m=audio 9 tcp mpeg
194 
195 
196 The Attributes (a=) field can be used to set various session and media
197 specific attributes.  For SILC we define attribute "silc".
198 
199         a=silc:<session type> <parameters>
200 
201 The <session type> is either "direct" or "group".  When it is "direct"
202 and the c= field defines a connection point the connection will be
203 peer-to-peer connection to the remote client.  If it is "group" and the
204 the c= field defines a connection point the connection will be to a remote
205 SILC server for group conferencing.  If c= field includes "SILC" network
206 type, then "direct" is for direct session with a client in SILC network
207 and "group" is for group conferencing in SILC network.  If the "silc"
208 attribute is omitted the session type is expected to be "direct".  The
209 following parameters are defined for attribute "silc".
210 
211         channel         The name of the channel for group conferencing.
212                         Can be used only with "group" session type.
213                         More than one channel parameters may be defined.
214 
215 
216 The [RFC4145] specifies a "setup" attribute that defines which party of the
217 session will initiate the connection when performing peer-to-peer session.
218 Its use in SILC is as specified in [RFC4145] and MUST be present in SDP
219 when the c= field includes an actual connection point and when the "silc"
220 attribute session type is "direct", or if the attribute is not present at
221 all.  When performing group conferencing each party always need to create
222 the connection to the server and the "setup" attribute need not be present
223 in SDP.
224 
225 .ti 0
226 3.2 SDP Examples
227 
228         v=0
229         o=foobar 2890844521 2890842804 IN IP4 10.2.1.100
230         s=peer-to-peer example
231         t=0 0
232         m=audio 5000 TCP/RTP/AVP 3
233         c=IN IP4 10.2.1.100
234         a=rtpmap:3 GSM/8000
235         a=silc:direct
236         a=setup:active
237 
238 This example sets up a peer-to-peer session to remote client at
239 10.2.1.100 at port 5000.
240 
241         v=0
242         o=foobar 2890844521 2890842804 IN IP4 10.2.1.32
243         s=Group conferencing example
244         c=IN IP4 10.2.1.7
245         t=0 0
246         a=silc:group channel=foobar
247         m=audio 706 TCP/RTP/AVP 3
248         a=rtpmap:3 GSM/8000
249 
250 This example sets up a session to a remote SILC server 10.2.1.7 at port
251 706.  Once connected the channel "foobar" will be joined for group
252 conferencing.
253 
254         v=0
255         o=foobar 2890844521 2890842804 IN IP4 10.2.1.32
256         s=SILC network chat example
257         c=SILC
258         t=0 0
259         m=audio 9 TCP/RTP/AVP 3
260         a=rtpmap:3 GSM/8000
261 
262 This example sets up a session inside SILC network with the remote user
263 "foobar".
264 
265         v=0
266         o=foobar 2890844521 2890842804 IN IP4 10.2.1.32
267         s=SILC network group conferencing example
268         t=0 0
269         m=audio 9 TCP/RTP/AVP 3
270         c=SILC
271         a=rtpmap:3 GSM/8000
272         a=silc:group channel=group-chat
273 
274 This example sets up a group conferencing session inside SILC network on
275 channel "group-chat".
276 
277 
278 .ti 0
279 4 Session Initiation Protocol (SIP)
280 
281 The SIP [SIP] protocol is a general purpose protocol for setting up,
282 modifying and terminating different kinds of sessions, including
283 multimedia sessions.  The SIP protocol use the SDP to describe the
284 multimedia session.
285 
286 In SILC the SIP messages are sent as data messages (MIME message).  They
287 can be destined directly to a client for direct conferencing, or to a
288 channel for group conferencing.  It is also possible to send the message
289 directly to client to invite them to group conferencing before they have
290 joined the channel.  The MIME type used is application/sip.  The
291 SILC_MESSAGE_FLAG_DATA flag must be set in each message and the message
292 payload includes a MIME SIP message.  The actual SIP session set up and
293 termination is described in the SIP protocol specification, and SILC
294 protocol merely provides a secure transport for the session.  After the
295 session is set up all multimedia data is sent using SILC data messages.
296 The MIME type for the multimedia data messages is defined during the SIP
297 session set up.
298 
299 The rules for SDP fields described in previous section also applies for
300 SDP with SIP in the context of SILC.
301 
302 Proxy and redirection servers usually would not be used in the context of
303 SILC, unless the sessions are redirected to outside SILC network.  This
304 may compromise the security of the session.
305 
306 The S/MIME need not be used when using SIP in SILC protocol.  The SILC
307 protocol transport and the created multimedia session is secured by
308 default.
309 
310 
311 .ti 0
312 5 Other Protocols
313 
314 There are other open and proprietary protocols for setting up multimedia
315 sessions.  One important is H.323 using the H.225 to set up the session.
316 This document should later define the use of H.323 with SILC.
317 Practically any protocol to set up multimedia sessions may be used with
318 SILC by using SILC as a secure transport to set up the session, and to use
319 SILC data messages (MIME messages) to secure and deliver the actual
320 multimedia data once the session has been established.
321 
322 
323 .ti 0
324 6 Security Considerations
325 
326 Security is central to the design of this protocol, and these security
327 considerations permeate the specification.  Common security considerations
328 such as keeping private keys truly private and using adequate lengths for
329 symmetric and asymmetric keys must be followed in order to maintain the
330 security of this protocol.
331 
332 
333 .ti 0
334 7 References
335 
336 [SILC1]      Riikonen, P., "Secure Internet Live Conferencing (SILC),
337              Protocol Specification", Internet Draft, June 2003.
338 
339 [SILC2]      Riikonen, P., "SILC Packet Protocol", Internet Draft,
340              June 2003.
341 
342 [RFC3264]    Rosenberg, J., et. al., "An Offer/Answer Model with the
343              Session Description Protocol (SDP)", RFC 3264, June 2002.
344 
345 [RFC4145]    Yon, D., et. al., "TCP-Based Media Transport in the
346              Session Description Protocol (SDP)", RFC 4145, September
347              2005.
348 
349 [SIP]        Rosenberg, J., et. al., "SIP: Session Initiation Protocol",
350              RFC 3261, June 2002.
351 
352 
353 
354 .ti 0
355 8 Author's Address
356 
357 .nf
358 Pekka Riikonen
359 Helsinki
360 Finland
361 
362 EMail: priikone@iki.fi
363 
364 
365 .ti 0
366 9 Full Copyright Statement
367 
368 Copyright (C) The Internet Society (2007).
369 
370 This document is subject to the rights, licenses and restrictions
371 contained in BCP 78, and except as set forth therein, the authors
372 retain all their rights.
373 
374 This document and the information contained herein are provided on an
375 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
376 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
377 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
378 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
379 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
380 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

This page was automatically generated by the LXR engine.
Free-text search provided by Glimpse