[Asterisk-Dev] unreliable handling of rfc2833 events [Was: Re:
Asterisk Dev wanted for quick job]
alex at pilosoft.com
alex at pilosoft.com
Fri Jan 30 17:53:09 MST 2004
According to rfc2833, what cisco does is technically compliant, since you
are supposed to 'mix' in the rtp-received tones according to their
ts/sequence numbers, thus it is 'valid' to send one tone as a multiple
Thus unfortunately, decoding should be smart enough to keep track of
'current tone in progress', do not trust 'END' as a send-digit trigger,
and rely on *absence* of tones for 3*rtt (rfc-specified) as a trigger for
sending the tone through. Either that or have a 'stack' of 'tones in
On Fri, 30 Jan 2004, James H. Cloos Jr. wrote:
> I spent some time last night on this, but wasn't fully successful..
> Each keypress on my ata186 generates three 2833 packets with
> marker=1, duration=0 and incrementing sequence numbers, followed by
> one packet for each 160 of duration with marker=0 and duration
> 160, 320, ... and then three packets with end=1, marker=0, duration
> constant and incrementing sequence numbers.
> The packet traces on Phil's box showed a similar pattern except that
> the marker packets were not duplicated and the three end packets all
> had the same sequence number. The packets also arrived out of order.
> My idea was to ignore all 2833 event packets that duplicate ones
> already seen. Ie, if the tiemstamp, duration and type are the
> same as the last 2833 seen then ignore it.
> The result did eliminate duplicates, but at the cost of loosing the
> occasional digit. The loss was somewhat predictable: all entries of
> 5 digit vm box and passwd lost at least one digit during our tests.
> I stored the extra state in two extra fields in the ast_rtp struct
> as passed to ast_rtp_read().
> It looks like an idempotency issue, but at this point I'm not sure
> what the proper solution is.
> Any thoughts?
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> To UNSUBSCRIBE or update options visit:
More information about the asterisk-dev