cd /usr/src/freeswitch/libs/esl
make
ls -la testserver
-rwxr-xr-x 1 root root 218872 Mar 31 12:55 testserver
./testserver
telnet -i any port port 8040 -w esl.pcap
dialplan 配置如下:
<extension name="echo">
<condition field="destination_number" expression="^9196$">
<action application="socket" data="127.0.0.1:8040 sync full"/>
</condition>
</extension>
eyebeam 注册,再呼叫 9196
testserver 输出很多:
DEBUG] esl.c:1495 esl_send() SEND
connect
[DEBUG] esl.c:1303 esl_recv_event() RECV HEADER [Event-Name] = [CHANNEL_DATA]
[DEBUG] esl.c:1303 esl_recv_event() RECV HEADER [Core-UUID] = [e4067638-9078-4628-bfdd-68f8c57023ac]
[DEBUG] esl.c:1303 esl_recv_event() RECV HEADER [FreeSWITCH-Hostname] = [my-debian12]
[DEBUG] esl.c:1303 esl_recv_event() RECV HEADER [FreeSWITCH-Switchname] = [my-debian12]
...
eyebeam 挂机,同时结束 tcpdump
用 wireshark 打开 esl.pcap
wireshark 菜单, 分析,追踪流,TCP stream, 能看到这样:
蓝色部分是 testserver 发给 Fs
红色部分是 Fs 发给 testserver
用这个跟 Fs 官网对照着看,是不是就明白很多了
https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Modules/mod_event_socket_1048924/