CDR History
Storage of Call Detail Records (CDR) for all calls (or call attempts) that are passed via Yeti. Yeti save CDR for every call termination attempt, so one received call on legA can cause multiple CDRs in case of rerouting.
All CDRs related to one call will have same values of Time Start, Orig Call Id and Local tag. routing attempt value indicates sequence number of CDR withing same call.
INFO
There is built-in tool to provide CDR data retention, see Data retention documentation.
CDR attributes
- Id
Unique CDR identifier.
- UUID
Globally unique identifier for this CDR record, generated as a time-based UUID (v1) at the moment the CDR is written. Unlike the numeric
Id(an internal database sequence), the UUID is stable across exports, API responses, and external integrations, making it suitable for referencing CDRs in external billing or analytics systems.- Time Start
Date and time when call was received by Yeti Switch.
- Time Connect
Date and time of receiving 200OK response.
- Time End
Date and time of receiving Bye.
- Duration
Duration of the call in seconds.
- Internal Disconnect Code
Internal Disconnect Code for the call.
- Internal Disconnect Reason
Human-readable reason text associated with the Internal Disconnect Code.
- Lega Disconnect Code
Disconnect Code sent by Yeti to Origination gateway.
- Lega Disconnect Reason
Disconnect Reason sent by Yeti to Origination gateway.
- LegA Q850 Cause
Q.850 cause code received on call legA in Reason header.
- LegA Q850 Text
Q.850 text received on call legA in Reason header.
- LegA Q850 Params
Q.850 parameters received on call legA in Reason header.
- Legb Disconnect Code
Disconnect Code received by Yeti from Termination gateway.
- Legb Disconnect Reason
Disconnect Reason received by Yeti from Termination gateway.
- LegB Q850 Cause
Q.850 cause code received on call legB in Reason header.
- LegB Q850 Text
Q.850 text received on call legB in Reason header.
- LegB Q850 Params
Q.850 parameters received on call legB in Reason header.
- Disconnect Initiator
Component that caused call disconnection. Possible values:
- Traffic Manager
- Call was disconnected by Yeti routing logic before sending to termination gateway.
- Traffic Switch
- Call was disconnected by Yeti SIP/RTP stack. It may happen on different stages of call processing.
- Destination
- Call was disconnected by termination gateway. Termination gateway may reject call by responding error code like
404 Not Foundor it may terminate connected call by sendingBYErequest. - Origination
- Call was disconnected by origination gateway. Origination gateway may cancel call by sending
CANCELrequest or it may terminate connected call by sendingBYErequest.
- Customer
Contractor who originated call
- Customer Account
Account of the customer that was charged for the call.
- Vendor
Contractor who acts as termination provider for call
- Vendor Account
Account of the vendor that was used for cost tracking.
- Customer Auth
Customer Auth that authorised this call
- Src Area
Source Area for the call (if any).
- Dst Area
Destination Area for the call (if any).
- Dst Country
Destination Country detected by Network Prefixes data
- Dst Network
Destination Network detected by Network Prefixes data
- Dst Network Type
Destination Network Type detected by Network Prefixes data
- Src Country
Source Country detected by Network Prefixes data
- Src Network
Source Network detected by Network Prefixes data
- Src Network Type
Source Network Type detected by Network Prefixes data
- Status
Call status: "Success" or "Failed".
- Is Last CDR
This field is "true" for last routing attempt for the call.
- Dump Level
Tracing level applied to this call. Read more in Troubleshooting Guide.
- Orig GW
Gateway where call was received from.
- Term GW
Gateway where call was sent to.
- Customer External ID
External identifier of the Customer contractor, copied from the contractor record at the time of the call.
- Vendor External ID
External identifier of the Vendor contractor, copied from the vendor record at the time of the call.
- Customer Auth External ID
External identifier of the Customer Auth record that authorised this call. See External Id on Customer Auth.
- Customer Auth External Type
External type qualifier of the Customer Auth record. See External Type on Customer Auth.
- Customer Account External ID
External identifier of the Customer Account charged for this call.
- Customer Account VAT
VAT rate (%) of the Customer Account at the time of the call, used to derive Customer Price No VAT.
- Vendor Account External ID
External identifier of the Vendor Account used for cost tracking.
- Orig GW External ID
External identifier of the origination Gateway.
- Term GW External ID
External identifier of the termination Gateway.
- Routing Plan
Routing plan that was used for the call.
- Routing Group
Routing Group that was used for the call.
- Routing Tags
Routing Tags associated with the call.
- Rateplan
Rateplan that was used for the call.
- Destination
Destination matched for the call. Determines the customer billing rate.
- Destination Rate Policy
Rate calculation policy applied to the destination. Configured in Destination → Rate Policy. Possible values:
- Fixed
- The destination's own configured rate is used.
- Based on used dialpeer
- The rate is taken from the matched dialpeer.
- MIN(Fixed, Based on used dialpeer)
- The lower of the destination's fixed rate and the dialpeer rate is used.
- MAX(Fixed, Based on used dialpeer)
- The higher of the destination's fixed rate and the dialpeer rate is used.
- Destination Fee
Connection fee charged to the customer for this call, from the matched destination.
- Destination Initial Rate
Per-second rate charged to the customer for the first billing interval, from the matched destination.
- Destination Initial Interval
Duration (in seconds) of the first billing interval for the customer, from the matched destination.
- Destination Next Rate
Per-second rate charged to the customer after the initial interval, from the matched destination.
- Destination Next Interval
Duration (in seconds) of subsequent billing intervals for the customer, from the matched destination.
- Package Counter
Package Counter decremented by this call, if the customer's account uses package-based billing.
- Dialpeer
Dialpeer selected for routing the call to the termination gateway. Determines the vendor cost.
- Dialpeer Fee
Connection fee charged by the vendor for this call, from the matched dialpeer.
- Dialpeer Initial Rate
Per-second cost for the first billing interval charged by the vendor, from the matched dialpeer.
- Dialpeer Initial Interval
Duration (in seconds) of the first billing interval for the vendor, from the matched dialpeer.
- Dialpeer Next Rate
Per-second cost after the initial interval charged by the vendor, from the matched dialpeer.
- Dialpeer Next Interval
Duration (in seconds) of subsequent billing intervals for the vendor, from the matched dialpeer.
- Src Name In
Name of caller that was received in the
FromSIP header from origination Gateway.- Src Prefix In
Source number (A-number) that was received from Origination Gateway.
- Dst Prefix In
Destination number (B-number) that was received from Origination Gateway.
- From Domain
Domain part of the SIP
Fromheader received from the origination gateway.- To Domain
Domain part of the SIP
Toheader received from the origination gateway.- RURI Domain
Domain part of the Request-URI received from the origination gateway.
- Src Prefix Routing
Source number (A-number) that was used for routing for the call.
- Dst Prefix Routing
Destination number (B-number) that was used for routing for the call.
- LRN
Routing number that was received from LNP database (in case of requesting) for the call.
- LNP Database
LNP Database that was queried for number portability lookup (if any).
- Src Prefix Out
Source number (A-number) that was sent to Gateway that was used as Terminator for the call.
- Dst Prefix Out
Destination number (B-number) that was sent to Gateway that was used as Terminator for the call.
- Src Name Out
Name of caller that was sent in the
FromSIP header to Gateway that was used as Terminator for the call.- LegA Remote socket
Protocol, Source IP address and Source Port of initial INVITE request received on Yeti node.
- LegA Local socket
Destination IP address and Destination Port of initial INVITE request received on Yeti node.
- LegA Originator address
Protocol, Source IP address and Source Port of initial INVITE request received from call originator(legA) on Load balancer or Yeti node.
- LegA Originator location
Geographic coordinates (latitude, longitude) of the IP address recorded in LegA Originator address, resolved via GeoIP. Empty if the IP address could not be geolocated.
INFO
This field is empty by default. It is populated only when a load balancer with GeoIP resolution support is deployed and configured to pass coordinates to Yeti. This load balancer component is not part of the standard Yeti distribution.
- LegB Remote socket
Protocol, Destination IP address and Destination Port of initial INVITE request sent by Yeti on legB. This field may be empty if no response received for initial INVITE.
- LegB Local socket
Source IP address and Source Port of initial INVITE request sent by Yeti on legB.
WARNING
LegB Remote socket and LegB Local socket attributes may be empty if no response received for initial INVITE.
- LegB Ruri
- R-URI of initial INVITE request sent by Yeti on legB.
- LegB Outbound Proxy
- Outbound proxy address used for the outgoing INVITE on legB, if configured on the termination gateway.
- Is Redirected
- Will be true if call leg B was redirected using 3xx SIP response or REFER request.
- Pai In
- Value of
P-Asserted-Identityheader received from origination gateway in initial INVITE on legA. - Pai Out
- Value of
P-Asserted-Identityheader sent by Yeti to termination gateway in initial INVITE on legB. - Ppi In
- Value of
P-Preferred-Identityheader received from origination gateway in initial INVITE on legA. - Ppi Out
- Value of
P-Preferred-Identityheader sent by Yeti to termination gateway in initial INVITE on legB. - Rpid In
- Value of
Remote-Party-IDheader received from origination gateway in initial INVITE on legA. - Rpid Out
- Value of
Remote-Party-IDheader sent by Yeti to termination gateway in initial INVITE on legB. - Rpid Privacy In
- Value of
RPID-Privacyheader received from origination gateway in initial INVITE on legA. - Rpid Privacy Out
- Value of
RPID-Privacyheader sent by Yeti to termination gateway in initial INVITE on legB. - Privacy In
- Value of
Privacyheader received from origination gateway in initial INVITE legA. - Privacy Out
- Value of
Privacyheader sent by Yeti to termination gateway in initial INVITE on legB. - Diversion In
- Value of SIP
Diversionheader that was received from origination Gateway. - Diversion Out
- Value of SIP
Diversionheader that was sent to termination Gateway. - P Charge Info In
- Value of
P-Charge-Infoheader received from origination gateway in initial INVITE on legA. Yeti doesn't validate P-Charge-Info header format and accept any value even not in URI format. - Node
- Node that processed call
- PoP
- Location of node processed call
- Local Tag
- Internal session ID for call legA
- LegB Local Tag
- Internal session ID for call legB
- Orig Call
- Value on
Call-Idheader received from origination gateway. - Term Call
- Value on
Call-Idheader sent to termination gateway. - Routing Attempt
- Number of attempt to route this call to destination.
- Customer Price
- Price that was used for changing balance of Customer's Account (in case of success call).
- Customer Price No VAT
- Customer price before VAT is applied. Customer Price equals this value multiplied by
(1 + VAT rate / 100). - Customer Duration
- Billable duration (in seconds) used for calculating Customer Price, after applying the destination billing intervals.
- Vendor Price
- Price that was used for changing balance of Vendors's Account (in case of success call).
- Vendor Duration
- Billable duration (in seconds) used for calculating Vendor Price, after applying the dialpeer billing intervals.
- Profit
- Difference between Customer Price and Vendor Price for the call.
- Routing Delay
- Delay (in seconds) between receiving call by Yeti (from Originator) and sending it to termination gateway. Routing delay for first CDR(routing_attempt = 1) represent delay introduced by Yeti routing logic.
- PDD
- Post Dial Delay (PDD) for call legB. PDD calculated as time between sending INVITE to termination gateway and receiving 18x or 200 OK response back. Measured in seconds.
- RTT
- Round-trip time (RTT) for call legB. RTT calculated as time between sending INVITE to termination gateway and receiving 10x, 18x or 200 OK response back. Measured in seconds.
- Early Media Present
- Indicates whether early media (a
18xresponse with SDP) was received from the termination gateway on legB. - Yeti version
- Versions of SEMS core and Yeti module that handled call
- Lega User Agent
- Values of User-Agent and Server headers received from origination gateway on legA.
- Legb User Agent
- Values of User-Agent and Server headers received from termination gateway on legB.
- Failed Resource Type
- Type of the resource that rejected the call due to capacity or CPS limit being reached (e.g. Gateway, Dialpeer, Customer Auth). Populated only when a call is rejected because a resource limit was exceeded.
- Failed Resource
- Identifier of the specific resource (of type Failed Resource Type) that rejected the call.
Metadata
- Metadata
JSON object that aggregates supplementary call data collected during routing. It is built by merging contributions from multiple sources:
Key Source Description varsCall variables Object containing all variables assigned to the call during routing stages (Customer Auth, Numberlists). Present only when at least one variable was assigned. cnam_respCNAM Database Response Lua script Arbitrary data returned by the CNAM lookup metadatafield. Present only when a CNAM lookup was performed and the response Lua script returned a non-nullmetadatavalue.Example with both sources populated:
json{ "vars": { "r1r2": "000", "insee": "12345" }, "cnam_resp": { "provider_id": "abc", "cached": true } }INFO
The
metadatafield is only visible to users with the allow_metadata permission.
STIR/SHAKEN attributes
- LegA SS Status
STIR/SHAKEN attestation status of the
Identityheader received on legA. Set by the SS Mode configured on the matched Customer Auth. Possible values:Value Meaning None No Identityheader was present, or STIR/SHAKEN processing is disabled.Invalid An Identityheader was present but signature validation failed (bad signature, number mismatch, or certificate error).A Full attestation — the signing provider authenticated the caller and their right to use the calling number. B Partial attestation — the signing provider authenticated the call origination but cannot verify the caller's right to use the number. C Gateway attestation — the call originated from a gateway and full attestation is not possible. - LegB SS Status
STIR/SHAKEN attestation status of the
Identityheader sent to the termination gateway on legB. Set by the STIR/SHAKEN Mode configured on the termination Gateway. If the incoming legA identity was valid, it is relayed and this value equals LegA SS Status. If a new identity was signed by Yeti, this reflects the attestation level of the generated signature.- LegA Identity
Full parsed content of the
Identityheader received from the origination gateway on legA, stored as a JSON object. Contains the decoded PASSporT claims including attestation level (attest), originating number (orig.tn), destination number (dest.tn), and timestamp (iat). Present only when anIdentityheader was received and successfully parsed.