VoLTE微课堂(7): SIP协议和IMS用户标识

祝晓阳
2021-03-30
来源:

前几讲的承载、QoS这些内容,实际上都是VoLTE语言业务的管道。从这一讲开始,我们就开始了解在这些承载之上的SIP信令和流程。本节首先了解一些IMS域的概念和消息。

  • IMS用户标识

类似于传统终端用户的IMSI和电话号码,IMS用户也包括两种用户标识,如下表:


英文

作用

格式

和传统号码的对应

用户私有标识

IM   Private Identity

全球唯一标识。用于用户接入IMS网络的注册、鉴权、认证和计费。

username@ims.mnc<MNC>.mcc<MCC>.3gppnetwork.org

没有专门的username时,username=imsi

类似于IMSI

用户公有标识

IM   Public Identity

用于和其他用户的通信, 相当于别名。

SIP格式相当于用户的SIP电话号码,用于和IMS用户进行互通;TEL格式相当于用户的传统电话号码,用于和现在的CS域互通。

SIP   URI格式:SIP:username@domain, 例如:xiaohong@chinamobile

TEL   URI格式:电话号码,例如13900011234

类似于MSISDN

IMPIIMPU的对应关系:

一对多:通常情况下,一个用户有一个IMPI,对应两个IMPU,一个是SIP格式IMPU,一个是TEL格式IMPU。相当于一机多号。

多对一:一个用户的多个终端设备共享相同的IMPU,相当于一号多机。

每一个IMPU有对应的签约数据中的service profile

  • SIP协议

SIP(Session Initiation Protocol)是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议IP电话或多媒体分发。

SIP协议栈为:

SIP

TCP/UDP

IP

链路层(以太网)

SIP协议是一个Client/Sever协议,因此SIP消息分两种:请求消息和响应消息。SIP 消息是基于文本的消息,消息构建方式类似于 HTTP

请求消息是SIP客户端为了激活特定操作而发给服务器端的消息。请求消息的起始行为请求行,请求行的格式由方法名(Method)、请求URLRequest-URI)和协议版本(SIP-Version)组成,各部分之间均用一个空格字符进行分隔。除此之外,请求行必须用回车换行(CRLF)字符表示行终结。

Request-Line = Method[ ] Request-URI [] SIP-Version CRLF

1、常用的SIP请求消息如下:

方法

应用场景

INVITE

表示主叫用户发起会话请求,邀请其他用户加入一个会话。也可以用在呼叫建立后用于更新会话(此时该INVITE又称为Re-invite

ACK

客户端向服务器端证实它已经收到了对INVITE请求的最终响应

BYE

表示终止一个已经建立的呼叫。

CANCEL

表示在收到对请求的最终响应之前取消该请求,对于已完成的请求则无影响。

REGISTER

表示客户端向SIP服务器端注册列在To字段中的地址信息

OPTIONS

表示查询被叫的相关信息和功能。

2Request URI:指示被邀请用户的当前地址,URI可以是siptel格式。

3、版本号用于定义协议的当前版本号,为SIP/2.0

SIP协议中的响应消息用于对请求消息进行响应,指示呼叫的成功或失败状态。

常用的一些响应消息:

1xx:临时应答-请求已经接收,正在处理这个请求。

2xx:成功处理-请求已经成功接收,并且正确处理了这个请求。

3xx:重定向-还需要附加的操作才能完成这个请求,本请求转发到其他的服务器上处理。

4xx:客户端错误--请求包含错误的格式或者不能在这个服务器上完成。

5xx:服务器错误-服务器不能正确的处理这个显然合法的请求。

6xx:全局错误-请求不能被任何服务器处理。


分享
下一篇:这是最后一篇
上一篇:这是第一篇