diff options
author | Joshua Colp <jcolp@digium.com> | 2016-04-29 14:33:01 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-04-29 14:33:01 -0500 |
commit | bc19d9a2b0361f1aa5b3f8426bacfaf1300a1193 (patch) | |
tree | a4acdbd0fe393ea01cd1747be31b86a9f12d1e9a /res | |
parent | d57847a7c792e0d12919e542076ef4818252fc39 (diff) | |
parent | 0b5292525cce32e9944b02b17748c4c7ec89ede3 (diff) |
Merge "res_pjsip_exten_state: Check if body generator is available."
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_exten_state.c | 6 | ||||
-rw-r--r-- | res/res_pjsip_pubsub.c | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c index 555402469..6b4e758d3 100644 --- a/res/res_pjsip_exten_state.c +++ b/res/res_pjsip_exten_state.c @@ -680,6 +680,12 @@ static int publisher_start(struct ast_sip_outbound_publish *configuration, struc 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; body_type_size = strlen(body_type) + 1; body_subtype_size = strlen(body_subtype) + 1; diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c index dc49a5fd3..755a154a5 100644 --- a/res/res_pjsip_pubsub.c +++ b/res/res_pjsip_pubsub.c @@ -3094,6 +3094,11 @@ const char *ast_sip_publication_get_event_configuration(const struct ast_sip_pub 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) { struct ast_sip_pubsub_body_generator *existing; |