[asterisk-bugs] [JIRA] (ASTERISK-26500) DTMF RFC2833 with timestamp 0 are ignored

Thomas Sevestre (JIRA) noreply at issues.asterisk.org
Tue Oct 25 12:24:01 CDT 2016


     [ https://issues.asterisk.org/jira/browse/ASTERISK-26500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Sevestre updated ASTERISK-26500:
---------------------------------------

    Description: 
In function process_dtmf_rfc2833, the "Dropping out of order DTMF frame" test drops all DTMF with timestamp 0. Some equipments always send the first DTMF with timestamp 0. This leads to drop the first DTMF of each call.

I've fixed the problem by changing this :

{code:title=From res_rtp_asterisk.c}
if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
	|| timestamp <= rtp->last_end_timestamp) {
{code}

into this:

{code}
if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
	|| (timestamp != 0 && timestamp <= rtp->last_end_timestamp)) {
{code}


  was:
In function process_dtmf_rfc2833, the "Dropping out of order DTMF frame" test drops all DTMF with timestamp 0. Some equipments always send the first DTMF with timestamp 0. This leads to drop the first DTMF of each call.

I've fixed the problem by changing this :

{code:title=From res_rtp_asterisk.c}
	if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
		|| timestamp <= rtp->last_end_timestamp) {
{code}

into this:

{code}
	if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
		|| (timestamp != 0 && timestamp <= rtp->last_end_timestamp)) {
{code}



> DTMF RFC2833 with timestamp 0 are ignored
> -----------------------------------------
>
>                 Key: ASTERISK-26500
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26500
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_rtp_asterisk
>    Affects Versions: 1.8.32.3, 14.0.2
>            Reporter: Thomas Sevestre
>
> In function process_dtmf_rfc2833, the "Dropping out of order DTMF frame" test drops all DTMF with timestamp 0. Some equipments always send the first DTMF with timestamp 0. This leads to drop the first DTMF of each call.
> I've fixed the problem by changing this :
> {code:title=From res_rtp_asterisk.c}
> if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
> 	|| timestamp <= rtp->last_end_timestamp) {
> {code}
> into this:
> {code}
> if ((rtp->last_seqno > seqno && rtp->last_seqno - seqno < 50)
> 	|| (timestamp != 0 && timestamp <= rtp->last_end_timestamp)) {
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list