Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Frontend for decrypting captured SRTP packets.

Project Description

Simple front-end for decrypting captured SRTP and SRTCP packets using:


Install devel libpcap and libsrtp if you need to, e.g.:

sudo apt-get install libpcap-dev libsrtp0-dev

and then:

pip install dsrtp



To e.g. decrypt captured packets and write then back to a capture file:

dsrtp test/fixtures/av.pcap /tmp/rtp.pcap -ld -k test/fixtures/av_material.hex

If you have a cluttered capture (e.g. multiple SRTP streams) then you can select e.g. the in-bound stream by address:port like:

dsrtp test/fixtures/av.pcap /tmp/rtp.pcap -k test/fixtures/av_material.hex -l d -i


To do the same in code:

import dsrtp

enc_km = open('test/fixtures/av_material.hex').read()
km = dsrtp.KeyingMaterial.unpack_hex(enc_km)
p = dsrtp.SRTPPolicy(ssrc_type=dsrtp.SRTPPolicy.SSRC_ANY_INBOUND, key=km.local)

with dsrtp.SRTP(p) as ctx, \
        open('test/fixtures/av.pcap', 'rb') as srtp_pcap, \
        open('/tmp/rtp.pcap', 'wb') as rtp_pcap:
  pkts = dsrtp.read_packets(srtp_pcap)
  decrypted_pkts = dsrtp.decrypt_packets(ctx, pkts)
  dsrtp.write_packets(rtp_pcap, decrypted_pkts)


Create a venv:

mkvirtualenv dsrtp
pip install Cython

then get it:

git clone
cd dsrtp
workon dsrtp
pip install -e .[test]

and test it:

py.test test/ --cov dsrtp --cov-report term-missing --pep8


Tests pass:

py.test test/ --cov dsrtp --cov-report term-missing --pep8

so update __version__ in:

  • dsrtp/

commit and tag it:

git commit -am "release v{version}"
git tag -a v{version} -m "release v{version}"
git push --tags

and travis will publish it to pypi.

Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(66.6 kB) Copy SHA256 Hash SHA256
Source None Sep 18, 2015

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting