1xBTS 1xBTS

First Registration

Checklist

Before starting, confirm:

  • 1xBTS built successfully (Building from Source)
  • BTS and radio configured (Configuration)
  • SDR connected and recognized
  • Docker services running: docker compose up -d
  • CDMA2000 1x capable handset available

Start the BTS

cargo run --release -p cdma-nib -- \
    --config-dir config \
    --radio-config config/radio_bladerf_micro2.json

On startup the BTS begins transmitting:

ChannelWalshWhat It Does
PilotW0Timing/phase reference — always on
SyncW32System time, PN offset
PagingW1Overhead messages (SPM, APM, NLM, etc.)

Add a Subscriber

Before a handset can register, add it to the HLR at http://localhost:3000/subscribers or via the gRPC API directly.

Registration Flow

When the handset powers on within range:

StepWhat Happens
1. Pilot acquisitionHandset searches for and locks onto pilot channel
2. Sync channelReads system time, PN offset from sync
3. Paging channelReceives overhead messages (System Parameters, Access Parameters)
4. Access channelHandset transmits Registration Message
5. Registration acceptBSC records the sighting, resolves the subscriber through HLR/SMSC-facing state, may enqueue welcome SMS, and the BTS transmits Registration Accepted Order

Troubleshooting

SymptomCheck
No pilot acquisitionTX frequency, gain, SDR connection
Access probes but no registrationSubscriber in HLR, access parameters
Registration rejectedESN/IMSI/MIN match in subscriber database
Intermittent accessPower control parameters, RF environment

Next Steps