提交 d8b084a8 authored 作者: Anthony Minessale's avatar Anthony Minessale

reset timestamp counter when we get new sdp etc because sonus likes to say ptime…

reset timestamp counter when we get new sdp etc because sonus likes to say ptime 20 and send 30ms timestamps in the 183 then once they say 200 ok with the same sdp they decide to actually send 20 for real this time FSRTP-8

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15597 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 58dceddb
......@@ -813,7 +813,9 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f
}
if ((tech_pvt->read_frame.datalen % 10) == 0 &&
sofia_test_pflag(tech_pvt->profile, PFLAG_AUTOFIX_TIMING) && tech_pvt->check_frames++ < MAX_CODEC_CHECK_FRAMES) {
sofia_test_pflag(tech_pvt->profile, PFLAG_AUTOFIX_TIMING) && tech_pvt->check_frames < MAX_CODEC_CHECK_FRAMES) {
tech_pvt->check_frames++;
if (!tech_pvt->read_impl.encoded_bytes_per_packet) {
tech_pvt->check_frames = MAX_CODEC_CHECK_FRAMES;
goto skip;
......@@ -853,7 +855,8 @@ static switch_status_t sofia_read_frame(switch_core_session_t *session, switch_f
"This issue has so far been identified to happen on the following broken platforms/devices:\n"
"Linksys/Sipura aka Cisco\n"
"ShoreTel\n"
"Sonus/L3\n"
"Sonus/L3 (If you're really lucky, you may even get this message twice once they "
"answer and change it back again!! Go Sonus!)\n"
"We will try to fix it but some of the devices on this list are so broken who knows what will happen..\n"
,
(int)tech_pvt->codec_ms, (int)codec_ms);
......
......@@ -3259,6 +3259,10 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
sofia_update_callee_id(session, profile, sip, SWITCH_FALSE);
if (sofia_test_pflag(tech_pvt->profile, PFLAG_AUTOFIX_TIMING)) {
tech_pvt->check_frames = 0;
}
}
if (channel && sip && (status == 300 || status == 302 || status == 305) && switch_channel_test_flag(channel, CF_OUTBOUND)) {
......
......@@ -1094,6 +1094,9 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt)
/* Reactivate the NAT buster flag. */
switch_rtp_set_flag(tech_pvt->video_rtp_session, SWITCH_RTP_FLAG_AUTOADJ);
}
if (sofia_test_pflag(tech_pvt->profile, PFLAG_AUTOFIX_TIMING)) {
tech_pvt->check_frames = 0;
}
}
}
}
......@@ -1120,6 +1123,9 @@ switch_status_t sofia_glue_tech_proxy_remote_addr(private_object_t *tech_pvt)
/* Reactivate the NAT buster flag. */
switch_rtp_set_flag(tech_pvt->rtp_session, SWITCH_RTP_FLAG_AUTOADJ);
}
if (sofia_test_pflag(tech_pvt->profile, PFLAG_AUTOFIX_TIMING)) {
tech_pvt->check_frames = 0;
}
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论