summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-10-25 13:39:06 +0000
committerBenny Prijono <bennylp@teluu.com>2011-10-25 13:39:06 +0000
commit2c90a4ec91faab7ec40bea9067818e6919bad3d7 (patch)
tree55a66cd6bfb50df7f5154ff700b3e47dc4b89e6e
parent7545a85782c817a51e5b9125f69c0d7f3ac32063 (diff)
Fixed call_med->rtp_addr is not initialized causing UPDATE to be sent after every ICE negotiation (misc re #1392)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3858 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 57866983..707b0cf7 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -826,7 +826,8 @@ static void on_ice_complete(pjmedia_transport *tp,
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 @@ static pj_status_t call_media_init_cb(pjsua_call_media *call_med,
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 @@ static pj_status_t call_media_init_cb(pjsua_call_media *call_med,
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);