Merge branch 'signalwire:master' into bugfix/fix-ivr-zombie

This commit is contained in:
Alexis Lina 2023-01-17 11:09:36 +01:00 committed by GitHub
commit 602db60b4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 30 additions and 5 deletions

View File

@ -8,7 +8,7 @@ Visit [https://signalwire.com](https://signalwire.com/) or https://github.com/
FreeSWITCH is available on [Github](https://github.com/signalwire/freeswitch) in source code format. You can checkout the development branch and build for many popular platforms including Linux, Windows, MacOSX and BSD. There is an issue tracker and pull request system available as part of the repo online.
See [https://freeswitch.com/#getting-started](https://freeswitch.com/#getting-started) for more detailed instructions.
See https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/ for more detailed instructions.
## Additional Help

View File

@ -29,7 +29,7 @@
#include "fspr_pools.h"
#include "fspr_errno.h"
#if !defined(_ANSI_SOURCE) && defined(_DARWIN_C_SOURCE)
#if !defined(NSIG) && !defined(_ANSI_SOURCE) && defined(_DARWIN_C_SOURCE)
#define NSIG __DARWIN_NSIG
#endif

View File

@ -23,7 +23,7 @@ if HAVE_STIRSHAKEN
test_test_sofia_funcs_CFLAGS += -DHAVE_STIRSHAKEN
endif
test_test_sofia_funcs_LDFLAGS = $(AM_LDFLAGS) -avoid-version -no-undefined $(freeswitch_LDFLAGS) $(switch_builddir)/libfreeswitch.la $(CORE_LIBS) $(APR_LIBS) $(STIRSHAKEN_LIBS)
test_test_sofia_funcs_LDADD = libsofiamod.la $(SOFIA_SIP_LIBS)
test_test_sofia_funcs_LDADD = libsofiamod.la $(SOFIA_SIP_LIBS) $(STIRSHAKEN_LIBS)
test_test_nuafail_SOURCES = test/test_nuafail.c
test_test_nuafail_CFLAGS = $(AM_CFLAGS) $(SOFIA_SIP_CFLAGS) $(STIRSHAKEN_CFLAGS) -DSWITCH_TEST_BASE_DIR_FOR_CONF=\"${abs_builddir}/test\" -DSWITCH_TEST_BASE_DIR_OVERRIDE=\"${abs_builddir}/test\"

View File

@ -4667,7 +4667,7 @@ static switch_status_t sofia_manage(char *relative_oid, switch_management_action
return SWITCH_STATUS_SUCCESS;
}
static int protect_dest_uri(switch_caller_profile_t *cp)
int protect_dest_uri(switch_caller_profile_t *cp)
{
char *p = cp->destination_number, *o = p;
char *q = NULL, *e = NULL, *qenc = NULL;

View File

@ -11484,6 +11484,16 @@ void sofia_handle_sip_i_invite(switch_core_session_t *session, nua_t *nua, sofia
}
}
if (sip->sip_identity) {
sip_identity_t *id;
for (id = sip->sip_identity; id; id = id->id_next) {
if (!zstr(id->id_value)) {
switch_channel_add_variable_var_check(channel, "sip_identity", id->id_value, SWITCH_FALSE, SWITCH_STACK_PUSH);
}
}
}
if (sip->sip_identity && sip->sip_identity->id_value) {
switch_channel_set_variable(channel, "sip_h_identity", sip->sip_identity->id_value);
}

View File

@ -31,7 +31,8 @@
#include <switch.h>
#include <test/switch_test.h>
#include "../mod_sofia.c"
int protect_dest_uri(switch_caller_profile_t *cp);
static int timeout_sec = 10;
static switch_interval_time_t delay_start_ms = 5000;

View File

@ -1970,6 +1970,7 @@ static void client_run(jsock_t *jsock)
{
int flags = KWS_BLOCK;
int idle = 0;
ks_json_t *params = NULL;
if (jsock->profile->vhosts) {
flags |= KWS_STAY_OPEN;
@ -1977,7 +1978,14 @@ static void client_run(jsock_t *jsock)
}
ks_pool_open(&jsock->kpool);
#if defined(KS_VERSION_NUM) && KS_VERSION_NUM >= 20000
params = ks_json_create_object();
ks_json_add_number_to_object(params, "payload_size_max", 1000000);
if (kws_init_ex(&jsock->ws, jsock->client_socket, (jsock->ptype & PTYPE_CLIENT_SSL) ? jsock->profile->ssl_ctx : NULL, 0, flags, jsock->kpool, params) != KS_STATUS_SUCCESS) {
#else
if (kws_init(&jsock->ws, jsock->client_socket, (jsock->ptype & PTYPE_CLIENT_SSL) ? jsock->profile->ssl_ctx : NULL, 0, flags, jsock->kpool) != KS_STATUS_SUCCESS) {
#endif
log_and_exit(SWITCH_LOG_NOTICE, "%s WS SETUP FAILED\n", jsock->name);
}
@ -2123,6 +2131,8 @@ static void client_run(jsock_t *jsock)
detach_jsock(jsock);
kws_destroy(&jsock->ws);
ks_pool_close(&jsock->kpool);
ks_json_delete(&params);
return;
}
@ -6769,6 +6779,10 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_verto_load)
ks_ssl_init_skip(KS_TRUE);
ks_init();
#if defined(KS_VERSION_NUM) && KS_VERSION_NUM < 20000
kws_set_global_payload_size_max(1000000);
#endif
if (switch_event_reserve_subclass(MY_EVENT_LOGIN) != SWITCH_STATUS_SUCCESS) {
ks_shutdown();
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't register subclass %s!\n", MY_EVENT_LOGIN);