2. AT THE NETWORK EDGE
rtpengine & kamailio
Load Testing
Architecture
RTP Sinkhole NAT Piercing RTP Echo RTP PubSub
3. LOAD TESTING
ARCHITECTURE
rtpengine & kamailio
● Context
○ At sipfront.com, we develop a
SaaS for Telco Test Automation
● Load testing is resource intensive
○ sipp for signaling
○ tcpreplay for media
● kamailio & rtpengine to the rescue
○ protocol conversion for signaling
○ reflection & termination for media
4. LOAD TESTING ARCHITECTURE
rtpengine & kamailio
tcpreplay
+ RTP patch 1
sipp
SIP
RTP
kamailio
rtpengine
sinkhole
kamailio sipp
rtpengine
pierce-nat + echo
system
under
test
SDP info ctrl ctrl
NAT NAT
1
https://github.com/agranig/tcpreplay/tree/agranig/sipfront-rtp-edit
5. RTP SINKHOLE
rtpengine & kamailio
● Sometimes, you just don’t wanna talk…
○ but want to keep track of stats
○ and want to avoid ICMP port
unreachable messages
8. NAT PIERCING
rtpengine & kamailio
● “you start first” - “no, you start first”
○ If you’d like to echo media
○ but the peer can’t send you anything
to echo back
11. RTP ECHO
rtpengine & kamailio
● “You made this? I made this!”
○ send back incoming media with
new SSRC
○ for when you need two-way media
without the generation overhead
14. RTP PUBSUB
rtpengine & kamailio
● “Listen up, everybody…”
○ Send an RTP stream once
○ and duplicate it to multiple
recipients
○ for SFU, SIPREC, Interception, …