Cdr

Since 13.2.0 AMI Events Found this useful? Upvote it. ×

Raised when a CDR is generated.

Last reviewed 2026-04-14

Cdr
Description

The Cdr event is only raised when the cdr_manager backend is loaded and registered with the CDR engine.

Note

This event can contain additional fields depending on the configuration provided by cdr_manager.conf.

Arguments
  • AccountCode - The account code of the Party A channel.
  • Source - The Caller ID number associated with the Party A in the CDR.
  • Destination - The dialplan extension the Party A was executing.
  • DestinationContext - The dialplan context the Party A was executing.
  • CallerID - The Caller ID name associated with the Party A in the CDR.
  • Channel - The channel name of the Party A.
  • DestinationChannel - The channel name of the Party B.
  • LastApplication - The last dialplan application the Party A executed.
  • LastData - The parameters passed to the last dialplan application the Party A executed.
  • StartTime - The time the CDR was created.
  • AnswerTime - The earliest of either the time when Party A answered, or the start time of this CDR.
  • EndTime - The time when the CDR was finished. This occurs when the Party A hangs up or when the bridge between Party A and Party B is broken.
  • Duration - The time, in seconds, of EndTime - StartTime.
  • BillableSeconds - The time, in seconds, of AnswerTime - StartTime.
  • Disposition - The final known disposition of the CDR.

    • NO ANSWER - The channel was not answered. This is the default disposition.
    • FAILED - The channel attempted to dial but the call failed.

      Note

      The congestion setting in cdr.conf can result in the AST_CAUSE_CONGESTION hang up cause or the CONGESTION dial status to map to this disposition.

    • BUSY - The channel attempted to dial but the remote party was busy.

    • ANSWERED - The channel was answered. The hang up cause will no longer impact the disposition of the CDR.
    • CONGESTION - The channel attempted to dial but the remote party was congested.
    • AMAFlags - A flag that informs a billing system how to treat the CDR.
    • OMIT - This CDR should be ignored.
    • BILLING - This CDR contains valid billing data.
    • DOCUMENTATION - This CDR is for documentation purposes.
    • UniqueID - A unique identifier for the Party A channel.
    • UserField - A user defined field set on the channels. If set on both the Party A and Party B channel, the userfields of both are concatenated and separated by a ;.

User Notes

No notes yet. Be the first to contribute a tip or example.

Contribute a note

Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.

Moderated before publishing. Email never shown.
AMI Events
AGIExecEnd AGIExecStart AOC-D AOC-E AOC-S AgentCalled AgentComplete AgentConnect AgentDump AgentLogin AgentLogoff AgentRingNoAnswer Agents AgentsComplete Alarm AlarmClear AorDetail AorList AorListComplete AsyncAGIEnd AsyncAGIExec AsyncAGIStart AttendedTransfer AuthDetail AuthList AuthListComplete AuthMethodNotAllowed BlindTransfer BridgeCreate BridgeDestroy BridgeEnter BridgeInfoChannel BridgeInfoComplete BridgeLeave BridgeMerge BridgeVideoSourceUpdate CEL Cdr ChallengeResponseFailed ChallengeSent ChanSpyStart ChanSpyStop ChannelTalkingStart ChannelTalkingStop ConfbridgeEnd ConfbridgeJoin ConfbridgeLeave ConfbridgeList ConfbridgeListRooms ConfbridgeMute ConfbridgeRecord ConfbridgeStart ConfbridgeStopRecord ConfbridgeTalking ConfbridgeUnmute ContactList ContactListComplete ContactStatus ContactStatusDetail CoreShowChannel CoreShowChannelMapComplete CoreShowChannelsComplete DAHDIChannel DNDState DTMFBegin DTMFEnd DeadlockStart DeviceStateChange DeviceStateListComplete DialBegin DialEnd DialState EndpointDetail EndpointDetailComplete EndpointList EndpointListComplete ExtensionStateListComplete ExtensionStatus FAXSession FAXSessionsComplete FAXSessionsEntry FAXStats FAXStatus FailedACL Flash FullyBooted Hangup HangupHandlerPop HangupHandlerPush HangupHandlerRun HangupRequest Hold IdentifyDetail InboundRegistrationDetail InboundSubscriptionDetail InvalidAccountID InvalidPassword InvalidTransport Load LoadAverageLimit LocalBridge LocalOptimizationBegin LocalOptimizationEnd LogChannel MCID MWIGet MWIGetComplete MeetmeEnd MeetmeJoin MeetmeLeave MeetmeList MeetmeListRooms MeetmeMute MeetmeTalkRequest MeetmeTalking MemoryLimit MessageWaiting MiniVoiceMail MixMonitorMute MixMonitorStart MixMonitorStop MonitorStart MonitorStop MusicOnHoldStart MusicOnHoldStop NewAccountCode NewCallerid NewConnectedLine NewExten Newchannel Newstate OriginateResponse OutboundRegistrationDetail OutboundSubscriptionDetail ParkedCall ParkedCallGiveUp ParkedCallSwap ParkedCallTimeOut PeerStatus Pickup PresenceStateChange PresenceStateListComplete PresenceStatus QueueCallerAbandon QueueCallerJoin QueueCallerLeave QueueEntry QueueMemberAdded QueueMemberPause QueueMemberPenalty QueueMemberRemoved QueueMemberRinginuse QueueMemberStatus QueueParams RTCPReceived RTCPSent ReceiveFAX Registry Reload Rename RequestBadFormat RequestNotAllowed RequestNotSupported ResourceListDetail SIPQualifyPeerDone SendFAX SessionLimit SessionTimeout Shutdown SoftHangupRequest SpanAlarm SpanAlarmClear Status StatusComplete SuccessfulAuth TransportDetail UnParkedCall UnexpectedAddress Unhold Unload UserEvent VarSet VoicemailPasswordChange Wink
AMI Events
AGIExecEnd AGIExecStart AOC-D AOC-E AOC-S AgentCalled AgentComplete AgentConnect AgentDump AgentLogin AgentLogoff AgentRingNoAnswer Agents AgentsComplete Alarm AlarmClear AorDetail AorList AorListComplete AsyncAGIEnd AsyncAGIExec AsyncAGIStart AttendedTransfer AuthDetail AuthList AuthListComplete AuthMethodNotAllowed BlindTransfer BridgeCreate BridgeDestroy BridgeEnter BridgeInfoChannel BridgeInfoComplete BridgeLeave BridgeMerge BridgeVideoSourceUpdate CEL Cdr ChallengeResponseFailed ChallengeSent ChanSpyStart ChanSpyStop ChannelTalkingStart ChannelTalkingStop ConfbridgeEnd ConfbridgeJoin ConfbridgeLeave ConfbridgeList ConfbridgeListRooms ConfbridgeMute ConfbridgeRecord ConfbridgeStart ConfbridgeStopRecord ConfbridgeTalking ConfbridgeUnmute ContactList ContactListComplete ContactStatus ContactStatusDetail CoreShowChannel CoreShowChannelMapComplete CoreShowChannelsComplete DAHDIChannel DNDState DTMFBegin DTMFEnd DeadlockStart DeviceStateChange DeviceStateListComplete DialBegin DialEnd DialState EndpointDetail EndpointDetailComplete EndpointList EndpointListComplete ExtensionStateListComplete ExtensionStatus FAXSession FAXSessionsComplete FAXSessionsEntry FAXStats FAXStatus FailedACL Flash FullyBooted Hangup HangupHandlerPop HangupHandlerPush HangupHandlerRun HangupRequest Hold IdentifyDetail InboundRegistrationDetail InboundSubscriptionDetail InvalidAccountID InvalidPassword InvalidTransport Load LoadAverageLimit LocalBridge LocalOptimizationBegin LocalOptimizationEnd LogChannel MCID MWIGet MWIGetComplete MeetmeEnd MeetmeJoin MeetmeLeave MeetmeList MeetmeListRooms MeetmeMute MeetmeTalkRequest MeetmeTalking MemoryLimit MessageWaiting MiniVoiceMail MixMonitorMute MixMonitorStart MixMonitorStop MonitorStart MonitorStop MusicOnHoldStart MusicOnHoldStop NewAccountCode NewCallerid NewConnectedLine NewExten Newchannel Newstate OriginateResponse OutboundRegistrationDetail OutboundSubscriptionDetail ParkedCall ParkedCallGiveUp ParkedCallSwap ParkedCallTimeOut PeerStatus Pickup PresenceStateChange PresenceStateListComplete PresenceStatus QueueCallerAbandon QueueCallerJoin QueueCallerLeave QueueEntry QueueMemberAdded QueueMemberPause QueueMemberPenalty QueueMemberRemoved QueueMemberRinginuse QueueMemberStatus QueueParams RTCPReceived RTCPSent ReceiveFAX Registry Reload Rename RequestBadFormat RequestNotAllowed RequestNotSupported ResourceListDetail SIPQualifyPeerDone SendFAX SessionLimit SessionTimeout Shutdown SoftHangupRequest SpanAlarm SpanAlarmClear Status StatusComplete SuccessfulAuth TransportDetail UnParkedCall UnexpectedAddress Unhold Unload UserEvent VarSet VoicemailPasswordChange Wink