我正在开发一个基于 Asterisk(最流行的开源 PBX 解决方案)的电话解决方案,我使用 AMI 协议将我的逻辑注入到它的拨号计划中,并使用 AGI 监听 Asterisk 的事件。
现在我需要在我的应用程序中管理参与转移(而不是盲转移),为此,我确实需要在某处以文本格式记录 AMI 和 AGI 的流量,以便我可以看到后面发生了什么场景。
我想到了 WireShark,因为它是目前最强大的流量捕获工具,但我无法让它发挥作用。我不知道要捕获哪个端口(AMI 在星号端的端口 5038 上工作,但我需要在我的 C# 应用程序服务器中使用 WireShark,而且我不知道这端哪个端口忙)。我无法创建过滤器来捕获仅与 Asterisk 相关的事件。
我也不知道如何使 WireShark 以文本格式记录流量,而不是显示那些根本不可读的二进制数据(可能是十六进制数据)。
我知道 AMI 协议非常简单,就像 HTTP 一样,它是一个基于文本的消息传递协议。因此,我想我应该能够看到它的文本日志。
有人对此有任何想法吗?