一 、首先使用工具netcat与FreeSWITCH进行内连
(参考18.2.2)
输入如下命令接收事件:
event plain ALL —— 订阅所有的事件
当然,如果你看不过来,可以少订一些,比如:
event plain CHANNEL_CREATE —— 仅订阅 CHANNEL_CREATE 事件
它等效于在fs_cli中输入以下命令:
/event plain CHANNEL_CREATE
二 、Event Socket 命令详解:
1、auth
将nc作为客户端,使用如下命令连接 FreeSWITCH:nc localhost 8021
连接上以后,会看到如下消息:,
输入:auth ClueCon , 按两下回车: ,即代表连接成功。
2、api
3、bgapi
如下面的例子:
4、linger 和 nolinger
实操时,出现错误:
5、event
event plain ALL —— 订阅全部事件仅订阅部分事件,事件的名字之间以空格隔开:
event plain CHANNEL_CREATE CHANNEL_ANSWER CHANNEL_HANGUP_COMPLETE
(CUSTOM — 自定义事件,一类特殊的事件)
event plain CUSTOM sofia :: register
可以一次订阅多个CUSTOM事件,如:
event plain CUSTOM sofia::register sofia::unregister sofia::expire
也可以使用多个 event 命令混合订阅,如:
event plain CHANNEL_ANSWER CHANNEL_HANGUP
event plain CHANNEL_BRIDGE CUSTOM sofia::register sofai::unregister
6、myevents
7、divert_events
8、filter
filter <EventHeader> <ValueToFilter>
例如,下面的例子与myevent<uuid>的作用是相同的:
event plain all
filter Unique-ID <uuid>
又如,下面的例子会订阅所有的事件,但只接收匹配号码是1001的事件:
event plain all
event filter Caller-Caller-ID-name 1001
为了理解滤入的概念,可以看下面的例子以加深印象,它可以接收3个Channel事件:
event plain all
filter Unique-id uuid1
filter Unique-id uuid2
filter Unique-id uuid3
如果过滤器写错了,或不想使用某些过滤器了,则可以将其取消掉,如:
filter delete —— 取消所有的过滤器
filter delete Unique-ID uuid2 —— 仅取消与uuid2 相关的过滤器
9、nixevent 与 noevent
10、log
11、nolog
log的反义词,关闭使用log命令订阅的日志。
12、exit
告诉FreeSWITCH关闭Socket连接。FreeSWITCH收到该命令后会主动关闭 Socket 连接。
13、sendevent
当然,也可以使用它发送MESSAGE消息,如:
sendevent SEND_MESSAGE
profile: internal
user: 1002
host: 192.168.7.5
content-type: text/plain
content - length: 10
Hello 1002
上述命令将会产生如下的SIP消息:
标签:订阅,Socket,plain,Event,filter,命令,事件,event,CHANNEL From: https://www.cnblogs.com/kn-zheng/p/17025479.html