Internet DRAFT - draft-shacham-sip-media-privacy

draft-shacham-sip-media-privacy







Session Initiation Protocol                                   R. Shacham
Internet-Draft                                            H. Schulzrinne
Expires: December 27, 2006                           Columbia University
                                                             W. Kellerer
                                                            S. Thakolsri
                                                         DoCoMo Eurolabs
                                                           June 25, 2006


        Use of the SIP Preconditions Framework for Media Privacy
                   draft-shacham-sip-media-privacy-02

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 27, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   Recording of a conversation presents a possible breach of privacy.
   This document presents a use of the SIP Preconditions Framework to
   negotiate the recording guidelines for the session.  One party may
   assert either their desire to record or their restriction of the
   other party's recording.  In order to establish the session, the



Shacham, et al.         Expires December 27, 2006               [Page 1]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


   other party must respond that it agrees to the conditions.  While
   this does not have the power to limit the physical recording by the
   user on the end system, it provides evidence of the expressed wishes
   of one party and the agreement of the other.


1.  Overview

   Recording of a conversation presents a possible breach of privacy.
   As such, it is useful to provide a way in which participants in a
   Session Initiation Protocol (SIP)[1] session may negotiate during
   session establishment the recording guidelines for the session.
   Namely, one party may assert a rule about recording and make the
   session establishment conditional on its agreement by the other
   party.  While the information transferred during session
   establishment does not necessarily have the power to actually limit
   the recording done by the user on the end device, it provides
   evidence of the expressed wishes of one party and the agreement of
   the other.

   Two different types of conditions may be made during session setup.
   A participant may assert an intention to record so that the other
   party must explicitly agree before the call is set up.  He may have a
   legal or other obligation to ask permission before recording.
   Alternatively, a participant may impose a restriction on the other
   party's recording and require his explicit agreement before setting
   up the call.  The assertion and its agreement may give the
   participant a legal right not to be recorded.  Either the caller or
   callee may assert either of the above conditions, and the other
   participant may either accept them and continue with session
   establishment, or reject them.

   The Preconditions Framework in SIP [2] was found to be a good
   existing method for this negotiation.  It allows session
   establishment to be suspended until specific conditions are met.
   These conditions may be expressed by either the caller or callee, and
   the other party may fulfill them and continue with session setup, or
   reject them and terminate the session setup.


2.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119 [3].






Shacham, et al.         Expires December 27, 2006               [Page 2]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


3.  Definition of "no-record" and "allow-record" precondition types

      Precondition type tag: no-record
      Status type: e2e
      Precondition strength: No optional precondition available

      Precondition type tag: allow-record
      Status type: e2e
      Precondition strength: optional precondition available

   We define two precondition types in accordance with [2] and [4].
   Only the "recv" direction is relevant to a call participant, since it
   doesn't make sense to restrict what another person does with the
   media stream that he himself sends.  Therefore, the "send" and "recv"
   directions are sufficient for defining all preconditions in a single
   media session, without the need of a "local" and "remote", so we use
   the e2e status type.

   The type "no-record" imposes a recording restriction on the other
   party.  In order to set up the session, the recipient must respond
   that the current state of his received media stream is "no-record".

   The type "allow-record" asserts a party's desire to record.  The
   recipient must respond that the current state of his sent media
   stream is "allow-record".

   The allowed precondition strengths differ for the two types defined.
   A call participant is unlikely to request that the other party not
   record their converation, but accept the session in any case.
   Therefore, a precondition strength of "optional" is unnecessary and
   not allowed for "no-record".  On the other hand, a participant may
   ask for permission to record so that he will have evidence of the
   other party's agreement, but may still accept the session without
   recording.  For this reason, a precondition strength of "optional" is
   allowed for "allow-record".

   A single direction of a media session, that is a stream, MUST NOT
   have both the "allow-record" and "no-record" preconditions as
   "current", as this would be contradictory.  However, each direction
   of a media session may contain a separate precondition.  For example,
   both participants in a session may assert their desire to record.
   Alternatively, one party may assert his desire to record, while
   restricting the other's right to record.


4.  Differences in the use of preconditions

   The initial use case described for the Preconditions Framework was



Shacham, et al.         Expires December 27, 2006               [Page 3]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


   resource reservation to ensure Quality of Service.  Specifically, one
   party requires the other to verify that resources are available
   before accepting the call.  The use and the call flows for our
   purposes differ somewhat.  For example, while a precondition answerer
   will likely require time to reserve a resource, the acceptance or
   rejection of a recording precondition is expected to be almost
   immediate.  The decision could be made based on local policy, as
   would be done by a help desk or an emergency call center which would
   never accept a call without recording.  Otherwise, the recipient
   would be prompted with a dialog such as "Mike Jones
   <sip:mike@example.com> is calling -- Would you like to accept the
   call and give him permission to record?"  Therefore, while [2] states
   that a UAS receiving an offer with preconditions "SHOULD NOT alert
   the user until all the mandatory preconditions are met", this is not
   appropriate for our application.  For this reason, a response of 183
   will generally not be sent by the answerer who is a callee, as is
   done in [2].  If the anwerer has a local policy about recording, a
   200 response will be sent immediately to accept the precondition or a
   580 response to reject it.  If the user needs to be prompted to
   accept the preconditions, a 180 will be sent, followed by a 200 or
   580.

   When the callee is the offerer of the precondition, the flow will
   also differ because of the almost immediate nature of the answerer's
   response.  The caller answerer may return the current status of the
   preconditions in the PRACK, as permitted in [5], and need not send a
   separate UPDATE later as is done in the QoS case.


5.  Scenarios

5.1.  Setting up a session with "no-record" or "allow-record"
      precondition by caller

   A invites B into a session, but wants to ensure that B will not
   record the call.  The INVITE request contains an SDP body with the
   following media line:

      m=audio 20000 RTP/AVP 0
      a=curr:no-record e2e none
      a=des:no-record mandatory e2e send
      a=des:no-record none e2e recv

   If B accepts the preconditions as well as the call, it responds to
   this request by sending a 200 response containing the following media
   line:





Shacham, et al.         Expires December 27, 2006               [Page 4]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


      m=audio 30000 RTP/AVP 0
      a=curr:no-record e2e recv
      a=des:no-record mandatory e2e recv
      a=des:no-record none e2e send

   If, on the other hand, B wishes to reject the preconditions, it sends
   a 580 (Precondition-Failure) response, as per [2].  As suggested
   there, B SHOULD include a media line that describes the reason for
   the failure:

      m=audio 30000 RTP/AVP 0
      a=des:no-record failure e2e recv

   If A were asserting its desire to record, rather than its restriction
   of B's recording, the above interaction would take place with the
   "allow-record" precondition type, with A setting the "recv" direction
   to be mandatory so that he may record the input, rather than the
   "send" direction as above.

5.2.  Setting up a session with "no-record" or "allow-record"
      precondition by callee

   B receives an INVITE request from A that includes no mention of
   recording.  However, B would like to ensure that A does not record
   the call.  B replies with a 183 provisional response that includes
   the precondition in the SDP media line as follows:

      m=audio 20000 RTP/AVP 0
      a=curr:no-record e2e none
      a=des:no-record mandatory e2e send
      a=des:no-record none e2e recv

   If B has a local policy set that always insists that the other party
   not record the call, the UAS would immediately send this response
   without ringing him.  Otherwise, his device would ring him to accept
   the call, and to ask whether a recording assertion should first be
   made.  If he chose to accept it and restrict A's recording, the 183
   would then be sent.  A replies to this response with a PRACK,
   containing an SDP body with the following media line:

      m=audio 30000 RTP/AVP 0
      a=curr:no-record e2e recv
      a=des:no-record mandatory e2e recv
      a=des:no-record none e2e send

   B responds to the PRACK with a 200 response.  If B has not yet
   accepted the call, his UA will alert him with a ring.  Once he
   accepts, the UAS will send a 200 response to the initial INVITE



Shacham, et al.         Expires December 27, 2006               [Page 5]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


   request.  If B has already accepted, the 200 response will be sent
   automatically.

   If A wishes to reject the preconditions, it responds with a PRACK and
   immediately sends a CANCEL, following the procedure described in [2].
   The CANCEL SHOULD contain an SDP description indicating the reason
   for failure, as was mentioned above regarding the 580 response.

   If B were asserting its desire to record, rather than its restriction
   of A's recording, the above interaction would take place with the
   "allow-record" precondition type, with B setting the "recv" direction
   to be mandatory so that he may record the input, rather than the
   "send" direction as above.


6.  Introducing a recording assertion in the middle of a call

   Once a call is established, the nature of the conversation may become
   more sensitive and a user may wish to impose a restriction on the
   other party.  Alternatively, a user may decide that he wishes to
   record and wants to get the approval of the other participant.

   If A wishes to restrict recording by B, it sends an INVITE containing
   the following media line:

      m=audio 20000 RTP/AVP 0
      a=curr:no-record e2e none
      a=des:no-record mandatory e2e send
      a=des:no-record none e2e recv

   If B accepts the restriction, it responds with a 200 response
   containing the following media line:

      m=audio 30000 RTP/AVP 0
      a=curr:no-record e2e recv
      a=des:no-record mandatory e2e recv
      a=des:no-record none e2e send

   A then responds with an ACK.  B may also respond with a 580 response
   to the INVITE, which will prompt A to send a BYE request to terminate
   the session.


7.  Security Considerations

   This document, itself, is concerned with providing SIP session
   participants with a negotiation mechanism for agreeing on acceptable
   recording guidelines.  The recorded evidence of agreement provided by



Shacham, et al.         Expires December 27, 2006               [Page 6]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


   this mechanism gives call participants a measure of security.
   However, the negotiation does not necessarily impose any behavior on
   the device being used in the call (ie. to disallow recording by the
   user), although vendors may choose to have their devices comply to
   it.


8.  IANA Considerations

   We define two precondition types, "no-record" and "allow-record" in
   accordance with [2] and [4].

      Precondition type tag: no-record
      Purpose: Restrict the recording of one's media stream by another
      call participant
      Status type: e2e
      Precondition strength: No optional precondition available

      Precondition type tag: allow-record
      Purpose: Assert one's desire to record the media stream of another
      call participant
      Status type: e2e
      Precondition strength: optional precondition available


9.  References

   [1]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
        Sparks, R., Handley, A., and E. Schooler, "SIP: Session
        Initiation Protocol", RFC 3261, June 2002.

   [2]  Camarillo, G., Marshall, W., and J. Rosenberg, "Integration of
        Resource Management and Session Initiation Protocol (SIP)",
        RFC 3312, October 2002.

   [3]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", RFC 2119, March 1997.

   [4]  Camarillo, G. and P. Kyzivat, "Update to the Session Initiation
        Protocol (SIP) Preconditions Framework", RFC 4032, March 2005.

   [5]  Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional
        Responses in the Session  Initiation Protocol (SIP)", RFC 3262,
        June 2002.







Shacham, et al.         Expires December 27, 2006               [Page 7]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


Authors' Addresses

   Ron  Shacham
   Columbia University
   1214 Amsterdam Avenue, MC 0401
   New York, NY  10027
   USA

   Email: rs2194@cs.columbia.edu


   Henning  Schulzrinne
   Columbia University
   1214 Amsterdam Avenue, MC 0401
   New York, NY  10027
   USA

   Email: hgs@cs.columbia.edu


   Wolfgang  Kellerer
   DoCoMo Eurolabs
   Landsberger Str. 312
   Munich  80687
   Germany

   Email: kellerer@docomolab-euro.com


   Srisakul  Thakolsri
   DoCoMo Eurolabs
   Landsberger Str. 312
   Munich  80687
   Germany

   Email: thakolsri@docomolab-euro.com















Shacham, et al.         Expires December 27, 2006               [Page 8]

Internet-Draft     SIP Preconditions for Media Privacy         June 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Shacham, et al.         Expires December 27, 2006               [Page 9]