From 6abdbe5ac46d0dd9318637394b6612ed78fdf385 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 14 Feb 2013 11:20:11 -0600 Subject: [PATCH 1/5] FS-5044 --resolve proposed solution appears to be the best route --- src/mod/applications/mod_httapi/mod_httapi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mod/applications/mod_httapi/mod_httapi.c b/src/mod/applications/mod_httapi/mod_httapi.c index cc5fea89eb..8665e8c3d3 100644 --- a/src/mod/applications/mod_httapi/mod_httapi.c +++ b/src/mod/applications/mod_httapi/mod_httapi.c @@ -1607,6 +1607,8 @@ static switch_status_t httapi_sync(client_t *client) if (client->profile->cookie_file) { switch_curl_easy_setopt(curl_handle, CURLOPT_COOKIEJAR, client->profile->cookie_file); switch_curl_easy_setopt(curl_handle, CURLOPT_COOKIEFILE, client->profile->cookie_file); + } else { + switch_curl_easy_setopt(curl_handle, CURLOPT_COOKIE, ""); } if (client->profile->bind_local) { From d47726659f869c633a719b6646f21384039be9ae Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Thu, 14 Feb 2013 15:03:20 -0500 Subject: [PATCH 2/5] add a bit more error checking to module loader --- src/switch_loadable_module.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index d63ff074f1..02a9e6792b 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -316,6 +316,8 @@ static switch_status_t switch_loadable_module_process(char *key, switch_loadable for (ptr = new_module->module_interface->file_interface; ptr; ptr = ptr->next) { if (!ptr->interface_name) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to load file interface from %s due to no interface name.\n", key); + } else if (!ptr->extens) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to load file interface from %s due to no file extensions.\n", key); } else { int i; for (i = 0; ptr->extens[i]; i++) { From b14fd4a5a4ef6bcf18d8be3a006f04502911cb3c Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 14 Feb 2013 14:07:20 -0600 Subject: [PATCH 3/5] FS-4923 try this --- src/switch_rtp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 3dfb93b1ec..88848dd777 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -384,7 +384,7 @@ static handle_rfc2833_result_t handle_rfc2833(switch_rtp_t *rtp_session, switch_ switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "DTMF payload offset by 4 bytes.\n"); } - if (!(packet[0] || packet[1] || packet[2] || packet[3])) { + if (!(packet[0] || packet[1] || packet[2] || packet[3]) && rtp_session->dtmf_data.in_digit_ts) { switch_core_session_t *session = switch_core_memory_pool_get_data(rtp_session->pool, "__session"); switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Failed DTMF payload check.\n"); rtp_session->dtmf_data.last_digit = 0; From c98aa768a04d44f1f02f99265801fe957cdd2a1d Mon Sep 17 00:00:00 2001 From: Michael S Collins Date: Thu, 14 Feb 2013 20:16:05 -0800 Subject: [PATCH 4/5] Update phrase_en.xml --- docs/phrase/phrase_en.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/phrase/phrase_en.xml b/docs/phrase/phrase_en.xml index ed4c0d6a75..52f789ce15 100644 --- a/docs/phrase/phrase_en.xml +++ b/docs/phrase/phrase_en.xml @@ -624,8 +624,10 @@ - + + + From 1a3a11fa1a9ad50f239c2d4507ce4e229d61ebfe Mon Sep 17 00:00:00 2001 From: Giovanni Maruzzelli Date: Fri, 15 Feb 2013 12:16:06 +0100 Subject: [PATCH 5/5] FS-5102 mod_skypopen crashes FS when skype is not working or skype user tries to log in without network connection present --- src/mod/endpoints/mod_skypopen/mod_skypopen.c | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/src/mod/endpoints/mod_skypopen/mod_skypopen.c b/src/mod/endpoints/mod_skypopen/mod_skypopen.c index 167357f47d..992e77d720 100644 --- a/src/mod/endpoints/mod_skypopen/mod_skypopen.c +++ b/src/mod/endpoints/mod_skypopen/mod_skypopen.c @@ -2029,34 +2029,40 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_skypopen_load) #endif running = 1; - load_config(FULL_RELOAD); - *module_interface = switch_loadable_module_create_module_interface(pool, modname); - skypopen_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE); - skypopen_endpoint_interface->interface_name = "skypopen"; - skypopen_endpoint_interface->io_routines = &skypopen_io_routines; - skypopen_endpoint_interface->state_handler = &skypopen_state_handlers; + if (load_config(FULL_RELOAD) == SWITCH_STATUS_SUCCESS) { - if (running) { + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + skypopen_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE); + skypopen_endpoint_interface->interface_name = "skypopen"; + skypopen_endpoint_interface->io_routines = &skypopen_io_routines; + skypopen_endpoint_interface->state_handler = &skypopen_state_handlers; - SWITCH_ADD_API(commands_api_interface, "sk", "Skypopen console commands", sk_function, SK_SYNTAX); - SWITCH_ADD_API(commands_api_interface, "skypopen", "Skypopen interface commands", skypopen_function, SKYPOPEN_SYNTAX); - SWITCH_ADD_API(commands_api_interface, "skypopen_chat", "Skypopen_chat interface remote_skypename TEXT", skypopen_chat_function, - SKYPOPEN_CHAT_SYNTAX); - SWITCH_ADD_CHAT(chat_interface, SKYPE_CHAT_PROTO, chat_send); + if (running) { - if (switch_event_reserve_subclass(MY_EVENT_INCOMING_CHATMESSAGE) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't register subclass!\n"); - return SWITCH_STATUS_FALSE; + SWITCH_ADD_API(commands_api_interface, "sk", "Skypopen console commands", sk_function, SK_SYNTAX); + SWITCH_ADD_API(commands_api_interface, "skypopen", "Skypopen interface commands", skypopen_function, SKYPOPEN_SYNTAX); + SWITCH_ADD_API(commands_api_interface, "skypopen_chat", "Skypopen_chat interface remote_skypename TEXT", skypopen_chat_function, + SKYPOPEN_CHAT_SYNTAX); + SWITCH_ADD_CHAT(chat_interface, SKYPE_CHAT_PROTO, chat_send); + + if (switch_event_reserve_subclass(MY_EVENT_INCOMING_CHATMESSAGE) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't register subclass!\n"); + return SWITCH_STATUS_FALSE; + } + + if (switch_event_reserve_subclass(MY_EVENT_INCOMING_RAW) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't register subclass!\n"); + return SWITCH_STATUS_FALSE; + } + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; } - - if (switch_event_reserve_subclass(MY_EVENT_INCOMING_RAW) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't register subclass!\n"); - return SWITCH_STATUS_FALSE; - } - - /* indicate that the module should continue to be loaded */ - return SWITCH_STATUS_SUCCESS; + } else { + running = 0; + switch_sleep(1000000); //1 full second + return SWITCH_STATUS_FALSE; } return SWITCH_STATUS_FALSE; }