SIP通话时,语音数据流经SIP服务器吗?
使用SIP进行通话时,比如服务器使用asterisk,终端使用android中的SIP客户端软件。那么我想问一下,在通话过程中,下面两种说法哪种是正确的?
① 语音数据直接由终端A到终端B,不流经到服务器,服务器的作用仅仅是建立连接和维护连接,不负责转发语音数据
② 语音数据由终端A发送给SIP服务器,SIP服务器再转发给终端B
本人新手,还望各位高手释疑。
[解决办法]
我用的SIP服务器不是asterisk,但是在SIP服务器里面应该可以设置两种方式的。应该说这两种都可以用
[解决办法]
按照SIP协议来讲,信令流式一定要流经服务器,但媒体流是可以不经过服务器的,而且一般情况下都不会,至少我没看到过媒体流也走服务器的,不知道楼上讲的是哪种服务器,这种需要终端支持的,媒体流是协商后的媒体连接信息(通常是SDP)控制的,除非服务器有强大的转发功能和性能或者需要特殊控制,而且能保证通话才行。
[解决办法]
asterisk好像是经服务器转发的,你可以查一下数据包
[解决办法]
从逻辑上讲,语音流是不过sip服务器的。但是asterisk不仅仅是一个sip服务器,是一个可以自定义IVR的PBX,PBX一般都是转发语音的,所以asterisk也转发语音。纯粹的sip服务器是不处理语音的。
[解决办法]
1说法是正确的,SIP服务器仅负责流媒体数据协议的协商和通道的建立,不负责转发流媒体数据
[解决办法]
在OCS和LYNC下,如果只是双方通话,不存在会议,媒体流不经过SERVER。如果是创建并加入会议的通话,媒体流由SERVER进行转发。
其他SERVER应该类似。
[解决办法]
语音流不应该经过SIP服务器的,确定一定肯定!