Overview
1xBTS is an open-source CDMA2000 1x cellular network. It implements the CDMA2000 air interface from scratch and separates the BTS, BSC, MSC, packet-core, HLR, SMSC, voice gateway, and management-plane responsibilities behind explicit interfaces.
The packet core is still mid-split: PCF and PDSN are modeled as separate ownership domains, and cdma-nib now crosses a local packet gRPC boundary for packet sessions. Real A8/A9 and A10/A11 network transports are still planned work.
Components
| Component | Role |
|---|---|
| BTS Base Transceiver Station | Radio execution — PHY, local MAC/LAC, TX/RX scheduling, pipelined receiver, frame alignment, radio metrics |
| BSC Base Station Controller | Radio network control — mobile state, paging policy, traffic assignment, Abis peer state, A1/A2p/A9 edge |
| MSC Mobile Switching Center | Circuit-service control — A1 call state, A2p RTP bearer setup, voice media orchestration, preemption, and SIP gateway control |
| PCF Packet Control Function | Packet-data radio edge — A8/A9 side of packet session setup and air-link coordination; currently reaches packet service gRPC |
| PDSN Packet Data Serving Node | Packet-data anchor — A10/A11 side, PPP/IPCP, TUN/FOU/FOU-TCP transport, packet service gRPC |
| HLR Home Location Register | Subscriber service — identity resolution and registration bindings over HLR gRPC, backed by PostgreSQL |
| SMSC Short Message Service Center | SMS service — message submission, delivery tracking, welcome SMS injection, persistent queue over SMSC gRPC backed by PostgreSQL |
| EVRC Enhanced Variable Rate Codec | IS-127 voice codec for SO3/SO17/SO68/SO73 |
| Voice Gateway SIP/PSTN bridge | MO calls to external trunks, EVRC↔G.711 transcoding |
| Management / Dashboard Operator plane | gRPC management plane plus Next.js/SSE UI for diagnostics and operator actions |
Capabilities
| Feature | Status | Details |
|---|---|---|
| Voice Calls | Done | MO/MT, EVRC (SO3/SO17/SO68/SO73), MS-to-MS bridging, existing-TCH MT setup, MSC-controlled SIP gateway |
| SMS | Done | MO/MT, PostgreSQL SMSC, paging + traffic delivery, welcome SMS on new/inactive registration |
| Packet Data | Done | SO7 (RC1) + SO33 (RC3), PPP/IPCP, duplicate Service Connect cleanup, TUN/FOU/FOU-TCP, local packet gRPC boundary |
| Physical Layer | Done | Pipelined RX, FFT pilot, Viterbi, RC1 + RC3 |
| Power Control | Done | 800 Hz inner loop, FER outer, PMRM forward |
| BTS/BSC Split | Done | Abis signaling/bearer boundary; embedded and remote-BTS modes |
| MSC/PCF/PDSN Extraction | WIP | MSC-owned voice orchestration, gateway control, and A2p bearer are networked; packet sessions now cross local gRPC, with standards A8/A9/A10/A11 transport still pending |
| Web Dashboard | Done | Live metrics, mobile tracking, message log, node-scoped management APIs |
| F-SCH | WIP | TX chain ready, allocation pending |
| RAKE | Done | Multi-finger pipelined receiver, FFT + fast-path despread |
| MRC | Planned | Multi-path combining not yet implemented |
Architecture
The system follows a layered architecture:
- Physical Layer — SDR hardware, PN spreading, Walsh channelization, pulse shaping, pipelined receiver
- MAC / LAC — Message sequencing (MSG_SEQ/ACK_SEQ), ARQ, interleaving, long code scrambling
- Layer 3 — IS-2000 signaling: registration, origination, paging, service negotiation
- Standards Seams — Abis between BTS/BSC, A1 and A2p between BSC/MSC, plus target A8/A9 between BSC/PCF and A10/A11 between PCF/PDSN
- Core Services — MSC, PCF, PDSN, HLR, SMSC, voice gateway, and packet transport
- Management Plane — gRPC APIs for operator actions and diagnostics; not a replacement for standards interfaces
Next Steps
- Building from Source — Clone, build, set up the database
- Configuration — BTS and radio config files
- First Registration — Get a handset on the air