本文主要讲解了SIP代理服务器的常见内容,包括SIP注册、重新注册、SIP代理服务器以及使用SIP代理服务器的原因、SIP服务器的代理处理模式、代理服务器的四种状态模式以及典型的用户场景。如果你不感兴趣,你可以离开。当然还是希望通信行业的朋友可以了解一下。
01

SIP注册和重新注册
SIP注册需要通过位置服务器找到其具体地址信息,终端注册需要通过注册服务和位置查询服务找到其终端地址。
的具体注册流程如下图所示。当SIP终端开始注册时,它会向注册服务器发送当前地址和位置消息,然后注册服务器通过位置服务器更新其位置信息。
找到类似于LADP服务或微软目录服务的服务器。一旦终端消息被更新,其他用户可以通过其“广播”地址和绑定的解析IP地址联系该终端用户。当然,大多数情况下,注册服务也可以要求UA进行认证,需要发送用户名和密码进行验证。
需要提醒的是,经常使用B2BUA服务器或开源媒体服务器。在SIP注册中,用户只看到一个服务器进行注册。实际上,注册服务和位置服务可以相互独立,注册服务器和位置服务器也可以是同一个服务器。
在8.1.1.8和RFC3261的10-1中,接触的官方定义非常具体。位置是指其具体IP地址的位置,联系人是具体通信的地址。
UA发起注册时,除了知道终端的具体IP地址,UA注册的另一个目的是获取其功能支持能力类型。注册时,UA还会告知注册服务其终端支持的功能类型,如是否只支持语音不支持视频,是否支持必要的方法和语言等。
一般来说,物理SIP电话移动的可能性不大。在内部网环境中,它的地址不会经常改变。但是,如果同一个SIP帐户支持多帐户注册或物理电话被停用,SIP帐户的IP地址也可能迁移。
在许多SIP操作场景中,如果用户在笔记本电脑或移动应用程序上发送地址更改,则需要重新注册SIP帐户。通过查询位置服务器,用户可以重新注册以找到他的新IP地址。因此,重新注册SIP帐户也是一种非常常见的SIP注册场景。
02
SIP代理服务器
在一般的企业通信环境中,用户经常使用B2BUA代理服务器,如IPPBX/UCXINGONE电话交换机。这些产品可以支持用户实际可以操作的典型业务场景,如IVR、呼叫排队、呼叫管理、总召回等。
SIP代理服务器对于一般用户来说,它本身并不支持呼叫的媒体服务功能,用户对SIP代理服务器也比较陌生。然而,SIP代理服务器在整个SIP网络中起着非常重要的作用。根据RFC3261-16中对代理的定义,SIP代理服务器的主要工作是找到SIP请求需要与之通信的SIP服务器的地址,并将请求转发或将SIP请求转发给下一个SIP服务器。它将解析SIP请求消息,并在转发之前根据需要重写SIP请求。它可以触发请求和响应消息,并影响SIP客户端和服务器的工作流。
从上面的概念我们知道,SIP代理服务器的工作模式其实很抽象,概念越抽象,在部署和使用上就越灵活。为了处理SIP请求,SIP代理服务器必须根据请求处理SIP状态。SIP代理服务器可以设置为支持有状态代理服务器和无状态代理服务器,SIP代理服务器可以以分叉的方式处理传入的SIP请求,并调用SIP的多重注册位置地址。因此,为了充分理解代理服务器的功能,有必要掌握SIP代理服务器的四个基本概念:
状态代理
SIP请求通过SIP状态代理,SIP代理将记住SIP传入请求和SIP传出请求。
无状态代理

SIP请求通过无状态代理后,一旦无状态代理生成SIP出站请求,无状态代理将丢弃所有消息记录。
对话状态和事务状态代理
这两个SIP代理是在状态代理的基础上部署的基于更详细应用场景的代理模型,在对话和事务级别处理SIP会话和事务状态。其目的和对服务器的处理能力不同,事务代理消耗的系统资源相对较少。
各种SIP状态代理的典型应用场景对比如下:
从上面的定义我们可以知道,有状态代理可以通过保存的消息做更多的业务处理,包括计费、重新发起呼叫、重新路由呼叫等功能。
由于无状态代理在生成SIP呼出请求后会丢弃SIP消息,其业务功能支持非常有限,目前市场上几乎看不到SIP无状态代理的应用。
基于以上描述,由于它在转发后不会保留任何SIP请求,所以在性能支持方面,当然无状态代理会支持更多的SIP调用。
此外,根据RFC3261-16-1,由于有状态SIP代理服务器可以始终保持其SIP请求状态消息,因此在处理SIP请求的过程中,如果需要,可以随时从有状态代理模式切换到无状态代理SIP服务器状态。相反,RFC3261中没有解释切换过程。在具体的应用场景中,代理服务器可能会从无状态代理切换到有状态代理,例如在opensips的实现中。
根据前面的内容,两个UAs可以直接通过IP呼叫,不需要经过SIP代理服务器。但是,那种操作在实际业务场景中,尤其是在大型应用场景中,并没有太大的意义。当用户部署大量SIP终端时,他们需要各种管理机制来控制他们的终端,并帮助他们实现部署和高可靠性。因此,SIP代理服务器是非常必要的。
下图举例说明了SIP代理服务器在DHCP服务器的帮助下处理一些进程,设置自动部署或者在代理失败后通过Option由DHCP注册其他服务器的过程示例。DHCP服务器可以通过DNS或IP地址格式将其可选的SIP代理服务器地址发送给终端。
03.SIP服务器拓扑实现模式
关于SIP代理服务器调用的过程:
04.默认代理和重新传输模式
根据不同的呼叫需求,SIP代理服务器可以实现不同的工作模式。不同的工作模式有不同的处理SIP消息的方式,这也影响了SIP服务器的负载和性能。具体来说,SIP代理服务器可以支持两种工作模式,一种是默认代理工作模式,一种是转发代理工作模式。
在上述默认的SIP代理模式下,正常的UA呼叫需要经过大约九个步骤,所有的SIP消息都需要代理处理。
在代理转发模式的场景下,SIP代理服务器查询定位后返回一个联系地址给主叫,主叫根据该联系地址重新向主叫目的终端发起邀请请求。通过双方UA终端之间的交互,双方随后发送媒体流数据。
其实这种模式也是一种无状态代理模式。显然,在高并发环境下,代理转发模式的SIP代理服务器承担的处理流量相对较少,其负载也减轻了不少。通过SIP转发代理模式,可以实现SIP在高并发呼叫中的负载均衡。

从上面基于SIP转发服务器的处理流程可以看出,获得用户联系后,转发服务器不再介入任何呼叫流程,两个ua协商并最终实现媒体流通信。因此,SIP转发服务器不承担太多的处理流程,不需要太多的系统资源。
当然,这两个代理模式过程是基于一般的正常呼叫设置环境的。如果其他配置没有设置成功,或者终端之间的协商出现问题,比如编码不支持,转发设置不支持等。,呼叫仍然需要更多的进程来协助处理。,
摘要
本节主要介绍SIP代理的基本组成,使用SIP代理服务器的原因,默认SIP代理服务器的九个步骤,SIP转发代理服务器的九个步骤的工作模式,以及状态代理的各种模式和应用场景。
注册服务器在呼叫中心的应用


