SRTP Protocol
This document describe the VPP SRTP (Secure Real-time Transport Protocol) implementation libsrtp2 based SRTP transport protocol implementation.
Maturity level
Experimental
Quickstart
Install libsrtp2-dev. On debian based OS:
sudo apt get install libsrtp2-dev
Build vpp
make build
Test protocol using vcl test server and client. On server side, start vpp and server app:
export VT_PATH=$WS/build-root/build-vpp_debug-native/vpp/bin
$VT_PATH/vcl_test_server 1234 -p srtp
On client side:
export VT_PATH=$WS/build-root/build-vpp_debug-native/vpp/bin
$VT_PATH/vcl_test_client <server-ip> 1234 -U -X -S -N 10000 -T 128 -p srtp
Custom libsrtp2 build
Create
build/external/packages/srtp.mk
with following example contents:
srtp_version := 2.3.0
srtp_tarball := srtp_$(srtp_version).tar.gz
srtp_tarball_md5sum := da38ee5d9c31be212a12964c22d7f795
srtp_tarball_strip_dirs := 1
srtp_url := https://github.com/cisco/libsrtp/archive/v$(srtp_version).tar.gz
define srtp_build_cmds
@cd $(srtp_build_dir) && \
$(CMAKE) -DCMAKE_INSTALL_PREFIX:PATH=$(srtp_install_dir) \
-DCMAKE_C_FLAGS='-fPIC -fvisibility=hidden' $(srtp_src_dir) > $(srtp_build_log)
@$(MAKE) $(MAKE_ARGS) -C $(srtp_build_dir) > $(srtp_build_log)
endef
define srtp_config_cmds
@true
endef
define srtp_install_cmds
@$(MAKE) $(MAKE_ARGS) -C $(srtp_build_dir) install > $(srtp_install_log)
endef
$(eval $(call package,srtp))
Include
srtp.mk
inbuild/external/Makefile
and add to install target.Rebuild external dependencies:
make install-ext-deps