本人刚刚入门通信行业的测试,针对目前学习,了解的sip server分类做一些介绍,如果错误,请指正。
我正在学习sip呼叫流程,用3CX服务器抓到的包是这样的
用公司的sip server(简称A server)抓到的是这样的
对比发现,两台服务器对于invite和100trying的处理是不同的:3CX是先转发再响应,A server先响应再转发。起初以为这是由于服务器的不同处理机制导致的。后来了解服务器分为代理服务器和软交换功能的服务器之分。代理服务器对于请求会先转发再响应,过滤calID(会话标识符)会发现是一通电话,看上面的3CX其实是很像代理服务器的(实际并不是,后面讲);软交换功能比如A server,先响应再转发,过滤callID会发现是两通电话,即主叫和server是一通,被叫和server是另一通。
这样的话,前面的invite和100trying就说通了。但是!如果3CX仅是起到代理服务器的功能的话,那么后面的bye请求先响应再转发与之前分析的矛盾。后来请教大牛,告诉我过滤rtp包。发现3CX的rtp包是由主叫发送给被叫,没经过服务器。A server的rtp包主叫发