diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-04-02 19:51:21 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-04-02 19:51:21 +0000 |
commit | 7e0fee875ce0f5eaaba5e67e84539ebf6bf79a6f (patch) | |
tree | 822e34473a37cfcfbd08c24ce162db13f446287c /pjsip/src/pjsua-lib/pjsua_media.c | |
parent | cf789409426f2368ab84cf59f8b33168d402ec0c (diff) |
When STUN is used with ICE, SDP media line should show the public IP address
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1134 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_media.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 8b4c1aa6..e4f6ec14 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -505,19 +505,20 @@ pj_status_t pjsua_media_subsys_destroy(void) static pj_status_t create_udp_media_transports(pjsua_transport_config *cfg) { unsigned i; + pjmedia_sock_info skinfo; pj_status_t status; /* Create each media transport */ for (i=0; i<pjsua_var.ua_cfg.max_calls; ++i) { - status = create_rtp_rtcp_sock(cfg, &pjsua_var.calls[i].skinfo); + status = create_rtp_rtcp_sock(cfg, &skinfo); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create RTP/RTCP socket", status); goto on_error; } status = pjmedia_transport_udp_attach(pjsua_var.med_endpt, NULL, - &pjsua_var.calls[i].skinfo, 0, + &skinfo, 0, &pjsua_var.calls[i].med_tp); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "Unable to create media transport", @@ -605,10 +606,6 @@ static pj_status_t create_ice_media_transports(pjsua_transport_config *cfg) goto on_error; } - /* Get transport info */ - pjmedia_transport_get_info(pjsua_var.calls[i].med_tp, - &pjsua_var.calls[i].skinfo); - } return PJ_SUCCESS; @@ -694,11 +691,16 @@ pj_status_t pjsua_media_channel_create_sdp(pjsua_call_id call_id, pjmedia_sdp_session **p_sdp) { pjmedia_sdp_session *sdp; + pjmedia_sock_info skinfo; pjsua_call *call = &pjsua_var.calls[call_id]; pj_status_t status; + /* Get media socket info */ + pjmedia_transport_get_info(call->med_tp, &skinfo); + + /* Create SDP */ status = pjmedia_endpt_create_sdp(pjsua_var.med_endpt, pool, 1, - &call->skinfo, &sdp); + &skinfo, &sdp); if (status != PJ_SUCCESS) goto on_error; |