Reference10:Call Detail Record CDR PBX

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference | Reference7 | Reference8 | Reference10 (this version)

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>