summaryrefslogtreecommitdiff
path: root/include/asterisk
diff options
context:
space:
mode:
authorKevin Harwell <kharwell@digium.com>2017-07-10 18:17:44 -0500
committerKevin Harwell <kharwell@digium.com>2017-07-13 18:19:35 -0500
commit7da6ddda30ab9291ec810fa88d4219145616bae8 (patch)
tree89ad7fa5ae53b18a0a6412e85903ff7d8cd9d58b /include/asterisk
parent0f45c979a3de00b320e05ba93309cf412e9e2702 (diff)
res_pjsip: Add "webrtc" configuration option
This patch creates a new configuration option called "webrtc". When enabled it defaults and enables the following options that are needed in order for webrtc to work in Asterisk: rtcp-mux, use_avpf, ice_support, and use_received_transport=enabled media_encryption=dtls dtls_verify=fingerprint dtls_setup=actpass When "webrtc" is enabled, this patch also parses the "msid" media level attribute from an SDP. It will also appropriately add it onto the outgoing session when applicable. Lastly, when "webrtc" is enabled h264 RTCP FIR feedback frames are now sent. ASTERISK-27119 #close Change-Id: I5ec02e07c5d5b9ad86a34fdf31bf2f9da9aac6fd
Diffstat (limited to 'include/asterisk')
-rw-r--r--include/asterisk/res_pjsip.h20
-rw-r--r--include/asterisk/res_pjsip_session.h2
2 files changed, 22 insertions, 0 deletions
diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h
index d499d5514..cf366cbab 100644
--- a/include/asterisk/res_pjsip.h
+++ b/include/asterisk/res_pjsip.h
@@ -690,6 +690,8 @@ struct ast_sip_endpoint_media_configuration {
unsigned int max_video_streams;
/*! Use BUNDLE */
unsigned int bundle;
+ /*! Enable webrtc settings and defaults */
+ unsigned int webrtc;
};
/*!
@@ -2061,6 +2063,24 @@ int ast_sip_append_body(pjsip_tx_data *tdata, const char *body_text);
void ast_copy_pj_str(char *dest, const pj_str_t *src, size_t size);
/*!
+ * \brief Create and copy a pj_str_t into a standard character buffer.
+ *
+ * pj_str_t is not NULL-terminated. Any place that expects a NULL-
+ * terminated string needs to have the pj_str_t copied into a separate
+ * buffer.
+ *
+ * Copies the pj_str_t contents into a newly allocated buffer pointed to
+ * by dest. NULL-terminates the buffer.
+ *
+ * \note Caller is responsible for freeing the allocated memory.
+ *
+ * \param dest [out] The destination buffer
+ * \param src The pj_str_t to copy
+ * \retval Number of characters copied or negative value on error
+ */
+int ast_copy_pj_str2(char **dest, const pj_str_t *src);
+
+/*!
* \brief Get the looked-up endpoint on an out-of dialog request or response
*
* The function may ONLY be called on out-of-dialog requests or responses. For
diff --git a/include/asterisk/res_pjsip_session.h b/include/asterisk/res_pjsip_session.h
index eae29de04..eae11af43 100644
--- a/include/asterisk/res_pjsip_session.h
+++ b/include/asterisk/res_pjsip_session.h
@@ -105,6 +105,8 @@ struct ast_sip_session_media {
int bundle_group;
/*! \brief Whether this stream is currently bundled or not */
unsigned int bundled;
+ /*! \brief RTP/Media streams association identifier */
+ char *msid;
};
/*!