diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c index 2d408d7a16..80daedd3cd 100644 --- a/src/mod/endpoints/mod_sofia/mod_sofia.c +++ b/src/mod/endpoints/mod_sofia/mod_sofia.c @@ -252,6 +252,7 @@ struct sofia_profile { struct private_object { sofia_private_t sofia_private; uint32_t flags; + uint32_t agreed_pt; switch_core_session_t *session; switch_frame_t read_frame; const switch_codec_implementation_t *codecs[SWITCH_MAX_CODECS]; @@ -1329,7 +1330,7 @@ static switch_status_t activate_rtp(private_object_t *tech_pvt) tech_pvt->local_sdp_audio_port, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, - tech_pvt->read_codec.implementation->ianacode, + tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->microseconds_per_frame / 1000); @@ -1352,7 +1353,7 @@ static switch_status_t activate_rtp(private_object_t *tech_pvt) tech_pvt->local_sdp_audio_port, tech_pvt->remote_sdp_audio_ip, tech_pvt->remote_sdp_audio_port, - tech_pvt->read_codec.implementation->ianacode, + tech_pvt->agreed_pt, tech_pvt->read_codec.implementation->encoded_bytes_per_frame, tech_pvt->codec_ms * 1000, (switch_rtp_flag_t) flags, @@ -2015,6 +2016,7 @@ static uint8_t negotiate_sdp(switch_core_session_t *session, sdp_session_t *sdp) tech_pvt->remote_sdp_audio_ip = switch_core_session_strdup(session, (char *)sdp->sdp_connection->c_address); tech_pvt->rm_fmtp = switch_core_session_strdup(session, (char *)map->rm_fmtp); tech_pvt->remote_sdp_audio_port = (switch_port_t)m->m_port; + tech_pvt->agreed_pt = map->rm_pt; break; } else { match = 0;