mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-02 02:18:31 +00:00
Strip down the old event system
This removes unused code, event types, IE pltypes, and event IE types where possible and makes several functions private that were once public. This includes a renumbering of the remaining event and IE types which breaks binary compatibility with previous versions. The last remaining consumers of the old event system (or parts thereof) are main/security_events.c, res/res_security_log.c, tests/test_cel.c, tests/test_event.c, main/cel.c, and the CEL backends. Review: https://reviewboard.asterisk.org/r/2703/ (closes issue ASTERISK-22139) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
/*! \file
|
||||
* \brief Device state management
|
||||
*
|
||||
* To subscribe to device state changes, use the generic ast_event_subscribe
|
||||
* To subscribe to device state changes, use the stasis_subscribe
|
||||
* method. For an example, see apps/app_queue.c.
|
||||
*
|
||||
* \todo Currently, when the state of a device changes, the device state provider
|
||||
|
@@ -90,9 +90,7 @@ typedef void (*ast_event_cb_t)(const struct ast_event *event, void *userdata);
|
||||
* and must end with AST_EVENT_IE_END.
|
||||
*
|
||||
* If the ie_type specified is *not* AST_EVENT_IE_END, then it must be followed
|
||||
* by a valid IE payload type. If the payload type specified is
|
||||
* AST_EVENT_IE_PLTYPE_EXISTS, then the 3rd argument should not be provided.
|
||||
* Otherwise, a payload must also be specified.
|
||||
* by a valid IE payload type. A payload must also be specified.
|
||||
*
|
||||
* \return This returns a reference to the subscription for use with
|
||||
* un-subscribing later. If there is a failure in creating the
|
||||
@@ -159,20 +157,6 @@ void ast_event_sub_destroy(struct ast_event_sub *sub);
|
||||
int ast_event_sub_append_ie_uint(struct ast_event_sub *sub,
|
||||
enum ast_event_ie_type ie_type, uint32_t uint);
|
||||
|
||||
/*!
|
||||
* \brief Append a bitflags parameter to a subscription
|
||||
*
|
||||
* \param sub the dynamic subscription allocated with ast_event_subscribe_new()
|
||||
* \param ie_type the information element type for the parameter
|
||||
* \param flags the flags that must be present in the event to match this subscription
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval non-zero failure
|
||||
* \since 1.8
|
||||
*/
|
||||
int ast_event_sub_append_ie_bitflags(struct ast_event_sub *sub,
|
||||
enum ast_event_ie_type ie_type, uint32_t flags);
|
||||
|
||||
/*!
|
||||
* \brief Append a string parameter to a subscription
|
||||
*
|
||||
@@ -202,20 +186,6 @@ int ast_event_sub_append_ie_str(struct ast_event_sub *sub,
|
||||
int ast_event_sub_append_ie_raw(struct ast_event_sub *sub,
|
||||
enum ast_event_ie_type ie_type, void *data, size_t raw_datalen);
|
||||
|
||||
/*!
|
||||
* \brief Append an 'exists' parameter to a subscription
|
||||
*
|
||||
* \param sub the dynamic subscription allocated with ast_event_subscribe_new()
|
||||
* \param ie_type the information element type that must be present in the event
|
||||
* for it to match this subscription.
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval non-zero failure
|
||||
* \since 1.6.1
|
||||
*/
|
||||
int ast_event_sub_append_ie_exists(struct ast_event_sub *sub,
|
||||
enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Activate a dynamically built subscription
|
||||
*
|
||||
@@ -245,15 +215,6 @@ int ast_event_sub_activate(struct ast_event_sub *sub);
|
||||
*/
|
||||
struct ast_event_sub *ast_event_unsubscribe(struct ast_event_sub *event_sub);
|
||||
|
||||
/*!
|
||||
* \brief Get description for a subscription
|
||||
*
|
||||
* \param sub subscription
|
||||
*
|
||||
* \return string description of the subscription
|
||||
*/
|
||||
const char *ast_event_subscriber_get_description(struct ast_event_sub *sub);
|
||||
|
||||
/*!
|
||||
* \brief Check if subscribers exist
|
||||
*
|
||||
@@ -269,9 +230,7 @@ const char *ast_event_subscriber_get_description(struct ast_event_sub *sub);
|
||||
* and must end with AST_EVENT_IE_END.
|
||||
*
|
||||
* If the ie_type specified is *not* AST_EVENT_IE_END, then it must be followed
|
||||
* by a valid IE payload type. If the payload type specified is
|
||||
* AST_EVENT_IE_PLTYPE_EXISTS, then the 3rd argument should not be provided.
|
||||
* Otherwise, a payload must also be specified.
|
||||
* by a valid IE payload type. A payload must also be specified.
|
||||
*
|
||||
* \return This returns one of the values defined in the ast_event_subscriber_res
|
||||
* enum which will indicate if subscribers exist that match the given
|
||||
@@ -309,12 +268,6 @@ enum ast_event_subscriber_res ast_event_check_subscriber(enum ast_event_type eve
|
||||
*/
|
||||
void ast_event_report_subs(const struct ast_event_sub *sub);
|
||||
|
||||
/*!
|
||||
* \brief Dump the event cache for the subscriber
|
||||
* \since 1.6.1
|
||||
*/
|
||||
void ast_event_dump_cache(const struct ast_event_sub *event_sub);
|
||||
|
||||
/*!
|
||||
* \brief Create a new event
|
||||
*
|
||||
@@ -328,8 +281,7 @@ void ast_event_dump_cache(const struct ast_event_sub *event_sub);
|
||||
* and must end with AST_EVENT_IE_END.
|
||||
*
|
||||
* If the ie_type specified is *not* AST_EVENT_IE_END, then it must be followed
|
||||
* by a valid IE payload type. The payload type, EXISTS, should not be used here
|
||||
* because it makes no sense to do so. So, a payload must also be specified
|
||||
* by a valid IE payload type. A payload must also be specified
|
||||
* after the IE payload type.
|
||||
*
|
||||
* \note The EID IE will be appended automatically when this function is used
|
||||
@@ -384,63 +336,6 @@ void ast_event_destroy(struct ast_event *event);
|
||||
*/
|
||||
int ast_event_queue(struct ast_event *event);
|
||||
|
||||
/*!
|
||||
* \brief Queue and cache an event
|
||||
*
|
||||
* \param event the event to be queued and cached
|
||||
*
|
||||
* \details
|
||||
* The purpose of caching events is so that the core can retain the last known
|
||||
* information for events that represent some sort of state. That way, when
|
||||
* code needs to find out the current state, it can query the cache.
|
||||
*
|
||||
* The event API already knows which events can be cached and how to cache them.
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval non-zero failure.
|
||||
*/
|
||||
int ast_event_queue_and_cache(struct ast_event *event);
|
||||
|
||||
/*!
|
||||
* \brief Retrieve an event from the cache
|
||||
*
|
||||
* \param ast_event_type The type of event to retrieve from the cache
|
||||
*
|
||||
* The rest of the arguments to this function specify information elements to
|
||||
* match for retrieving events from the cache. They are specified in the form:
|
||||
* \code
|
||||
* <enum ast_event_ie_type>, [enum ast_event_ie_pltype, [payload] ]
|
||||
* \endcode
|
||||
* and must end with AST_EVENT_IE_END.
|
||||
*
|
||||
* If the ie_type specified is *not* AST_EVENT_IE_END, then it must be followed
|
||||
* by a valid IE payload type. If the payload type specified is
|
||||
* AST_EVENT_IE_PLTYPE_EXISTS, then the 3rd argument should not be provided.
|
||||
* Otherwise, a payload must also be specified.
|
||||
*
|
||||
* \return A reference to an event retrieved from the cache. If no event was
|
||||
* found that matches the specified criteria, then NULL will be returned.
|
||||
*
|
||||
* \note If more than one event in the cache matches the specified criteria, only
|
||||
* one will be returned, and it is undefined which one it will be.
|
||||
*
|
||||
* \note The caller of this function *must* call ast_event_destroy() on the
|
||||
* returned event after it is done using it.
|
||||
*
|
||||
* Example Usage:
|
||||
*
|
||||
* \code
|
||||
* event = ast_event_get_cached(AST_EVENT_MWI,
|
||||
* AST_EVENT_IE_MAILBOX, AST_EVENT_IE_PLTYPE_STR, mailbox,
|
||||
* AST_EVENT_IE_END);
|
||||
* \endcode
|
||||
*
|
||||
* This example will check for an MWI event in the cache that matches the
|
||||
* specified mailbox. This would be the way to find out the last known state
|
||||
* of a mailbox without having to poll the mailbox directly.
|
||||
*/
|
||||
struct ast_event *ast_event_get_cached(enum ast_event_type, ...);
|
||||
|
||||
/*!
|
||||
* \brief Append an information element that has a string payload
|
||||
*
|
||||
@@ -475,55 +370,6 @@ int ast_event_append_ie_str(struct ast_event **event, enum ast_event_ie_type ie_
|
||||
int ast_event_append_ie_uint(struct ast_event **event, enum ast_event_ie_type ie_type,
|
||||
uint32_t data);
|
||||
|
||||
/*!
|
||||
* \brief Append an information element that has a bitflags payload
|
||||
*
|
||||
* \param event the event that the IE will be appended to
|
||||
* \param ie_type the type of IE to append
|
||||
* \param bitflags the flags that are the payload of the IE
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure
|
||||
* \since 1.8
|
||||
*
|
||||
* The pointer to the event will get updated with the new location for the event
|
||||
* that now contains the appended information element. If the re-allocation of
|
||||
* the memory for this event fails, it will be set to NULL.
|
||||
*/
|
||||
int ast_event_append_ie_bitflags(struct ast_event **event, enum ast_event_ie_type ie_type,
|
||||
uint32_t bitflags);
|
||||
|
||||
/*!
|
||||
* \brief Append an information element that has a raw payload
|
||||
*
|
||||
* \param event the event that the IE will be appended to
|
||||
* \param ie_type the type of IE to append
|
||||
* \param data A pointer to the raw data for the payload of the IE
|
||||
* \param data_len The amount of data to copy into the payload
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure
|
||||
*
|
||||
* The pointer to the event will get updated with the new location for the event
|
||||
* that now contains the appended information element. If the re-allocation of
|
||||
* the memory for this event fails, it will be set to NULL.
|
||||
*/
|
||||
int ast_event_append_ie_raw(struct ast_event **event, enum ast_event_ie_type ie_type,
|
||||
const void *data, size_t data_len);
|
||||
|
||||
/*!
|
||||
* \brief Append the global EID IE
|
||||
*
|
||||
* \param event the event to append IE to
|
||||
*
|
||||
* \note For ast_event_new() that includes IEs, this is done automatically
|
||||
* for you.
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval -1 failure
|
||||
*/
|
||||
int ast_event_append_eid(struct ast_event **event);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of an information element that has an integer payload
|
||||
*
|
||||
@@ -536,18 +382,6 @@ int ast_event_append_eid(struct ast_event **event);
|
||||
*/
|
||||
uint32_t ast_event_get_ie_uint(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of an information element that has a bitflags payload
|
||||
*
|
||||
* \param event The event to get the IE from
|
||||
* \param ie_type the type of information element to retrieve
|
||||
*
|
||||
* \return This returns the payload of the information element with the given type.
|
||||
* However, an IE with a payload of 0, and the case where no IE is found
|
||||
* yield the same return value.
|
||||
*/
|
||||
uint32_t ast_event_get_ie_bitflags(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of an information element that has a string payload
|
||||
*
|
||||
@@ -559,40 +393,6 @@ uint32_t ast_event_get_ie_bitflags(const struct ast_event *event, enum ast_event
|
||||
*/
|
||||
const char *ast_event_get_ie_str(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the hash for the string payload of an IE
|
||||
*
|
||||
* \param event The event to get the IE from
|
||||
* \param ie_type the type of information element to retrieve the hash for
|
||||
*
|
||||
* \return This function returns the hash value as calculated by ast_str_hash()
|
||||
* for the string payload. This is stored in the event to avoid
|
||||
* unnecessary string comparisons.
|
||||
*/
|
||||
uint32_t ast_event_get_ie_str_hash(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of an information element that has a raw payload
|
||||
*
|
||||
* \param event The event to get the IE from
|
||||
* \param ie_type the type of information element to retrieve
|
||||
*
|
||||
* \return This returns the payload of the information element with the given type.
|
||||
* If the information element isn't found, NULL will be returned.
|
||||
*/
|
||||
const void *ast_event_get_ie_raw(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the length of the raw payload for a particular IE
|
||||
*
|
||||
* \param event The event to get the IE payload length from
|
||||
* \param ie_type the type of information element to get the length of
|
||||
*
|
||||
* \return If an IE of type ie_type is found, its payload length is returned.
|
||||
* Otherwise, 0 is returned.
|
||||
*/
|
||||
uint16_t ast_event_get_ie_raw_payload_len(const struct ast_event *event, enum ast_event_ie_type ie_type);
|
||||
|
||||
/*!
|
||||
* \brief Get the string representation of an information element type
|
||||
*
|
||||
@@ -623,28 +423,6 @@ enum ast_event_ie_pltype ast_event_get_ie_pltype(enum ast_event_ie_type ie_type)
|
||||
*/
|
||||
enum ast_event_type ast_event_get_type(const struct ast_event *event);
|
||||
|
||||
/*!
|
||||
* \brief Get the string representation of the type of the given event
|
||||
*
|
||||
* \arg event the event to get the type of
|
||||
*
|
||||
* \return the string representation of the event type of the provided event
|
||||
* \since 1.6.1
|
||||
*/
|
||||
const char *ast_event_get_type_name(const struct ast_event *event);
|
||||
|
||||
/*!
|
||||
* \brief Convert a string into an event type
|
||||
*
|
||||
* \param str the string to convert
|
||||
* \param event_type an output parameter for the event type
|
||||
*
|
||||
* \retval 0 success
|
||||
* \retval non-zero failure
|
||||
* \since 1.6.1
|
||||
*/
|
||||
int ast_event_str_to_event_type(const char *str, enum ast_event_type *event_type);
|
||||
|
||||
/*!
|
||||
* \brief Convert a string to an IE type
|
||||
*
|
||||
@@ -707,15 +485,6 @@ enum ast_event_ie_type ast_event_iterator_get_ie_type(struct ast_event_iterator
|
||||
*/
|
||||
uint32_t ast_event_iterator_get_ie_uint(struct ast_event_iterator *iterator);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of the current IE in the iterator as a bitflags payload
|
||||
*
|
||||
* \param iterator The iterator instance
|
||||
*
|
||||
* \return This returns the payload of the information element as bitflags.
|
||||
*/
|
||||
uint32_t ast_event_iterator_get_ie_bitflags(struct ast_event_iterator *iterator);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of the current IE in the iterator as a string payload
|
||||
*
|
||||
@@ -725,31 +494,6 @@ uint32_t ast_event_iterator_get_ie_bitflags(struct ast_event_iterator *iterator)
|
||||
*/
|
||||
const char *ast_event_iterator_get_ie_str(struct ast_event_iterator *iterator);
|
||||
|
||||
/*!
|
||||
* \brief Get the value of the current IE in the iterator instance that has a raw payload
|
||||
*
|
||||
* \param iterator The iterator instance
|
||||
*
|
||||
* \return This returns the payload of the information element as type raw.
|
||||
*/
|
||||
void *ast_event_iterator_get_ie_raw(struct ast_event_iterator *iterator);
|
||||
|
||||
/*!
|
||||
* \brief Get the length of the raw payload for the current IE for an iterator
|
||||
*
|
||||
* \param iterator The IE iterator
|
||||
*
|
||||
* \return The payload length of the current IE
|
||||
*/
|
||||
uint16_t ast_event_iterator_get_ie_raw_payload_len(struct ast_event_iterator *iterator);
|
||||
|
||||
/*!
|
||||
* \brief Get the minimum length of an ast_event.
|
||||
*
|
||||
* \return minimum amount of memory that will be consumed by any ast_event.
|
||||
*/
|
||||
size_t ast_event_minimum_length(void);
|
||||
|
||||
#if defined(__cplusplus) || defined(c_plusplus)
|
||||
}
|
||||
#endif
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#define AST_EVENT_DEFS_H
|
||||
|
||||
/*! \brief Event types
|
||||
* \note These values can *never* change. */
|
||||
* \note These values no longer go over the wire and can change when items are removed. */
|
||||
enum ast_event_type {
|
||||
/*! Reserved to provide the ability to subscribe to all events. A specific
|
||||
* event should never have a payload of 0. */
|
||||
@@ -36,32 +36,12 @@ enum ast_event_type {
|
||||
* \note There are no "custom" IE types, because IEs only have to be
|
||||
* unique to the event itself, not necessarily across all events. */
|
||||
AST_EVENT_CUSTOM = 0x01,
|
||||
/*! Voicemail message waiting indication */
|
||||
AST_EVENT_MWI = 0x02,
|
||||
/*! Someone has subscribed to events */
|
||||
AST_EVENT_SUB = 0x03,
|
||||
/*! Someone has unsubscribed from events */
|
||||
AST_EVENT_UNSUB = 0x04,
|
||||
/*! The aggregate state of a device across all servers configured to be
|
||||
* a part of a device state cluster has changed. */
|
||||
AST_EVENT_DEVICE_STATE = 0x05,
|
||||
/*! The state of a device has changed on _one_ server. This should not be used
|
||||
* directly, in general. Use AST_EVENT_DEVICE_STATE instead. */
|
||||
AST_EVENT_DEVICE_STATE_CHANGE = 0x06,
|
||||
AST_EVENT_SUB = 0x02,
|
||||
/*! Channel Event Logging events */
|
||||
AST_EVENT_CEL = 0x07,
|
||||
/*! A report of a security related event (see security_events.h) */
|
||||
AST_EVENT_SECURITY = 0x08,
|
||||
/*! Used by res_stun_monitor to alert listeners to an exernal network address change. */
|
||||
AST_EVENT_NETWORK_CHANGE = 0x09,
|
||||
/*! The presence state for a presence provider */
|
||||
AST_EVENT_PRESENCE_STATE = 0x0a,
|
||||
/*! Used to alert listeners when a named ACL has been changed. */
|
||||
AST_EVENT_ACL_CHANGE = 0x0b,
|
||||
/*! Send out a ping for debugging distributed events */
|
||||
AST_EVENT_PING = 0x0c,
|
||||
AST_EVENT_CEL = 0x03,
|
||||
/*! Number of event types. This should be the last event type + 1 */
|
||||
AST_EVENT_TOTAL = 0x0d,
|
||||
AST_EVENT_TOTAL = 0x04,
|
||||
};
|
||||
|
||||
/*! \brief Event Information Element types */
|
||||
@@ -69,243 +49,199 @@ enum ast_event_ie_type {
|
||||
/*! Used to terminate the arguments to event functions */
|
||||
AST_EVENT_IE_END = -1,
|
||||
|
||||
/*!
|
||||
* \brief Number of new messages
|
||||
* Used by: AST_EVENT_MWI
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_NEWMSGS = 0x0001,
|
||||
/*!
|
||||
* \brief Number of
|
||||
* Used by: AST_EVENT_MWI
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_OLDMSGS = 0x0002,
|
||||
/*!
|
||||
* \brief Mailbox name \verbatim (mailbox[@context]) \endverbatim
|
||||
* Used by: AST_EVENT_MWI
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_MAILBOX = 0x0003,
|
||||
/*!
|
||||
* \brief Unique ID
|
||||
* Used by: AST_EVENT_SUB, AST_EVENT_UNSUB
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_UNIQUEID = 0x0004,
|
||||
AST_EVENT_IE_UNIQUEID = 0x0001,
|
||||
/*!
|
||||
* \brief Event type
|
||||
* Used by: AST_EVENT_SUB, AST_EVENT_UNSUB
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_EVENTTYPE = 0x0005,
|
||||
AST_EVENT_IE_EVENTTYPE = 0x0002,
|
||||
/*!
|
||||
* \brief Hint that someone cares that an IE exists
|
||||
* Used by: AST_EVENT_SUB
|
||||
* Payload type: UINT (ast_event_ie_type)
|
||||
*/
|
||||
AST_EVENT_IE_EXISTS = 0x0006,
|
||||
/*!
|
||||
* \brief Device Name
|
||||
* Used by AST_EVENT_DEVICE_STATE_CHANGE
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_DEVICE = 0x0007,
|
||||
/*!
|
||||
* \brief Generic State IE
|
||||
* Used by AST_EVENT_DEVICE_STATE_CHANGE
|
||||
* Payload type: UINT
|
||||
* The actual state values depend on the event which
|
||||
* this IE is a part of.
|
||||
*/
|
||||
AST_EVENT_IE_STATE = 0x0008,
|
||||
AST_EVENT_IE_EXISTS = 0x0003,
|
||||
/*!
|
||||
* \brief Context IE
|
||||
* Used by AST_EVENT_MWI
|
||||
* Payload type: str
|
||||
*/
|
||||
AST_EVENT_IE_CONTEXT = 0x0009,
|
||||
AST_EVENT_IE_CONTEXT = 0x0004,
|
||||
/*!
|
||||
* \brief Channel Event Type
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_CEL_EVENT_TYPE = 0x000a,
|
||||
AST_EVENT_IE_CEL_EVENT_TYPE = 0x0005,
|
||||
/*!
|
||||
* \brief Channel Event Time (seconds)
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_CEL_EVENT_TIME = 0x000b,
|
||||
AST_EVENT_IE_CEL_EVENT_TIME = 0x0006,
|
||||
/*!
|
||||
* \brief Channel Event Time (micro-seconds)
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_CEL_EVENT_TIME_USEC = 0x000c,
|
||||
AST_EVENT_IE_CEL_EVENT_TIME_USEC = 0x0007,
|
||||
/*!
|
||||
* \brief Channel Event User Event Name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_USEREVENT_NAME = 0x000d,
|
||||
AST_EVENT_IE_CEL_USEREVENT_NAME = 0x0008,
|
||||
/*!
|
||||
* \brief Channel Event CID name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CIDNAME = 0x000e,
|
||||
AST_EVENT_IE_CEL_CIDNAME = 0x0009,
|
||||
/*!
|
||||
* \brief Channel Event CID num
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CIDNUM = 0x000f,
|
||||
AST_EVENT_IE_CEL_CIDNUM = 0x000a,
|
||||
/*!
|
||||
* \brief Channel Event extension name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_EXTEN = 0x0010,
|
||||
AST_EVENT_IE_CEL_EXTEN = 0x000b,
|
||||
/*!
|
||||
* \brief Channel Event context name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CONTEXT = 0x0011,
|
||||
AST_EVENT_IE_CEL_CONTEXT = 0x000c,
|
||||
/*!
|
||||
* \brief Channel Event channel name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CHANNAME = 0x0012,
|
||||
AST_EVENT_IE_CEL_CHANNAME = 0x000d,
|
||||
/*!
|
||||
* \brief Channel Event app name
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_APPNAME = 0x0013,
|
||||
AST_EVENT_IE_CEL_APPNAME = 0x000e,
|
||||
/*!
|
||||
* \brief Channel Event app args/data
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_APPDATA = 0x0014,
|
||||
AST_EVENT_IE_CEL_APPDATA = 0x000f,
|
||||
/*!
|
||||
* \brief Channel Event AMA flags
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_CEL_AMAFLAGS = 0x0015,
|
||||
AST_EVENT_IE_CEL_AMAFLAGS = 0x0010,
|
||||
/*!
|
||||
* \brief Channel Event AccountCode
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_ACCTCODE = 0x0016,
|
||||
AST_EVENT_IE_CEL_ACCTCODE = 0x0011,
|
||||
/*!
|
||||
* \brief Channel Event UniqueID
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_UNIQUEID = 0x0017,
|
||||
AST_EVENT_IE_CEL_UNIQUEID = 0x0012,
|
||||
/*!
|
||||
* \brief Channel Event Userfield
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_USERFIELD = 0x0018,
|
||||
AST_EVENT_IE_CEL_USERFIELD = 0x0013,
|
||||
/*!
|
||||
* \brief Channel Event CID ANI field
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CIDANI = 0x0019,
|
||||
AST_EVENT_IE_CEL_CIDANI = 0x0014,
|
||||
/*!
|
||||
* \brief Channel Event CID RDNIS field
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CIDRDNIS = 0x001a,
|
||||
AST_EVENT_IE_CEL_CIDRDNIS = 0x0015,
|
||||
/*!
|
||||
* \brief Channel Event CID dnid
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_CIDDNID = 0x001b,
|
||||
AST_EVENT_IE_CEL_CIDDNID = 0x0016,
|
||||
/*!
|
||||
* \brief Channel Event Peer -- for Things involving multiple channels, like BRIDGE
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_PEER = 0x001c,
|
||||
AST_EVENT_IE_CEL_PEER = 0x0017,
|
||||
/*!
|
||||
* \brief Channel Event LinkedID
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_LINKEDID = 0x001d,
|
||||
AST_EVENT_IE_CEL_LINKEDID = 0x0018,
|
||||
/*!
|
||||
* \brief Channel Event peeraccount
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_PEERACCT = 0x001e,
|
||||
AST_EVENT_IE_CEL_PEERACCT = 0x0019,
|
||||
/*!
|
||||
* \brief Channel Event extra data
|
||||
* Used by: AST_EVENT_CEL
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_CEL_EXTRA = 0x001f,
|
||||
AST_EVENT_IE_CEL_EXTRA = 0x001a,
|
||||
/*!
|
||||
* \brief Description
|
||||
* Used by: AST_EVENT_SUB, AST_EVENT_UNSUB
|
||||
* Payload type: STR
|
||||
*/
|
||||
AST_EVENT_IE_DESCRIPTION = 0x0020,
|
||||
AST_EVENT_IE_DESCRIPTION = 0x001b,
|
||||
/*!
|
||||
* \brief Entity ID
|
||||
* Used by All events
|
||||
* Payload type: RAW
|
||||
* This IE indicates which server the event originated from
|
||||
*/
|
||||
AST_EVENT_IE_EID = 0x0021,
|
||||
AST_EVENT_IE_SECURITY_EVENT = 0x0022,
|
||||
AST_EVENT_IE_EVENT_VERSION = 0x0023,
|
||||
AST_EVENT_IE_SERVICE = 0x0024,
|
||||
AST_EVENT_IE_MODULE = 0x0025,
|
||||
AST_EVENT_IE_ACCOUNT_ID = 0x0026,
|
||||
AST_EVENT_IE_SESSION_ID = 0x0027,
|
||||
AST_EVENT_IE_SESSION_TV = 0x0028,
|
||||
AST_EVENT_IE_ACL_NAME = 0x0029,
|
||||
AST_EVENT_IE_LOCAL_ADDR = 0x002a,
|
||||
AST_EVENT_IE_REMOTE_ADDR = 0x002b,
|
||||
AST_EVENT_IE_EVENT_TV = 0x002c,
|
||||
AST_EVENT_IE_REQUEST_TYPE = 0x002d,
|
||||
AST_EVENT_IE_REQUEST_PARAMS = 0x002e,
|
||||
AST_EVENT_IE_AUTH_METHOD = 0x002f,
|
||||
AST_EVENT_IE_SEVERITY = 0x0030,
|
||||
AST_EVENT_IE_EXPECTED_ADDR = 0x0031,
|
||||
AST_EVENT_IE_CHALLENGE = 0x0032,
|
||||
AST_EVENT_IE_RESPONSE = 0x0033,
|
||||
AST_EVENT_IE_EXPECTED_RESPONSE = 0x0034,
|
||||
AST_EVENT_IE_RECEIVED_CHALLENGE = 0x0035,
|
||||
AST_EVENT_IE_RECEIVED_HASH = 0x0036,
|
||||
AST_EVENT_IE_USING_PASSWORD = 0x0037,
|
||||
AST_EVENT_IE_ATTEMPTED_TRANSPORT = 0x0038,
|
||||
AST_EVENT_IE_PRESENCE_PROVIDER = 0x0039,
|
||||
AST_EVENT_IE_PRESENCE_STATE = 0x003a,
|
||||
AST_EVENT_IE_PRESENCE_SUBTYPE = 0x003b,
|
||||
AST_EVENT_IE_PRESENCE_MESSAGE = 0x003c,
|
||||
AST_EVENT_IE_EVENT_VERSION = 0x001c,
|
||||
AST_EVENT_IE_SERVICE = 0x001d,
|
||||
AST_EVENT_IE_MODULE = 0x001e,
|
||||
AST_EVENT_IE_ACCOUNT_ID = 0x001f,
|
||||
AST_EVENT_IE_SESSION_ID = 0x0020,
|
||||
AST_EVENT_IE_SESSION_TV = 0x0021,
|
||||
AST_EVENT_IE_ACL_NAME = 0x0022,
|
||||
AST_EVENT_IE_LOCAL_ADDR = 0x0023,
|
||||
AST_EVENT_IE_REMOTE_ADDR = 0x0024,
|
||||
AST_EVENT_IE_EVENT_TV = 0x0025,
|
||||
AST_EVENT_IE_REQUEST_TYPE = 0x0026,
|
||||
AST_EVENT_IE_REQUEST_PARAMS = 0x0027,
|
||||
AST_EVENT_IE_AUTH_METHOD = 0x0028,
|
||||
AST_EVENT_IE_SEVERITY = 0x0029,
|
||||
AST_EVENT_IE_EXPECTED_ADDR = 0x002a,
|
||||
AST_EVENT_IE_CHALLENGE = 0x002b,
|
||||
AST_EVENT_IE_RESPONSE = 0x002c,
|
||||
AST_EVENT_IE_EXPECTED_RESPONSE = 0x002e,
|
||||
AST_EVENT_IE_RECEIVED_CHALLENGE = 0x002f,
|
||||
AST_EVENT_IE_RECEIVED_HASH = 0x0030,
|
||||
AST_EVENT_IE_USING_PASSWORD = 0x0031,
|
||||
AST_EVENT_IE_ATTEMPTED_TRANSPORT = 0x0032,
|
||||
|
||||
/*!
|
||||
* \brief Event non-cachability flag
|
||||
* Used by: All events
|
||||
* Payload type: UINT
|
||||
*/
|
||||
AST_EVENT_IE_CACHABLE = 0x003d,
|
||||
/*! \brief Must be the last IE value +1 */
|
||||
AST_EVENT_IE_TOTAL = 0x003e,
|
||||
AST_EVENT_IE_TOTAL = 0x0033,
|
||||
};
|
||||
|
||||
/*!
|
||||
@@ -313,16 +249,12 @@ enum ast_event_ie_type {
|
||||
*/
|
||||
enum ast_event_ie_pltype {
|
||||
AST_EVENT_IE_PLTYPE_UNKNOWN = -1,
|
||||
/*! Just check if it exists, not the value */
|
||||
AST_EVENT_IE_PLTYPE_EXISTS,
|
||||
/*! Unsigned Integer (Can be used for signed, too ...) */
|
||||
AST_EVENT_IE_PLTYPE_UINT,
|
||||
/*! String */
|
||||
AST_EVENT_IE_PLTYPE_STR,
|
||||
/*! Raw data, compared with memcmp */
|
||||
AST_EVENT_IE_PLTYPE_RAW,
|
||||
/*! Bit flags (unsigned integer, compared using boolean logic) */
|
||||
AST_EVENT_IE_PLTYPE_BITFLAGS,
|
||||
};
|
||||
|
||||
/*!
|
||||
|
@@ -36,11 +36,6 @@ extern "C" {
|
||||
|
||||
/*!
|
||||
* \brief Security event types
|
||||
*
|
||||
* AST_EVENT_SECURITY is the event type of an ast_event generated as a security
|
||||
* event. The event will have an information element of type
|
||||
* AST_EVENT_IE_SECURITY_EVENT which identifies the security event sub-type.
|
||||
* This enum defines the possible values for this sub-type.
|
||||
*/
|
||||
enum ast_security_event_type {
|
||||
/*!
|
||||
|
Reference in New Issue
Block a user