32 #if defined(__cplusplus) || defined(c_plusplus)
42 AST_CEL_INVALID_VALUE = -1,
143 #define AST_CEL_EVENT_RECORD_VERSION 2
150 struct timeval event_time;
151 const char *event_name;
152 const char *user_defined_name;
153 const char *caller_id_name;
154 const char *caller_id_num;
155 const char *caller_id_ani;
156 const char *caller_id_rdnis;
157 const char *caller_id_dnid;
160 const char *channel_name;
161 const char *application_name;
162 const char *application_data;
163 const char *account_code;
164 const char *peer_account;
165 const char *unique_id;
166 const char *linked_id;
168 const char *user_field;
224 AST_DECLARE_STRING_FIELDS(
282 struct ast_json *extra,
const char *peer_str);
304 const char *userdefevname,
struct ast_json *extra,
const char *peer_str);
335 #if defined(__cplusplus) || defined(c_plusplus)
the last channel with the given linkedid is retired
Helper struct for getting the fields out of a CEL event.
Main Channel structure associated with a channel.
int ast_cel_backend_register(const char *name, ast_cel_backend_cb backend_callback)
Register a CEL backend.
A local channel optimization occurred, this marks the end.
Structure representing a snapshot of channel state.
unsigned int ast_cel_check_enabled(void)
Check to see if CEL is enabled.
A local channel optimization has begun.
struct ast_event * ast_cel_create_event_with_time(struct ast_channel_snapshot *snapshot, enum ast_cel_event_type event_type, const struct timeval *event_time, const char *userdefevname, struct ast_json *extra, const char *peer_str)
Allocate and populate a CEL event structure.
const char * ast_cel_get_type_name(enum ast_cel_event_type type)
Get the name of a CEL event type.
void ast_cel_set_config(struct ast_cel_general_config *config)
Set the current CEL configuration.
void(* ast_cel_backend_cb)(struct ast_event *event)
CEL backend callback.
#define AST_STRING_FIELD(name)
Declare a string field.
structure to hold extensions
uint32_t version
struct ABI version
hangup terminates connection
int ast_cel_backend_unregister(const char *name)
Unregister a CEL backend.
struct ao2_container * apps
struct ast_cel_general_config * ast_cel_get_config(void)
Obtain the current CEL configuration.
struct ast_channel * ast_cel_fabricate_channel_from_event(const struct ast_event *event)
Create a fake channel from data in a CEL event.
void ast_cel_publish_user_event(struct ast_channel *chan, const char *event, const char *extra)
Publish a CEL user event.
A structure to hold CEL global configuration options.
struct stasis_topic * ast_cel_topic(void)
Get the CEL topic.
enum ast_cel_event_type ast_cel_str_to_event_type(const char *name)
Get the event type from a string.
void * ast_cel_general_config_alloc(void)
Allocate a CEL configuration object.
A ringing phone is answered.
Abstract JSON element (object, array, string, int, ...).
a user-defined event, the event name field should be set
ast_cel_event_type
CEL event types.
struct ast_event * ast_cel_create_event(struct ast_channel_snapshot *snapshot, enum ast_cel_event_type event_type, const char *userdefevname, struct ast_json *extra, const char *peer_str)
Allocate and populate a CEL event structure.
a directed pickup was performed on this channel
this call was forwarded somewhere else
void ast_cel_publish_event(struct ast_channel *chan, enum ast_cel_event_type event_type, struct ast_json *blob)
Publish a CEL event.
int ast_cel_fill_record(const struct ast_event *event, struct ast_cel_event_record *r)
Fill in an ast_cel_event_record from a CEL event.