summaryrefslogtreecommitdiff
path: root/res
diff options
context:
space:
mode:
authorJenkins2 <jenkins2@gerrit.asterisk.org>2017-05-01 14:16:55 -0500
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-05-01 14:16:55 -0500
commit94b97e0835423505bb19294feb59fb2ed05deae7 (patch)
treeeaff9604130467b553137a04d63ff66938bc4966 /res
parent09cde039a3e3871d66d6b1e78051fb143674d814 (diff)
parentd6535c0080632bce5ed555904d5198c04e040ffb (diff)
Merge "SDP API: Add SSRC-level attributes"
Diffstat (limited to 'res')
-rw-r--r--res/res_rtp_asterisk.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c
index d0d795939..85e2425cb 100644
--- a/res/res_rtp_asterisk.c
+++ b/res/res_rtp_asterisk.c
@@ -474,6 +474,8 @@ static void ast_rtp_stun_request(struct ast_rtp_instance *instance, struct ast_s
static void ast_rtp_stop(struct ast_rtp_instance *instance);
static int ast_rtp_qos_set(struct ast_rtp_instance *instance, int tos, int cos, const char* desc);
static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level);
+static unsigned int ast_rtp_get_ssrc(struct ast_rtp_instance *instance);
+static const char *ast_rtp_get_cname(struct ast_rtp_instance *instance);
#ifdef HAVE_OPENSSL_SRTP
static int ast_rtp_activate(struct ast_rtp_instance *instance);
@@ -1903,6 +1905,8 @@ static struct ast_rtp_engine asterisk_rtp_engine = {
.dtls = &ast_rtp_dtls,
.activate = ast_rtp_activate,
#endif
+ .ssrc_get = ast_rtp_get_ssrc,
+ .cname_get = ast_rtp_get_cname,
};
#ifdef HAVE_OPENSSL_SRTP
@@ -5815,6 +5819,27 @@ static int ast_rtp_sendcng(struct ast_rtp_instance *instance, int level)
return res;
}
+/*! \pre instance is locked */
+static unsigned int ast_rtp_get_ssrc(struct ast_rtp_instance *instance)
+{
+ struct ast_rtp *rtp = ast_rtp_instance_get_data(instance);
+
+ return rtp->ssrc;
+}
+
+/*! \pre instance is locked */
+static const char *ast_rtp_get_cname(struct ast_rtp_instance *instance)
+{
+ /* XXX
+ *
+ * Asterisk currently puts a zero-length CNAME value in RTCP SDES items,
+ * meaning our CNAME will always be an empty string. In future, should
+ * Asterisk actually start using meaningful CNAMEs, this function will
+ * need to return that instead of an empty string
+ */
+ return "";
+}
+
#ifdef HAVE_OPENSSL_SRTP
static void dtls_perform_setup(struct dtls_details *dtls)
{