Freeswitch内核之事件类型
事件 说明
3 Channel events 信道事件。
3.1 Channel states 信道状态。
3.2 CHANNEL_CALLSTATE 信道呼叫状态事件。
3.3 CHANNEL_CREATE 创建事件。
3.4 CHANNEL_DESTROY 销毁事件。
3.5 CHANNEL_STATE 呼叫状态事件。当一个信道切换通话状态时发送。此事件并不包含任何附加信息。
3.6 CHANNEL_ANSWER 呼叫应答事件。
3.7 CHANNEL_HANGUP 挂机事件。
3.8 CHANNEL_HANGUP_COMPLETE 挂机完成事件。
3.9 CHANNEL_EXECUTE PBX正在执行呼叫事件。
3.10 CHANNEL_EXECUTE_COMPLETE 执行完成。
3.11 CHANNEL_BRIDGE 一个呼叫两个端点之间的桥接事件。
3.12 CHANNEL_UNBRIDGE 停用桥接事件。
3.13 CHANNEL_PROGRESS 进度事件,外呼时对方提醒。或者入呼时提醒。
3.14 CHANNEL_PROGRESS_MEDIA 媒体进度事件,外呼时对方提醒。或者入呼时提醒。
3.15 CHANNEL_OUTGOING 创建一个外呼事件。
3.16 CHANNEL_PARK 一个呼叫被挂起(停放)在PBX中。
3.17 CHANNEL_UNPARK 一个呼叫被取消挂起(停放)在PBX中。
3.18 CHANNEL_APPLICATION 信道产生的应用程序就是事件application=event一般用来捕获呼转
3.19 CHANNEL_HOLD 信道保持,使用uuid_hold或者接收SDP的readonly
3.20 CHANNEL_UNHOLD 触发后uuid_hold关闭<uuid>或者接收到INVITE SDP= SendRecv的
3.21 CHANNEL_ORIGINATE 信道发起事件,触发完成发起(或桥)。
3.22 CHANNEL_UUID uuid事件表示唯一的ID通道已经改变。原来的ID将被报告的旧唯一ID。此事件会发生,当您使用参数origination_uuid时发出命令发起/桥。
4 System events
4.1 SHUTDOWN 设置以启动的FreeSWITCH的关机顺序。
4.2 MODULE_LOAD 模块加载
4.3 MODULE_UNLOAD 模块卸载
4.4 RELOADXML 重新加载已经配置的XML
4.5 NOTIFY 通知
4.6 SEND_MESSAGE 发送信息
4.7 RECV_MESSAGE 接收信息
4.8 REQUEST_PARAMS 请求参数
4.9 CHANNEL_DATA 信道数据
4.10 GENERAL 总体
4.11 COMMAND 命令
4.12 SESSION_HEARTBEAT session心跳
4.13 CLIENT_DISCONNECTED 客户端断开
4.14 SERVER_DISCONNECTED 服务器断开
4.15 SEND_INFO 发送信息
4.16 RECV_INFO 接收信息
4.17 CALL_SECURE 保密呼叫
4.18 NAT nat
4.19 RECORD_START 开始记录
4.20 RECORD_STOP 停止记录
4.21 PLAYBACK_START 开始播放
4.22 PLAYBACK_STOP 停止播放
4.23 CALL_UPDATE 更新呼叫
API
语法:
api <command> <arg> |
作用:发送一个API命令(阻塞模式)
示例:
api来自sofia/mydomain.com/ext@yourvsp.com 1000#连接sip:ext@yourvsp.com到分机1000 API睡眠5000 |
bgapi
语法:
bgapi <command> <arg> |
作用:向后台提交一个API命令(非阻塞模式)返回的数据中将多出一个JOB-UUID
萦绕
语法:
萦绕 |
作用:告诉FreeSWITCH中的当信道挂断时不要立刻关闭套接字连接这样做的目的是防止因为FreeSWITCH的中的立刻关闭连接而导致一些信道数据丢失无法记录。
nolinger
语法:
nolinger |
作用:关闭苟延残喘
事件
语法:
事件<类型> <记录事件或全部事件的列表> |
作用:激活或者关闭部分或者所有的事件通知
参数说明:
1. type的作用为显示格式,取值说明如下
川 | 默认状态 |
XML | 以XML格式显示 |
JSON | 以JSON的格式显示 |
2.第二个参数表示事件类型,ALL表示全部事件。
示例:
事件普通ALL 活动平原CHANNEL_CREATE CHANNEL_DESTROY CUSTOM会议::维护索菲亚::登记索菲亚::到期 事件XML所有 事件json CHANNEL_ANSWER |
myevents
语法1:
myevents:<uuid> |
语法2:
myevents简单的<uuid> myevents json <uuid> myevents xml <uuid> |
作用:该语法可以让你的inbound模式下的套接字连接表现的像outbound模式下一样。它会锁定一个特定的uuid事件并忽略其他uuid的事件。当应用结束执行或者失去连接亦或是信道消失、信道关闭,该套接字连接都会被关闭。
一旦锁定了一个uuid,你将看不到任何与该uuid无关的信道信息。即使你发送了跟其他信道相关的命令。
divert_events
语法:
divert_events on|off |
作用:捕获inputCallback产生的回调函数(默认情况下用户按键产生的inputcallback事件只能被嵌入式脚本的回调函数捕获)
filter
语法:
filter <EventHeader> <ValueToFilter> |
作用:对输入进行过滤,而不是对输出进行过滤。在一个套接字连接上定义多个过滤器是允许的。
示例:
filter plain all filter plain CUSTOM conference::maintenance filter Unique-ID $participantB filter Unique-ID $participantA filter Unique-ID $participantC filter call-direction Inbound filter Event-Calling-File mod_conference.c filter Conference-Unique-ID $ConfUUID |
filter delete
语法:
filter delete <EventHeader> <ValueToFilter> |
作用:删除一个过滤器
sendevent
语法:
sendevent <event-name> |
作用:向事件系统发送一个事件(多行)
示例:
sendevent SOME_NAME Event-Name: CUSTOM Event-Subclass: albs::Section-Alarm Section: 33 Alarm-Type: PIR State: ACTIVE |
sendmsg
语法:
sendmsg <uuid> |
作用:向一个给定呼叫的uuid发送消息
示例:
执行操作:
sendmsg <uuid> call-command: execute execute-app-name: <one of the applications> loops: <number of times to invoke the command, default: 1> content-type: text/plain content-length: <content length> <application data> |
挂断操作:
sendmsg <uuid> call-command: hangup hangup-cause: <one of the causes listed below> |
exit
语法:
exit |
作用:关闭套接字连接
auth
语法:
auth <password> |
作用:在inbound模式下,auth为第一个要发送的命令,用于认证FreeSwitch服务器。
默认的FreeSWITCH的服务器的密码为:ClueCon,定义在的conf / autoload_configs / event_socket.conf.xml中。
日志
语法:
日志<级别> |
作用:激活日志输出.LEVEL参考等级http://blog.youkuaiyun.com/u010317005/article/details/51897717
NOLOG
语法:
NOLOG |
作用:关闭日志输出
nixevent
语法:
nixevent <事件类型| ALL | CUSTOM自定义事件子类> |
作用:取消关注某些事件
noevents
语法:
noevents |
作用:关闭所有事件默认情况下为关闭所有事件。