diff --git a/src/modules/rtp_media_server/Makefile b/src/modules/rtp_media_server/Makefile
index d2800c44e6a..490b7590dc9 100644
--- a/src/modules/rtp_media_server/Makefile
+++ b/src/modules/rtp_media_server/Makefile
@@ -6,7 +6,7 @@ DEFS+=-I$(LOCALBASE)/lib
ORTPLIBS=-lortp
BCUNITLIBS=-lbcunit
-MS2LIBS=-lmediastreamer_voip -lmediastreamer_base
+MS2LIBS=-lmediastreamer
LIBS=$(ORTPLIBS) $(BCUNITLIBS) $(MS2LIBS)
DEFS+=-DKAMAILIO_MOD_INTERFACE
diff --git a/src/modules/rtp_media_server/doc/rtp_media_server_admin.xml b/src/modules/rtp_media_server/doc/rtp_media_server_admin.xml
index 358c2658ab9..ea6bf2d11c1 100644
--- a/src/modules/rtp_media_server/doc/rtp_media_server_admin.xml
+++ b/src/modules/rtp_media_server/doc/rtp_media_server_admin.xml
@@ -28,6 +28,19 @@
+
+ Quick start, how-to build on debian
+
+ Building on Debian, Dockerfile and docker image
+
+ The module includes Dockerfile that can also be use as a reference on how to build everything
+ from source on Debian, the of libmediastreamer on Linux is usually outdated.
+
+ A docker image is also available from dockerhub https://hub.docker.com/r/jchavanton/rtp_media_server
+
+
+
+
Dependencies
diff --git a/src/modules/rtp_media_server/docker/Dockerfile b/src/modules/rtp_media_server/docker/Dockerfile
index 1b0cc763563..01213e96ca2 100644
--- a/src/modules/rtp_media_server/docker/Dockerfile
+++ b/src/modules/rtp_media_server/docker/Dockerfile
@@ -1,4 +1,4 @@
-FROM debian
+FROM debian:buster
ENV DEB_PKG_CORES="libevent-dev libjansson-dev libpcre3 libpcre3-dev"
@@ -10,10 +10,10 @@ ENV KAM_INC_MOD="uac debugger rtp_media_server usrloc registrar siputils"
ENV KAM_SKIP_MOD="uid_domain diversion smsops mediaproxy rtpproxy mqueue topoh app_jsdt tsilo drouting kex acc stun usrloc p_usrloc dmq dmq_usrloc sipjson userblacklist path libtrie kex sipdump uid_uri_db msrp sst imc mohqueue nattraversal pike xhttp rtpengine sca pdt matrix auth_diameter keepalive seas carrierroute ss7ops pipelimit db_cluster secfilter mangler acc_diameter enum app_sqlang pdb mtree sms"
ENV COMMIT_KAMAILIO=master
-ENV COMMIT_BCUNIT=29c556fa8ac1ab21fba1291231ffa8dea43cf32a
-ENV COMMIT_BCTOOLBOX=971953a9fa4058e9c8a40ca4a3fa12d832445255
-ENV COMMIT_ORTP=6e13ef49a55cdd19dae395c38cfff7ffa518a089
-ENV COMMIT_MEDIASTREAMER2=d935123fc497d19a24019c6e7ae4fe0c5f19d55a
+ENV COMMIT_BCUNIT=origin/release/4.4
+ENV COMMIT_BCTOOLBOX=origin/release/4.4
+ENV COMMIT_ORTP=4.4.0
+ENV COMMIT_MEDIASTREAMER2=4.4.0
RUN echo "building Kamailio with RTP Media Server" \
&& apt-get update && apt-get -y install ${DEB_PKG} ${DEB_PKG_TMP} \
@@ -28,12 +28,14 @@ RUN apt-get install -y automake autogen autoconf libtool pkg-config
# && ./configure \
# && make && make install
+RUN apt-get install -y cmake
+
RUN echo "building bcunit" \
&& mkdir -p /git && cd /git \
&& git clone https://github.com/BelledonneCommunications/bcunit.git \
&& cd bcunit \
&& git checkout ${COMMIT_BCUNIT} \
- && ./autogen.sh && ./configure \
+ && cmake CMakeLists.txt \
&& make && make install
RUN echo "building bctoolbox" \
@@ -42,15 +44,17 @@ RUN echo "building bctoolbox" \
&& git clone https://github.com/BelledonneCommunications/bctoolbox.git \
&& cd bctoolbox \
&& git checkout ${COMMIT_BCTOOLBOX} \
- && ./autogen.sh && ./configure \
+ && cmake CMakeLists.txt \
&& make && make install
+RUN apt-get install -y libsrtp2-dev
+
RUN echo "building oRTP" \
&& mkdir -p /git && cd /git \
&& git clone https://github.com/BelledonneCommunications/ortp.git \
&& cd ortp \
&& git checkout ${COMMIT_ORTP} \
- && ./autogen.sh && ./configure \
+ && cmake CMakeLists.txt \
&& make && make install
RUN echo "building mediastreamer2" \
@@ -59,7 +63,7 @@ RUN echo "building mediastreamer2" \
&& git clone https://github.com/BelledonneCommunications/mediastreamer2.git \
&& cd mediastreamer2 \
&& git checkout ${COMMIT_MEDIASTREAMER2} \
- && ./autogen.sh && ./configure --disable-sound --disable-video --enable-tools=no --disable-tests \
+ && cmake -DENABLE_SOUND=OFF -DENABLE_VIDEO=OFF -DENABLE_ZRTP=OFF CMakeLists.txt \
&& make && make install \
&& ldconfig
@@ -68,9 +72,9 @@ RUN echo "download sample voice files" \
&& wget http://www.voiptroubleshooter.com/open_speech/american/OSR_us_000_0010_8k.wav
RUN echo "building Kamailio" \
- && mkdir -p /git && cd /git \
- && git clone https://github.com/kamailio/kamailio.git \
- && cd kamailio && git checkout ${COMMIT_KAMAILIO} \
- && make include_modules="${KAM_INC_MOD}" skip_modules="\$(mod_list_extra) \$(mod_list_db) ${KAM_SKIP_MOD}" cfg \
- && make install
+ && mkdir -p /git && cd /git \
+ && git clone https://github.com/kamailio/kamailio.git \
+ && cd kamailio && git checkout ${COMMIT_KAMAILIO} \
+ && make include_modules="${KAM_INC_MOD}" skip_modules="\$(mod_list_extra) \$(mod_list_db) ${KAM_SKIP_MOD}" cfg \
+ && make install
diff --git a/src/modules/rtp_media_server/docker/build.sh b/src/modules/rtp_media_server/docker/build.sh
index 669bb34bacc..d47df9c696c 100755
--- a/src/modules/rtp_media_server/docker/build.sh
+++ b/src/modules/rtp_media_server/docker/build.sh
@@ -1 +1,10 @@
docker build . -t rtp_media_server
+
+VERSION="0.2"
+echo
+echo "execute these commands to update the public docker image:"
+echo
+echo " docker tag rtp_media_server:latest jchavanton/rtp_media_server:latest"
+echo " docker tag rtp_media_server:latest jchavanton/rtp_media_server:${VERSION}"
+echo " docker push jchavanton/rtp_media_server:latest"
+echo " docker push jchavanton/rtp_media_server:${VERSION}"
diff --git a/src/modules/rtp_media_server/docker/entry.sh b/src/modules/rtp_media_server/docker/entry.sh
new file mode 100755
index 00000000000..9d964772eb8
--- /dev/null
+++ b/src/modules/rtp_media_server/docker/entry.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+if [ "$1" = "" ]; then
+ CMD="kamailio -m 64 -D -dd -f /etc/kamailio.cfg"
+else
+ CMD="$*"
+fi
+
+echo "Running ${CMD}"
+exec ${CMD}
+
diff --git a/src/modules/rtp_media_server/docker/rtp_media_server.sh b/src/modules/rtp_media_server/docker/rtp_media_server.sh
index 8ef40cd0aa8..02b842ad253 100755
--- a/src/modules/rtp_media_server/docker/rtp_media_server.sh
+++ b/src/modules/rtp_media_server/docker/rtp_media_server.sh
@@ -6,6 +6,10 @@ docker stop ${CONTAINER}
docker rm ${CONTAINER}
docker run -d --net=host --name=${CONTAINER} ${IMAGE} /bin/sh -c "tail -f /dev/null"
-
-echo "docker exec -it rtp_media_server -c kamailio -m 64 -D -dd -f /etc/kamailio.cfg"
-
+echo ""
+echo "manual steps required to start Kamailio in the container:"
+echo " cp git/kamailio/src/modules/rtp_media_server/config_example/kamailio.cfg /etc"
+echo " set the listen IP in /etc/kamailio.cfg"
+echo " docker exec -it rtp_media_server bash"
+echo " kamailio -m 64 -D -dd -f /etc/kamailio.cfg"
+echo ""