summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2011-10-24 13:31:35 +0000
committerBenny Prijono <bennylp@teluu.com>2011-10-24 13:31:35 +0000
commit36bbb005ca2f2039cfbd855d95d31746c445ea2a (patch)
tree29fd43e09e2a1170f013bcd4dc388b6faf622e78
parent2068f13bc42cf3a47374aa2765f82724a5782028 (diff)
Re #1300: fixed bug when looking for non-telephone-events codec in the incoming INVITE causing it to rejects with 488
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3842 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/stream.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/pjmedia/src/pjmedia/stream.c b/pjmedia/src/pjmedia/stream.c
index 4022c36a..45a3830e 100644
--- a/pjmedia/src/pjmedia/stream.c
+++ b/pjmedia/src/pjmedia/stream.c
@@ -2822,12 +2822,23 @@ static pj_status_t get_audio_codec_info_param(pjmedia_stream_info *si,
/* Find the first codec which is not telephone-event */
for ( fmti = 0; fmti < local_m->desc.fmt_count; ++fmti ) {
+ pjmedia_sdp_rtpmap r;
+
if ( !pj_isdigit(*local_m->desc.fmt[fmti].ptr) )
return PJMEDIA_EINVALIDPT;
pt = pj_strtoul(&local_m->desc.fmt[fmti]);
- if ( PJMEDIA_RTP_PT_TELEPHONE_EVENTS == 0 ||
- pt != PJMEDIA_RTP_PT_TELEPHONE_EVENTS )
- break;
+
+ attr = pjmedia_sdp_media_find_attr(local_m, &ID_RTPMAP,
+ &local_m->desc.fmt[fmti]);
+ if (attr == NULL)
+ continue;
+
+ status = pjmedia_sdp_attr_get_rtpmap(attr, &r);
+ if (status != PJ_SUCCESS)
+ continue;
+
+ if (pj_strcmp(&r.enc_name, &ID_TELEPHONE_EVENT) != 0)
+ break;
}
if ( fmti >= local_m->desc.fmt_count )
return PJMEDIA_EINVALIDPT;