diff options
Diffstat (limited to 'src/plugins/srtp/srtp_plugin.md')
-rw-r--r-- | src/plugins/srtp/srtp_plugin.md | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/src/plugins/srtp/srtp_plugin.md b/src/plugins/srtp/srtp_plugin.md new file mode 100644 index 00000000000..81185864dbe --- /dev/null +++ b/src/plugins/srtp/srtp_plugin.md @@ -0,0 +1,72 @@ +# SRTP (Secure Real-time Transport Protocol) {#srtp_doc} + +libsrtp2 based SRTP transport protocol implementation. + +## Maturity level +Experimental + +## Quickstart + +1. Install libsrtp2-dev. On debian based OS: + +``` +sudo apt get install libsrtp2-dev +``` + +2. Build vpp + +``` +make build +``` + +3. 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 + +1. 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)) +``` + +2. Include `srtp.mk` in `build/external/Makefile` and add to install target. + +3. Rebuild external dependencies: + +``` +make install-ext-deps +``` |