summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/cdr_mysql.c8
-rw-r--r--autoconf/ast_ext_tool_check.m42
-rw-r--r--autoconf/ast_pkgconfig.m42
-rwxr-xr-xconfigure28
-rw-r--r--include/asterisk/res_pjsip.h2
-rwxr-xr-xmenuselect/configure4
-rw-r--r--res/res_pjsip/pjsip_scheduler.c102
-rw-r--r--res/res_pjsip_session.c2
8 files changed, 83 insertions, 67 deletions
diff --git a/addons/cdr_mysql.c b/addons/cdr_mysql.c
index 2fefe4ed1..97ebdf26f 100644
--- a/addons/cdr_mysql.c
+++ b/addons/cdr_mysql.c
@@ -58,6 +58,14 @@
#define DATE_FORMAT "%Y-%m-%d %T"
+#ifndef MYSQL_PORT
+# ifdef MARIADB_PORT
+# define MYSQL_PORT MARIADB_PORT
+# else
+# define MYSQL_PORT 3306
+# endif
+#endif
+
AST_THREADSTORAGE(sql1_buf);
AST_THREADSTORAGE(sql2_buf);
AST_THREADSTORAGE(escape_buf);
diff --git a/autoconf/ast_ext_tool_check.m4 b/autoconf/ast_ext_tool_check.m4
index ef762eb87..cbe109e4a 100644
--- a/autoconf/ast_ext_tool_check.m4
+++ b/autoconf/ast_ext_tool_check.m4
@@ -11,7 +11,7 @@ AC_DEFUN([AST_EXT_TOOL_CHECK],
AC_PATH_TOOL(CONFIG_$1, $2, No, [${$1_DIR}/bin:$PATH])
if test ! "x${CONFIG_$1}" = xNo; then
$1_INCLUDE=$(${CONFIG_$1} m4_default([$3],[--cflags]))
- $1_INCLUDE=$(echo ${$1_INCLUDE} | $SED -e "s|-I|-I${$1_DIR}|g")
+ $1_INCLUDE=$(echo ${$1_INCLUDE} | $SED -e "s|-I|-I${$1_DIR}|g" -e "s|-std=c99||g")
$1_LIB=$(${CONFIG_$1} m4_default([$4],[--libs]))
$1_LIB=$(echo ${$1_LIB} | $SED -e "s|-L|-L${$1_DIR}|g")
diff --git a/autoconf/ast_pkgconfig.m4 b/autoconf/ast_pkgconfig.m4
index ae7bbc086..3415ed547 100644
--- a/autoconf/ast_pkgconfig.m4
+++ b/autoconf/ast_pkgconfig.m4
@@ -5,7 +5,7 @@ AC_DEFUN([AST_PKG_CONFIG_CHECK],
if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
PKG_CHECK_MODULES($1, $2, [
PBX_$1=1
- $1_INCLUDE="$$1_CFLAGS"
+ $1_INCLUDE=$(echo ${$1_CFLAGS} | $SED -e "s|-std=c99||g")
$1_LIB="$$1_LIBS"
AC_DEFINE([HAVE_$1], 1, [Define if your system has the $1 libraries.])
], [
diff --git a/configure b/configure
index bc9ddfe05..a7657be94 100755
--- a/configure
+++ b/configure
@@ -13427,7 +13427,7 @@ else
$as_echo "yes" >&6; }
PBX_LIBEDIT=1
- LIBEDIT_INCLUDE="$LIBEDIT_CFLAGS"
+ LIBEDIT_INCLUDE=$(echo ${LIBEDIT_CFLAGS} | $SED -e "s|-std=c99||g")
LIBEDIT_LIB="$LIBEDIT_LIBS"
$as_echo "#define HAVE_LIBEDIT 1" >>confdefs.h
@@ -14101,7 +14101,7 @@ fi
if test ! "x${CONFIG_LIBXML2}" = xNo; then
LIBXML2_INCLUDE=$(${CONFIG_LIBXML2} --cflags)
- LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g")
+ LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g" -e "s|-std=c99||g")
LIBXML2_LIB=$(${CONFIG_LIBXML2} --libs)
LIBXML2_LIB=$(echo ${LIBXML2_LIB} | $SED -e "s|-L|-L${LIBXML2_DIR}|g")
@@ -20491,7 +20491,7 @@ else
$as_echo "yes" >&6; }
PBX_ILBC=1
- ILBC_INCLUDE="$ILBC_CFLAGS"
+ ILBC_INCLUDE=$(echo ${ILBC_CFLAGS} | $SED -e "s|-std=c99||g")
ILBC_LIB="$ILBC_LIBS"
$as_echo "#define HAVE_ILBC 1" >>confdefs.h
@@ -22629,7 +22629,7 @@ fi
if test ! "x${CONFIG_MYSQLCLIENT}" = xNo; then
MYSQLCLIENT_INCLUDE=$(${CONFIG_MYSQLCLIENT} --cflags)
- MYSQLCLIENT_INCLUDE=$(echo ${MYSQLCLIENT_INCLUDE} | $SED -e "s|-I|-I${MYSQLCLIENT_DIR}|g")
+ MYSQLCLIENT_INCLUDE=$(echo ${MYSQLCLIENT_INCLUDE} | $SED -e "s|-I|-I${MYSQLCLIENT_DIR}|g" -e "s|-std=c99||g")
MYSQLCLIENT_LIB=$(${CONFIG_MYSQLCLIENT} --libs)
MYSQLCLIENT_LIB=$(echo ${MYSQLCLIENT_LIB} | $SED -e "s|-L|-L${MYSQLCLIENT_DIR}|g")
@@ -22846,7 +22846,7 @@ fi
if test ! "x${CONFIG_NEON}" = xNo; then
NEON_INCLUDE=$(${CONFIG_NEON} --cflags)
- NEON_INCLUDE=$(echo ${NEON_INCLUDE} | $SED -e "s|-I|-I${NEON_DIR}|g")
+ NEON_INCLUDE=$(echo ${NEON_INCLUDE} | $SED -e "s|-I|-I${NEON_DIR}|g" -e "s|-std=c99||g")
NEON_LIB=$(${CONFIG_NEON} --libs)
NEON_LIB=$(echo ${NEON_LIB} | $SED -e "s|-L|-L${NEON_DIR}|g")
@@ -22966,7 +22966,7 @@ fi
if test ! "x${CONFIG_NEON29}" = xNo; then
NEON29_INCLUDE=$(${CONFIG_NEON29} --cflags)
- NEON29_INCLUDE=$(echo ${NEON29_INCLUDE} | $SED -e "s|-I|-I${NEON29_DIR}|g")
+ NEON29_INCLUDE=$(echo ${NEON29_INCLUDE} | $SED -e "s|-I|-I${NEON29_DIR}|g" -e "s|-std=c99||g")
NEON29_LIB=$(${CONFIG_NEON29} --libs)
NEON29_LIB=$(echo ${NEON29_LIB} | $SED -e "s|-L|-L${NEON29_DIR}|g")
@@ -23110,7 +23110,7 @@ fi
if test ! "x${CONFIG_NETSNMP}" = xNo; then
NETSNMP_INCLUDE=$(${CONFIG_NETSNMP} --cflags)
- NETSNMP_INCLUDE=$(echo ${NETSNMP_INCLUDE} | $SED -e "s|-I|-I${NETSNMP_DIR}|g")
+ NETSNMP_INCLUDE=$(echo ${NETSNMP_INCLUDE} | $SED -e "s|-I|-I${NETSNMP_DIR}|g" -e "s|-std=c99||g")
NETSNMP_LIB=$(${CONFIG_NETSNMP} --agent-libs)
NETSNMP_LIB=$(echo ${NETSNMP_LIB} | $SED -e "s|-L|-L${NETSNMP_DIR}|g")
@@ -24596,7 +24596,7 @@ else
$as_echo "yes" >&6; }
PBX_PJPROJECT=1
- PJPROJECT_INCLUDE="$PJPROJECT_CFLAGS"
+ PJPROJECT_INCLUDE=$(echo ${PJPROJECT_CFLAGS} | $SED -e "s|-std=c99||g")
PJPROJECT_LIB="$PJPROJECT_LIBS"
$as_echo "#define HAVE_PJPROJECT 1" >>confdefs.h
@@ -25650,7 +25650,7 @@ else
$as_echo "yes" >&6; }
PBX_PYTHONDEV=1
- PYTHONDEV_INCLUDE="$PYTHONDEV_CFLAGS"
+ PYTHONDEV_INCLUDE=$(echo ${PYTHONDEV_CFLAGS} | $SED -e "s|-std=c99||g")
PYTHONDEV_LIB="$PYTHONDEV_LIBS"
$as_echo "#define HAVE_PYTHONDEV 1" >>confdefs.h
@@ -25836,7 +25836,7 @@ else
$as_echo "yes" >&6; }
PBX_PORTAUDIO=1
- PORTAUDIO_INCLUDE="$PORTAUDIO_CFLAGS"
+ PORTAUDIO_INCLUDE=$(echo ${PORTAUDIO_CFLAGS} | $SED -e "s|-std=c99||g")
PORTAUDIO_LIB="$PORTAUDIO_LIBS"
$as_echo "#define HAVE_PORTAUDIO 1" >>confdefs.h
@@ -32140,7 +32140,7 @@ else
$as_echo "yes" >&6; }
PBX_GMIME=1
- GMIME_INCLUDE="$GMIME_CFLAGS"
+ GMIME_INCLUDE=$(echo ${GMIME_CFLAGS} | $SED -e "s|-std=c99||g")
GMIME_LIB="$GMIME_LIBS"
$as_echo "#define HAVE_GMIME 1" >>confdefs.h
@@ -33049,7 +33049,7 @@ fi
if test ! "x${CONFIG_SDL}" = xNo; then
SDL_INCLUDE=$(${CONFIG_SDL} --cflags)
- SDL_INCLUDE=$(echo ${SDL_INCLUDE} | $SED -e "s|-I|-I${SDL_DIR}|g")
+ SDL_INCLUDE=$(echo ${SDL_INCLUDE} | $SED -e "s|-I|-I${SDL_DIR}|g" -e "s|-std=c99||g")
SDL_LIB=$(${CONFIG_SDL} --libs)
SDL_LIB=$(echo ${SDL_LIB} | $SED -e "s|-L|-L${SDL_DIR}|g")
@@ -33577,7 +33577,7 @@ else
$as_echo "yes" >&6; }
PBX_GTK2=1
- GTK2_INCLUDE="$GTK2_CFLAGS"
+ GTK2_INCLUDE=$(echo ${GTK2_CFLAGS} | $SED -e "s|-std=c99||g")
GTK2_LIB="$GTK2_LIBS"
$as_echo "#define HAVE_GTK2 1" >>confdefs.h
@@ -33688,7 +33688,7 @@ else
$as_echo "yes" >&6; }
PBX_SYSTEMD=1
- SYSTEMD_INCLUDE="$SYSTEMD_CFLAGS"
+ SYSTEMD_INCLUDE=$(echo ${SYSTEMD_CFLAGS} | $SED -e "s|-std=c99||g")
SYSTEMD_LIB="$SYSTEMD_LIBS"
$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index 26439986b..d3849ad34 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -1673,7 +1673,7 @@ struct ast_sip_sched_task;
*
*/
struct ast_sip_sched_task *ast_sip_schedule_task(struct ast_taskprocessor *serializer,
- int interval, ast_sip_task sip_task, char *name, void *task_data,
+ int interval, ast_sip_task sip_task, const char *name, void *task_data,
enum ast_sip_scheduler_task_flags flags);
/*!
diff --git a/menuselect/configure b/menuselect/configure
index 6e5331edd..a0aa10928 100755
--- a/menuselect/configure
+++ b/menuselect/configure
@@ -4392,7 +4392,7 @@ fi
if test ! "x${CONFIG_LIBXML2}" = xNo; then
LIBXML2_INCLUDE=$(${CONFIG_LIBXML2} --cflags)
- LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g")
+ LIBXML2_INCLUDE=$(echo ${LIBXML2_INCLUDE} | $SED -e "s|-I|-I${LIBXML2_DIR}|g" -e "s|-std=c99||g")
LIBXML2_LIB=$(${CONFIG_LIBXML2} --libs)
LIBXML2_LIB=$(echo ${LIBXML2_LIB} | $SED -e "s|-L|-L${LIBXML2_DIR}|g")
@@ -4633,7 +4633,7 @@ else
$as_echo "yes" >&6; }
PBX_GTK2=1
- GTK2_INCLUDE="$GTK2_CFLAGS"
+ GTK2_INCLUDE=$(echo ${GTK2_CFLAGS} | $SED -e "s|-std=c99||g")
GTK2_LIB="$GTK2_LIBS"
$as_echo "#define HAVE_GTK2 1" >>confdefs.h
diff --git a/res/res_pjsip/pjsip_scheduler.c b/res/res_pjsip/pjsip_scheduler.c
index e4459da66..5b86a791b 100644
--- a/res/res_pjsip/pjsip_scheduler.c
+++ b/res/res_pjsip/pjsip_scheduler.c
@@ -60,7 +60,7 @@ struct ast_sip_sched_task {
enum ast_sip_scheduler_task_flags flags;
/*! the serializer to be used (if any) */
struct ast_taskprocessor *serializer;
- /* A name to be associated with the task */
+ /*! A name to be associated with the task */
char name[0];
};
@@ -113,7 +113,7 @@ static int run_task(void *data)
delay = schtd->interval - (ast_tvdiff_ms(schtd->last_end, schtd->last_start) % schtd->interval);
}
- schtd->current_scheduler_id = ast_sched_add(scheduler_context, delay, push_to_serializer, (const void *)schtd);
+ schtd->current_scheduler_id = ast_sched_add(scheduler_context, delay, push_to_serializer, schtd);
if (schtd->current_scheduler_id < 0) {
schtd->interval = 0;
ao2_unlock(schtd);
@@ -164,28 +164,28 @@ int ast_sip_sched_task_cancel(struct ast_sip_sched_task *schtd)
int ast_sip_sched_task_cancel_by_name(const char *name)
{
- RAII_VAR(struct ast_sip_sched_task *, schtd, NULL, ao2_cleanup);
+ int res;
+ struct ast_sip_sched_task *schtd;
if (ast_strlen_zero(name)) {
return -1;
}
- schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY | OBJ_NOLOCK);
+ schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY);
if (!schtd) {
return -1;
}
- return ast_sip_sched_task_cancel(schtd);
+ res = ast_sip_sched_task_cancel(schtd);
+ ao2_ref(schtd, -1);
+ return res;
}
int ast_sip_sched_task_get_times(struct ast_sip_sched_task *schtd,
struct timeval *queued, struct timeval *last_start, struct timeval *last_end)
{
- if (!ao2_ref_and_lock(schtd)) {
- return -1;
- }
-
+ ao2_lock(schtd);
if (queued) {
memcpy(queued, &schtd->when_queued, sizeof(struct timeval));
}
@@ -195,8 +195,7 @@ int ast_sip_sched_task_get_times(struct ast_sip_sched_task *schtd,
if (last_end) {
memcpy(last_end, &schtd->last_end, sizeof(struct timeval));
}
-
- ao2_unlock_and_unref(schtd);
+ ao2_unlock(schtd);
return 0;
}
@@ -204,18 +203,21 @@ int ast_sip_sched_task_get_times(struct ast_sip_sched_task *schtd,
int ast_sip_sched_task_get_times_by_name(const char *name,
struct timeval *queued, struct timeval *last_start, struct timeval *last_end)
{
- RAII_VAR(struct ast_sip_sched_task *, schtd, NULL, ao2_cleanup);
+ int res;
+ struct ast_sip_sched_task *schtd;
if (ast_strlen_zero(name)) {
return -1;
}
- schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY | OBJ_NOLOCK);
+ schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY);
if (!schtd) {
return -1;
}
- return ast_sip_sched_task_get_times(schtd, queued, last_start, last_end);
+ res = ast_sip_sched_task_get_times(schtd, queued, last_start, last_end);
+ ao2_ref(schtd, -1);
+ return res;
}
int ast_sip_sched_task_get_name(struct ast_sip_sched_task *schtd, char *name, size_t maxlen)
@@ -224,13 +226,9 @@ int ast_sip_sched_task_get_name(struct ast_sip_sched_task *schtd, char *name, si
return -1;
}
- if (!ao2_ref_and_lock(schtd)) {
- return -1;
- }
-
+ ao2_lock(schtd);
ast_copy_string(name, schtd->name, maxlen);
-
- ao2_unlock_and_unref(schtd);
+ ao2_unlock(schtd);
return 0;
}
@@ -241,9 +239,7 @@ int ast_sip_sched_task_get_next_run(struct ast_sip_sched_task *schtd)
struct timeval since_when;
struct timeval now;
- if (!ao2_ref_and_lock(schtd)) {
- return -1;
- }
+ ao2_lock(schtd);
if (schtd->interval) {
delay = schtd->interval;
@@ -262,50 +258,52 @@ int ast_sip_sched_task_get_next_run(struct ast_sip_sched_task *schtd)
delay = -1;
}
- ao2_unlock_and_unref(schtd);
+ ao2_unlock(schtd);
return delay;
}
int ast_sip_sched_task_get_next_run_by_name(const char *name)
{
- RAII_VAR(struct ast_sip_sched_task *, schtd, NULL, ao2_cleanup);
+ int next_run;
+ struct ast_sip_sched_task *schtd;
if (ast_strlen_zero(name)) {
return -1;
}
- schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY | OBJ_NOLOCK);
+ schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY);
if (!schtd) {
return -1;
}
- return ast_sip_sched_task_get_next_run(schtd);
+ next_run = ast_sip_sched_task_get_next_run(schtd);
+ ao2_ref(schtd, -1);
+ return next_run;
}
int ast_sip_sched_is_task_running(struct ast_sip_sched_task *schtd)
{
- if (!schtd) {
- return 0;
- }
-
- return schtd->is_running;
+ return schtd ? schtd->is_running : 0;
}
int ast_sip_sched_is_task_running_by_name(const char *name)
{
- RAII_VAR(struct ast_sip_sched_task *, schtd, NULL, ao2_cleanup);
+ int is_running;
+ struct ast_sip_sched_task *schtd;
if (ast_strlen_zero(name)) {
return 0;
}
- schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY | OBJ_NOLOCK);
+ schtd = ao2_find(tasks, name, OBJ_SEARCH_KEY);
if (!schtd) {
return 0;
}
- return schtd->is_running;
+ is_running = schtd->is_running;
+ ao2_ref(schtd, -1);
+ return is_running;
}
static void schtd_destructor(void *data)
@@ -321,7 +319,8 @@ static void schtd_destructor(void *data)
}
struct ast_sip_sched_task *ast_sip_schedule_task(struct ast_taskprocessor *serializer,
- int interval, ast_sip_task sip_task, char *name, void *task_data, enum ast_sip_scheduler_task_flags flags)
+ int interval, ast_sip_task sip_task, const char *name, void *task_data,
+ enum ast_sip_scheduler_task_flags flags)
{
#define ID_LEN 13 /* task_deadbeef */
struct ast_sip_sched_task *schtd;
@@ -352,7 +351,7 @@ struct ast_sip_sched_task *ast_sip_schedule_task(struct ast_taskprocessor *seria
if (flags & AST_SIP_SCHED_TASK_DATA_AO2) {
ao2_ref(task_data, +1);
}
- res = ast_sched_add(scheduler_context, interval, push_to_serializer, (const void *)schtd);
+ res = ast_sched_add(scheduler_context, interval, push_to_serializer, schtd);
if (res < 0) {
ao2_ref(schtd, -1);
return NULL;
@@ -369,14 +368,14 @@ static char *cli_show_tasks(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
{
struct ao2_iterator i;
struct ast_sip_sched_task *schtd;
- const char *log_format = ast_logger_get_dateformat();
+ const char *log_format;
struct ast_tm tm;
char queued[32];
char last_start[32];
char next_start[32];
int datelen;
- struct timeval now = ast_tvnow();
- const char *separator = "======================================";
+ struct timeval now;
+ static const char separator[] = "======================================";
switch (cmd) {
case CLI_INIT:
@@ -392,6 +391,9 @@ static char *cli_show_tasks(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
return CLI_SHOWUSAGE;
}
+ now = ast_tvnow();
+ log_format = ast_logger_get_dateformat();
+
ast_localtime(&now, &tm, NULL);
datelen = ast_strftime(queued, sizeof(queued), log_format, &tm);
@@ -406,12 +408,16 @@ static char *cli_show_tasks(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
datelen, separator, separator, datelen + 8, separator);
- ao2_ref(tasks, +1);
ao2_rdlock(tasks);
- i = ao2_iterator_init(tasks, 0);
+ i = ao2_iterator_init(tasks, AO2_ITERATOR_DONTLOCK);
while ((schtd = ao2_iterator_next(&i))) {
- int next_run_sec = ast_sip_sched_task_get_next_run(schtd) / 1000;
- struct timeval next = ast_tvadd(now, (struct timeval) {next_run_sec, 0});
+ int next_run_sec;
+ struct timeval next;
+
+ ao2_lock(schtd);
+
+ next_run_sec = ast_sip_sched_task_get_next_run(schtd) / 1000;
+ next = ast_tvadd(now, (struct timeval) {next_run_sec, 0});
ast_localtime(&schtd->when_queued, &tm, NULL);
ast_strftime(queued, sizeof(queued), log_format, &tm);
@@ -434,11 +440,12 @@ static char *cli_show_tasks(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
datelen, queued, last_start,
next_start,
next_run_sec);
+ ao2_unlock(schtd);
+
ao2_cleanup(schtd);
}
ao2_iterator_destroy(&i);
ao2_unlock(tasks);
- ao2_ref(tasks, -1);
ast_cli(a->fd, "\n");
return CLI_SUCCESS;
@@ -461,8 +468,9 @@ int ast_sip_initialize_scheduler(void)
return -1;
}
- tasks = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_RWLOCK, AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT,
- TASK_BUCKETS, ast_sip_sched_task_hash_fn, ast_sip_sched_task_sort_fn, ast_sip_sched_task_cmp_fn);
+ tasks = ao2_container_alloc_hash(AO2_ALLOC_OPT_LOCK_RWLOCK,
+ AO2_CONTAINER_ALLOC_OPT_DUPS_REJECT, TASK_BUCKETS, ast_sip_sched_task_hash_fn,
+ ast_sip_sched_task_sort_fn, ast_sip_sched_task_cmp_fn);
if (!tasks) {
ast_log(LOG_ERROR, "Failed to allocate task container. Aborting load\n");
ast_sched_context_destroy(scheduler_context);
diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index d13b372be..49ab87568 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -4153,7 +4153,7 @@ static void session_outgoing_nat_hook(pjsip_tx_data *tdata, struct ast_sip_trans
if (ast_sip_transport_is_local(transport_state, &our_sdp_addr) || !transport_state->localnet) {
ast_debug(5, "Setting external media address to %s\n", ast_sockaddr_stringify_host(&transport_state->external_media_address));
pj_strdup2(tdata->pool, &sdp->conn->addr, ast_sockaddr_stringify_host(&transport_state->external_media_address));
- pj_strdup2(tdata->pool, &sdp->origin.addr, transport->external_media_address);
+ pj_strassign(&sdp->origin.addr, &sdp->conn->addr);
}
}