summaryrefslogtreecommitdiff
path: root/main/sdp_srtp.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2014-06-30 19:51:28 +0000
committerJoshua Colp <jcolp@digium.com>2014-06-30 19:51:28 +0000
commit6e60f5d317d2bccaa556c98fbcc01d2db5796c1e (patch)
tree9d2e1bd2d26e584aa31e3b6b019ffe145784a2b2 /main/sdp_srtp.c
parent688bb204dc872aaec9f2b829fe85039c08091b55 (diff)
Recorded merge of revisions 417677 from http://svn.asterisk.org/svn/asterisk/branches/11
........ res_rtp_asterisk: Add SHA-256 support for DTLS and perform DTLS negotiation on RTCP. This change fixes up DTLS support in res_rtp_asterisk so it can accept and provide a SHA-256 fingerprint, so it occurs on RTCP, and so it occurs after ICE negotiation completes. Configuration options to chan_sip and chan_pjsip have also been added to allow behavior to be tweaked (such as forcing the AVP type media transports in SDP). ASTERISK-22961 #close Reported by: Jay Jideliov Review: https://reviewboard.asterisk.org/r/3679/ Review: https://reviewboard.asterisk.org/r/3686/ ........ Merged revisions 417678 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@417679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/sdp_srtp.c')
-rw-r--r--main/sdp_srtp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/main/sdp_srtp.c b/main/sdp_srtp.c
index 85dc108a6..cf19b0afd 100644
--- a/main/sdp_srtp.c
+++ b/main/sdp_srtp.c
@@ -365,12 +365,17 @@ const char *ast_sdp_srtp_get_attrib(struct ast_sdp_srtp *srtp, int dtls_enabled,
return NULL;
}
-char *ast_sdp_get_rtp_profile(unsigned int sdes_active, struct ast_rtp_instance *instance, unsigned int using_avpf)
+char *ast_sdp_get_rtp_profile(unsigned int sdes_active, struct ast_rtp_instance *instance, unsigned int using_avpf,
+ unsigned int force_avp)
{
struct ast_rtp_engine_dtls *dtls;
if ((dtls = ast_rtp_instance_get_dtls(instance)) && dtls->active(instance)) {
- return using_avpf ? "UDP/TLS/RTP/SAVPF" : "UDP/TLS/RTP/SAVP";
+ if (force_avp) {
+ return using_avpf ? "RTP/SAVPF" : "RTP/SAVP";
+ } else {
+ return using_avpf ? "UDP/TLS/RTP/SAVPF" : "UDP/TLS/RTP/SAVP";
+ }
} else {
if (using_avpf) {
return sdes_active ? "RTP/SAVPF" : "RTP/AVPF";