[asterisk-bugs] [JIRA] (ASTERISK-27845) Codec-Change Re-INVITE during DTMF can cause marker bit error
Benjamin Keith Ford (JIRA)
noreply at issues.asterisk.org
Wed May 9 10:56:56 CDT 2018
[ https://issues.asterisk.org/jira/browse/ASTERISK-27845?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benjamin Keith Ford updated ASTERISK-27845:
-------------------------------------------
Assignee: Torrey Searle
> Codec-Change Re-INVITE during DTMF can cause marker bit error
> -------------------------------------------------------------
>
> Key: ASTERISK-27845
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-27845
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Resources/res_rtp_asterisk
> Affects Versions: 13.20.0
> Reporter: Torrey Searle
> Assignee: Torrey Searle
> Labels: patch
> Attachments: codec_B.log, dtmf_reinvite_race.tgz, full.txt, patch
>
>
> There is a race condition between Codec changing re-invites and DTMF.
> If a call is transcoding (in simple_bridge) and during relaying a DTMF digit a RE-INVITE that caused a migration to native bridge arrives the marker bit could be set on the wrong packet.
> What happens is that re-invite arrives and the local bridge is activated. At this time FLAG_NEED_MARKER_BIT gets set on the B leg by ast_rtp_local_bridge
> the A leg afterwards stops sending the DTMF and resumes sending audio. This packet arrives into bridge_p2p_rtp_write however as the B leg is still in the middle of the DTMF (it still has to send the 3 end frames) the function returns -1 and the packet is forwarded via the simple bridge with the old ssrc. However despite this packet still being associated with the old source, the FLAG_NEED_MARKER_BIT will get cleared in rtp_raw_write.
> When the next packet of audio get sent by the A leg, it will be forwarded by the local bridge as the DTMF is over. This will be the first RTP packet B receives with the SSRC of A but the marker bit won't be set because the flag has already been consumed by the previous packet
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list