Overview
Caller ID is a telephone signaling protocol that transmits calling party information between the first and second ring. Using Bell 202 FSK modulation at 1200 baud, it encodes the caller’s phone number, name, date, and time in a structured binary format according to Bellcore (now Telcordia) standards.Technical Specifications
Frequencies and Timing
Baud Rate: 1200 bps
Modulation: Bell 202 FSK
Mark Frequency (1): 1200 Hz
Space Frequency (0): 2200 Hz
Data Bits: 8
Transmission: Between 1st and 2nd ring
Modulation: Bell 202 FSK
Mark Frequency (1): 1200 Hz
Space Frequency (0): 2200 Hz
Data Bits: 8
Transmission: Between 1st and 2nd ring
- Uses Bell 202 physical layer (1200 baud)
- Special caller ID data decoder (
databits_decode_callerid) - 8 data bits per byte
- Receive-only mode (TX not supported)
- Auto-carrier detection not recommended
Transmission Timing
Caller ID Timing Sequence:
- First Ring - Standard ring signal
- Silent Period - 0.5 seconds
- Channel Seizure Signal - 300 bits of alternating 0/1 (250ms)
- Mark Signal - 180 bits of mark (1200 Hz, 150ms)
- Caller ID Data - Message packet
- Second Ring - Standard ring signal continues
Message Format
Data Structure
Caller ID uses a structured binary message format:Single Data Message Format (SDMF)
Type 0x04 - Most common formatMultiple Data Message Format (MDMF)
Type 0x80 - Extended format with name Contains multiple parameter fields:- 0x01 - Date/Time (MMDDHHNN)
- 0x02 - Phone Number (ASCII)
- 0x07 - Name (ASCII)
- 0x08 - Name Unavailable
Parameter Types
| Type | Description | Format |
|---|---|---|
| 0x01 | Date and Time | MMDDHHNN (8 ASCII chars) |
| 0x02 | Phone Number | ASCII string, 10 digits |
| 0x03 | Number Unavailable | Reason code |
| 0x04 | Name Unavailable | Reason code |
| 0x07 | Caller Name | ASCII string, up to 15 chars |
| 0x08 | Name | ASCII string (alternate) |
Special Values
Private/Unavailable
- ‘P’ or ‘O’ - Private number (blocked)
- No number field - Unavailable
Presentation
Caller ID can indicate:- Available - Number and name provided
- Private - Caller blocked ID (*67 prefix)
- Unavailable - Network cannot provide
- Out of Area - Call from outside service area
Usage Examples
Receiving Caller ID
Important Limitations:
- Caller ID is receive-only in minimodem (no
--txsupport) - Auto-carrier detection may interfere with reception
- Requires proper phone line audio interface
Audio Interface Setup
USB Phone Line Adapter
Traditional Audio Coupling
Building a Caller ID Receiver
Hardware Requirements
-
Phone Line Interface
- USB phone adapter, or
- DAA (Data Access Arrangement) module, or
- Commercial caller ID modem
- WARNING: Direct phone line connection requires proper isolation
-
Audio Interface
- Sound card with line input
- 8 kHz sample rate minimum
- Mono input sufficient
-
Computer
- Linux with ALSA support
- minimodem installed
Software Setup
Complete Caller ID Logger
Decoding Caller ID Data
Example Python decoder for raw caller ID bytes:Technical Details
Channel Seizure Signal
The 300-bit alternating pattern (01010101…):- Alerts receiver to prepare for data
- Provides bit clock synchronization
- 250ms duration at 1200 baud
- Uses Bell 202 FSK (1200/2200 Hz alternation)
Mark Signal
180 bits of continuous mark (1200 Hz):- Confirms carrier presence
- Final synchronization before data
- 150ms duration
- Receiver locks onto mark frequency
Checksum Calculation
Two’s complement checksum:Bell 202 Modulation Details
Caller ID uses the same FSK modulation as Bell 202:
- Mark (1): 1200 Hz
- Space (0): 2200 Hz
- Baud rate: 1200 bps
- Encoding: 8-N-1 (8 data, no parity, 1 stop bit)
International Variations
North America (Bellcore/GR-30-CORE)
- Between 1st and 2nd ring
- Bell 202 FSK (1200 baud)
- SDMF or MDMF format
Europe (ETSI)
- Uses V.23 FSK (1200 baud)
- Different timing and format
- FSK Alert prior to message
Japan
- Similar to North American
- Some format differences
UK (British Telecom)
- V.23 FSK modulation
- Between rings or before first ring
- DTMF variant also exists
Signal Quality Requirements
- Sample rate: 8 kHz minimum (telephone quality)
- SNR: > 15 dB for reliable decode
- Frequency response: 1000-2500 Hz
- Level: -10 to -30 dBm typical on phone line
Troubleshooting
No Caller ID Detected
Check:- Is Caller ID service active on phone line?
- Audio interface properly connected?
- Correct audio device selected?
- Sample rate set to 8000 Hz or higher?
Garbled or Incomplete Data
Issues:- Audio level too low or too high
- Noise on phone line
- Incorrect sample rate
- Channel seizure signal missed
- Adjust audio input gain
- Use line input (not microphone)
- Ensure 8000 Hz sample rate
- Start recording before first ring
Checksum Errors
- Indicates data corruption
- May be caused by noise
- Check audio quality and connections
- Verify phone line is working properly
Privacy and Legal Considerations
Legal Notice:
- Recording phone calls may require consent (check local laws)
- Caller ID logging should respect privacy
- Secure stored caller ID data appropriately
- Consider data retention policies
- Comply with GDPR/privacy regulations if applicable
Advantages of Caller ID
Identification
- Screen unwanted calls
- Identify callers before answering
- Maintain call logs automatically
- Support business call routing
Integration
- Automated call logging
- CRM integration
- Home automation triggers
- Security monitoring
Applications
Home Use
- Caller identification
- Call blocking
- Call logging
- Home automation triggers
Business Use
- Automatic call routing
- CRM integration (screen pop)
- Call center management
- Billing and accounting
Security
- Monitor phone activity
- Detect spam/fraud calls
- Access control systems
- Alert generation
Related Protocols
References
- Bellcore GR-30-CORE - Caller ID Specification
- Telcordia SR-TSV-002476 - Advanced Calling Features
- ITU-T V.23 - European Caller ID modulation