专注SIP通讯产品与方案

SIP实现机制

        SIP是一个分层结构的协议,这意味着它的行为根据一组平等独立的处理阶段来描述,每 一阶段之间只是松耦合。协议分层描述是为了允许功能的描述可在一个部分跨越几个元素, 它不指定任何方式的实现。通常所说的某元素包含某层是指它顺从该层定义的规则集。
        不是协议规定的每个元素都包含各层。而且,由SIP规定的元素是逻辑元素,不是物理元 素。一个物理实现可以选择作为不同的逻辑元素,甚至可能在一个个事务的基础上。SIP的最 低层是语法和编码。它的编码使用增强BNF形式语法来规定。
        第二层是传输层。它定义了网络上一个客户机如何发送请求和接收响应,以及一个服务 器如何接收请求和发送响应。所有的SIP元素都包含传输层。
        第三层是事务层。事务是SIP的基本元素。一个事务是由客户机事务发送给服务器事务的 请求(使用传输层),以及对应该请求的从服务器事务发送回客户机的所有响应组成。事务层 处理应用层重传,匹配响应到请求,以及应用层超时。事务层具有客户机组成部分(称为客 户机事务)和服务器组成部分(称为服务器事务),每个代表有限的状态机,它被构造来处理 特定的请求。
        事务层之上的层称为事务用户(TU)。每个SIP实体,除了无状态代理,都是事务用户。 当一个TU希望发送请求,它将生成一个客户机事务实例并且向TU传递请求和IP地址、端 口和用来发送请求的传输机制。一个TU既生成客户机事务也能够删除它。当客户机取消一个 事务时,它请求服务器停止进一步的处理,将状态恢复到事务初始化之前,并且生成特定的 错误响应到该事务。这由CANCEL请求完成。
        SIP通过E-mail形式的地址来标明用户地址。每一用户通过URL来标识,它通过诸如用 户电话号码或主机名等元素来构造(例如:SIP:user@company.com) □因为它与E-mail地址的 相似性,SIP URL容易与用户的E-mail地址关联。
        SIP提供它自己的可靠性机制从而独立于分组层,并且只需要不可靠的数据包服务即可。 SIP可典型地用于UDP或TCP之上。
SIP提供必要的协议机制以保证终端系统和代理服务器提供以下业务:
•用户定位;
•用户能力;
•用户可用性;
•呼叫建立;
•呼叫处理;
•呼叫前转,包括等效800类型的呼叫、无应答呼叫前转、遇忙呼叫前转、无条件呼叫 前转;
•呼叫号码传递,该号码可以是任何命名机制;
•个人移动性,例如,通过一个单一的、位置无关的地址来到达被呼叫方,即使被呼叫 方改变终端;
• 终端类型的协商和选择。呼叫者可以给出选择如何到达对方,例如,通过Internet电 话、移动电话或应答业务等;
•终端能力协商;
•呼叫者和被呼叫者鉴权;
•不知情和指导式的呼叫转移
•多播会议的邀请.

        当一用户希望呼叫另一用户,呼叫者用INVITE请求初始呼叫,请求包含足够的信息用以 被呼叫方参与会话。如果客户机知道另一方的位置,则它能够直接将请求发送到另一方的IP 地址。如果不知道,客户机将请求发送到本地配置的SIP网络服务器。如果服务器是代理服务 器,则它将解析被呼叫用户的位置并且将请求发送给它们。可以通过很多方法完成上步,例 如,搜索DNS或访问数据库。服务器也可以重定向服务器,它可以返回被呼叫用户的位置到 呼叫客户机,以便直接与用户联系。在定位用户的过程中,SIP网络服务器当然能够代理或重 定向呼叫到其他的服务器,直到到达一个明确的知道被呼叫用户IP地址的服务器。
        一旦发现用户地址,请求就发送给该用户,此时将产生几种选择。在最简单的情况下, 用户电话客户机接收请求,也就是用户的电话振铃。如果用户接受呼叫,则客户机用客户机 软件的指定能力响应请求并且建立连接。如果用户拒绝呼叫,则会话将被重定向到语音邮箱 服务器或另一用户。“指定能力”参照用户想启用的功能。例如,客户机软件可以支持视频会 议,但用户只想使用音频会议,则只会启用音频功能。
        SIP还具有另外两个有重要意义的特征。第一个特征是有状态SIP代理服务器具有分割入 呼叫或复制入呼叫的能力,从而可以同时运行几个扩展分支。第一个应答的分支接受呼叫。 该特征在用户工作在两个位置之间(例如,实验室和办公室)或者同时对经理和其秘书振铃 时是非常便利的。
第二个特征是SIP独特的返回不同媒体类型的能力。例如,当SIP服务器接收到客户机的 连接请求时,它能够通过Web交互式语音响应页面来提供列表上的用户。单击适当的链接后 将发送一请求到所选择的新用户,从而建立起呼叫。