mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-26 22:30:28 +00:00
Merge "res_pjsip_exten_state: Check if body generator is available."
This commit is contained in:
@@ -648,6 +648,19 @@ struct ast_sip_pubsub_body_supplement {
|
|||||||
int ast_sip_pubsub_generate_body_content(const char *content_type,
|
int ast_sip_pubsub_generate_body_content(const char *content_type,
|
||||||
const char *content_subtype, struct ast_sip_body_data *data, struct ast_str **str);
|
const char *content_subtype, struct ast_sip_body_data *data, struct ast_str **str);
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Is a body generator registered for the given type/subtype.
|
||||||
|
* \since 14.0.0
|
||||||
|
*
|
||||||
|
* \param type The content type of the body
|
||||||
|
* \param subtype The content subtype of the body
|
||||||
|
*
|
||||||
|
* \note In "plain/text", "plain" is the type and "text" is the subtype.
|
||||||
|
*
|
||||||
|
* \retval non-zero if a generator is registered.
|
||||||
|
*/
|
||||||
|
int ast_sip_pubsub_is_body_generator_registered(const char *type, const char *subtype);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \since 13.0.0
|
* \since 13.0.0
|
||||||
* \brief Register a body generator with the pubsub core.
|
* \brief Register a body generator with the pubsub core.
|
||||||
|
|||||||
@@ -680,6 +680,12 @@ static int publisher_start(struct ast_sip_outbound_publish *configuration, struc
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!ast_sip_pubsub_is_body_generator_registered(body_type, body_subtype)) {
|
||||||
|
ast_log(LOG_ERROR, "Outbound extension state publisher '%s': '%s' body generator not registered\n",
|
||||||
|
name, body_full);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
name_size = strlen(name) + 1;
|
name_size = strlen(name) + 1;
|
||||||
body_type_size = strlen(body_type) + 1;
|
body_type_size = strlen(body_type) + 1;
|
||||||
body_subtype_size = strlen(body_subtype) + 1;
|
body_subtype_size = strlen(body_subtype) + 1;
|
||||||
|
|||||||
@@ -3094,6 +3094,11 @@ const char *ast_sip_publication_get_event_configuration(const struct ast_sip_pub
|
|||||||
return pub->event_configuration_name;
|
return pub->event_configuration_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ast_sip_pubsub_is_body_generator_registered(const char *type, const char *subtype)
|
||||||
|
{
|
||||||
|
return !!find_body_generator_type_subtype(type, subtype);
|
||||||
|
}
|
||||||
|
|
||||||
int ast_sip_pubsub_register_body_generator(struct ast_sip_pubsub_body_generator *generator)
|
int ast_sip_pubsub_register_body_generator(struct ast_sip_pubsub_body_generator *generator)
|
||||||
{
|
{
|
||||||
struct ast_sip_pubsub_body_generator *existing;
|
struct ast_sip_pubsub_body_generator *existing;
|
||||||
|
|||||||
Reference in New Issue
Block a user