diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index d87feb9f4994848c061f3d55f907a7e2ee0721d9..605cc17a77b02fde69c23e2156e5eeb6395329f0 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -1639,6 +1639,25 @@ int ast_rtp_instance_get_timeout(struct ast_rtp_instance *instance); */ int ast_rtp_instance_get_hold_timeout(struct ast_rtp_instance *instance); +/*! + * \brief Get the RTP engine in use on an RTP instance + * + * \param instance The RTP instance + * + * \retval pointer to the engine + * + * Example usage: + * + * \code + * struct ast_rtp_engine *engine = ast_rtp_instance_get_engine(instance); + * \endcode + * + * This gets the RTP engine currently in use on the RTP instance pointed to by 'instance'. + * + * \since 1.6.3 + */ +struct ast_rtp_engine *ast_rtp_instance_get_engine(struct ast_rtp_instance *instance); + #if defined(__cplusplus) || defined(c_plusplus) } #endif diff --git a/main/rtp_engine.c b/main/rtp_engine.c index 573502811c58b81a7e817ddb19f5889d35ab427a..5d4bdac106347233fac68d68c1abe40e6acc7324 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -1615,3 +1615,8 @@ int ast_rtp_instance_get_hold_timeout(struct ast_rtp_instance *instance) { return instance->holdtimeout; } + +struct ast_rtp_engine *ast_rtp_instance_get_engine(struct ast_rtp_instance *instance) +{ + return instance->engine; +}