[Asterisk-Dev] RFC2833 Event Duration

Ryan Courtnage ryan-lists at voxbox.ca
Fri Nov 4 16:22:35 MST 2005


Hello all,

When holding down a digit on my (rfc2833) SIP phone, I see that (using
Ethereal) the phone will send:

  RFC2833 RTP Event
  EventID: DTMF Five 5 (5)
  --> Duration: 47040 <--

... to Asterisk, where 47040 matches the amount of time I held down the
"5" digit.

If I've called another SIP device via Asterisk, Asterisk will only send:

  RFC2833 RTP Event
  EventID: DTMF Five 5 (5)
  --> Event Duration: 800 <--

... to it.  In other words, Asterisk isn't passing along the duration of
the original event.

Is this by design?  Can * be made to pass on the initial event duration?

The duration can be manually adjusted in rtp.c's "ast_rtp_senddigit"
function:

  /* Make duration 800 (100ms) */
  rtpheader[3] |= htonl((800));

Is it safe to increase this value to say 4000?  Any potential
side-effects?


If you are curious, we see an issue with:

SIP Phone --> * --> SIP-PSTN switch

.. where we are unable to pass variable duration DTMF events to the
switch, because Asterisk does not send along the duration.  Our primary
issue is that the duration is simply too short.

TIA
Ryan










More information about the asterisk-dev mailing list