From fd040025ac8c605219dbd127b44a477be3933815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Silva?= <asilva@wirelessmundi.com> Date: Thu, 2 Jun 2022 17:08:39 +0100 Subject: [PATCH 1/3] mod_sms: add app transfer --- src/mod/applications/mod_sms/mod_sms.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/mod/applications/mod_sms/mod_sms.c b/src/mod/applications/mod_sms/mod_sms.c index 68ad7d7ccc..25566a84a3 100644 --- a/src/mod/applications/mod_sms/mod_sms.c +++ b/src/mod/applications/mod_sms/mod_sms.c @@ -610,6 +610,30 @@ SWITCH_STANDARD_CHAT_APP(reply_function) return SWITCH_STATUS_SUCCESS; } + +SWITCH_STANDARD_CHAT_APP(transfer_function) +{ + char *context; + + if (!data) return SWITCH_STATUS_SUCCESS; + + context = strdup(data); + if (!context) return SWITCH_STATUS_SUCCESS; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "SMS transfer to %s \n", data); + + switch_event_del_header(message, "context"); + switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "context", context); + + switch_core_chat_send("GLOBAL", message); + + + return SWITCH_STATUS_SUCCESS; +} + + + + /* Macro expands to: switch_status_t mod_sms_load(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) */ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_load) { @@ -641,6 +665,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_load) SWITCH_ADD_CHAT_APP(chat_app_interface, "fire", "fire the message", "fire the message", fire_function, "", SCAF_NONE); SWITCH_ADD_CHAT_APP(chat_app_interface, "system", "execute a system command", "execute a sytem command", system_function, "", SCAF_NONE); + SWITCH_ADD_CHAT_APP(chat_app_interface, "transfer", "transfer a message to another context", "transfer a message to another context", transfer_function, "", SCAF_NONE); + /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; } From a01644206f46c40f3ded8524f6f94a358b6c0af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ant=C3=B3nio=20Silva?= <asilva@wirelessmundi.com> Date: Thu, 2 Jun 2022 18:18:38 +0100 Subject: [PATCH 2/3] mod_sms: add app transfer - fix free context --- src/mod/applications/mod_sms/mod_sms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mod/applications/mod_sms/mod_sms.c b/src/mod/applications/mod_sms/mod_sms.c index 25566a84a3..1e49a51db2 100644 --- a/src/mod/applications/mod_sms/mod_sms.c +++ b/src/mod/applications/mod_sms/mod_sms.c @@ -624,10 +624,10 @@ SWITCH_STANDARD_CHAT_APP(transfer_function) switch_event_del_header(message, "context"); switch_event_add_header_string(message, SWITCH_STACK_BOTTOM, "context", context); + switch_safe_free(context); switch_core_chat_send("GLOBAL", message); - return SWITCH_STATUS_SUCCESS; } From 005286aaad6d2e3fbf8e92bc6f0330c6f0390324 Mon Sep 17 00:00:00 2001 From: Antonio Silva <asilva@wirelessmundi.com> Date: Wed, 19 Apr 2023 09:27:25 +0100 Subject: [PATCH 3/3] remove extra lines --- src/mod/applications/mod_sms/mod_sms.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/mod/applications/mod_sms/mod_sms.c b/src/mod/applications/mod_sms/mod_sms.c index 1e49a51db2..9370d0f17a 100644 --- a/src/mod/applications/mod_sms/mod_sms.c +++ b/src/mod/applications/mod_sms/mod_sms.c @@ -610,7 +610,6 @@ SWITCH_STANDARD_CHAT_APP(reply_function) return SWITCH_STATUS_SUCCESS; } - SWITCH_STANDARD_CHAT_APP(transfer_function) { char *context; @@ -631,9 +630,6 @@ SWITCH_STANDARD_CHAT_APP(transfer_function) return SWITCH_STATUS_SUCCESS; } - - - /* Macro expands to: switch_status_t mod_sms_load(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) */ SWITCH_MODULE_LOAD_FUNCTION(mod_sms_load) {