SIPPING                                                          D. York
Internet-Draft                                                     Voxeo
Intended status: Informational                                T. Asveren
Expires: November 14, 2008                                         Sonus
                                                            May 13, 2008


  P-Charge-Info - A Private Header (P-Header) Extension to the Session
                       Initiation Protocol (SIP)
                  draft-york-sipping-p-charge-info-03

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 November 14, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   This document describes 'P-Charge-Info', a private Session Initiation
   Protocol (SIP) header (P-header) used to convey billing information
   about the party to be charged.  This P-Header is currently in
   production usage by a number of equipment vendors and carriers and
   this document is submitted to request the registration of this header
   with IANA as required by section 4.2 of RFC 3427.



York & Asveren          Expires November 14, 2008               [Page 1]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


Table of Contents

   1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Requirements Language  . . . . . . . . . . . . . . . . . . . .  3
   3.  Purpose of this Document . . . . . . . . . . . . . . . . . . .  4
   4.  Explanation of the Problem . . . . . . . . . . . . . . . . . .  4
   5.  Alternatives . . . . . . . . . . . . . . . . . . . . . . . . .  5
     5.1.  P-Charging-Vector  . . . . . . . . . . . . . . . . . . . .  5
     5.2.  P-Asserted-Identity  . . . . . . . . . . . . . . . . . . .  6
   6.  The P-Charge-Info Header . . . . . . . . . . . . . . . . . . .  6
     6.1.  Applicability Statement for the P-Charge-Info header . . .  6
     6.2.  Usage of the P-Charge-Info header  . . . . . . . . . . . .  6
       6.2.1.  Procedures at the UA . . . . . . . . . . . . . . . . .  6
       6.2.2.  Procedures at the Proxy  . . . . . . . . . . . . . . .  7
     6.3.  Examples of Usage  . . . . . . . . . . . . . . . . . . . .  7
   7.  Formal Syntax  . . . . . . . . . . . . . . . . . . . . . . . .  8
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
   9.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
     9.1.  Trust Relationship . . . . . . . . . . . . . . . . . . . .  8
     9.2.  Untrusted Peers  . . . . . . . . . . . . . . . . . . . . .  9
       9.2.1.  Ingress from Untrusted Peers . . . . . . . . . . . . .  9
       9.2.2.  Egress to Untrusted Peers  . . . . . . . . . . . . . .  9
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . .  9
   11. References . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     11.1. Normative References . . . . . . . . . . . . . . . . . . .  9
     11.2. Informative References . . . . . . . . . . . . . . . . . .  9
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
   Intellectual Property and Copyright Statements . . . . . . . . . . 11























York & Asveren          Expires November 14, 2008               [Page 2]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


1.  Overview

   In certain network configurations, it is desirable to decouple the
   identity of the caller (what is normally thought of as "Caller ID")
   from the identity/number used for billing purposes.  This document
   describes the current usage of 'P-Charge-Info', a private SIP header,
   to provide simple billing information and requests the registration
   of this header with IANA as required by section 4.2 of RFC 3427
   [RFC3427].

   In a typical configuration, the identity of the caller, typically
   referred to as "Caller ID", is derived from one of the following SIP
   headers:

   o  P-Asserted-Identity

   o  From (in the absence of P-Asserted-Identity)

   (NOTE: Some service providers today also use the "Remote-Party-ID"
   header but this was replaced by P-Asserted-Identity in RFC 3325 and
   should no longer be used.)

   This identity/number is typically presented to the receiving UA where
   it is usually displayed for the end user.  It is also typically used
   for billing purposes by the network entities involved in carrying the
   session.

   However, in a distributed environment the "Caller ID" presented to
   the receiving UA may not reflect the actual reality of the underlying
   network in terms of costs incurred on the PSTN.  This may result in
   excessive charging of one carrier by another based on the erroneous
   assumption that the call was originating from a different point on
   the PSTN.  An example of this is included in an upcoming section.

   There exists a need for a way to pass an additional billing
   identifier that can be used between network entities in order to
   correctly bill for services.  At least one equipment provider, Sonus
   Networks, and several carriers have been using the "P-Charge-Info"
   header for the last 2-3 years as a simple mechanism to exchange this
   billing identifier.


2.  Requirements Language

   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 RFC 2119.




York & Asveren          Expires November 14, 2008               [Page 3]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


3.  Purpose of this Document

   This document has been prepared to comply with section 4.2 of RFC
   3427 [RFC3427] which states very clearly:

        All implemented P-headers SHOULD meet the P-Header requirements
        in 4.1.  Any P-header used outside of a very restricted research
        or teaching environment (such as a student lab on implementing
        extensions) MUST meet those requirements and MUST be documented
        in an RFC and be IANA registered.

   This document is submitted to comply with the process outlined in
   section RFC 3427 Section 4.1 and the registration requirements in
   Section 4.2.


4.  Explanation of the Problem

   One common use case for the P-Charge-Info header is to address the
   current North American PSTN billing practice of charging different
   per-minute call rates for intrastate calls (i.e. calls within a
   single U.S. state) and interstate calls (i.e. calls between U.S.
   states) where interstate calls are often times significantly cheaper
   than intrastate calls.  There is a disconnect between this practice
   and the network topology enabled by SIP where PSTN phone numbers are
   no longer related to the geographic points at which PSTN
   interconnection occurs.

   Consider the following example:

   o  A company in Massachusetts with phone number 617-555-1111 calls a
      customer also in Massachusetts with phone number 617-555-2222.

   o  The Caller ID presented to the receiving party is 617-555-1111.

   o  The company calling is billed the intrastate rate because the call
      appears to have originated and terminated within Massachusetts.
      For this example, let's say the call at intrastate rates would
      have cost $5.

   o  However, the company in MA was actually using a hosted telephony
      service and while the call appears to have originated from
      Massachusetts based on the CallerID presented to the user (and
      transmitted in SIP as something like
      "6175551111@sipgw.carrier.com" in the From and/or P-Asserted-
      Identity headers), the number actually entered the PSTN from a
      data center in New York with the number 212-555-1111.




York & Asveren          Expires November 14, 2008               [Page 4]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


   o  Had the calling company presented their billing identifier as 212-
      555-1111, they would have been billed the interstate rate for
      calling and for this example let say that the call would have only
      cost $3.

   o  Naturally, the calling company wants to present its Caller ID to
      the end user as its own number of 617-555-1111 but it is
      contracting with the SIP telephony hosting provider to get cheaper
      rates.  The hosting provider would naturally like to be billed at
      the *interstate* rate versus the *intrastate* rate when the calls
      enter the PSTN from their data centers.

   o  The solution - Continue to pass the company's number as the SIP
      From address (or P-Asserted-Identity) so that the Caller ID
      displayed to the end user shows the company's number, but use
      P-Charge-Info to pass the SIP URI of the point where the call
      actually enters the PSTN.

   o  The service providers/carriers handling the call now bill the
      hosting provider based on the SIP URI in P-Charge-Info which means
      that calls which might have been charged at the higher intrastate
      rate now are charged at the lower interstate rate.

   o  Note that there is a trade-off that would need to be calculated
      prior to the decision to use this P-header.  In the example above,
      all calls into New York would now be charged at the more expensive
      intrastate rate.  Calling traffic patterns would need to be
      analyzed by a company prior to deciding to implement the usage of
      this P-header.

   In this use case, P-Charge-Info is used to provide the identity of
   the SIP-to-PSTN interconnect point so that this identity can be used
   for the purposes of billing.


5.  Alternatives

5.1.  P-Charging-Vector

   P-Charging-Vector is defined in section 4.6 of RFC 3455 [RFC3455] and
   used by the 3GPP to carry information related to the charging of a
   session.  There are, however, some differences in the semantics
   associated with P-Charging-Vector and P-Charge-Info.  P-Charging-
   Vector is mainly used to carry information for correlation of
   multiple charging records generated for a single session.  On the
   other hand, P-Charge-Info is used to convey information about the
   party to be billed for a call.  Furthermore, P-Charging-Vector has a
   mandatory icid-value parameter which is a globally unique value to



York & Asveren          Expires November 14, 2008               [Page 5]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


   identify the session for which the charging information is generated.
   Such a globally-unique identifier is not necessary when carrying
   information about the user to be billed when it is attached to the
   corresponding session-related signaling.

5.2.  P-Asserted-Identity

   Early reviewers of this document asked why the "P-Asserted-Identity"
   header documented in RFC 3325 [RFC3325] could not be used.  As
   mentioned in the use case example above, P-Asserted-Identity is used
   to indicate the identity of the calling party.  However, in this
   instance, the requirement is to provide an additional identity of the
   SIP-to-PSTN interconnect point.

   It would be typical to find both P-Asserted-Identity and P-Charge-
   Info used in a SIP exchange.  P-Asserted-Identity would be used to
   provide the caller identity which would be displayed to the end user
   as "Caller ID" while P-Charge-Info would provide the billing
   identifier used for the billing associated with the call.


6.  The P-Charge-Info Header

6.1.  Applicability Statement for the P-Charge-Info header

   The P-Charge-Info header is applicable within a single private
   administrative domain or between different administrative domains
   where there is a trust relationship between the domains.

6.2.  Usage of the P-Charge-Info header

   The P-Charge-Info header is used to convey information about the
   identity of the party to be charged.  The P-Charge-Info header is
   typically inserted by the SIP proxy on the originating network.

   P-Charge-Info is to be consumed by the SIP entity that provides
   billing services for a session.  This could be an entity generating
   billing records or an entity interacting with another enitity
   generating billing records.  Upon receipt of an INVITE request with
   P-Charge-Info header, such an entity SHOULD use the value present in
   the P-Charge-Info as indicating the party responsible for the charges
   associated with the session.

6.2.1.  Procedures at the UA

   The P-Charge-Info header may be inserted by PSTN gateways acting as a
   SIP UA, either through local policy or as a result of information
   received via PSTN signaling, e.g. the charge parameter in an ISUP IAM



York & Asveren          Expires November 14, 2008               [Page 6]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


   message.

   The P-Charge-Info header is not used/interpreted by a regular (i.e.
   non-gateway) UA and should not normally be seen by such a UA.  If the
   header is transmitted to such a UA, the UA SHOULD ignore the header.

   A gateway UA MAY use the content of the P-Charge-Info header present
   in an INVITE request it received for billing related procedures, e.g.
   in a billing record or during interaction with another entity
   generating billing records, as the identity of the party to be
   charged for the session.  A gateway UA MAY use the content of the
   P-Charge-Info header to populate information about the identity of
   the party to charge in another type of signaling, e.g.  ISUP.

6.2.2.  Procedures at the Proxy

   A SIP proxy that supports this extension and receives a request,
   typically a SIP INVITE, without the P-Charge-Info header MAY insert a
   P-Charge-Info header.  The contents of the inserted header may be
   decided based on local policy or by querying an external entity to
   determine the identity of the party to be charged.

   A proxy MAY use the content of the P-Charge-Info header present in an
   INVITE request it received for billing related procedures, e.g. in a
   billing record or during interaction with another entity generating
   billing records.

   A SIP proxy that does not support this extension will pass any
   received P-Charge-Info header unmodified in compliance with RFC 3261.

   An edge proxy supporting this extension SHOULD remove the P-Charge-
   Info header before send a request to a non-gateway UA.

6.3.  Examples of Usage

   The content of the P-Charge-Info header is typically simply a SIP URI
   used as a billing indicator.  As such, an example would be as simple
   as:

   P-Charge-Info: <sip:4075555555@1.2.3.4>

   Any other applicable SIP URI could be used.

   P-Charge-Info optionally includes the numbering plan indicator as an
   additional parameter.  This is used when an ISUP message is built
   from a SIP message for scenarios where SIP is used to connect two
   PSTN segments and needs to pass charging information between them.
   An example of the usage of the optional header is:



York & Asveren          Expires November 14, 2008               [Page 7]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


   P-Charge-Info: <sip:6835555555;npi=ISDN@10.10.7.21>


7.  Formal Syntax

   The Private Header specified in this document is described in both
   prose and an augmented Backus-Naur Form (BNF) defined in RFC 2234.
   Further, several BNF definitions are inherited from SIP and are not
   repeated here.  Implementors need to be familiar with the notation
   and contents of SIP [1] and RFC 2234 [3] to understand this document.

   The syntax of the P-Charge-Info header is described as follows:

         P-Charge-Info = "P-Charge-Info" HCOLON (name-addr / addr-spec)*
                 (SEMI charge-param)
                 ; name-addr and addr-spec are specified in RFC 3261
             charge-param = (("npi" EQUAL npi-value) / generic-param)
                 ; generic-param is specifed in RFC 3261
             npi-value = ("ISDN" / "DATA" / "TELEX" / "PRIVATE" /
                    "SPARE0" / "SPARE1" / "SPARE2" / "SPARE3" /
                    "SPARE4" / "SPARE5" / "SPARE6" / "SPARE7" )


8.  IANA Considerations

   This document defines a private SIP extension header field (beginning
   with the prefixe "P-").

   The extension is registered as a private extension field:

   RFC Number: RFCXXXX [Note to IANA: Please fill in with the RFC number
   of this specification.

   Header Field Name: P-Charge-Info

   Compact Form: none


9.  Security Considerations

9.1.  Trust Relationship

   Given that the information contained in the P-Charge-Info header will
   be used for billing purposes the proxies and other SIP entities that
   share this information MUST have a trust relationship.

   If an untrusted entity were inserted between the trusted entities, it
   could potentially interfere with the billing records for the call.



York & Asveren          Expires November 14, 2008               [Page 8]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


   If the SIP connections are not made over a private WAN, a mechanism
   for securing the confidentiality and integrity of the SIP connection
   should be used to protect the information.  One such mechanism could
   be TLS-encryption of the SIP signaling stream.

9.2.  Untrusted Peers

9.2.1.  Ingress from Untrusted Peers

   If the P-Charge-Info header was accepted by a SIP entity from an
   untrusted peer, there is the potential for fraud if the untrusted
   entity sent incorrect information, either inadvertently or
   maliciously.

   Therefore a SIP entity MUST remove and ignore the P-Charge-Info
   header when it is received from an untrusted entity.

9.2.2.  Egress to Untrusted Peers

   If the P-Charge-Info header was sent by a SIP entity to an untrusted
   peer, there is the potential exposure of network information that is
   internal to a trust domain.  For instance, the untrusted entity may
   learn the identities of public SIP proxies used within the trust
   domain which could then potentially be directly attacked.

   Therefore a SIP entity MUST remove the P-Charge-Info header when it
   is sent to an untrusted entity.


10.  Acknowledgements

   The authors thank the following people for their comments, criticism,
   suggestions and assistance with ABNF notation: Keith Drage, Miguel
   Garcia, Christer Holmberg, Paul Kyzivat and Jonathan Rosenberg.


11.  References

11.1.  Normative References

   [RFC3427]  Mankin, A., Bradner, S., Mahy, R., Willis, D., Ott, J.,
              and B. Rosen, "Change Process for the Session Initiation
              Protocol (SIP)", BCP 67, RFC 3427, December 2002.

11.2.  Informative References

   [RFC3325]  Jennings, C., Peterson, J., and M. Watson, "Private
              Extensions to the Session Initiation Protocol (SIP) for



York & Asveren          Expires November 14, 2008               [Page 9]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


              Asserted Identity within Trusted Networks", RFC 3325,
              November 2002.

   [RFC3455]  Garcia-Martin, M., Henrikson, E., and D. Mills, "Private
              Header (P-Header) Extensions to the Session Initiation
              Protocol (SIP) for the 3rd-Generation Partnership Project
              (3GPP)", RFC 3455, January 2003.


Authors' Addresses

   Dan York
   Voxeo Corporation
   Burlington, VT
   USA

   Phone: +1-407-455-5859
   Email: dyork@voxeo.com
   URI:   http://www.voxeo.com/


   Tolga Asveren
   Sonus Networks
   3 Paragon Way
   Freehold, NJ  07728
   USA

   Email: tasveren@sonusnet.com























York & Asveren          Expires November 14, 2008              [Page 10]


Internet-Draft     P-Charge-Info, a SIP Private Header          May 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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.

   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, THE IETF TRUST 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.


Intellectual Property

   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.


Acknowledgment

   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).





York & Asveren          Expires November 14, 2008              [Page 11]