Table Of Contents
XML Billing Schema
XML Elements Generated by CUBE (SP)
The recordfile Element
The call Element
The subscriber Element
The billingdeactivation Element
The party Element
The adjacency Element
The connect Element
The firstendrequest Element
The disconnect Element
The release Element
The im_stats Element
The QoS Element
The gate Element
The flowinfo Element
The local Element and the remote Element
The sd Element
The RTCPStats Element
The admin_domains Element
The ad Element
Sample XML Billing File
Termination Codes
XML Document Type Definition
XML Billing Schema
This appendix provides a detailed description of the XML elements used in the XML billing records that the CUBE (SP) XML billing method generates, an XML billing sample file generated by the SBC, the termination codes for the XML billing records, and the XML Document Type Definition (DTD).
XML Elements Generated by CUBE (SP)
This section provides details of the XML elements used in the XML billing records that the CUBE (SP) XML billing method generates.
The recordfile Element
Table 1 shows the attribute in the recordfile element.
Table 1 Attributes of the recordfile Element
Attribute
|
Optional
|
Description
|
sbc
|
N
|
IP address of a CUBE (SP) recording.
|
The call Element
Table 2 shows the attributes in the call element.
Table 2 Attributes of the call Element
Attribute
|
Optional
|
Description
|
starttime
|
N
|
The time at which a call starts is the time at which signaling starts.
|
endtime
|
Y
|
The time at which a call ends is the time at which signaling ends and resources are released. This attribute is present if the call does not end, when the call detail record (CDR) is written. This is because the billing method instance is deactivated when the billingdeactivation element is present.
|
duration
|
Y
|
The length of the call, in milliseconds. This attribute is present if the call does not end, when the call detail record (CDR) is written. This is because the billing method instance is deactivated when the Billingdeactivation element is present.
|
release_side
|
Y
|
Indicates the side of the call control that initiates the call release, if any.
The applicable values are as follows:
• Orig—Indicates that the release is initiated on the originating side of the call.
• Term—Indicates that the release is initiated on the terminating side of the call.
• Neither—Indicates that the release is not initiated on either side of the call.
Omission of this attribute indicates that no information is available about the release initiator. One possible reason for this could be that the call is not yet released.
|
bcid
|
N
|
A unique identifier of the CUBE (SP) instance pertaining to a call record.
|
The subscriber Element
Table 3 shows the attribute in the subscriber element.
Table 3 Attributes of the subscriber Element
Attribute
|
Optional
|
Description
|
public_id
|
N
|
The public identifier of the subscriber.
|
The billingdeactivation Element
Table 4 shows the attribute in the billingdeactivation element.
Table 4 Attributes of the billingdeactivation Element
Attribute
|
Optional
|
Description
|
time
|
N
|
The time at which the billing instance is deactivated.
|
The party Element
Table 5 shows the attributes in the party element.
Table 5 Attributes of the party Element
Attribute
|
Optional
|
Description
|
type
|
N
|
The applicable values are:
• Orig—Indicates that this party is the originating endpoint of the call.
• Term—Indicates that this party is the terminating endpoint of the call.
|
phone
|
N
|
The original phone number or the SIP user name of the party.
|
domain
|
Y
|
The original domain name of the phone number or the SIP user name.
|
cic
|
Y
|
The carrier identification code of the phone number or the SIP user name. This attribute is present only at the terminating endpoint.
|
editphone
|
Y
|
The edited phone number or the SIP user name of the party.
|
editcic
|
Y
|
The edited carrier identification code of the phone number or the SIP user name. This attribute is present only at the terminating endpoint.
|
sig_address
|
Y
|
The network address of the next-hop signaling entity. The signaling messages are received from this network address and are sent to this network address.
|
sig_port
|
Y
|
The network port of the next-hop signaling entity. The signaling messages are received from this network port and are sent to this network port.
|
The adjacency Element
Table 6 shows the attributes in the adjacency element.
Table 6 Attributes of the adjacency Element
Attribute
|
Optional
|
Description
|
type
|
N
|
The applicable values are:
• Orig—Indicates that this adjacency is the originating adjacency of the call.
• Term—Indicates that this adjacency is the outgoing adjacency of the call.
|
name
|
N
|
The adjacency name, as configured by the administrator on the SBC.
|
account
|
N
|
The account name to which the originating branch or terminating branch of the call belong to, as configured by the administrator on the SBC.
|
vpn
|
Y
|
The VPN ID associated with the adjacency, if any.
|
mediarealm
|
Y
|
The IP realm associated with the adjacency, if any.
|
The connect Element
Table 7 shows the attribute in the connect element.
Table 7 Attributes of the connect Element
Attribute
|
Optional
|
Description
|
time
|
N
|
The time at which the call is connected, that is, when the media gate is opened.
|
The firstendrequest Element
Table 8 shows the attribute in the firstendrequest element.
Table 8 Attributes of the firstendrequest Element
Attribute
|
Optional
|
Description
|
time
|
N
|
The time at which the first BYE request is received.
|
The disconnect Element
Table 9 shows the attribute in the disconnect element.
Table 9 Attributes of the disconnect Element
Attribute
|
Optional
|
Description
|
time
|
N
|
The time at which the call is disconnected, that is, when the final BYE response is received.
|
reason
|
N
|
The reason for the disconnection. For more information about the various reasons for call termination, see Table 17.
|
The release Element
Table 10 shows the attribute in the release element.
Table 10 Attributes of the release Element
Attribute
|
Optional
|
Description
|
reason
|
N
|
The reason for not connecting to the call. For more information about the various reasons for call termination, see Table 17.
|
The im_stats Element
Table 11 shows the attributes in the im_stats element.
Table 11 Attributes of the im_stats Element
Attribute
|
Optional
|
Description
|
incomplete
|
Y
|
Indicates whether the msgs_from_orig and msgs_from_term statistics attributes are applicable to the entire call. This element is omitted when the value is false.
|
msgs_from_orig
|
N
|
The number of IM messages sent from the caller.
|
msgs_from_term
|
N
|
The number of IM messages sent from the callee.
|
The QoS Element
Table 12 shows the attributes in the Quality of Service (QoS) element.
Table 12 Attributes of the QoS Element
Attribute
|
Optional
|
Description
|
reservetime
|
Y
|
The time at which the QoS is reserved.
|
committime
|
Y
|
The time at which the QoS is committed. This information is mandatory if the QoS is committed.
|
releasetime
|
N
|
The time at which the QoS is released. This field value may be inaccurate in certain post-failover scenarios such as RP switch over.
|
The gate Element
The gate element contains no attributes.
The flowinfo Element
Table 13 shows the attribute in the flowinfo element.
Table 13 Attributes of the flowinfo Element
Attribute
|
Optional
|
Description
|
transport_type
|
Y
|
This attribute can have the following values:
• RTP—This indicates that the media stream is using real-time transport protocol (RTP). The RTP is the default value used, if the transport_type attribute is absent from the flowinfo element.
• SRTP—This indicates that the media stream is using secure real-time transport protocol (SRTP).
• UDPTL—This indicates that the media stream is carrying T.38 over user datagram protocol transport layer (UDPTL).
|
The local Element and the remote Element
Table 14 shows the attribute in the local element and the remote element.
Table 14 Attributes of the local Element and the remote Element
Attribute
|
Optional
|
Description
|
address
|
N
|
The IP address that sends and receives packets.
|
port
|
N
|
The port number that packets are sent from and received on.
|
transrated
|
Y
|
Indicates whether the media packets sent to this element are transrated or not.
If this attribute is absent, transrating is not provisioned. In the current implementation of the SBC, this attribute appears only in the remote element, because transrating is always performed as late as possible.
|
The sd Element
Table 15 shows the attribute in the sd element.
Table 15 Attributes of the sd Element
Attribute
|
Optional
|
Description
|
direction
|
Y
|
This attribute can have the following values:
• Inbound - Indicates that the element provides inbound SDP information.
• Outbound - Indicates that the element provides outbound SDP information.
If this attribute is not included, it implies that the negotiated SDP is symmetric.
|
The RTCPStats Element
The RTCPStats element contains no attributes.
The admin_domains Element
The admin_domains element contains no attributes.
The ad Element
Table 16 shows the attribute in the ad element.
Table 16 Attributes of the ad Element
Attribute
|
Optional
|
Description
|
Name
|
N
|
The name of the admin domain associated with the endpoint.
|
Sample XML Billing File
The following is an example of an XML billing file.
<?xml version="1.0"?><recordfile sbc-sig="20.24.34.1"><call starttime="1277766440306"
endtime="1277766552984" duration="112678" release_side="orig"
bcid="4C292B282020202038303339302B30383030303000000004"><party type="orig" phone="2013"
domain="10.0.50.135" sig_address="10.0.50.135" sig_port="58790"/><party type="term"
phone="13208011" editphone="8011" sig_address="10.0.50.132" sig_port="5060"/><adjacency
type="orig" name="CCM-135" account="" mediarealm = "sgn1"/><adjacency type="term"
name="CCM-132" account="" mediarealm = "sgn1"/><connect
time="1277766442516"/><firstendrequest time="1277766552976"/><disconnect
time="1277766552984" reason="0"/><QoS stream_id="1" instance="0"
reservetime="1277766440306" committime="1277766442516"
releasetime="1277766552987"><gate><flowinfo><local address="20.21.4.3"
port="16388"/><remote address="10.0.50.135" port="26880"/><sd>m=audio 0 RTP/AVP 0 101
a=rtpmap:101 telephone-event/8000
</sd><RTCPstats>PS=5524, OS=1104800, PR=5523, OR=1104600, PD=0, OD=0, PL=0, JI=0, LA=0,
PC/RPS=0, PC/ROS=0, PC/RPR=0, PC/RPL=0, PC/RJI=0,
PC/RLA=0</RTCPstats></flowinfo><flowinfo><local address="20.21.4.3" port="16390"/><remote
address="10.0.50.132" port="24580"/><sd>m=audio 0 RTP/AVP 0 101
a=rtpmap:101 telephone-event/8000
</sd><RTCPstats>PS=5523, OS=1104600, PR=5524, OR=1104800, PD=0, OD=0, PL=0, JI=0, LA=0,
PC/RPS=0, PC/ROS=0, PC/RPR=0, PC/RPL=0, PC/RJI=0,
PC/RLA=0</RTCPstats></flowinfo></gate></QoS></call></recordfile>
Termination Codes
The following table contains the codes that describe the causes for call terminations in XML billing records.
Table 17 Termination Codes for XML Billing Records
Value
|
Description
|
00
|
Normal call termination (no error).
|
01
|
A storage resource shortage has occurred on the local device.
|
02
|
A storage resource shortage has occurred on a remote device controlled by the local device.
|
03
|
A media resource shortage has occurred.
|
04
|
A media failure has occurred because of the failure in the underlying hardware or through management action.
|
05
|
A continuity test has failed.
|
06
|
The requested media resource is blocked or has been quiesced.
|
07
|
Media is in use by another call.
|
08
|
Media is not configured.
|
09
|
An error has occurred due to a configuration inconsistency.
|
10
|
Media is unavailable.
|
11
|
Media is congested.
|
12
|
An internal error has occurred.
|
13
|
No terminations are available.
|
14
|
An error other than a failure, resource, or bandwidth shortage has occurred in the media layers.
|
15
|
A request to reset a termination has failed.
|
16
|
An interworking error has occurred.
|
17
|
A security error has occurred.
|
18
|
This is not a valid address.
|
19
|
This is not a valid transit network.
|
20
|
There is no route available to the specified destination address.
|
21
|
There is no route available to the specified transit network.
|
22
|
This number is unavailable because the number has changed recently.
|
23
|
This is an unallocated number.
|
24
|
There is no route-to-destination address due to congestion.
|
25
|
There is no route-to-transit network due to congestion.
|
26
|
LNP call is misrouted to the exchange that does not serve the destination number.
|
27
|
Internal congestion has occurred.
|
28
|
The media capabilities requested for the call are not supported.
|
29
|
The maximum number of routing retries are exceeded.
|
30
|
The resources are unavailable for SBC.
|
31
|
The destination resource is incompatible with request.
|
32
|
This is an invalid message.
|
33
|
This is an unrecognized signaling message type.
|
34
|
Recovery on timer expiry.
|
35
|
Unrecognized or unimplemented signaling parameter has been passed on.
|
36
|
Unrecognized or unimplemented signaling parameter has been discarded.
|
37
|
The signaling protocol error has occurred.
|
38
|
This is a temporary failure.
|
39
|
No answer.
|
40
|
The destination is out of order.
|
43
|
Unauthorized request.
|
44
|
Network congestion.
|
45
|
The request is not supported for an unspecified reason.
|
46
|
The specified resource is not equipped.
|
47
|
Call to call services.
|
48
|
An unspecified or miscellaneous error has occurred.
|
49
|
The named digit map requested by the call agent is unknown to the media gateway.
|
50
|
The media bandwidth is insufficient.
|
51
|
The routing has failed because no digits were dialed.
|
52
|
A subscriber has attempted to dial a number that is restricted.
|
53
|
QoR call to a subscriber has failed because the subscriber was not found.
|
55
|
Called user has rejected the call.
|
56
|
The call could not be routed to a subscriber because the subscriber's termination could not be located.
|
57
|
Called subscriber is busy even though media can be allocated to the subscriber.
|
64
|
A branch that was successfully audited internally following a Call Agent failover does not indicate that the call failed during the Call Agent failover.
|
65
|
A subscriber attempted to register for an interval that was too brief.
|
66
|
This request is unauthorized by proxy.
|
67
|
The call's early media exceeded the time limit set by access control before the call was connected.
|
68
|
A glare scenario was detected, where each party in the call sent a message of the same type simultaneously.
|
69
|
An endpoint has attempted a renegotiation at an illegal point.
|
70
|
An endpoint has sent media parameters that were unparseable.
|
71
|
A message or one of its subcomponents was too large to process.
|
72
|
An endpoint indicated that a request must be redirected.
|
73
|
(CAC-specific) Call setup rate have exceeded a maximum limit.
|
74
|
(CAC-specific) Number of call updates have exceeded the maximum limit.
|
75
|
(CAC-specific) Number of calls have exceeded the maximum limit.
|
76
|
(CAC-specific) Number of media channels used have exceeded the maximum limit.
|
77
|
(CAC-specific) Bandwidth used have exceeded the maximum limit.
|
78
|
(CAC-specific) Number of registered endpoints have exceeded the maximum limit.
|
79
|
(CAC-specific) Rate of endpoint registrations have exceeded the maximum limit.
|
80
|
Media could not be established because an acceptable media transport type could not be negotiated for any media stream.
|
81
|
Media is not yet established because of redirection. The system is retrying.
|
82
|
No subscriber record with the specified search keys is found.
|
83
|
(CAC-specific) Rate of in-call messages have exceeded the maximum limit.
|
84
|
(CAC-specific) Rate of out-of-call requests have exceeded the maximum limit.
|
85
|
Register request from endpoint was rejected because a delegate subscriber exists in subscriber database (SUBDB) with matching search keys.
|
86
|
(CAC-specific) Media transport settings of the call caused it to fail.
|
87
|
Routing failed because the route to the address is unavailable.
|
88
|
No acceptable codec that can be used for a call.
|
89
|
The number of media channels requested is greater than the maximum number the SBC supports.
|
90
|
An attempt to transfer the call has failed. This is used when the reason for a call is released after an attempt to transfer it to a third party has failed.
|
91
|
The E.164 number mapping (ENUM) processing encountered an error.
|
92
|
The SBC received a message with SDP parameters that were unparseable.
|
93
|
A subscriber signaling bearer channel is unavailable.
|
94
|
A subscriber media bearer channel has failed mid-call.
|
95
|
A subscriber media bearer channel was rejected, either during call setup or during renegotiation.
|
96
|
Privacy requirements could not be satisfied for the call.
|
97
|
A CAC-specific error code indicating that a policy disallowing the RTP for the call caused it to fail. Note: This error code is used only in internal-to-ICC, and should not be communicated to the signaling stacks.
|
98
|
A CAC-specific error code indicating that a policy disallowing the SRTP for the call caused it to fail.
Note: This error code is used only in internal-to-ICC, and must not be communicated to the signaling stacks.
|
99
|
Policy disallowing the RTP or the SRTP IW for the call caused it to fail.
|
100
|
No media gateway (MG) that is able to support the SRTP was found for the call, causing it to fail.
|
101
|
SRTP processing encountered a miscellaneous error.
|
102
|
Call released because media packets forwarding (MPF) has detected a fatal error.
|
XML Document Type Definition
This section provides the complete XML document type definition (DTD) for the XML billing records that the XML billing method produces.
<!ELEMENT recordfile (call | longcall | partialcall | audit)*>
<!ATTLIST recordfile sbc CDATA #REQUIRED>
<!ELEMENT call (subscriber, billingdeactivation, party, party, adjacency, adjacency,
connect?, disconnect?, QoS*)>
<!ATTLIST call starttime CDATA #REQUIRED
release_side CDATA #IMPLIED
<!ELEMENT subscriber EMPTY>
<!ATTLIST subscriber public_id CDATA #REQUIRED>
<!ELEMENT billingdeactivation EMPTY>
<!ATTLIST billingdeactivation time CDATA #REQUIRED>
<!ELEMENT party (admin_domains?)>
<!ATTLIST party type CDATA #REQUIRED
sig_address CDATA #IMPLIED
trunk_group CDATA #IMPLIED
trunk_context CDATA #IMPLIED>
<!ELEMENT admin_domains (ad*)>
<!ATTLIST adname CDATA #REQUIRED>
<!ELEMENT adjacency EMPTY>
<!ATTLIST adjacency type CDATA #REQUIRED
mediarealm CDATA #IMPLIED>
<!ATTLIST connect time CDATA #REQUIRED>
<!ELEMENT firstendrequest EMPTY>
<!ATTLIST firstendrequest time CDATA #REQUIRED>
<!ELEMENT disconnect EMPTY>
<!ATTLIST disconnect time CDATA #REQUIRED
<!ATTLIST release reason CDATA #REQUIRED>
<!ELEMENT im_stats EMPTY>
<!ATTLIST im_stats incomplete CDATA #IMPLIED
msgs_from_orig CDATA #REQUIRED
msgs_from_orig CDATA #REQUIRED>
<!ELEMENT QoS (gate, gate*)>
<!ATTLIST QoS reservetime CDATA #IMPLIED
committime CDATA #IMPLIED
releasetime CDATA #IMPLIED>
<!ELEMENT gate (flowinfo, flowinfo)>
<!ELEMENT flowinfo (local, remote, sd, RTCPStats)>
<!ATTLIST flowinfo transport_type CDATA #IMPLIED>
<!ATTLIST local address CDATA #REQUIRED
transrated (true|false) "false">
<!ATTLIST remote address CDATA #REQUIRED
transrated (true|false) "false">
<!ATTLIST sd direction CDATA #IMPLIED>
<!ELEMENT RTCPblock (#PCDATA)>
<!ELEMENT longcall (party, party)>
<!ATTLIST longcall starttime CDATA #REQUIRED
<!ELEMENT partialcall (QoS)>
<!ATTLIST partialcall bcid CDATA #REQUIRED>
<!ELEMENT log (name, value)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT value (#PCDATA)>