Merge "sdp: Add support for T.38"

This commit is contained in:
Joshua Colp
2017-04-27 05:38:14 -05:00
committed by Gerrit Code Review
10 changed files with 623 additions and 47 deletions
+5
View File
@@ -223,6 +223,11 @@ extern struct ast_format *ast_format_t140;
*/
extern struct ast_format *ast_format_t140_red;
/*!
* \brief Built-in cached T.38 format.
*/
extern struct ast_format *ast_format_t38;
/*!
* \brief Built-in "null" format.
*/
+82
View File
@@ -19,6 +19,8 @@
#ifndef _ASTERISK_SDP_OPTIONS_H
#define _ASTERISK_SDP_OPTIONS_H
#include "asterisk/udptl.h"
struct ast_sdp_options;
/*!
@@ -427,4 +429,84 @@ unsigned int ast_sdp_options_get_rtcp_mux(const struct ast_sdp_options *options)
*/
void ast_sdp_options_set_rtcp_mux(struct ast_sdp_options *options, unsigned int value);
/*!
* \since 15.0.0
* \brief Set SDP Options udptl_symmetric
*
* \param options SDP Options
* \param udptl_symmetric
*/
void ast_sdp_options_set_udptl_symmetric(struct ast_sdp_options *options,
unsigned int udptl_symmetric);
/*!
* \since 15.0.0
* \brief Get SDP Options udptl_symmetric
*
* \param options SDP Options
*
* \returns udptl_symmetric
*/
unsigned int ast_sdp_options_get_udptl_symmetric(const struct ast_sdp_options *options);
/*!
* \since 15.0.0
* \brief Set SDP Options udptl_error_correction
*
* \param options SDP Options
* \param error_correction
*/
void ast_sdp_options_set_udptl_error_correction(struct ast_sdp_options *options,
enum ast_t38_ec_modes error_correction);
/*!
* \since 15.0.0
* \brief Get SDP Options udptl_error_correction
*
* \param options SDP Options
*
* \returns udptl_error_correction
*/
enum ast_t38_ec_modes ast_sdp_options_get_udptl_error_correction(const struct ast_sdp_options *options);
/*!
* \since 15.0.0
* \brief Set SDP Options udptl_far_max_datagram
*
* \param options SDP Options
* \param far_max_datagram
*/
void ast_sdp_options_set_udptl_far_max_datagram(struct ast_sdp_options *options,
unsigned int far_max_datagram);
/*!
* \since 15.0.0
* \brief Get SDP Options udptl_far_max_datagram
*
* \param options SDP Options
*
* \returns udptl_far_max_datagram
*/
unsigned int ast_sdp_options_get_udptl_far_max_datagram(const struct ast_sdp_options *options);
/*!
* \since 15.0.0
* \brief Set SDP Options bind_udptl_to_media_address
*
* \param options SDP Options
* \param bind_udptl_to_media_address
*/
void ast_sdp_options_set_bind_udptl_to_media_address(struct ast_sdp_options *options,
unsigned int bind_udptl_to_media_address);
/*!
* \since 15.0.0
* \brief Get SDP Options bind_udptl_to_media_address
*
* \param options SDP Options
*
* \returns bind_udptl_to_media_address
*/
unsigned int ast_sdp_options_get_bind_udptl_to_media_address(const struct ast_sdp_options *options);
#endif /* _ASTERISK_SDP_OPTIONS_H */
+21
View File
@@ -24,6 +24,8 @@
struct ast_sdp_state;
struct ast_sockaddr;
struct ast_udptl;
struct ast_control_t38_parameters;
/*!
* \brief Allocate a new SDP state
@@ -51,6 +53,14 @@ void ast_sdp_state_free(struct ast_sdp_state *sdp_state);
struct ast_rtp_instance *ast_sdp_state_get_rtp_instance(const struct ast_sdp_state *sdp_state,
int stream_index);
/*!
* \brief Get the associated UDPTL instance for a particular stream on the SDP state.
*
* Stream numbers correspond to the streams in the topology of the associated channel
*/
struct ast_udptl *ast_sdp_state_get_udptl_instance(const struct ast_sdp_state *sdp_state,
int stream_index);
/*!
* \brief Get the global connection address on the SDP state.
*/
@@ -223,6 +233,17 @@ int ast_sdp_state_set_connection_address(struct ast_sdp_state *sdp_state, int st
void ast_sdp_state_set_locally_held(struct ast_sdp_state *sdp_state,
int stream_index, unsigned int locally_held);
/*!
* \since 15.0.0
* \brief Set the UDPTL session parameters
*
* \param sdp_state
* \param stream_index The stream to set the UDPTL session parameters for
* \param params
*/
void ast_sdp_state_set_t38_parameters(struct ast_sdp_state *sdp_state,
int stream_index, struct ast_control_t38_parameters *params);
/*!
* \since 15.0.0
* \brief Get whether a stream is held or not