Fixed call_med->rtp_addr is not initialized causing UPDATE to be sent after every ICE negotiation (misc re #1392)
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@3858 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 5786698..707b0cf 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -826,7 +826,8 @@
PJ_LOG(4,(THIS_FILE,
"ICE default transport address has changed for "
- "call %d, sending %s", call_med->call->index,
+ "call %d, sending %s",
+ call_med->call->index,
(use_update ? "UPDATE" : "re-INVITE")));
if (use_update)
@@ -1292,6 +1293,7 @@
int *sip_err_code)
{
pjsua_acc *acc = &pjsua_var.acc[call_med->call->acc_id];
+ pjmedia_transport_info tpinfo;
int err_code = 0;
if (status != PJ_SUCCESS)
@@ -1352,6 +1354,13 @@
PJ_UNUSED_ARG(security_level);
#endif
+
+ pjmedia_transport_info_init(&tpinfo);
+ pjmedia_transport_get_info(call_med->tp, &tpinfo);
+
+ pj_sockaddr_cp(&call_med->rtp_addr, &tpinfo.sock_info.rtp_addr_name);
+
+
on_error:
if (status != PJ_SUCCESS && call_med->tp) {
pjmedia_transport_close(call_med->tp);