esl_event结构体的成员组成及意义
时间: 2023-07-02 20:13:05 浏览: 104
在FreeSWITCH的ESL(Event Socket Library)中,esl_event结构体是一个非常重要的数据结构,用于表示从FreeSWITCH接收到的事件。该结构体的成员组成如下:
```
typedef struct esl_event {
char *event_name; // 事件名称
char *event_subclass; // 事件子类别
char *event_header; // 事件头
char *event_body; // 事件内容
char *event_plain_body; // 事件的裸数据
int event_type; // 事件类型
int event_id; // 事件ID
char *event_uuid; // 事件UUID
char *event_channel_uuid; // 事件所属通道的UUID
char *event_app; // 事件所属应用名
char *event_app_data; // 事件所属应用的数据
char *event_flags; // 事件标志
char *event_priority; // 事件优先级
char *event_call_direction; // 呼叫方向
char *event_context; // 事件所属上下文
char *event_extension; // 事件所属扩展
char *event_caller_id_name; // 主叫方名称
char *event_caller_id_number; // 主叫方号码
char *event_destination_number; // 目的地号码
char *event_network_addr; // 事件来源网络地址
char *event_rdnis; // 事件RDNIS
char *event_destination_name; // 目的地名称
char *event_app_response; // 应用响应
char *event_job_uuid; // 任务UUID
char *event_job_command; // 任务命令
char *event_job_data; // 任务数据
char *event_job_priority; // 任务优先级
} esl_event_t;
```
各成员的意义如下:
- event_name: 事件名称,例如CHANNEL_CREATE、CHANNEL_DESTROY、DTMF等。
- event_subclass: 事件子类别,用于进一步区分事件类型。
- event_header: 事件头部分,包括事件类型、事件子类别等信息。
- event_body: 事件内容,包括事件所属通道、事件发生时间、事件相关参数等信息。
- event_plain_body: 事件的裸数据,即原始的事件内容。
- event_type: 事件类型,用于区分不同类型的事件。
- event_id: 事件ID,用于标识一个事件。
- event_uuid: 事件UUID,用于标识一个事件在FreeSWITCH中的唯一性。
- event_channel_uuid: 事件所属通道的UUID,用于标识事件所属的通道。
- event_app: 事件所属应用名,表示事件发生时所在的应用。
- event_app_data: 事件所属应用的数据,表示事件发生时应用的相关数据。
- event_flags: 事件标志,标识事件的一些特殊属性。
- event_priority: 事件优先级,用于标识事件的优先级。
- event_call_direction: 呼叫方向,表示事件所属呼叫的方向。
- event_context: 事件所属上下文,表示事件所在的上下文。
- event_extension: 事件所属扩展,表示事件所在的扩展。
- event_caller_id_name: 主叫方名称,表示事件所属呼叫的主叫方名称。
- event_caller_id_number: 主叫方号码,表示事件所属呼叫的主叫方号码。
- event_destination_number: 目的地号码,表示事件所属呼叫的目的地号码。
- event_network_addr: 事件来源网络地址,表示事件发生的网络地址。
- event_rdnis: 事件RDNIS,表示事件所属呼叫的RDNIS。
- event_destination_name: 目的地名称,表示事件所属呼叫的目的地名称。
- event_app_response: 应用响应,表示事件所属应用的响应。
- event_job_uuid: 任务UUID,表示事件所属任务的UUID。
- event_job_command: 任务命令,表示事件所属任务的命令。
- event_job_data: 任务数据,表示事件所属任务的数据。
- event_job_priority: 任务优先级,表示事件所属任务的优先级。
通过以上成员,可以获取到事件的各种信息和参数,从而实现对事件的处理和管理。
阅读全文