From 145681c4503567ee3aaacf8bf13c137a023725ed Mon Sep 17 00:00:00 2001 From: Ahmet Sezgin Duran Date: Fri, 2 Oct 2020 15:17:13 +0300 Subject: [PATCH 1/4] Added Event-UUID header to sendmsg_exec function --- lib/elixir_mod_event/erlang.ex | 5 +++-- mix.lock | 24 +++++++++++++----------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/lib/elixir_mod_event/erlang.ex b/lib/elixir_mod_event/erlang.ex index cf40614..e032f41 100644 --- a/lib/elixir_mod_event/erlang.ex +++ b/lib/elixir_mod_event/erlang.ex @@ -163,11 +163,12 @@ defmodule FSModEvent.Erlang do @spec sendmsg_exec( node, String.t, String.t, String.t, Integer.t ) :: :ok | no_return - def sendmsg_exec(name, uuid, command, args \\ "", loops \\ 1) do + def sendmsg_exec(name, uuid, command, args \\ "", event_uuid \\ "", loops \\ 1) do sendmsg name, uuid, 'execute', [ {'execute-app-name', to_char_list(command)}, {'execute-app-arg', to_char_list(args)}, - {'loops', to_char_list(loops)} + {'loops', to_char_list(loops)}, + {'Event-UUID', to_charlist(event_uuid)} ] end diff --git a/mix.lock b/mix.lock index 71c7abc..9b15294 100644 --- a/mix.lock +++ b/mix.lock @@ -1,12 +1,14 @@ -%{"certifi": {:hex, :certifi, "0.7.0", "861a57f3808f7eb0c2d1802afeaae0fa5de813b0df0979153cbafcd853ababaf", [:rebar3], []}, - "coverex": {:hex, :coverex, "1.4.12", "b18d737734edeac578a854cfaa5aa48c5d05e649c77ce02efb7f723a316b6a3b", [:mix], [{:hackney, "~> 1.5", [hex: :hackney, optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, optional: false]}]}, - "earmark": {:hex, :earmark, "1.0.3", "89bdbaf2aca8bbb5c97d8b3b55c5dd0cff517ecc78d417e87f1d0982e514557b", [:mix], []}, - "ex_doc": {:hex, :ex_doc, "0.14.5", "c0433c8117e948404d93ca69411dd575ec6be39b47802e81ca8d91017a0cf83c", [:mix], [{:earmark, "~> 1.0", [hex: :earmark, optional: false]}]}, - "hackney": {:hex, :hackney, "1.6.5", "8c025ee397ac94a184b0743c73b33b96465e85f90a02e210e86df6cbafaa5065", [:rebar3], [{:certifi, "0.7.0", [hex: :certifi, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, optional: false]}]}, +%{ + "certifi": {:hex, :certifi, "0.7.0", "861a57f3808f7eb0c2d1802afeaae0fa5de813b0df0979153cbafcd853ababaf", [:rebar3], [], "hexpm", "f7182e85b4ece9d1371c46699793dd3dee8f2c55be3f6967a6b84b8c02bab7d2"}, + "coverex": {:hex, :coverex, "1.4.12", "b18d737734edeac578a854cfaa5aa48c5d05e649c77ce02efb7f723a316b6a3b", [:mix], [{:hackney, "~> 1.5", [hex: :hackney, repo: "hexpm", optional: false]}, {:poison, "~> 1.5 or ~> 2.0", [hex: :poison, repo: "hexpm", optional: false]}], "hexpm", "fe09a881c3a0d8353bf8f85dfe25640fc72e11bfa43f7803e7a7525b5ca8d58b"}, + "earmark": {:hex, :earmark, "1.0.3", "89bdbaf2aca8bbb5c97d8b3b55c5dd0cff517ecc78d417e87f1d0982e514557b", [:mix], [], "hexpm", "0fdcd651f9689e81cda24c8e5d06947c5aca69dbd8ce3d836b02bcd0c6004592"}, + "ex_doc": {:hex, :ex_doc, "0.14.5", "c0433c8117e948404d93ca69411dd575ec6be39b47802e81ca8d91017a0cf83c", [:mix], [{:earmark, "~> 1.0", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm", "5c30e436a5acfdc2fd8fe6866585fcaf30f434c611d8119d4f3390ced2a550f3"}, + "hackney": {:hex, :hackney, "1.6.5", "8c025ee397ac94a184b0743c73b33b96465e85f90a02e210e86df6cbafaa5065", [:rebar3], [{:certifi, "0.7.0", [hex: :certifi, repo: "hexpm", optional: false]}, {:idna, "1.2.0", [hex: :idna, repo: "hexpm", optional: false]}, {:metrics, "1.0.1", [hex: :metrics, repo: "hexpm", optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, repo: "hexpm", optional: false]}, {:ssl_verify_fun, "1.1.1", [hex: :ssl_verify_fun, repo: "hexpm", optional: false]}], "hexpm", "0a9f657b4af1f45c77eed9053a091c5cf5d249ea77029a35a44c02ae5d85096f"}, "httpoison": {:hex, :httpoison, "0.8.3", "b675a3fdc839a0b8d7a285c6b3747d6d596ae70b6ccb762233a990d7289ccae4", [:mix], [{:hackney, "~> 1.6.0", [hex: :hackney, optional: false]}]}, - "idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []}, - "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []}, - "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], []}, - "poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], []}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], []}, - "uuid": {:hex, :uuid, "1.1.6", "4927232f244e69c6e255643014c2d639dad5b8313dc2a6976ee1c3724e6ca60d", [:mix], []}} + "idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], [], "hexpm", "1d724cdafb66397e61774ead242c9b725de7033cde8ea98fa4a91e64ac5ef5b3"}, + "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], [], "hexpm", "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16"}, + "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], [], "hexpm", "7a4c8e1115a2732a67d7624e28cf6c9f30c66711a9e92928e745c255887ba465"}, + "poison": {:hex, :poison, "2.2.0", "4763b69a8a77bd77d26f477d196428b741261a761257ff1cf92753a0d4d24a63", [:mix], [], "hexpm", "519bc209e4433961284174c497c8524c001e285b79bdf80212b47a1f898084cc"}, + "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.1", "28a4d65b7f59893bc2c7de786dec1e1555bd742d336043fe644ae956c3497fbe", [:make, :rebar], [], "hexpm", "4f8805eb5c8a939cf2359367cb651a3180b27dfb48444846be2613d79355d65e"}, + "uuid": {:hex, :uuid, "1.1.6", "4927232f244e69c6e255643014c2d639dad5b8313dc2a6976ee1c3724e6ca60d", [:mix], [], "hexpm", "717e93d768e2e393308a65ab23b65e55c2a15d6dc83b6a2c08854cf4b23b3e0a"}, +} From d7d309814b9d22639a05a93db7786fbdf004adc1 Mon Sep 17 00:00:00 2001 From: Ahmet Sezgin Duran Date: Fri, 2 Oct 2020 15:53:17 +0300 Subject: [PATCH 2/4] Revert back to old to_char_list function --- lib/elixir_mod_event/erlang.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/elixir_mod_event/erlang.ex b/lib/elixir_mod_event/erlang.ex index e032f41..0ec122a 100644 --- a/lib/elixir_mod_event/erlang.ex +++ b/lib/elixir_mod_event/erlang.ex @@ -168,7 +168,7 @@ defmodule FSModEvent.Erlang do {'execute-app-name', to_char_list(command)}, {'execute-app-arg', to_char_list(args)}, {'loops', to_char_list(loops)}, - {'Event-UUID', to_charlist(event_uuid)} + {'Event-UUID', to_char_list(event_uuid)} ] end From 534980c9a62b32f534b2ce39166b81d5dc437cfd Mon Sep 17 00:00:00 2001 From: Ahmet Sezgin Duran Date: Fri, 2 Oct 2020 16:08:49 +0300 Subject: [PATCH 3/4] Add type spec for event_uuid parameter --- lib/elixir_mod_event/erlang.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/elixir_mod_event/erlang.ex b/lib/elixir_mod_event/erlang.ex index 0ec122a..fac80ce 100644 --- a/lib/elixir_mod_event/erlang.ex +++ b/lib/elixir_mod_event/erlang.ex @@ -161,7 +161,7 @@ defmodule FSModEvent.Erlang do See: https://freeswitch.org/confluence/display/FREESWITCH/mod_erlang_event#mod_erlang_event-sendmsg """ @spec sendmsg_exec( - node, String.t, String.t, String.t, Integer.t + node, String.t, String.t, String.t, String.t, Integer.t ) :: :ok | no_return def sendmsg_exec(name, uuid, command, args \\ "", event_uuid \\ "", loops \\ 1) do sendmsg name, uuid, 'execute', [ From 8d3286f2e1fb34602c1728ab81e0cb5d8e8a8c7a Mon Sep 17 00:00:00 2001 From: Ahmet Sezgin Duran Date: Fri, 2 Oct 2020 16:12:29 +0300 Subject: [PATCH 4/4] Add event_uuid param for TCP connection mode --- lib/elixir_mod_event/connection.ex | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/elixir_mod_event/connection.ex b/lib/elixir_mod_event/connection.ex index 9b5381a..c325d8b 100644 --- a/lib/elixir_mod_event/connection.ex +++ b/lib/elixir_mod_event/connection.ex @@ -197,13 +197,14 @@ defmodule FSModEvent.Connection do See: https://freeswitch.org/confluence/display/FREESWITCH/mod_event_socket#mod_event_socket-sendmsg """ @spec sendmsg_exec( - GenServer.server, String.t, String.t, String.t, Integer.t, String.t + GenServer.server, String.t, String.t, String.t, String.t, Integer.t, String.t ) :: FSModEvent.Packet.t - def sendmsg_exec(name, uuid, command, args \\ "", loops \\ 1, body \\ "") do + def sendmsg_exec(name, uuid, command, args \\ "", event_uuid \\ "", loops \\ 1, body \\ "") do sendmsg name, uuid, "execute", [ {"execute-app-name", command}, {"execute-app-arg", args}, - {"loops", to_string(loops)} + {"loops", to_string(loops)}, + {"Event-UUID", event_uuid} ], body end