diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asterisk/multicast_rtp.h | 58 | ||||
-rw-r--r-- | include/asterisk/res_pjsip.h | 8 | ||||
-rw-r--r-- | include/asterisk/stasis_app.h | 29 |
3 files changed, 88 insertions, 7 deletions
diff --git a/include/asterisk/multicast_rtp.h b/include/asterisk/multicast_rtp.h new file mode 100644 index 000000000..c286c1f96 --- /dev/null +++ b/include/asterisk/multicast_rtp.h @@ -0,0 +1,58 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2016, Digium, Inc. + * + * Mark Michelson <mmichelson@digium.com> + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +#ifndef MULTICAST_RTP_H_ +#define MULTICAST_RTP_H_ +struct ast_multicast_rtp_options; + +/*! + * \brief Create multicast RTP options. + * + * These are passed to the multicast RTP engine on its creation. + * + * \param type The type of multicast RTP, either "basic" or "linksys" + * \param options Miscellaneous options + * \retval NULL Failure + * \retval non-NULL success + */ +struct ast_multicast_rtp_options *ast_multicast_rtp_create_options(const char *type, + const char *options); + +/*! + * \brief Free multicast RTP options + * + * This function is NULL-tolerant + * + * \param mcast_options Options to free + */ +void ast_multicast_rtp_free_options(struct ast_multicast_rtp_options *mcast_options); + +/*! + * \brief Get format specified in multicast options + * + * Multicast options allow for a format to be selected. + * This function accesses the selected format and creates + * an ast_format structure for it. + * + * \param mcast_options The options where a codec was specified + * \retval NULL No format specified in the options + * \revval non-NULL The format to use for communication + */ +struct ast_format *ast_multicast_rtp_options_get_format(struct ast_multicast_rtp_options *mcast_options); + +#endif /* MULTICAST_RTP_H_ */ diff --git a/include/asterisk/res_pjsip.h b/include/asterisk/res_pjsip.h index cf8c719d5..50d02d980 100644 --- a/include/asterisk/res_pjsip.h +++ b/include/asterisk/res_pjsip.h @@ -250,6 +250,12 @@ struct ast_sip_contact { struct ast_sip_endpoint *endpoint; /*! Asterisk Server name */ AST_STRING_FIELD_EXTENDED(reg_server); + /*! IP-address of the Via header in REGISTER request */ + AST_STRING_FIELD_EXTENDED(via_addr); + /* Port of the Via header in REGISTER request */ + int via_port; + /*! Content of the Call-ID header in REGISTER request */ + AST_STRING_FIELD_EXTENDED(call_id); }; #define CONTACT_STATUS "contact_status" @@ -1093,6 +1099,7 @@ struct ast_sip_contact *ast_sip_location_retrieve_contact(const char *contact_na */ int ast_sip_location_add_contact(struct ast_sip_aor *aor, const char *uri, struct timeval expiration_time, const char *path_info, const char *user_agent, + const char *via_addr, int via_port, const char *call_id, struct ast_sip_endpoint *endpoint); /*! @@ -1114,6 +1121,7 @@ int ast_sip_location_add_contact(struct ast_sip_aor *aor, const char *uri, */ int ast_sip_location_add_contact_nolock(struct ast_sip_aor *aor, const char *uri, struct timeval expiration_time, const char *path_info, const char *user_agent, + const char *via_addr, int via_port, const char *call_id, struct ast_sip_endpoint *endpoint); /*! diff --git a/include/asterisk/stasis_app.h b/include/asterisk/stasis_app.h index 0863f9f98..a73461547 100644 --- a/include/asterisk/stasis_app.h +++ b/include/asterisk/stasis_app.h @@ -673,6 +673,18 @@ int stasis_app_control_queue_control(struct stasis_app_control *control, struct ast_bridge *stasis_app_bridge_create(const char *type, const char *name, const char *id); /*! + * \brief Create an invisible bridge of the specified type. + * + * \param type The type of bridge to be created + * \param name Optional name to give to the bridge + * \param id Optional Unique ID to give to the bridge + * + * \return New bridge. + * \return \c NULL on error. + */ +struct ast_bridge *stasis_app_bridge_create_invisible(const char *type, const char *name, const char *id); + +/*! * \brief Returns the bridge with the given id. * \param bridge_id Uniqueid of the bridge. * @@ -855,20 +867,23 @@ int stasis_app_channel_unreal_set_internal(struct ast_channel *chan); */ int stasis_app_channel_set_internal(struct ast_channel *chan); -struct ast_dial; - /*! * \brief Dial a channel * \param control Control for \c res_stasis. - * \param dial The ast_dial for the outbound channel + * \param dialstring The dialstring to pass to the channel driver + * \param timeout Optional timeout in milliseconds */ -int stasis_app_control_dial(struct stasis_app_control *control, struct ast_dial *dial); +int stasis_app_control_dial(struct stasis_app_control *control, + const char *dialstring, unsigned int timeout); /*! - * \brief Get dial structure on a control + * \brief Let Stasis app internals shut down + * + * This is called when res_stasis is unloaded. It ensures that + * the Stasis app internals can free any resources they may have + * allocated during the time that res_stasis was loaded. */ -struct ast_dial *stasis_app_get_dial(struct stasis_app_control *control); - +void stasis_app_control_shutdown(void); /*! @} */ #endif /* _ASTERISK_STASIS_APP_H */ |