diff --git a/conf/freeswitch.xml b/conf/freeswitch.xml index 90974fe7c9..9ec6fa2da5 100644 --- a/conf/freeswitch.xml +++ b/conf/freeswitch.xml @@ -110,6 +110,8 @@ + + diff --git a/src/mod/endpoints/mod_exosip/mod_exosip.c b/src/mod/endpoints/mod_exosip/mod_exosip.c index efc0af9daf..a5c7de6028 100644 --- a/src/mod/endpoints/mod_exosip/mod_exosip.c +++ b/src/mod/endpoints/mod_exosip/mod_exosip.c @@ -76,7 +76,8 @@ typedef enum { TFLAG_VAD_IN = ( 1 << 12), TFLAG_VAD_OUT = ( 1 << 13), TFLAG_VAD = ( 1 << 14), - TFLAG_TIMER = ( 1 << 15) + TFLAG_TIMER = ( 1 << 15), + TFLAG_AA = (1 << 16) } TFLAGS; @@ -539,6 +540,10 @@ static switch_status_t activate_rtp(struct private_object *tech_pvt) flags |= SWITCH_RTP_FLAG_USE_TIMER; } + if (switch_test_flag(tech_pvt, TFLAG_AA)) { + flags |= SWITCH_RTP_FLAG_AUTOADJ; + } + tech_pvt->rtp_session = switch_rtp_new(tech_pvt->local_sdp_audio_ip, tech_pvt->local_sdp_audio_port, tech_pvt->remote_sdp_audio_ip, @@ -1933,6 +1938,8 @@ static int config_exosip(int reload) globals.debug = atoi(val); } else if (!strcmp(var, "use-rtp-timer") && switch_true(val)) { switch_set_flag(&globals, TFLAG_TIMER); + } else if (!strcmp(var, "use-rtp-auto-adjust") && switch_true(val)) { + switch_set_flag(&globals, TFLAG_AA); } else if (!strcmp(var, "port")) { globals.port = atoi(val); } else if (!strcmp(var, "rfc2833-pt")) { diff --git a/src/mod/languages/mod_perl/switch_swig.c b/src/mod/languages/mod_perl/switch_swig.c index 1c4b458e65..754bdcabf4 100644 --- a/src/mod/languages/mod_perl/switch_swig.c +++ b/src/mod/languages/mod_perl/switch_swig.c @@ -18,12 +18,13 @@ void fs_core_set_globals(void) int fs_core_init(char *path) { switch_status_t status; + const char *err = NULL; if (switch_strlen_zero(path)) { path = NULL; } - status = switch_core_init(path); + status = switch_core_init(path, &err); return status == SWITCH_STATUS_SUCCESS ? 1 : 0; }