SIP协议和相关网元

在VOLTE和VONR等多媒体业务中,SIP仅涉及媒体通信会话的信令操作;主要用于建立和终止语音或视频呼叫。SIP可用于建立两方(单播)或多方(多播)会话,它还允许修改现有资源的调用,修改可能涉及更改地址或端口、邀请更多参与者以及添加或删除媒体流。SIP还在消息传递应用程序中找到了应用,例如即时消息传递以及事件订阅和通知。

SIP与指定媒体格式和编码并在呼叫建立后承载媒体的其他几个协议一起工作。对于呼叫建立SIP消息的主体包含一个会话描述协议(SDP) 数据单元,它指定媒体格式、编解码器和媒体通信协议。语音和视频媒体流通常使用实时传输协议(RTP)或安全实时传输协议(SRTP)在终端之间传输。

SIP相关网络中每个资源,如用户代理、呼叫路由器和语音信箱,都由统一资源标识符(URI)标识。URI的语法遵循Web服务和电子邮件中也使用的通用标准语法。用于SIP的URI方案是sip,典型的SIP URI的格式为 sip:username@domainname或sip:username@hostport,其中domainname 需要DNS SRV记录来定位SIP域的服务器,而hostport可以是IP地址或主机和端口的完全限定域名。如果需要安全传输,则使用方案Sips。

SIP采用类似于HTTP请求和响应事务模型的设计元素。每个事务由调用服务器上特定方法或功能的客户端请求和至少一个响应组成。SIP重用了HTTP的大部分头部字段、编码规则和状态码,提供了一种可读的基于文本的格式。

协议和端口

SIP可以由多种传输层协议承载,包括传输控制协议(TCP)、用户数据报协议 (UDP)和流控制传输协议(SCTP)。SIP客户端通常在端口号5060或5061上使用TCP或UDP传输到服务器和其他端点的SIP流量。端口5060通常用于未加密的信令流量,而端口5061通常用于使用传输层安全(TLS) 加密的流量。

基于SIP的电话网络之前通过七号信令系统(SS7)的呼叫处理,其使用特殊SIP协议扩展,尽管这两种协议本身非常不同。SS7是一种集中式协议,其特点是复杂的中央网络架构和哑端点(传统电话手机)。SIP是等效对等点的客户端-服务器协议。在4G和5G网络中SIP功能在通信端点中实现,而传统的SS7架构仅在交换中心之间使用。

网络单元

会话发起协议进行通信的网络元素称为SIP用户代理。每个用户代理(UA)在请求服务功能时执行用户代理客户端(UAC)的功能,在响应请求时执行用户代理服务器 (UAS)的功能。因此,原则上任何两个SIP端点都可以在没有任何介入的SIP基础设施的情况下运行。出于网络运营的原因为了向用户提供公共服务以及目录服务,SIP定义了几种特定类型的网络服务器元素。这些服务元素中的每一个也在用户代理客户端和服务器中实现的客户端-服务器模型中进行通信。

用户代理

用户代理是发送或接收SIP消息并管理SIP会话的逻辑网络端点。用户代理具有客户端和服务器组件。用户代理客户端(UAC)发送SIP请求。用户代理服务器(UAS)接收请求并返回SIP响应。与其他固定客户端和服务器角色的网络协议不同,例如在HTTP中Web浏览器仅充当客户端,而从不充当服务器,SIP需要两个对等方来实现这两个角色。UAC和UAS的角色仅在SIP事务期间持续。

代理服务器

代理服务器是具有UAC和UAS组件的网络服务器,它充当中间实体,以代表其他网络元素执行请求。代理服务器主要起到呼叫路由的作用;它将SIP请求发送到更接近其目的地的另一个实体。代理也可用于执行策略如确定是否允许用户拨打电话。代理在转发请求消息之前解释并在必要时重写请求消息的特定部分。将消息路由到多个目的地的SIP代理服务器称为分叉代理。SIP请求的分叉从单个请求建立多个对话。因此,可以从多个SIP端点之一应答呼叫。为了识别多个对话,每个对话都有一个标识符,其中包含来自两个端点的贡献。

重定向服务器

重定向服务器是一个用户代理服务器,它对接收到的请求生成3xx(重定向)响应,指导客户端联系一组备用URI。重定向服务器允许代理服务器将SIP会话邀请定向到外部域。

注册商

SIP用户代理注册到带有身份验证的SIP注册器。注册器是提供位置服务的SIP端点。它接受注册请求,记录来自用户代理的地址和其他参数。对于后续请求,它提供了一种在网络上定位可能的通信对等方的基本方法。位置服务将一个或多个IP地址链接到注册代理的SIP URI。多个用户代理可以注册同一个URI,结果所有注册的用户代理都会收到对该URI的调用。SIP注册器是逻辑元素,通常与SIP代理位于同一位置。为了提高网络的可扩展性,位置服务可以改为使用重定向服务器来定位。

会话边界控制器

多媒体会话网络中通常采用背靠背用户代理建立会话方式。其中会话边界控制器(SBC)充当用户代理和SIP服务器之间的中间盒,用于各种类型的功能,包括网络拓扑隐藏和NAT穿越辅助。SBC是独立设计的解决方案。

网关

网关用于将SIP网络与使用不同协议或技术的其他网络(如PSTN)互连。

SIP消息

SIP是一种基于文本协议,其语法类似于HTTP。有两种不同类型SIP消息:请求和响应。请求的第一行有一个方法,定义了请求的性质;还有一个Request-URI,指示应该将请求发送到哪里。而响应的第一行有一个响应代码。

SIP消息要求

请求启动协议的功能。它们由用户代理客户端发送到服务器并以一个或多个 SIP响应进行回答,该响应返回事务的结果代码,通常指示事务的成功、失败或其他状态。

*文中主要内容来自维基百科