Reference10:Call Detail Record CDR PBX
If enabled the PBX generates Call Detail Records (CDR) for each call and each object, which means if a call is made from one user to another a CDR for an outgoing call is generated at the first user object and a CDR for an incoming call is generated at the other user object. The CDRs are generated at the end of the call and sent via the CDR0 and CDR1 interfaces. XML is used for the content of the CDRs.
Version
This feature is availabe starting with version 7.00.
Content
Top-Level Tag <cdr>
Each CDR uses the top-level tag <cdr>. The following attributes are used with this tag:
guid | The GUID identifying the object this call belongs to. |
sys | The system name (Gatekeeper Identifier) of the PBX |
pbx | The PBX this CDR was generated on |
node | The Node of the object for which this CDR was generated |
cn | The cn (Long Name) of the object |
e164 | The Number of the object |
h323 | The H.323 Id (Name) of the object |
dir | Indicates the direction of the call. For a call originating from this object this attribute is set to from. For calls sent to this object this attribute is set to to |
utc | The time when this call was started as UTC time. This is an integer with the standard ctime semantic. |
local | The local time the call was started. |
The Tag <event>
For each state a call goes thru a tag <event> is added to the CDR. The following attributes are used with this tag:
msg | A string identifying the message which caused the state change of the call |
time | The time in seconds from the beginning of the call |
type | The Type of the other party of the call if available. A value of 'ext' indicates an external party. |
e164 | The number of the other party of the call if available |
h323 | The H.323 Id (Name) of the other party of the call if available |
conf | A GUID identifying the call (conferenceID). This GUID can be used to associated CDRs from outgoing calls to the CDRs of incoming calls even across different PBXs. The first event within a CDR always contains this attribute. The conferenceID may change during a call (e.g. because of a call transfer). In this case another conf attribute is present containing the new conferenceID. |
cause | The cause code used when the call was cleared. The value is defined in Q.931. Common values are 16 - Normal Clearing, 17 - User Busy, 18 - No response. |
Available messages (values of msg)
setup-from | A call originating from the object was initiated |
setup-to | A call to the object was initiated |
alert-from | The endpoint for this object is alerting |
alert-to | The other party is alerting |
conn-from | The endpoint for this object has connected the call |
conn-to | The other party has connected the call |
rel-from | The endpoint for this object has released the call |
rel-to | The other party has released the call |
transfer-from | The endpoint for this call has transfered the call. The call should be released shortly after this event. |
transfer-to | The other party has transfered the call. |
cf-from | The endpoint for this object has forwarded the call. The call should be released shortly after this event. |
cf-to | The other party has forwarded the call. |
info-from | A digit was received (overlapped dialling). The e164 attribute contains the then-current complete number dialled so far. |
info-to | A digit was sent (overlapped dialling). This can happen e.g. when the trunk is dialled with overlapped sending. |
Sample Billing Records
Internal Call
An internal call was made from the user "Reiner Zufall(10)" to the user "Ernst Haft(19)". After 10 seconds alerting it was accepted by the user "Ernst Haft(19)" and disconnected after 50 seconds of the talk time by the user "Ernst Haft(19)":
08.04.2009-07:57:56 [IP302-1e-02-03]
<cdr guid="60f13fbfe909d311925d0090331f002d"
cn="Reiner Zufall"
e164="10"
h323="Reiner Zufall"
dir="from"
utc="1239169389"
local="1239169389">
<event msg="setup-from" time="0" e164="19" conf="8059c0a6e909d311848500013e100a78"/>
<event msg="alert-to" time="0" e164="19" h323="Ernst Haft"/>
<event msg="conn-to" time="10" e164="19" h323="Ernst Haft"/>
<event msg="rel-from" time="60"/>
</cdr>
08.04.2009-07:57:56 [IP302-1e-02-03]
<cdr guid="6d6444b6e909d3118cc30090331e0203"
cn="Ernst Haft"
e164="19"
h323="Ernst Haft"
dir="to"
utc="1239169389"
local="1239169389">
<event msg="setup-to" time="0" e164="10" h323="Reiner Zufall" conf="8059c0a6e909d311848500013e100a78"/>
<event msg="alert-from" time="0" e164="10" h323="Reiner Zufall"/>
<event msg="conn-from" time="10" e164="10" h323="Reiner Zufall"/>
<event msg="rel-to" time="60"/>
</cdr>
External Call
An external call was made from the user "Ernst Haft(19)" to the external number 07031730090 via trunk object "Amt(0)". After 6 seconds it started to alert and the call was accepted by the external party after 8 seconds of alerting. The call was disconnected after 9 seconds of the talk time by the user "Ernst Haft(19)":
08.04.2009-09:07:16 [IP302-1e-02-03]
<cdr guid="6d6444b6e909d3118cc30090331e0203"
cn="Ernst Haft"
e164="19"
h323="Ernst Haft"
dir="from"
utc="1239174413"
local="1239174413">
<event msg="setup-from" time="0" e164="007031730090" conf="7e8c4be3e909d311a84a0090331b004a"/>
<event msg="alert-to" time="6" e164="007031730090"/>
<event msg="conn-to" time="14" e164="007031730090"/>
<event msg="rel-from" time="23"/>
</cdr>
08.04.2009-09:07:16 [IP302-1e-02-03]
<cdr guid="be6e6b57e909d311875c0090331f002d"
cn="Amt"
e164="007031730090"
dir="to"
utc="1239174413"
local="1239174413">
<event msg="setup-to" time="0" e164="19" h323="Ernst Haft" conf="7e8c4be3e909d311a84a0090331b004a"/>
<event msg="alert-from" time="6" e164="19" h323="Ernst Haft"/>
<event msg="conn-from" time="14" e164="19" h323="Ernst Haft"/>
<event msg="rel-to" time="23"/>
</cdr>
Incoming External Call to Waiting Queue
An external call was made from the external number 0801102 to the internal number "WQ"(500) via trunk object "Trunk-Sifi(0)". After 1 second the call was connected to the WQs MoH. After 14 seconds the call was connected to User "venus"(100). The call was disconnected after 25 seconds of the talk time by the external caller 0801102:
<cdr guid="d2aef388e909d31186ff009033061988"
sys="techserv.org"
pbx="sifi"
node="sifi"
device="trunk-sifi"
cn="Trunk-Sifi"
e164="0801102"
dir="from"
utc="422"
local="422">
<event msg="setup-from" time="0" e164="500" conf="5708031ee909d31186ff009033061988"/>
<event msg="alert-to" time="0" e164="500" h323="WQ"/>
<event msg="conn-to" time="1" type="ext" e164="500" h323="WQ"/>
<event msg="conn-to" time="14" e164="100" h323="venus"/>
<event msg="rel-to" time="25" cause="0"/>
</cdr>
The same example, but the caller dropped the call after 17 seconds, before the call was answered by a User Object(only connected to WQ).
<cdr guid="d2aef388e909d31186ff009033061988"
sys="techserv.org"
pbx="sifi"
node="sifi"
device="trunk-sifi"
cn="Trunk-Sifi"
e164="0801102"
dir="from"
utc="351"
local="351">
<event msg="setup-from" time="0" e164="500" conf="dbcc9217e909d31186ff009033061988"/>
<event msg="alert-to" time="0" e164="500" h323="WQ"/>
<event msg="conn-to" time="1" type="ext" e164="500" h323="WQ"/>
<event msg="disc-from" time="17" cause="16"/>
<event msg="disc-to" time="17" cause="0"/>
<event msg="rel-from" time="17" cause="16"/>
</cdr>