SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提 出的VoIP信令协议。正如其名字所隐含的,SIP用于发起会话,它能控制多个参与者参加的多 媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。
SIP在设计上充分考虑了对其他协议的扩展适应性。它支持许多种地址描述和寻址,包括: 用户名@主机地址、被叫号码@PSTN网关地址和如Tel:025-3478888这样普通电话号码的描述 等。这样,SIP主叫按照被叫地址,就可以识别出被叫是否在传统电话网上,然后通过一个与传 统电话网相连的网关向被叫发起并建立呼叫。SIP的最强大之处就是用户定位功能。SIP本身含有 向注册服务器注册的功能,也可以利用其他定位服务器如DNS、LDAP等提供的定位服务器来增强 其定位功能。
SIP中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连接的应 用程序。用户代理(User Agent)和代理(Proxy)中含有客户机。服务器是用于向客户机发来 的请求提供服务并回送应答的应用程序。共有4类基本服务器:
◆ 用户代理服务器:当接到SIP请求时联系用户,并代表用户返回响应。
◆ 代理服务器:代表其他客户机发起请求,既充当服务器又充当客户机的媒介程序。它在 转发请求之前可能改写原请求消息中的内容。
◆ 重走向服务器:接收SIP请求,把请求中的原地址映射成零个或多个新地址,返回给客户 机。
◆ 注册服务器:接收客户机的注册请求,完成用户地址的注册。
用户终端程序往往需要包括用户代理客户机和用户代理服务器。代理服务器、重定向服务器 和注册服务器可以看作是公众性的网络服务器。在SIP中还经常提到"定位服务器"的概念,但 是定位服务器不属于SIP服务器。SIP服务器请求定位服务的方式也不在SIP的讨论范围之内。
SIP独立于低层协议,一般使用UDP等无连接的协议,而采用自己的应用层可靠性机制来保证 消息的可靠传输。