Packet Data
Service Options
| SO | RC | RLP | Max Rate | Status |
|---|---|---|---|---|
| SO7 | RC1 | Type 1 (8-bit SEQ) | 9.6 kbps | Done |
| SO33 | RC3 | Type 3 (12-bit SEQ) | 9.6 kbps FCH | Done |
Session Flow
Session Establishment
| Phase | What Happens |
|---|---|
| Radio call setup | Mobile sends Origination (SO7/SO33), BTS forwards it over Abis, and BSC assigns the traffic channel |
| Service negotiation | Service Connect specifies SO, RC, RLP parameters |
| A8/A10 setup | BSC asks the PCF client to set up radio packet-edge state; packet sessions currently cross the local packet gRPC boundary |
| RLP sync | RLP Type 1 or 3 synchronizes sequence counters |
| LCP | PPP link negotiation terminates in the packet-core path |
| IPCP | PDSN assigns an IP address from the mobile pool (10.55.0.0/24) |
| Data transfer | IP packets flow over RLP/PPP on the radio side, then through the packet service path to TUN/FOU/FOU-TCP transport |
PCF / PDSN Split
The BSC reaches packet-data control through a PcfClient boundary. The integrated cdma-nib runtime currently wires that boundary to a gRPC-backed client pointed at the packet service on 127.0.0.1:17021. The packet service owns the session path before delegating payload bytes to TUN, FOU, or FOU-TCP transport.
| Boundary | Current Shape |
|---|---|
| BSC → PCF | PcfClient trait, currently wired to a gRPC-backed client in cdma-nib |
| PCF state | packet radio-edge session metadata, A8/A9-facing control, per-session A11 registration queueing before activation; reached through packet gRPC today |
| PDSN state | packet anchor state, PPP/IPCP, mobile IP allocation, A10/A11-facing state; reached through packet gRPC today |
| A8/A10 bearer transport | GRE codecs and bearer tables exist, but no UDP socket driver sends or receives GRE frames yet |
| A9/A11 signaling transport | state machines and messages exist, but the live path is local service RPCs, not standards UDP signaling |
Real standards packet-core separation is still TODO: replace the local packet service path with BSC ↔ PCF A8/A9 transport and PCF ↔ PDSN A10/A11 transport. The FOU and FOU-TCP options are IP offload paths behind the current packet service; they are not the standards A10 GRE bearer.
Duplicate Service Connect Completion handling is idempotent. If the mobile retransmits completion during setup, the BSC does not leak an extra packet session. The PCF queues pending A11 registrations per packet session while the PDSN-side transport comes up, then drains them after activation. If an existing packet traffic channel is converted to voice, the BSC closes the old packet session after voice service connects.
IP Routing
| Parameter | Default |
|---|---|
| Subnet | 10.55.0.0/24 |
| Gateway | 10.55.0.1 |
| Mobile pool | 10.55.0.2 – 10.55.0.254 |
| DNS | 8.8.8.8, 8.8.4.4 |
Transport modes: TUN (local kernel interface, requires root), FOU (UDP tunnel), or FOU-TCP (TCP relay path).
See Packet Data Setup for FOU configuration.
Configuration
{
"packet_grpc_listen_addr": "127.0.0.1:17021",
"packet": {
"transport": "fou_tcp",
"fou_remote": "127.0.0.1:17012",
"fou_local_port": 17011
}
}
Dashboard
The /packets page shows active sessions, assigned IPs, RLP statistics, PPP state, and throughput.