diff --git a/compose.drachtio.yml b/compose.drachtio.yml new file mode 100644 index 0000000..20740ea --- /dev/null +++ b/compose.drachtio.yml @@ -0,0 +1,13 @@ +services: + drachtio: + image: drachtio/drachtio-server:latest + restart: always + expose: + - 9022 + - "5060/udp" + environment: + DRACHTIO_ADMIN_TCP_PORT: 9022 + DRACHTIO_SECRET: ${DRACHTIO_SECRET:?} + DRACHTIO_LOGLEVEL: ${DRACHTIO_LOGLEVEL:-info} + DRACHTIO_SOFIA_LOGLEVEL: ${DRACHTIO_SOFIA_LOGLEVEL:-3} + command: drachtio --contact "sip:*;transport=udp" diff --git a/compose.freeswitch.external.yml b/compose.freeswitch.external.yml new file mode 100644 index 0000000..e316d7a --- /dev/null +++ b/compose.freeswitch.external.yml @@ -0,0 +1,12 @@ +services: + freeswitch: + environment: + ACCEPT_EXTERNAL_CALLS: true + EXTERNAL_CALLS_DOMAIN: ${VOIP_EXTERNAL_DOMAIN:?} + EXTERNAL_NUMBER_EXPRESSION: ${VOIP_OUTGOING_NUMBER_EXPRESSION:-^(\+?\d{5,})$} # expression used to identify external extensions on outgoing external calls; checked only if the internal number expression didn't match + EXTERNAL_TO_INTERNAL_NUMBER_EXPRESSION: ${VOIP_INCOMING_NUMBER_EXPRESSION:-${VOIP_INTERNAL_NUMBER_EXPRESSION:-^(\d{4})$}} # expression used to identify internal extensions on incoming external calls + PUBLIC_DIALPLAN_INTERNAL_NUMBER_BRIDGE_STRING: ${VOIP_INCOMING_BRIDGE_STRING:-${VOIP_INTERNAL_BRIDGE_STRING:-sofia/internal/$${dialed_extension}@$${domain_name}}} # string used to bridge an incoming call with an internal user + DEFAULT_DIALPLAN_EXTERNAL_NUMBER_BRIDGE_STRING: ${VOIP_OUTGOING_BRIDGE_STRING:-sofia/external/$${dialed_extension}@$${external_calls_domain}} # string used to bridge an outgoing call with an external user + SIP_EXTERNAL_INBOUND_ACL: "any_v4.auto" + ports: + - "5080:5080/udp" diff --git a/compose.freeswitch.yml b/compose.freeswitch.yml new file mode 100644 index 0000000..ba09941 --- /dev/null +++ b/compose.freeswitch.yml @@ -0,0 +1,19 @@ +services: + freeswitch: + image: docker.io/rocketchat/freeswitch:latest + restart: always + environment: + EXTERNAL_ADDRESS_FQDN: ${VOIP_DOMAIN:?} + FREESWITCH_PASSWORD: ${FREESWITCH_PASSWORD:-} + RTP_START_PORT: ${VOIP_RTP_START_PORT:-20000} + RTP_END_PORT: ${VOIP_RTP_END_PORT:-20046} + ACCEPT_EXTERNAL_CALLS: false + USE_LEGACY_ARCH: false + DRACHTIO_DOMAIN: ${DRACHTIO_DOMAIN:-drachtio} + DEBUG_MODE: ${VOIP_DEBUG_MODE:-false} + INTERNAL_NUMBER_EXPRESSION: ${VOIP_INTERNAL_NUMBER_EXPRESSION:-^(\d{4})$} # expression used to validate if a dialed number is a valid internal extension + INTERNAL_DIALPLAN_INTERNAL_NUMBER_BRIDGE_STRING: ${VOIP_INTERNAL_BRIDGE_STRING:-sofia/internal/$${dialed_extension}@$${domain_name}} # string used to bridge an internal call + expose: + - "5060/udp" + ports: + - ${VOIP_RTP_START_PORT:-20000}-${VOIP_RTP_END_PORT:-20046}:${VOIP_RTP_START_PORT:-20000}-${VOIP_RTP_END_PORT:-20046}/udp