diff --git a/contrib/testpbx/Dockerfile b/contrib/testpbx/Dockerfile new file mode 100644 index 0000000..2f03424 --- /dev/null +++ b/contrib/testpbx/Dockerfile @@ -0,0 +1,25 @@ +FROM debian:jessie + +RUN apt-get update +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget + +# They use comodo.. it was hacked.. so don't bother trying to +# install the right root certificates... +RUN wget --no-check-certificate -O - https://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add - +RUN echo "deb http://files.freeswitch.org/repo/deb/freeswitch-1.6/ jessie main" > /etc/apt/sources.list.d/freeswitch.list +RUN apt-get update && apt-get install -y freeswitch-meta-all + + +# Change the config... +COPY configs/vars.xml /etc/freeswitch/vars.xml +COPY configs/acl.conf.xml /etc/freeswitch/autoload_configs/acl.conf.xml +COPY configs/switch.conf.xml /etc/freeswitch/autoload_configs/switch.conf.xml +COPY configs/public.xml /etc/freeswitch/dialplan/public.xml +COPY configs/default.xml /etc/freeswitch/dialplan/default.xml +COPY configs/internal.xml /etc/freeswitch/sip_profiles/internal.xml + +# Prepare to run +# Reduce the number of ports.. as otherwise we wait a long time +EXPOSE 6000-6020/udp +EXPOSE 5060/udp +CMD /usr/bin/freeswitch -nf diff --git a/contrib/testpbx/Makefile b/contrib/testpbx/Makefile new file mode 100644 index 0000000..ea34799 --- /dev/null +++ b/contrib/testpbx/Makefile @@ -0,0 +1,12 @@ +all: container + +container: + docker build -t osmo-freeswitch-pbx:latest . + +run: + docker run -it --name=osmo-freeswitch-pbx \ + -p 5060:5060/udp -p 6000-6020:6000-6020/udp \ + --rm=true osmo-freeswitch-pbx:latest + +stop: + docker rm -f osmo-freeswitch-pbx diff --git a/contrib/testpbx/README b/contrib/testpbx/README new file mode 100644 index 0000000..11c16f0 --- /dev/null +++ b/contrib/testpbx/README @@ -0,0 +1,29 @@ +Provide a semi-stable remote PBX system. + +There is no preferred PBX but YaTE is pretty small and still +functional enough. Anyway Rhizomatica is using FreeSWITCH so +let's use that for testing. + +This is creating a docker image with a SIP configuration that +will allow to record audio, have a DTMF menu using some fixed +numbers. Feel free to extend it to support bidirectional calls +and routing. + +It is using the Debian packages and installs everything as I +am not interested to track dependencies and see what is missing. +Again feel free to optimize the size. + + +Build: + make + + or + + docker build -t yourimagename:tag . + + +Run: + + docker run yourimagename:tag + +SIP is exposed on 5060 of your port and audio on 6000-6020 diff --git a/contrib/testpbx/configs/acl.conf.xml b/contrib/testpbx/configs/acl.conf.xml new file mode 100644 index 0000000..70a64ea --- /dev/null +++ b/contrib/testpbx/configs/acl.conf.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/testpbx/configs/default.xml b/contrib/testpbx/configs/default.xml new file mode 100644 index 0000000..f0e0af1 --- /dev/null +++ b/contrib/testpbx/configs/default.xml @@ -0,0 +1,832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/testpbx/configs/internal.xml b/contrib/testpbx/configs/internal.xml new file mode 100644 index 0000000..2a679fb --- /dev/null +++ b/contrib/testpbx/configs/internal.xml @@ -0,0 +1,422 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/testpbx/configs/public.xml b/contrib/testpbx/configs/public.xml new file mode 100644 index 0000000..d9b1d17 --- /dev/null +++ b/contrib/testpbx/configs/public.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/testpbx/configs/switch.conf.xml b/contrib/testpbx/configs/switch.conf.xml new file mode 100644 index 0000000..1a82409 --- /dev/null +++ b/contrib/testpbx/configs/switch.conf.xml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contrib/testpbx/configs/vars.xml b/contrib/testpbx/configs/vars.xml new file mode 100644 index 0000000..1cb826d --- /dev/null +++ b/contrib/testpbx/configs/vars.xml @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +