diff options
author | Matthew Jordan <mjordan@digium.com> | 2014-10-17 13:35:21 +0000 |
---|---|---|
committer | Matthew Jordan <mjordan@digium.com> | 2014-10-17 13:35:21 +0000 |
commit | dd7031bfb7848a2a1dd1e6b12883652f134c3c6c (patch) | |
tree | eb89b2011a8f0a1ad8453a83203a1068e6109ee9 /res/res_pjsip.c | |
parent | 97b5c22f07148b6f39457e43b744dbcc4ed156d9 (diff) |
res_pjsip_session/res_pjsip_sdp_rtp: Be more tolerant of offers
When an inbound SDP offer is received, Asterisk currently makes a few
incorrection assumptions:
(1) If the offer contains more than a single audio/video stream, Asterisk will
reject the entire stream with a 488. This is an overly strict response;
generally, Asterisk should accept the media streams that it can accept and
decline the others.
(2) If the offer contains a declined media stream, Asterisk will attempt to
process it anyway. This can result in attempting to match format
capabilities on a declined media stream, leading to a 488. Asterisk should
simply ignore declined media streams.
(3) Asterisk will currently attempt to handle offers with AVPF with
use_avpf=No/AVP with use_avpf=Yes. This mismatch results in invalid SDP
answers being sent in response. If there is a mismatch between the media
type being offered and the configuration, Asterisk must reject the offer
with a 488.
This patch does the following:
* Asterisk will accept SDP offers with at least one media stream that it can
use. Some WARNING messages have been dropped to NOTICEs as a result.
* Asterisk will not accept an offer with a media type that doesn't match its
configuration.
* Asterisk will ignore declined media streams properly.
#SIPit31
Review: https://reviewboard.asterisk.org/r/4063/
ASTERISK-24122 #close
Reported by: James Van Vleet
ASTERISK-24381 #close
Reported by: Matt Jordan
........
Merged revisions 425868 from http://svn.asterisk.org/svn/asterisk/branches/12
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@425879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pjsip.c')
-rw-r--r-- | res/res_pjsip.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 69feabafb..e63d02f6a 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -385,9 +385,8 @@ decline media offers not using the AVPF or SAVPF profile. </para><para> If set to <literal>no</literal>, res_pjsip will use the AVP or SAVP RTP - profile for all media offers on outbound calls and media updates, but will - accept either the AVP/AVPF or SAVP/SAVPF RTP profile for all inbound - media offers. + profile for all media offers on outbound calls and media updates, and will + decline media offers not using the AVP or SAVP profile. </para></description> </configOption> <configOption name="force_avp" default="no"> |