在提到IP语音时,许多人都至少听说过H.323协议。会话初始化协议(Session Initialization Protocol,SIP)与H.323协议相比,该协议不比它好也不比它差,只是有些不同。
SIP是Internet工程任务组(IETF)提出的建议中的一项协议,其目的是为了替代H.323的部分协议。由于H.323是一个协议集,因此SIP是几个共同完成呼叫任务的服务协议中的一个协议。 SIP是一种应用层控制与信令协议,用于创建、修改和结束与一个或多个参与者的会话。这些会话可以包括Internet多媒体会议、远程学习、Internet电话呼叫以及多媒体发布。SIP可以邀请人以及诸如媒体存储服务这类“机器人”来参与一次呼叫。
该协议可以用于初始化会话,邀请成员参与其它方式发起的会话或利用多点控制单元来初始化多方呼叫。SIP透明地支持名字映射和重定向服务,因而可以实现像个人移动性这类ISDN和智能网络电话用户服务。
该协议不提供会议控制服务,也没对如何管理会议做出规定。SIP不分配多播地址,也不保留资源,但它可以向被邀请的系统发送完成这种功能的必要信息。 SIP支持建立和结束多媒体通信的五个方面:用户定位、功能与可用性、呼叫建立以及呼叫处理。
呼叫者和呼叫接收者通过SIP地址来区别。呼叫者首先定位合适的服务器,然后再发送SIP请求。在完善的条件下,SIP请求到达目的地后,目的地客户机通过返回SIP响应代码来接收呼叫。与其它TCP/IP回答代码相同,以“2”起头的响应代码表示“好”。然后呼叫发出者向接收者发送确认信息。由于呼叫初始站也要发送确认信息,因此这点有些特殊。SIP可以利用多播、单播关系网或多播与单播相结合进行通信。
SIP面对的对象是由SIP URL确定的主机用户。URL用户部分为用户名或电话号码,主机部分为域名或IP地址。
SIP使用多台服务器,每台服务器都有自己的任务。这些服务器包括用户代理服务器、代理服务器、重定向服务器以及注册服务器。此外还有一种被定位服务器的应用,它执行定位服务,该服务器可以和SIP服务器放在一起。
SIP事务由SIP请求和相应的响应组成。为了使请求与对它的响应相对应,请求和响应信息中含有几种包含不同值的域。这些域包括呼叫ID域、命令序列号、目的域、起始域以及标记(如果有的话)。可以看出,来往方向上的目的域与起始域是相同的,尽管这比较少见,但并不是没听说过,在高级数据链路控制(HDLC)中也使用这种方式。当用户使用协议分析器查找网络异常现象时,它将有助于问题的解决。
呼叫请求要求被呼叫者加入一个会议呼叫或建立一次双方呼叫,该呼叫包括列举媒体类型和格式的会话说明。如果被呼叫者同意的话,呼叫者发出一个确认信息并返回一个列举它所希望使用的媒体的说明。
IETF认为H.323不能很好地进行扩展,因此,为了进一步简化,IETF制定了SIP和相关协议。