Skip to content

Call records

Call records is the record type for telephony events: phone calls, SMS and MMS messages (CDR build only), and changes of the location area (LAC) or tracking area (TAC). Each event is written with the time, the location and the serving cell at that moment, as a call detail record (CDR).

Call records are separate from the Cellular record type. Cellular records the cells the phone sees on every scan; Call records writes one line when an event happens.

  1. On the Survey tab, under What should it survey?, turn on Call records. The tile reads “Calls, texts, tower changes” in the CDR build and “Calls, tower changes” in the Google Play build.
  2. Under Where should the data go?, turn on Log files.
  3. Tap Start survey.

Call records only go to Log files. NS Analytics, the MQTT stream, the gRPC stream and the Community databases don’t take them. If Call records is on but Log files is off, the Survey tab warns that “Call records won’t be recorded: no place that is on takes it.”

The records are written to a craxiom-cdr- file in Download/NetworkSurveyData/csv. See Log files for sharing the files.

When you turn on the Call records tile, the app asks for what it needs first.

Call record permissions (required): location, phone and, on Android 13 and later, notifications. Without them Call records can’t turn on.

Optional call record permissions: you can tap Request or Continue without permissions. Call records works either way; it just leaves some details out.

Optional permissionGoogle Play buildCDR buildWhat it adds
Read phone numbersAskedAskedThis phone’s own number
Call logsNot availableAskedThe other party’s number on calls
SMSNot availableAskedSMS and MMS events

If you start a survey with Call records on and a required permission is missing, the app asks again. If you still deny it, the rest of the survey starts and Call records is left out.

See Required permissions for more on each permission.

Google Play does not allow the permissions needed to read SMS and the call log, so the two builds differ. See Build variants for which build you have.

Event or detailGoogle Play buildCDR build
Call eventsYesYes
LAC/TAC changesYesYes
SMS and MMS eventsNoYes
Your own phone numberYes, with the optional permissionYes, with the optional permission
The other party’s phone numberNoYes, with the optional permission

Events are not logged while scanning is paused for low battery.

  • Incoming call (INCOMING_CALL): logged when the phone starts ringing.
  • Outgoing call (OUTGOING_CALL): logged when a call is placed.

Each event records the direction, the time the call started, the serving cell, the location (if available) and the phone numbers the permissions allow. One event is written per call, at the moment it starts. Call duration, and whether an incoming call was answered, are not recorded.

  • Incoming SMS (INCOMING_SMS): a received text message.
  • Outgoing SMS (OUTGOING_SMS): a sent text message.

Each event records the direction, the time, the serving cell, the location (if available) and the phone numbers. Message content is not logged; only this metadata is.

  • Incoming MMS (INCOMING_MMS): logged when your messaging app downloads the message. If auto-download is off, that is when you tap to download it.
  • Outgoing MMS (OUTGOING_MMS): logged when the message enters the outbox.

Each event records the same details as an SMS. For an outgoing group MMS, destinationAddress lists every recipient separated by ;. Message content and attachments are not read.

Neither build can log RCS chats. Android restricts RCS messages to the default messaging app (for example Google Messages or Samsung Messages), and there is no API that lets another app see them. A message sent as an RCS chat produces no call record. If your messaging app falls back to SMS or MMS for a message, it is logged as that type.

A LOCATION_UPDATE event is logged when the phone’s location area code (LAC) or tracking area code (TAC) changes. It records the new cell, the time and the location.

# Created by Network Survey version=2.0-cdr
# CSV Version=0.5.0
startTime,latitude,longitude,altitude,accuracy,event,originatingAddress,destinationAddress,csAccessNetworkTechnology,csCellIdentifier,psAccessNetworkTechnology,psCellIdentifier,slot,locationAge,deviceSerialNumber,missionId,recordNumber
2026-09-15T10:30:54.748812-04:00,37.7749,-122.4194,184.3000030517578,17.596,LOCATION_UPDATE,,,NR,310-260-1234567-1234567890,NR,310-260-1234567-1234567890,,5813,1234abc12e56789f,NS 1234abc12e56789f 20260915-103012,1
2026-09-15T10:31:13.060772-04:00,37.7750,-122.4195,184.60000610351562,36.735,OUTGOING_MMS,15551234567,15559876543;15550001111,LTE,310-260-12345-12345678,LTE,310-260-12345-12345678,,3572,1234abc12e56789f,NS 1234abc12e56789f 20260915-103012,2

The file is created when the survey starts, even before the first event. Unlike the other files, it is not split by size. See the CSV files reference for the column descriptions.

  • Network monitoring: see when LAC/TAC changes happen and spot areas with frequent changes.
  • Privacy auditing: see which cells handle your calls and messages.
  • Research: correlate network events with location.