diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 2d5c43eafa..7dc4eef1bf 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -2105,6 +2105,7 @@ static void parse_domain_tag(sofia_profile_t *profile, switch_xml_t x_domain_tag static void parse_rtp_bugs(sofia_profile_t *profile, const char *str) { + if (switch_stristr("clear", str)) { profile->auto_rtp_bugs = 0; } @@ -2125,11 +2126,11 @@ static void parse_rtp_bugs(sofia_profile_t *profile, const char *str) profile->auto_rtp_bugs &= ~RTP_BUG_SONUS_SEND_INVALID_TIMESTAMP_2833; } - if (switch_stristr("RTP_BUG_IGNORE_MARK_BIT", str)) { + if (switch_stristr("IGNORE_MARK_BIT", str)) { profile->auto_rtp_bugs |= RTP_BUG_IGNORE_MARK_BIT; } - if (switch_stristr("~RTP_BUG_IGNORE_MARK_BIT", str)) { + if (switch_stristr("~IGNORE_MARK_BIT", str)) { profile->auto_rtp_bugs &= ~RTP_BUG_IGNORE_MARK_BIT; } diff --git a/src/mod/endpoints/mod_sofia/sofia_glue.c b/src/mod/endpoints/mod_sofia/sofia_glue.c index 002687884b..751e7d0e48 100644 --- a/src/mod/endpoints/mod_sofia/sofia_glue.c +++ b/src/mod/endpoints/mod_sofia/sofia_glue.c @@ -2822,6 +2822,10 @@ switch_status_t sofia_glue_activate_rtp(private_object_t *tech_pvt, switch_rtp_f sofia_set_flag(tech_pvt, TFLAG_RTP); sofia_set_flag(tech_pvt, TFLAG_IO); + if (tech_pvt->profile->auto_rtp_bugs & RTP_BUG_IGNORE_MARK_BIT) { + tech_pvt->rtp_bugs |= RTP_BUG_IGNORE_MARK_BIT; + } + switch_rtp_intentional_bugs(tech_pvt->rtp_session, tech_pvt->rtp_bugs); if ((vad_in && inb) || (vad_out && !inb)) {