通过 Asterisk SIP 服务器拨打电话时,服务器将为每个媒体通道打开 2 个端口:
- 2 个用于呼叫支路 1 视频的端口
- 2 个用于呼叫支路 2 视频的端口
- 2 个用于呼叫支路 1 音频的端口
- 2 个用于呼叫支路 2 音频的端口
既然 Asterisk 的媒体通信是双向的,为什么它需要 4 个端口(2 个视频,2 个音频)用于每个呼叫段而不是 2 个(1 个视频,1 个音频)?它确实只使用一个端口在特定分支中进行通信,但netstat
很明显有两个端口打开,第二个打开的端口(所谓的“未使用”端口)总是从使用的端口+1。例如,呼叫支路 1 的视频端口是 17744,但它也打开了一个端口 17745。
Wireshark本地流量分析:
Asterisk 服务器上的 netstat 分析:
从上面可以看出(部分地,我没有包括另一个呼叫分支的 Wireshark - 为简洁起见)相同的问题适用于所有呼叫分支的音频和视频端口,因此每个呼叫有四个案例.
那么:为什么每个通信路径在服务器上都有一个额外的端口?
asterisk 在其媒体通信中不是真正的双向,只是将流量从一个端口转发到另一个端口?
另外,这是 Asterisk 中的常见行为,还是我的配置中有一些会影响这一点的东西?