summaryrefslogtreecommitdiff
path: root/pjmedia/src/pjmedia/stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjmedia/src/pjmedia/stream.c')
-rw-r--r--pjmedia/src/pjmedia/stream.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c
index 7ecb6388..9abbbde5 100644
--- a/pjmedia/src/pjmedia/stream.c
+++ b/pjmedia/src/pjmedia/stream.c
@@ -230,10 +230,11 @@ struct pjmedia_stream
/* RFC 2833 digit */
-static const char digitmap[16] = { '0', '1', '2', '3',
+static const char digitmap[17] = { '0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', '*', '#',
- 'A', 'B', 'C', 'D'};
+ 'A', 'B', 'C', 'D',
+ 'R'};
/* Zero audio frame samples */
static pj_int16_t zero_frame[2 * 30 * 16000 / 1000];
@@ -1568,7 +1569,7 @@ static void handle_incoming_dtmf( pjmedia_stream *stream,
}
/* Ignore unknown event. */
- if (event->event > 15) {
+ if (event->event > 16) {
PJ_LOG(5,(stream->port.info.name.ptr,
"Ignored RTP pkt with bad DTMF event %d",
event->event));
@@ -2754,6 +2755,10 @@ PJ_DEF(pj_status_t) pjmedia_stream_dial_dtmf( pjmedia_stream *stream,
{
pt = 11;
}
+ else if (dig == 'r')
+ {
+ pt = 16;
+ }
else
{
status = PJMEDIA_RTP_EINDTMF;