Welcome. This blog is mostly about real-time communications on the Internet (WebRTC, SIP/SDP, ICE/STUN/TURN, RTP/media analysis) and, occasionally, running.
If you’re new, pick a path:
Quick paths
NAT traversal (WebRTC connectivity): ICE → TURN troubleshooting
Media & packet analysis: RTP extraction → Opus/SILK/DTMF trace deep dives → SRTP decryption
SIP/SDP fundamentals: ACK loose routing → Opus negotiation → practical transcoding
Running (non-RTC): a couple of pieces I care about
NAT traversal (ICE / TURN)
About ICE negotiation
https://www.giacomovacca.com/2022/10/about-ice-negotiation.htmlTroubleshooting TURN
https://www.giacomovacca.com/2022/05/troubleshooting-turn.html
Media & packet analysis (RTP, codecs, traces)
Extracting RTP streams from network traces
https://www.giacomovacca.com/2021/02/extracting-rtp-streams-from-network.htmlAnalysing Opus media from network traces
https://www.giacomovacca.com/2017/01/analysing-opus-media-from-network-traces.htmlVoIP calls encoded with SILK from RTP traces
https://www.giacomovacca.com/2017/01/voip-calls-encoded-with-silk-from-rtp.htmlDissecting traces with DTMF tones
https://www.giacomovacca.com/2020/11/dissecting-traces-with-dtmf-tones.htmlDecrypt SDES-SRTP from a PCAP
https://www.giacomovacca.com/2025/03/decrypt-sdes-srtp-from-pcap.html
SIP / SDP fundamentals (signaling and negotiation)
SIP ACK loose routing
https://www.giacomovacca.com/2018/01/sip-ack-loose-routing.htmlOpus negotiation (for practical men)
https://www.giacomovacca.com/2016/09/opus-negotiation-for-practical-man.htmlOpus/G.711 transcoding (for practical men)
https://www.giacomovacca.com/2016/10/opusg711-transcoding-for-practical-man.html
Tooling and testing
Kamailio tests: testing framework for Kamailio
https://www.giacomovacca.com/2019/11/kamailio-tests-testing-framework-for.html
Running (off-topic)
It’s not a sprint
https://www.giacomovacca.com/2025/11/its-not-sprint.htmlDifferences between running and cycling
https://www.giacomovacca.com/2021/03/off-topic-differences-between-running.html