diff --git a/.github/workflows/switch.yml b/.github/workflows/switch.yml index a7efeed06..67bfc9690 100644 --- a/.github/workflows/switch.yml +++ b/.github/workflows/switch.yml @@ -52,7 +52,7 @@ jobs: [ { "identifier": "switch-staging", - "branch": "develop", + "branch": "speech_to_text", "image_tag": "staging", "ecs_service": "switch-staging", "ecs_cluster": "somleng-switch-staging" diff --git a/components/freeswitch/Dockerfile b/components/freeswitch/Dockerfile index 2fccaa47e..73b0e914c 100644 --- a/components/freeswitch/Dockerfile +++ b/components/freeswitch/Dockerfile @@ -1,3 +1,5 @@ +FROM drachtio/drachtio-freeswitch-base as build + FROM debian:bullseye-slim ARG signalwire_token @@ -61,6 +63,8 @@ RUN chown -R freeswitch:daemon /etc/freeswitch RUN touch /var/log/freeswitch/freeswitch.log RUN chown freeswitch:freeswitch /var/log/freeswitch/freeswitch.log +COPY --from=build /usr/local/freeswitch/mod/mod_aws_transcribe.* /usr/lib/freeswitch/mod/ + # Install the entrypoint script COPY docker-entrypoint.sh /docker-entrypoint.sh diff --git a/components/freeswitch/conf/autoload_configs/modules.conf.xml b/components/freeswitch/conf/autoload_configs/modules.conf.xml index 827c7da21..b87abdcba 100644 --- a/components/freeswitch/conf/autoload_configs/modules.conf.xml +++ b/components/freeswitch/conf/autoload_configs/modules.conf.xml @@ -1,5 +1,7 @@ + + diff --git a/components/freeswitch/dialplan/.keep b/components/freeswitch/dialplan/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/components/freeswitch/sip_profiles/.keep b/components/freeswitch/sip_profiles/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/components/freeswitch_event_logger/app.go b/components/freeswitch_event_logger/app.go index a4173fb93..18072e88d 100644 --- a/components/freeswitch_event_logger/app.go +++ b/components/freeswitch_event_logger/app.go @@ -45,9 +45,11 @@ func main() { // Filters evFilters := make(map[string][]string) evFilters["Event-Name"] = append(evFilters["Event-Name"], "HEARTBEAT") + evFilters["Event-Name"] = append(evFilters["Event-Name"], "CUSTOM") evHandlers := map[string][]func(string, int){ "HEARTBEAT": {logHeartbeat}, + "CUSTOM": {logHeartbeat}, } event_socket_host := os.Getenv("EVENT_SOCKET_HOST") diff --git a/infrastructure/modules/somleng_switch/switch.tf b/infrastructure/modules/somleng_switch/switch.tf index d39ff78f9..f51c78013 100644 --- a/infrastructure/modules/somleng_switch/switch.tf +++ b/infrastructure/modules/somleng_switch/switch.tf @@ -203,6 +203,49 @@ resource "aws_iam_user_policy" "recordings" { EOF } +# Custom FreeSWITCH modules user +resource "aws_iam_user" "fs_modules" { + name = "${var.switch_identifier}_fs_modules" +} + +resource "aws_iam_access_key" "fs_modules" { + user = aws_iam_user.fs_modules.name +} + + +resource "aws_iam_user_policy" "fs_modules" { + name = aws_iam_user.fs_modules.name + user = aws_iam_user.fs_modules.name + + policy = <