CLUE Working Group                                             R. Presta
Internet-Draft                                               S P. Romano
Intended status: Informational                      University of Napoli
Expires: January 11, 2014                                  July 10, 2013


                           CLUE protocol (??)
                     draft-presta-clue-protocol-00

Abstract

   This is a work-in-progress draft aimed at shedding light on the
   application-level protocol associated with the creation and
   management of a CLUE-enabled telepresence session between a Media
   Consumer and a Media Provider.  The draft sketches the high-level
   interactions occurring between the above mentioned entities, as well
   as depicts the state transitions occurring at both ends during a
   telepresence session.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 11, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of



Presta & Romano         Expires January 11, 2014                [Page 1]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Overview of the CLUE protocol messages . . . . . . . . . . . .  3
     3.1.  ADVERTISEMENT  . . . . . . . . . . . . . . . . . . . . . .  4
     3.2.  CONFIGURE  . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.3.  RESPONSE . . . . . . . . . . . . . . . . . . . . . . . . .  5
     3.4.  RE-ADV . . . . . . . . . . . . . . . . . . . . . . . . . .  8
   4.  Protocol state machines  . . . . . . . . . . . . . . . . . . .  9
   5.  Media Consumer's state machine . . . . . . . . . . . . . . . . 10
   6.  Media Provider's state machine . . . . . . . . . . . . . . . . 12
   7.  Informative References . . . . . . . . . . . . . . . . . . . . 14



































Presta & Romano         Expires January 11, 2014                [Page 2]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


1.  Introduction

   The CLUE protocol is an application protocol used by a Media Provider
   (MP) and a Media Consumer (MC) in order to establish a multimedia
   telepresence session.  CLUE protocol messages flow across a DTLS/SCTP
   channel established as depicted in [I-D.kyzivat-clue-signaling].
   While [I-D.kyzivat-clue-signaling] focuses on signaling details about
   the protocol and its interaction with the SIP/SDP session
   establishment mechanisms, we herein concentrate only on the protocol
   in action and try to define the behavior of both the MP and the MC at
   the CLUE application level.  In other words, we assume the DTLS/SCTP
   channel has already been established and discuss how the CLUE
   dialogue between the MP and the MC can be exploited to successfully
   setup the telepresence session according to the principles and
   concepts pointed out in in [I-D.kyzivat-clue-signaling] and in
   [I-D.ietf-clue-framework].

   In Section 3 we provide the list of the CLUE messages, together with
   an overview of their features and functionality.  MC's and MP's state
   machines are introduced in Section 4 and further described in
   Section 5 and Section 6 respectively.

2.  Terminology

   This document refers to the same terminology used in
   [I-D.ietf-clue-framework] and in [I-D.kyzivat-clue-signaling].

3.  Overview of the CLUE protocol messages

   This section contains a bird's-eye view of the CLUE protocol
   messages.  For each message it is indicated who sends it, who
   receives it, a brief description of the information it carries, and
   how/when it is used.  Besides the well-known ADVERTISEMENT and
   CONFIGURE messages, new ones have been conceived in order to fulfill
   the mechanisms and operations pointed out in
   [I-D.kyzivat-clue-signaling].

   o  ADVERTISEMENT (ADV)

   o  CONFIGURE (CONF)

   o  RESPONSE

   o  RE-ADV







Presta & Romano         Expires January 11, 2014                [Page 3]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


3.1.  ADVERTISEMENT



  +---------- ---+-----------------------------------------------------+
  |              |                                                     |
  | FROM         |                        MP                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TO           |                        MC                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TYPE         |                   Notification                      |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | DESCRIPTION  |   This message is used by the MP to advertise the   |
  |              |   available media captures and related information  |
  |              |   to the MC.                                        |
  |              |   The ADV contains elements compliant with the      |
  |              |   CLUE data model and other information like the    |
  |              |   CLUE protocol version and a sequence number.      |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | USAGE        |   The MP sends this message as soon as the CLUE     |
  |              |   channel is ready. The MP sends an ADV to the      |
  |              |   MC every time there is a modification of the MP's |
  |              |   telepresence capabilities.                        |
  |              |   The ADV message is also sent back to the MC       |
  |              |   when the MP receives a RE-ADV request.            |
  +--------------+-----------------------------------------------------+


3.2.  CONFIGURE














Presta & Romano         Expires January 11, 2014                [Page 4]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | FROM         |                        MC                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TO           |                        MP                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TYPE         |                   Request                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | DESCRIPTION  |   This message allows a MC to request the           |
  |              |   desired advertised capture. It contains capture   |
  |              |   encodings and other information like the CLUE     |
  |              |   protocol version and a sequence number.           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | USAGE        |   The MC can send a CONF after the reception of     |
  |              |   an ADV or every time it wants to request other    |
  |              |   advertised captures to the MP.                    |
  +--------------+-----------------------------------------------------+

3.3.  RESPONSE
























Presta & Romano         Expires January 11, 2014                [Page 5]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | FROM         |                        MP                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TO           |                        MC                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TYPE         |                      Response                       |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | DESCRIPTION  |   This message allows a MP to answer to a CONF      |
  |              |   message. Besides the protocol version and a       |
  |              |   sequence number, it contains a response code with |
  |              |   a response string indicating either the success   |
  |              |   or the failure (along with failure details) of    |
  |              |   the CONF request elaboration.                     |
  |              |   Examples of response codes and strings are        |
  |                              |       provided in a following table.                    |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | USAGE        |   The MP sends this message in response to CONF     |
  |              |   messages.                                         |
  +--------------+-----------------------------------------------------+


   Response codes can be defined by following the HTTP semantics as
   below.



















Presta & Romano         Expires January 11, 2014                [Page 6]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |  Response code  |  Response string     |       Description        |
   |                 |                      |                          |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   410           |  Bad syntax          |  The XML syntax of the   |
   |                 |                      |  CONF message is not     |
   |                 |                      |  correct.                |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   411           |  Invalid value       |  The CONF message        |
   |                 |                      |  contains an invalid     |
   |                 |                      |  parameter value.        |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   412           |  Invalid identifier  |  The identifier used to  |
   |                 |                      |  request a capture is    |
   |                 |                      |  either invalid or       |
   |                                 |                                      |  unknown.                |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   413           |  Conflicting values  |  The CONF message        |
   |                 |                      |  contains values that    |
   |                 |                      |  cannot be used together.|
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   420           |  Invalid sequencing  |  The sequence number of  |
   |                 |                      |  the CONF message is out |
   |                 |                      |  of date or corresponds  |
   |                 |                      |  to an obsoleted ADV.    |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   510           | Version not supported|  The CLUE protocol       |
   |                 |                      |  version of the CONF     |
   |                 |                      |  message is not supported|
   |                 |                      |  by the MP.              |
   +-----------------+----------------------+--------------------------+
   |                 |                      |                          |
   |   511           | Option not supported |  The option requested in |
   |                 |                      |  the CONF message is not |
   |                 |                      |  supported by the MP.    |
   +-----------------+----------------------+--------------------------+



   To Be Continued...




Presta & Romano         Expires January 11, 2014                [Page 7]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


   +---------------+------------------------+
   |               |                        |
   | Response code | Rescription            |
   | family        |                        |
   +---------------+------------------------+
   |               |                        |
   |     1XX       | Temporary info         |
   |               |                        |
   +---------------+------------------------+
   |               |                        |
   |     2XX       | Success                |
   |               |                        |
   +---------------+------------------------+
   |               |                        |
   |     3XX       | Redirection            |
   |               |                        |
   +---------------+------------------------+
   |               |                        |
   |     4XX       | Client error           |
   |               |                        |
   +---------------+------------------------+
   |               |                        |
   |     5XX       | Server error           |
   |               |                        |
   +---------------+------------------------+


3.4.  RE-ADV























Presta & Romano         Expires January 11, 2014                [Page 8]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


  +---------- ---+-----------------------------------------------------+
  |              |                                                     |
  | FROM         |                        MC                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TO           |                        MP                           |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | TYPE         |                      Request                        |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | DESCRIPTION  |   This message allows a MC to request that the MP   |
  |              |   issues a new copy of the ADV. This message can    |
  |              |   contain a reason string indicating the motivation |
  |              |   for the request (e.g., refresh, missing elements  |
  |              |   in the received ADV, wrong syntax in the received |
  |              |   ADV, invalid capture area, invalid line of        |
  |              |   capture point, etc).                              |
  |              |                                                     |
  +--------------+-----------------------------------------------------+
  |              |                                                     |
  | USAGE        |   The MC sends this message to the MP when the      |
  |              |   timeout for the ADV is fired, or when the ADV is  |
  |              |   not compliant with the CLUE specifications (this  |
  |              |   can be useful for interoperability testing        |
  |              |   purposes)                                         |
  |              |                                                     |
  +--------------+-----------------------------------------------------+

4.  Protocol state machines

   The CLUE protocol is an application-layer protocol used between a
   Media Provider (MP) and a Media Consumer (MC), used to establish a
   multimedia telepresence session.  CLUE protocol messages flow across
   a DTLS/SCTP channel established as depicted in
   [I-D.kyzivat-clue-signaling].  Over such a channel there are
   typically two CLUE streams between the channel terminations flowing
   in opposite directions.  In other words, typically, both channel
   terminations act simultaneously as a MP and as a MC.  We herein
   discuss the state machines associated with both the MP process and
   the MC process.







Presta & Romano         Expires January 11, 2014                [Page 9]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


5.  Media Consumer's state machine

   An MC in the IDLE state is waiting for an ADV coming from the MP.  If
   the timeout expires ("timeout"), the MC switches to the TIMEOUT
   state.

   In the TIMEOUT state, if the number of trials is under the retry
   threshold, the MC issues a RE-ADV/refresh message to the MP ("send
   RE-ADV"), switching back to the IDLE state.  Otherwise, the MC moves
   to the TERMINATED state.

   When the ADV has been received ("receive ADV"), the MC goes into the
   ADV RECEIVED state.  The ADV is then parsed.  If something goes wrong
   with the ADV (bad syntax, missing XML elements, etc.), the MC sends a
   RE-ADV message to the MP specifying the encountered problem via a
   proper reason phrase.  This forces the MC to go back to the IDLE
   state, waiting for a new copy of the ADV.  If the ADV is successfully
   processed, the MC issues a CONF message to the MP ("send CONF") and
   switches to the TRYING state.

   While in the TRYING state, the MC is waiting for a RESPONSE message
   to the issued CONF from the MP.  If the timeout expires ("timeout"),
   the MC moves to the TIMEOUT state and sends a RE-ADV in order to
   solicit a new ADV from the MP.  If a RESPONSE with an error code is
   received ("receive 4xx, 5xx not supported"), then the MC goes back to
   the ADV-RCVD state and builds a new CONF message to be sent to the
   MP.  If a successful RESPONSE arrives ("receive 200 OK"), the MC
   enters the IN CALL state.  If a new ADV arrives in the meanwhile, it
   is ignored.  Indeed, after the timeout is exceeded, the MC goes to
   the TIMEOUT state and then sends a RE-ADV to the MP.

   When the MC is in the IN CALL state, the telepresence session has
   been set up according to the MC's preferences.  Both MP and MC have
   agreed on (and are aware of) the media streams to be exchanged within
   the call.  If the MC decides to change something in the call
   settings, it issues a new CONF ("send CONF") and goes back to the
   TRYING state.  If a new ADV arrives from the MP ("receive ADV"), it
   means that something has changed on the MP's side.  The MC then moves
   to the ADV-RCV state and prepares a new CONF taking into account the
   received updates.  When the underlying channel is closed, the MC
   moves to the TERMINATED state.

   The TERMINATED state is reachable from each of the aforementioned
   states whenever the underlying channel is closed.  The corresponding
   transitions have not been reported for the sake of simplicity.  This
   termination condition is a temporary solution.

   The TERMINATED state is reachable from each of the aforementioned



Presta & Romano         Expires January 11, 2014               [Page 10]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


   states whenever the underlying channel is closed.  The corresponding
   transitions have not been reported for the sake of simplicity.  This
   termination condition is a temporary solution.




                                                                      +-----+
                            +--------+-------------timeout------>+----+--+  |
                            |  IDLE  +<----+                     |TIMEOUT|  |
                            +---+----+<----+--------send---------+-------+  |
                                |          |     RE-ADV(refresh)      ^     |
                                |          |                          |     |
                                |          |                          |     |
                             receive     send                         |     |
                               ADV       RE-ADV                       |     |
                                |       (missing elements,            |     |
                                |        invalid area,...)            |     |
                                v          |                          |     |
                            +---------+    |                          |     |
                            |  ADV    +----+                      timeout   |
                     +----->| RECEIVED|<-----+                        |     |
                     |      +---+-----+      |                        |     |
                     |          |            |                        |     |
                     |          |            |                        |     |
                     |          |            |                        |     |
                   receive     send      receive                      |     |
                   ADV         CONF       4xx,                        |     |
                     |          |        5xx not supported            |     |
                     |          v            |                        |     |
                     |      +--------+-------+------------------------+     |
                     |      | TRYING +-------+                              |
                     |      +---+----+<----+                                |
                     |          |          |                                |
                     |          |          |                                |
                     |         receive    send                          retry
                     |          200 OK    CONF                        expires
                     |          |          |                                |
                     |          |          |                                |
                     |          |          |                                |
                     |          v          |                                |
                     |       +------+      |                                |
                     +-------+  IN  |      |                                |
                             | CALL +------+                                |
                             +--+---+                                       |
                                |                                           |
                                |                                           |
                                |                                           |



Presta & Romano         Expires January 11, 2014               [Page 11]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


                                |                                           |
                              connection                                    |
                               closed                                       |
                                |                                           |
                                |                                           |
                                |                                           |
                                |                                           |
                                |                                           |
                                v                                           |
                              +----------+<---------------------------------+
                              |TERMINATED|
                              +----------+


6.  Media Provider's state machine

   In the IDLE state, the MP is preparing the ADV message reflecting the
   actual telepresence capabilities.  After the ADV has been sent, the
   MP moves to the WAIT FOR CONF state.

   While in the WAIT FOR CONF state, the MP is listening to the channel
   for a CONF coming from the MC.  If a RE-ADV is received, the MP goes
   back to the IDLE state and issues an ADV again.  If telepresence
   settings change in the meanwhile, it goes back to the IDLE state too,
   and prepares a new ADV to be sent to the MC.  If a CONF arrives, the
   MP switches to the CONF RECEIVED state.  If nothing happens and the
   timeout expires, than the MC moves to the TIMEOUT state.

   In the TIMEOUT state, if the number of trials does not exceed the
   retry threshold, the MC comes back to the IDLE state to send a new
   ADV.  Otherwise, it goes to the TERMINATED state.

   The MP in the CONF RECEIVED state is processing the received CONF in
   order to produce a RESPONSE message.  If the MP is satisfied with the
   MC's configuration, then it sends a 200 OK successful RESPONSE and
   switches to the IN CALL state.  If there are errors while processing
   the CONF, then the MC returns a RESPONSE carrying an error response
   code.  Finally, if there are changes in the telepresence settings, it
   goes back to the IDLE state to issue an updated ADV.

   While in the IN CALL state, the MP has successfully set up the
   telepresence session according to the MC's specifications.  If a new
   CONF arrives, it switches to the CONF RECEIVED state to analyze the
   new request.  If a RE-ADV arrives, or some modifications are applied
   to the telepresence options, then it moves to the IDLE state to issue
   the ADV.  When the channel is terminated, the MP switches to the
   TERMINATED state.




Presta & Romano         Expires January 11, 2014               [Page 12]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


   The TERMINATED state is reachable from each of the aforementioned
   states whenever the underlying channel is closed.  The corresponding
   transitions have not been reported for the sake of simplicity.  This
   termination condition is a temporary solution.






 +------------------->+-----+-+<----------------------------+
 |   +--------------->| IDLE  |<-------------retry----------+-----+---+
 |   |       +------->+---+---+<----+         not           |         |
 |   |       |            |         |        expired        |         |
 |   |       |            |         |                       |         |
 |   |  change          send       receive                  |        ++------+
 |   |  telepresence     ADV       RE-ADV                   |        |TIMEOUT|
 |   |  settings          |         |                       |        ++--+---+
 |   |       |            |         |                       |         ^  |
 |   |       |            v         |                       |         |  |
 |   |       |    +-------------+---+                       |         |  |
 |   |       +----+  WAIT FOR   +------------timeout--------+-----+---+  |
 |   |            |    CONF     |                           |            |
 change           +-------+-----+<--+                       |            |
 telepresence             |         |                       |            |
 settings                 |         |                       |            |
 |   |                  receive     send                    |            |
 |   |                   CONF       error                   |            |
 |   |                    |         response                |            |
 |   |                    |         |                       |            |
 |   |                    |         |                       |            |
 |   |                    v         |                       |            |
 |   |              +-----------+---+                       |            |
 +---+-------------+|   CONF    |                           |            |
     |       +----->| RECEIVED  |                           |            |
     |       |      +-----+-----+                           |            |
     |       |            |                                 |            |
     |       |            |                                 |            |
     |       |            |                                 |            |
 receive   receive      send                                |            |
 RE-ADV     CONF       200 OK                               |       retry|
     |       |            |                                 |      expired
     |       |            |                                 |            |
     |       |            |                                 |            |
     |       |            v                                 |            |
     |       |       +----------+        change             |            |
     |       +-------+  IN CALL +--------telepresence-------+            |
     +---------------+----+-----+        settings                        |



Presta & Romano         Expires January 11, 2014               [Page 13]


Internet-Draft        draft-presta-clue-protocol-00            July 2013


                          |                                              |
                          |                                              |
                          |                                              |
                          |                                              |
                       connection                                        |
                        closed                                           |
                          |                                              |
                          |                                              |
                          v                                              |
                       +------------+<-----------------------------------+
                       | TERMINATED |
                       +------------+


7.  Informative References

   [I-D.ietf-clue-framework]     Duckworth, M., Pepperell, A., and S.
                                 Wenger, "Framework for Telepresence
                                 Multi-Streams",
                                 draft-ietf-clue-framework-10 (work in
                                 progress), May 2013.

   [I-D.kyzivat-clue-signaling]  Kyzivat, P., Xiao, L., and C. Groves,
                                 "CLUE Signaling",
                                 draft-kyzivat-clue-signaling-03 (work
                                 in progress), June 2013.

Authors' Addresses

   Roberta Presta
   University of Napoli
   Via Claudio 21
   Napoli  80125
   Italy

   EMail: roberta.presta@unina.it


   Simon Pietro Romano
   University of Napoli
   Via Claudio 21
   Napoli  80125
   Italy

   EMail: spromano@unina.it






Presta & Romano         Expires January 11, 2014               [Page 14]