IP Multimedia Subsystem
---
title: Architecture
---
architecture-beta
service test(server)[test]
service smf(server)[SMF]
service upf(server)[UPF]
service hss(server)[HSS]
service pcrf(server)[PCRF]
service pcscf(server)[PCSCF]
service icscf(server)[ICSCF]
service scscf(server)[SCSCF]
service rtp(server)[rtpengine]
service ocs(server)[OCS]
junction Mw
test:T -- L:smf
test:R -- L:upf
smf:B -- T:upf
smf:R -- L:pcrf
pcrf:B -- T:pcscf
upf:R -- L:pcscf
upf:B -- L:rtp
icscf:R -- L:hss
scscf:T -- B:hss
scscf:R -- L:ocs
pcscf:R -- L:Mw
icscf:B -- T:Mw
scscf:L -- R:Mw
scscf:B -- R:rtp
Why the setup?
- provide entirely software based playground for testing
- delve a bit deeper into the open source components configuration and documenting the process
- make simple and clean solution utilizing compose features like interpolation
- create helm charts for Kubernetes installation
As the setup loads and uses kernel module, best to test in VM
docker compose --profile test up -d
For always up to date commands, check out CI configuration
To observe the packets
wireshark -i any --display-filter 'gtpv2 or sip or diameter.cmd.code != 280'