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-1 shows the attribute in the recordfile element.

Table 1-1 Attributes of the recordfile Element

Attribute
Optional
Description

sbc

N

IP address of a CUBE (SP) recording.

The call Element

Table 1-2 shows the attributes in the call element.

Table 1-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 1-3 shows the attribute in the subscriber element.

 

Table 1-3 Attributes of the subscriber Element

Attribute
Optional
Description

public_id

N

The public identifier of the subscriber.

The billingdeactivation Element

Table 1-4 shows the attribute in the billingdeactivation element.

Table 1-4 Attributes of the billingdeactivation Element

Attribute
Optional
Description

time

N

The time at which the billing instance is deactivated.

The party Element

Table 1-5 shows the attributes in the party element.

Table 1-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 1-6 shows the attributes in the adjacency element.

Table 1-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 1-7 shows the attribute in the connect element.

Table 1-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 1-8 shows the attribute in the firstendrequest element.

Table 1-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 1-9 shows the attribute in the disconnect element.

Table 1-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 1-17 .

The release Element

Table 1-10 shows the attribute in the release element.

Table 1-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 1-17 .

The im_stats Element

Table 1-11 shows the attributes in the im_stats element.

Table 1-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 1-12 shows the attributes in the Quality of Service (QoS) element.

Table 1-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 1-13 shows the attribute in the flowinfo element.

Table 1-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 1-14 shows the attribute in the local element and the remote element.

Table 1-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 1-15 shows the attribute in the sd element.

Table 1-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 1-16 shows the attribute in the ad element.

Table 1-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:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
</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:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
</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 1-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.

<!DOCTYPE recordfile [
<!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
endtime CDATA #REQUIRED
duration CDATA #REQUIRED
release_side CDATA #IMPLIED
bcid CDATA #REQUIRED>
<!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
phone CDATA #REQUIRED
domain CDATA #IMPLIED
cic CDATA #IMPLIED
editphone CDATA #IMPLIED
editcic CDATA #IMPLIED
sig_address CDATA #IMPLIED
sig_port CDATA #IMPLIED
trunk_group CDATA #IMPLIED
trunk_context CDATA #IMPLIED>
<!ELEMENT admin_domains (ad*)>
<!ELEMENT ad EMPTY>
<!ATTLIST adname CDATA #REQUIRED>
<!ELEMENT adjacency EMPTY>
<!ATTLIST adjacency type CDATA #REQUIRED
name CDATA #REQUIRED
account CDATA #REQUIRED
vpn CDATA #IMPLIED
mediarealm CDATA #IMPLIED>
<!ELEMENT connect EMPTY>
<!ATTLIST connect time CDATA #REQUIRED>
<!ELEMENT firstendrequest EMPTY>
<!ATTLIST firstendrequest time CDATA #REQUIRED>
<!ELEMENT disconnect EMPTY>
<!ATTLIST disconnect time CDATA #REQUIRED
reason 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>
<!ELEMENT local EMPTY>
<!ATTLIST local address CDATA #REQUIRED
port CDATA #REQUIRED
transrated (true|false) "false">
<!ELEMENT remote EMPTY>
<!ATTLIST remote address CDATA #REQUIRED
port CDATA #REQUIRED
transrated (true|false) "false">
<!ELEMENT sd (#PCDATA)>
<!ATTLIST sd direction CDATA #IMPLIED>
<!ELEMENT RTCPblock (#PCDATA)>
<!ELEMENT longcall (party, party)>
<!ATTLIST longcall starttime CDATA #REQUIRED
duration CDATA #REQUIRED
bcid CDATA #REQUIRED>
<!ELEMENT partialcall (QoS)>
<!ATTLIST partialcall bcid CDATA #REQUIRED>
<!ELEMENT audit (log*)>
<!ELEMENT log (name, value)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT value (#PCDATA)>
]>