diff options
Diffstat (limited to 'res/ari/resource_endpoints.h')
-rw-r--r-- | res/ari/resource_endpoints.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/res/ari/resource_endpoints.h b/res/ari/resource_endpoints.h index 3af81a66f..4391b36e6 100644 --- a/res/ari/resource_endpoints.h +++ b/res/ari/resource_endpoints.h @@ -50,6 +50,35 @@ struct ast_ari_endpoints_list_args { * \param[out] response HTTP response */ void ast_ari_endpoints_list(struct ast_variable *headers, struct ast_ari_endpoints_list_args *args, struct ast_ari_response *response); +/*! Argument struct for ast_ari_endpoints_send_message() */ +struct ast_ari_endpoints_send_message_args { + /*! The endpoint resource or technology specific URI to send the message to. Valid resources are sip, pjsip, and xmpp. */ + const char *to; + /*! The endpoint resource or technology specific identity to send this message from. Valid resources are sip, pjsip, and xmpp. */ + const char *from; + /*! The body of the message */ + const char *body; + struct ast_json *variables; +}; +/*! + * \brief Body parsing function for /endpoints/sendMessage. + * \param body The JSON body from which to parse parameters. + * \param[out] args The args structure to parse into. + * \retval zero on success + * \retval non-zero on failure + */ +int ast_ari_endpoints_send_message_parse_body( + struct ast_json *body, + struct ast_ari_endpoints_send_message_args *args); + +/*! + * \brief Send a message to some technology URI or endpoint. + * + * \param headers HTTP headers + * \param args Swagger parameters + * \param[out] response HTTP response + */ +void ast_ari_endpoints_send_message(struct ast_variable *headers, struct ast_ari_endpoints_send_message_args *args, struct ast_ari_response *response); /*! Argument struct for ast_ari_endpoints_list_by_tech() */ struct ast_ari_endpoints_list_by_tech_args { /*! Technology of the endpoints (sip,iax2,...) */ @@ -78,5 +107,36 @@ struct ast_ari_endpoints_get_args { * \param[out] response HTTP response */ void ast_ari_endpoints_get(struct ast_variable *headers, struct ast_ari_endpoints_get_args *args, struct ast_ari_response *response); +/*! Argument struct for ast_ari_endpoints_send_message_to_endpoint() */ +struct ast_ari_endpoints_send_message_to_endpoint_args { + /*! Technology of the endpoint */ + const char *tech; + /*! ID of the endpoint */ + const char *resource; + /*! The endpoint resource or technology specific identity to send this message from. Valid resources are sip, pjsip, and xmpp. */ + const char *from; + /*! The body of the message */ + const char *body; + struct ast_json *variables; +}; +/*! + * \brief Body parsing function for /endpoints/{tech}/{resource}/sendMessage. + * \param body The JSON body from which to parse parameters. + * \param[out] args The args structure to parse into. + * \retval zero on success + * \retval non-zero on failure + */ +int ast_ari_endpoints_send_message_to_endpoint_parse_body( + struct ast_json *body, + struct ast_ari_endpoints_send_message_to_endpoint_args *args); + +/*! + * \brief Send a message to some endpoint in a technology. + * + * \param headers HTTP headers + * \param args Swagger parameters + * \param[out] response HTTP response + */ +void ast_ari_endpoints_send_message_to_endpoint(struct ast_variable *headers, struct ast_ari_endpoints_send_message_to_endpoint_args *args, struct ast_ari_response *response); #endif /* _ASTERISK_RESOURCE_ENDPOINTS_H */ |