Skip to main content
Skip table of contents

Call Data Object

Node

CDO (Call Data Object)

Description

The CDO (Call Data Object) is essentially a container that holds all call-related information and enables the retrieval of call variables. It allows IVR designers to access call data at any point during the session lifecycle, whether across different nodes or when injecting it into custom JSON payloads.

Usage

  • These variables can be reused in subsequent nodes by referencing them as:
    CDO.{key}

  • CDO values can also be interpolated into custom JSON payloads or conditionally used in control nodes (e.g., http).

  • You can access any available information mentioned in the variable chart bellow, like caller_id_number, ani, uuid, etc., using the same syntax (CDO.{key}) across all nodes.


Variable Chart

Info variable name

channel variable name

Description

Channel-State

state

Current state of the channel

Channel-State-Number

state_number

Integer

Channel-Name

channel_name

Channel name

Unique-ID

uuid

uuid of this channel's call leg

Call-Direction

direction

Inbound or Outbound

Answer-State

state

-

Channel-Read-Codec-Name

read_codec

the read codec variable mean the source codec

Channel-Read-Codec-Rate

read_rate

the source rate

Channel-Write-Codec-Name

write_codec

the destination codec same to write_codec if not transcoded

Channel-Write-Codec-Rate

write_rate

destination rate same to read rate if not transcoded

Caller-Username

username

.

Caller-Dialplan

dialplan

user dialplan like xml, lua, enum, lcr

Caller-Caller-ID-Name

caller_id_name

.

Caller-Caller-ID-Number

caller_id_number

.

Caller-ANI

ani

ANI of caller, frequently the same as caller ID number

Caller-ANI-II

aniii

ANI II Digits (OLI - Originating Line Information)

Caller-Network-Addr

network_addr

IP address of calling party

Caller-Destination-Number

destination_number

Destination (dialed) number

Caller-Unique-ID

uuid

This channel's uuid

Caller-Source

source

Source module, i.e. mod_sofia, mod_openzap, etc.

Caller-Context

context

Dialplan context

Caller-RDNIS

rdnis

Redirected DNIS info.

Caller-Channel-Name

channel_name

.

Caller-Profile-Index

profile_index

.

Caller-Channel-Created-Time

created_time

GMT microseconds timestamp when the channel was created

Caller-Channel-Answered-Time

answered_time

GMT microseconds timestamp when the channel was answered

Caller-Channel-Hangup-Time

hangup_time

GMT microseconds timestamp when the channel was hung up

Caller-Channel-Transfer-Time

transfer_time

GMT microseconds timestamp when the channel was transfered

Caller-Screen-Bit

screen_bit

.

Caller-Privacy-Hide-Name

privacy_hide_name

.

Caller-Privacy-Hide-Number

privacy_hide_number

This variable tells you if the inbound call is asking for CLIR[Calling Line ID presentation Restriction] (either with anonymous method or Privacy:id method)

initial_callee_id_name

Sets the callee id name during the 183. This allows the phone to see a name of who they are calling prior to the phone being answered. An example of setting this to the caller id name of the number being dialled: <action application="set" data="initial\_callee\_id\_name='${user\_data(${dialed\_extension}@${domain\_name} var effective\_caller\_id\_name)}'"/>

variable_sip_received_ip

sip_received_ip

.

variable_sip_received_port

sip_received_port

.

variable_sip_authorized

sip_authorized

.

variable_sip_mailbox

sip_mailbox

.

variable_sip_auth_username

sip_auth_username

.

variable_sip_auth_realm

sip_auth_realm

.

variable_mailbox

mailbox

.

variable_user_name

user_name

.

variable_domain_name

domain_name

.

variable_record_stereo

record_stereo

.

variable_accountcode

accountcode

Accountcode for the call. This is an arbitrary value. It can be defined in the user variables in the directory, or it can be set/modified from dialplan. The accountcode may be used to force a specific CDR CSV template for the call; if the value of the accountcode variable matches the name of a template then that template will be used. This is valuable for having a specific template be used on a per-call basis. See mod_cdr_csv.

variable_user_context

user_context

.

variable_effective_caller_id_name

effective_caller_id_name

.

variable_effective_caller_id_number

effective_caller_id_number

.

variable_caller_domain

caller_domain

.

variable_sip_from_user

sip_from_user

.

variable_sip_from_uri

sip_from_uri

.

variable_sip_from_host

sip_from_host

.

variable_sip_from_user_stripped

sip_from_user_stripped

.

variable_sip_from_tag

sip_from_tag

.

variable_sofia_profile_name

sofia_profile_name

.

variable_sofia_profile_domain_name

sofia_profile_domain_name

.

variable_sip_full_route

sip_full_route

The complete contents of the Route: header.

variable_sip_full_via

sip_full_via

The complete contents of the Via: header.

variable_sip_full_from

sip_full_from

The complete contents of the From: header.

variable_sip_full_to

sip_full_to

The complete contents of the To: header.

variable_sip_req_params

sip_req_params

.

variable_sip_req_user

sip_req_user

.

variable_sip_req_uri

sip_req_uri

.

variable_sip_req_host

sip_req_host

.

variable_sip_to_params

sip_to_params

.

variable_sip_to_tag

sip_to_tag

.

variable_sip_to_user

sip_to_user

.

variable_sip_to_uri

sip_to_uri

.

variable_sip_to_host

sip_to_host

.

variable_sip_contact_params

sip_contact_params

.

variable_sip_contact_user

sip_contact_user

.

variable_sip_contact_port

sip_contact_port

.

variable_sip_contact_uri

sip_contact_uri

.

variable_sip_contact_host

sip_contact_host

.

variable_sip_invite_domain

sip_invite_domain

.

variable_channel_name

channel_name

.

variable_sip_call_id

sip_call_id

SIP header Call-ID

variable_sip_user_agent

sip_user_agent

.

variable_sip_via_host

sip_via_host

.

variable_sip_via_port

sip_via_port

.

variable_sip_via_rport

sip_via_rport

.

variable_presence_id

presence_id

.

variable_sip_h_P-Key-Flags

sip_h_p-key-flags

This will contain the optional P-Key-Flags header(s) that may be received from calling endpoint.

variable_switch_r_sdp

switch_r_sdp

The whole SDP received from calling endpoint.

variable_remote_media_ip

remote_media_ip

.

variable_remote_media_port

remote_media_port

.

variable_write_codec

write_codec

.

variable_write_rate

write_rate

.

variable_endpoint_disposition

endpoint_disposition

.

variable_dialed_ext

dialed_ext

.

variable_transfer_ringback

transfer_ringback

.

variable_call_timeout

call_timeout

.

variable_hangup_after_bridge

hangup_after_bridge

.

variable_continue_on_fail

continue_on_fail

.

variable_dialed_user

dialed_user

.

variable_dialed_domain

dialed_domain

.

variable_sip_redirect_contact_user_0

sip_redirect_contact_user_0

.

variable_sip_redirect_contact_host_0

sip_redirect_contact_host_0

.

variable_sip_h_Referred-By

sip_h_referred-by

.

variable_sip_refer_to

sip_refer_to

The full SIP URI received from a SIP Refer-To: response

variable_max_forwards

max_forwards

.

variable_originate_disposition

originate_disposition

.

variable_read_codec

read_codec

.

variable_read_rate

read_rate

.

variable_open

open

.

variable_use_profile

use_profile

.

variable_current_application

current_application

.

variable_ep_codec_string

ep_codec_string

This variable is only available if late negotiation is enabled on the profile. It's a readable string containing all the codecs proposed by the calling endpoint. This can be easily parsed in the dialplan.

variable_rtp_disable_hold

rtp_disable_hold

This variable when set will disable the hold feature of the phone.

variable_sip_acl_authed_by

sip_acl_authed_by

This variable holds what ACL rule allowed the call.

variable_curl_response_data

curl_response_data

This variable stores the output from the last curl made.

variable_drop_dtmf

drop_dtmf

Set on a channel to drop DTMF events on the way out.

variable_drop_dtmf_masking_file

drop_dtmf_masking_file

If drop_dtmf is true play specified file for every tone received.

variable_drop_dtmf_masking_digits

drop_dtmf_masking_digits

If drop_dtmf is true play specified tone for every tone received.

sip_codec_negotiation

sip_codec_negotiation

sip_codec_negotiation is basically a channel variable equivalent of inbound-codec-negotiation.sip_codec_negotiation accepts "scrooge" & "greedy" as values.This means you can change codec negotiation on a per call basis.

Caller-Callee-ID-Name

-

-

Caller-Callee-ID-Number

-

-

Caller-Channel-Progress-Media-Time

-

-

Caller-Channel-Progress-Time

-

-

Caller-Direction

-

-

Caller-Profile-Created-Time

profile_created

GMT microseconds timestamp when the caller profile was created

Caller-Transfer-Source

-

-

Channel-Call-State

-

Current state of the call

Channel-Call-UUID

-

-

Channel-HIT-Dialplan

-

-

Channel-Read-Codec-Bit-Rate

-

-

Channel-Write-Codec-Bit-Rate

-

-

Core-UUID

-

-

Event-Calling-File

-

-

Event-Calling-Function

-

-

Event-Calling-Line-Number

-

-

Event-Date-GMT

-

-

Event-Date-Local

-

-

Event-Date-Timestamp

-

-

Event-Name

-

-

Event-Sequence

-

-

FreeSWITCH-Hostname

-

-

FreeSWITCH-IPv4

-

-

FreeSWITCH-IPv6

-

-

FreeSWITCH-Switchname

-

-

Hunt-ANI

-

-

Hunt-Callee-ID-Name

-

-

Hunt-Callee-ID-Number

-

-

Hunt-Caller-ID-Name

-

-

Hunt-Caller-ID-Number

-

-

Hunt-Channel-Answered-Time

-

-

Hunt-Channel-Created-Time

-

-

Hunt-Channel-Hangup-Time

-

-

Hunt-Channel-Name

-

-

Hunt-Channel-Progress-Media-Time

-

-

Hunt-Channel-Progress-Time

-

-

Hunt-Channel-Transfer-Time

-

-

Hunt-Context

-

-

Hunt-Destination-Number

-

-

Hunt-Dialplan

-

-

Hunt-Direction

-

-

Hunt-Network-Addr

-

-

Hunt-Privacy-Hide-Name

-

-

Hunt-Privacy-Hide-Number

-

-

Hunt-Profile-Created-Time

profile_created

-

Hunt-Profile-Index

-

-

Hunt-RDNIS

-

-

Hunt-Screen-Bit

-

-

Hunt-Source

-

-

Hunt-Transfer-Source

-

-

Hunt-Unique-ID

-

-

Hunt-Username

-

-

Presence-Call-Direction

-

-

variable_DIALSTATUS

-

-

variable_absolute_codec_string

-

-

variable_advertised_media_ip

-

-

variable_answersec

variable_answermsec

variable_answerusec

variable_billsec

variable_billmsec

variable_billusec

variable_bridge_channel

-

-

variable_bridge_hangup_cause

-

-

variable_bridge_uuid

-

-

variable_call_uuid

-

-

variable_current_application_response

-

-

variable_direction

-

-

variable_duration

variable_mduration

variable_uduration

variable_inherit_codec

-

-

variable_is_outbound

-

-

variable_last_bridge_to

-

-

variable_last_sent_callee_id_name

-

-

variable_last_sent_callee_id_number

-

-

variable_local_media_ip

-

-

variable_local_media_port

-

-

variable_number_alias

-

-

variable_originate_early_media

-

-

variable_originating_leg_uuid

-

-

variable_originator

-

-

variable_originator_codec

-

-

variable_outbound_caller_id_number

-

-

variable_progresssec

variable_progressmsec

variable_progressusec

variable_progress_mediasec

variable_progress_mediamsec

variable_progress_mediausec

variable_recovery_profile_name

-

-

variable_rtp_audio_in_mos

Mean Opinion Score; read-only, available in CS_REPORTING state, published by CHANNEL_DESTROY event

variable_rtp_use_ssrc

-

-

variable_session_id

-

-

variable_sip_2833_recv_payload

-

-

variable_sip_2833_send_payload

-

-

variable_sip_P-Asserted-Identity

-

-

variable_sip_Privacy

-

-

variable_sip_audio_recv_pt

-

-

variable_sip_cid_type

-

-

variable_sip_cseq

-

-

variable_sip_destination_url

-

-

variable_sip_from_display

sip_from_display

'User' element of SIP From: line

variable_sip_from_port

-

-

variable_sip_gateway

-

-

variable_sip_gateway_name

-

-

variable_sip_h_P-Charging-Vector

-

-

variable_sip_local_network_addr

-

-

variable_sip_local_sdp_str

-

-

variable_sip_network_ip

-

-

variable_sip_network_port

-

-

variable_sip_number_alias

-

-

variable_sip_outgoing_contact_uri

-

-

variable_sip_ph_P-Charging-Vector

-

-

variable_sip_profile_name

-

-

variable_sip_recover_contact

-

-

variable_sip_recover_via

-

-

variable_sip_reply_host

-

-

variable_sip_reply_port

-

-

variable_sip_req_port

-

-

variable_sip_to_port

-

-

variable_sip_use_codec_name

-

-

variable_sip_use_codec_ptime

-

-

variable_sip_use_codec_rate

-

-

variable_sip_use_pt

-

-

variable_sip_via_protocol

-

-

variable_switch_m_sdp

-

-

variable_transfer_history

-

-

variable_transfer_source

-

-

variable_uuid

-

-

variable_waitsec

variable_waitmsec

variable_waitusec


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.