什么是SIP - 会话发起协议?
SIP(会话发起协议)是一种用于在2个或更多参与者之间建立"会话"、修改会话并最终终止会话的信令协议。它在IP电话领域得到了广泛应用。由于SIP是一个开放标准,因此在电话市场引起了巨大的兴趣,生产基于SIP的电话的制造商在这个领域看到了巨大的增长。
SIP协议是基于文本的,与HTTP协议有显著的相似之处。这些消息是基于文本的,请求-响应机制使故障排除变得更容易。实际的数据传输是通过传输控制协议(TCP)或用户数据报协议(UDP)在OSI模型的第5层完成的。会话描述协议(SDP)控制使用哪种协议。
SIP消息描述了通话参与者的身份,以及如何通过IP网络到达参与者。在SIP消息内部,我们有时也可以看到SDP声明。SDP(会话描述协议)将定义为会话建立的媒体通道类型 - 通常会声明可用的编解码器,以及媒体引擎如何通过IP网络相互访问。
一旦完成这些设置消息的交换,媒体就会使用另一个协议进行交换,通常是RTP(实时传输协议)。
SIP由IETF开发并发布为RFC 3261,其灵活性使其几乎完全取代了VoIP世界中的H.323协议。
SIP通话会话的示例是什么?
SIP呼叫是通过SIP中继或SIP通道传输语音通话的过程。SIP呼叫使用特定路由来连接各方。两部电话之间的SIP通话会话建立过程如下:
- 主叫电话发送INVITE请求。
- 被叫电话发回100 - Trying(尝试中)信息响应。
- 当被叫电话开始响铃时,发回180 - Ringing(响铃中)响应。
- 当被叫方接听电话时,被叫电话发送200 - OK响应。
- 主叫电话以ACK(确认)作为响应。
- 现在通过RTP传输实际的对话数据。
- 当主叫方挂断电话时,向被叫电话发送BYE请求。
- 被叫电话以200 - OK作为响应。
就是这么简单!SIP协议逻辑性强且非常容易理解。