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;
}