Traditional Telecom billing methods used by carriers in the past to assess TDM calls have typically used the Calling Party Number and Called number in order to determine the location from which the call is placed, and the location to which the call is being placed.
This concept is widely known as “determination of jurisdiction”. In the past, this method of assessment was used to assign Interstate or Intrastate charges to calls. Intrastate - or in-state calls - typically incur a much greater charge to the consumer because of legacy TDM tarrifs, regulations, and taxes.
In the past the Caller-ID field was a dependable constant which provided an accurate measure of location within the Telecom network. Voice over IP technologies are now becoming the common technology of choice for Telecomm. These protocols allow greater control over features and functionality, including the Caller-ID field. It is now possible to utilize the Caller-ID field in VoIP to reap additional benefits and call control functionality for voice calls.
Voxeo provides a SIP based (VoIP) Voice application platform that allows people to easily create Speech enabled automated telephony solutions. These applications perform hundreds of different kinds of automated tasks and automate transactions in every market and industry using human speech, and VoIP technology via programming languages such as Callxml, VoiceXML, and CCXML.
Voxeo allows our users to control fields such as the Caller-ID field, to maintain greater control over their application, such as to provide additional data for downstream call routing, or to provide a client with the ability to show their specific corporate number to a caller to indicate that they are placing the call.
If a user decides to populate the Caller-ID field with an Intrastate number, for example Austin - at a 512, - and place a call to a 512 -xxx number, the call would appear to the carrier to be an Intrastate call. In fact, the call actually originated from one of our data centers from outside the State of Texas.
As the call is a SIP originated call from a state other than an Intrastate location, I believe that it should be charged Interstate rates on these calls. Our carriers friends agree with us, and have worked with us to find a solution to this problem.
The solution we have found for notifying the carrier of our physical location while allowing users to specify caller-id, is a SIP header field called P-Charge-Info.
P-Charge-Info is a field in the SIP Header that allows the receiving IP switch to establish the real location of the originating call while preserving the CallerId field.
Below is an informal RCF draft regarding the P-Charge-Info header that will provide a detailed explanation of the this field.
__________________________________________________________________
Internet-Draft Voxeo
P-Charge-Info - A Private Header (P-Header) Extension to the Session
Initiation Protocol (SIP)
draft-york-sipping-p-charge-info-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 August 28, 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 by a number of equipment
vendors and carriers to convey simple billing information.
York & Asveren Expires August 28, 2008 [Page 1]
Internet-Draft P-Charge-Info, a SIP Private Header February 2008
Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Requirements Language . . . . . . . . . . . . . . . . . . . . . 4
3. The P-Charge-Info Header . . . . . . . . . . . . . . . . . . . 4
3.1. Applicability Statement for the P-Charge-Info header . . . 4
3.2. Usage of the P-Charge-Info header . . . . . . . . . . . . . 4
3.2.1. Procedures at the UA . . . . . . . . . . . . . . . . . 4
3.2.2. Procedures at the Proxy . . . . . . . . . . . . . . . . 4
3.3. Examples of Usage . . . . . . . . . . . . . . . . . . . . . 5
4. Formal Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 5
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.1. Normative References . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . . 6
Authors’ Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
Intellectual Property and Copyright Statements . . . . . . . . . . 8
Internet-Draft P-Charge-Info, a SIP Private Header February 2008
1. Overview
In certain network configurations, it is desirable to decouple the
Caller ID from the 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.1 of RFC 3427
[RFC3427].
In a typical configuration, “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 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.
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.
Note that the 3GPP has also recognized the need for such a billing
identifier and in section 4.6 of RFC 3455 [RFC3455] established a SIP
P-Header, “P-Charging-Vector”, to provide similar information. 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
York & Asveren Expires August 28, 2008 [Page 3]
Internet-Draft P-Charge-Info, a SIP Private Header February 2008
parameter, which is a globally unique value to identify the session,
for which the charging information is generated. Such an identifier
is not necessary when carrying information about the user to be
billed.
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.
3. The P-Charge-Info Header
3.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.
3.2. Usage of the P-Charge-Info header
The P-Charge-Info header is used to convey information related to
billing record for a particular call. The P-Charge-Info header is
typically inserted by the SIP proxy on the originating network.
3.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
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.
3.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.
A SIP proxy that does not support this extension will pass any
received P-Charge-Info header unmodified in compliance with RFC 3261.
York & Asveren Expires August 28, 2008 [Page 4]
Internet-Draft P-Charge-Info, a SIP Private Header February 2008
3.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:
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:
P-Charge-Info:
4. 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″ )
5. 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.
York & Asveren Expires August 28, 2008 [Page 5]
Internet-Draft P-Charge-Info, a SIP Private Header February 2008
Header Field Name: P-Charge-Info
Compact Form: none
6. Security Considerations
Given that the information contained in the P-Charge-Info header will
be used for billing purposes the proxies 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.
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.
7. Acknowledgements
The authors thank Miguel Garcia, Christer Holmberg and Paul Kyzivat,
who, while not necessarily agreeing with the need for this header,
did provide substantial input and also corrected and greatly improved
the ABNF notation.
8. References
8.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.
8.2. Informative References
[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.
______________________
Additional Info
______________________
Below is a SIP log detailing the use of P-Charge-Info in an actual log.
Details
CSeq: 1 INVITE
Contact:
Supported: 100rel
Supported: timer
Supported: replaces
Supported: histinfo
User-Agent: CommuniGatePro-callLeg/5.2.1a
Allow: INVITE
Allow: ACK
Allow: BYE
Allow: CANCEL
Allow: OPTIONS
Allow: INFO
Allow: MESSAGE
Allow: SUBSCRIBE
Allow: NOTIFY
Allow: PRACK
Allow: REFER
Content-Type: application/sdp
Content-Length: 273
v=0
o=Sonus_UAC 1114763139 557381571 IN IP4 207.155.147.30
s=SIP 200.123.456.789 Capabilities
c=IN IP4 207.155.147.10
t=0 0
m=audio 8126 RTP/AVP 0 101
c=IN IP4 207.155.147.10
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=maxptime:20
CCX/voxeo-3v3lmzwxb/2008.02.15.15.38.00.531/:a6ab2d5524a338534dd26e4aa70fb032:-1:1/14/CTA-9399e7868dd4e81ed19774d438019f39/CTManager:SIP message(o):
ACK sip:signode-34-B35F42D3@216.22.104.35 SIP/2.0
Via: SIP/2.0/UDP
To: ;tag=000000000000034-2E6C87E6-B35F42D3
From: ;tag=0-13c4-47b5b1c6-3c83246-6784
CSeq: 1 ACK
Call-ID: 0-13c4-47b5b1c6-3c83246-18be-18aac060
Contact:
P-CGP-Private: 200.123.456.789
P-Charge-Info: 9991234567@sipproxy.foo.net
Reason: 5125555555@sipproxy.foo.net
Content-Length: 0