Cloud-native simulation of 3GPP IMS (IP Multimedia Subsystem) core network functions. Each IMS network element runs as an independent Spring Boot microservice, communicating via REST APIs that simulate SIP and Diameter interfaces.
┌─────────────────────┐
│ Telephony AS │
│ (Call Services) │
└─────────┬───────────┘
│ ISC (SIP)
┌──────────┐ ┌─────────┴───────────┐ ┌──────────┐
│ │ Gm │ │ Cx │ │
│ P-CSCF ├────┤ S-CSCF ├────┤ HSS │
│ │ │ │ │ │
└──────────┘ └─────────┬───────────┘ └────┬─────┘
│ │ Dx
┌─────────┴───────────┐ ┌────┴─────┐
│ I-CSCF ├────┤ SLF │
│ │ │ │
└─────────────────────┘ └──────────┘
Interfaces:
Gm — UE ↔ P-CSCF (SIP)
Mw — CSCF ↔ CSCF (SIP)
Cx — S-CSCF/I-CSCF ↔ HSS (Diameter)
Dx — I-CSCF ↔ SLF (Diameter)
ISC — S-CSCF ↔ AS (SIP)
| Service | Port | 3GPP Function | Description |
|---|---|---|---|
| P-CSCF | 8083 | Proxy-CSCF | First point of contact, SIP proxy, IPSec |
| I-CSCF | 8084 | Interrogating-CSCF | Entry point, S-CSCF selection |
| S-CSCF | 8082 | Serving-CSCF | Core SIP server, registration, session control |
| HSS | 8081 | Home Subscriber Server | User database, auth vectors, profiles |
| Telephony AS | 8085 | Application Server | Call forwarding, barring, supplementary services |
UE P-CSCF I-CSCF S-CSCF HSS
│ │ │ │ │
│──REGISTER────>│ │ │ │
│ │──REGISTER───>│ │ │
│ │ │──Cx:UAR─────>│ │
│ │ │<─Cx:UAA──────│ │
│ │ │──REGISTER───>│ │
│ │ │ │──Cx:MAR─────>│
│ │ │ │<─Cx:MAA──────│
│ │ │ │ (Auth Vector)│
│<──401─────────│<─────────────│<─────────────│ │
│ │ │ │ │
│──REGISTER────>│──REGISTER───>│──REGISTER───>│ │
│ (credentials)│ │ │──Cx:SAR─────>│
│ │ │ │<─Cx:SAA──────│
│<──200 OK──────│<─────────────│<─────────────│ │
│ │ │ │ │
- Call Forwarding: CFU (Unconditional), CFB (Busy), CFNR (No Reply)
- Call Barring: BAOC (All Outgoing), BAIC (All Incoming), BOIC (International)
- Identity Services: OIP/OIR, TIP/TIR
docker-compose up -d- Java 17, Spring Boot 3.2, Spring Cloud
- Docker with multi-service Compose
- Kubernetes with Helm charts
- PostgreSQL for HSS subscriber data
- 3GPP TS 23.228 (IMS Architecture)
- 3GPP TS 29.228/229 (Cx/Dx Interface)
MIT License — see LICENSE for details.