SIP协议虽然主要为IP设计的,但是它并不关心承载网络,也可以在ATM、帧中继等承载网络工作。它是应用层协议,可以运行在UDP、TCP、SCTP等传输层之上。
SIP用户是通过类似与EMAIL地址的URL表示,例如myname@my.com,通过这种方式可以用一个统一名字标识不同的终端和通信方式,为网络服务和用户使用提供充分的灵活性。
按照逻辑功能划分,可分为四个方面:
1、用户代理(User Agent, UA)
用户代理可分为两个部分:
(1)客户端(User Agent Client, UAC),它的作用是负责发起呼叫;
(2)服务端(User Agent Server, UAS),负责接受呼叫并进行响应;
上面二者组成了用户代理,存在于用户代理终端中,用户代理按照是否保存状态可分为状态代理、有部分状态用户代理和无状态用户代理。
2、代理服务器(Proxy Server, PS)
负责接收用户代理发来的请求,根据网络策略将请求发给相应的服务器,并根据收到的应答对用作出响应,它可以根据需要队收到的消息改写后再发出。
3、重定向服务器(Redirect Server, RS)
用于在需要时将用户新的位置返回给呼叫方,呼叫方可根据得到的新位置重新呼叫。
4、注册服务器(Registrar)
用于接收和处理用户端的注册请求,完成用户地址的注册。
以上几种服务器可共存在一个设备,也可以分布在不同的物理实体中。SIP服务器完全是纯软件实现,可以根据需要运行于各种工作站或专用设备中。
UAC、UAS、PS、RS是在一个具体呼叫事件中扮演不同的橘色,而这样的角色不是固定不变的。一个用户终端在会话建立过程时扮演UAS,而在主动发起查处链接时,则扮演UAC, 一个服务器在正常呼叫时扮演PS,而如果其所管理的用户移动到了别处,或者网络对被叫地址有特别的策略,则它将扮演RS,告诉呼叫发起者该用户新的位置。