VOLTE网络中SIP消息的registration-token参数

在VOLTE网络中,通信业务标识(Feature-Capability Indicator,或者字面翻译成“特性能力指示符”)是经常出现在SIP Header中的一个参数,其取值和说明可参见3GPP TS 24.237。这里简要介绍其中之一的g.3gpp.registration-token(在SIP Header的Contact域出现时也被称作media feature tag[媒体特性标签])的一些使用场景。以下英文描述摘自3GPP TS 24.229:

1) g.3gpp.registration-token令牌值是由服务呼叫会话控制功能S-CSCF所产生的:

 <if the S-CSCF supports using a token to identify the registration for initial registration and user initiated reregistration, a "+g.3gpp.registration-token" Contact header field parameter, as defined in subclause 7.9.7, set to a value identifying this registration among the set of registrations for the registered URI. The value shall be the same until the UE is deregistered.>

 <If a Contact header field is included in the REGISTER request including a "+g.3gpp.registration-token" header field parameter as defined in subclause 7.9.7, the AS supporting this feature shall store the value of the "+g.3gpp.registration-token" header field parameter.>

 S-CSCF如果支持用令牌token来识别IMS初始注册的功能,就会在第三方注册请求(REGISTER)中包含此媒体特性标签(即Contact域中),以表明支持这一特性。并且其值是一个唯一值,用于在已注册 URI 的一组注册信息当中识别此次注册。在UE去注册之前,这个值一直保持不变。令牌相对每个URI都是唯一的,而不同用户的不同URI可以具有相同的令牌值。

支持此特性的应用服务器(AS)会保存token值,后续可以使用该令牌值来识别所使用的注册信息。 S-CSCF会在后续的初始请求(如Invite)和响应中包含一个具有相同值的令牌。 

例:VOLTE用户进行第三方(the third-party)注册时,S-CSCF发往AS的REGISTER消息里: 

Contact: <sip:scscf1.east.com:5060>;+g.3gpp.registration-token="<d25ebaef>"

 

2) g.3gpp.registration-token令牌值在S-CSCF和AS间的交互:

<if the S-CSCF supports using a token to identify the registration and if a registration exists, insert a "+g.3gpp.registration-token" Feature-Caps header field parameter, as defined in subclause 7.9A.8, set to the same value as included in the "+g.3gpp.registration-token" Contact header field parameter of the third party REGISTER request sent to the AS when the UE registered;>

 <This feature-capability indicator can be included in an originating initial request for a dialog or a request for a standalone transaction to identify which registration was used for this request by setting the indicator to the same value as in the g.3gpp.registration-token media feature tag in the Contact header field of the REGISTER request.>

S-CSCF在对话发起(即主叫端)的初始请求(如Invite)消息中,或者独立事务的请求中,添加一个Feature-Caps域,将其中的g.3gpp.registration-token值设置为与注册(REGISTER)请求的 “Contact” 域中的 “g.3gpp.registration-token” 相同的值,送往AS,以此来识别此请求使用了哪项注册信息。

 (Note: 上图是在主叫S-CSCF发往AS的INVITE消息中;同样VOLTE中SCC AS和MMTEL AS返回到主叫S-CSCF的INVITE消息中也包含了相同的registration-token。)

 

<This feature-capability indicator can be included in 1xx or 2xx response to a terminating initial request for a dialog or a 2xx response to a request for a standalone transaction to identify which registration was used for the response by setting the indicator to the same value as in the g.3gpp.registration-token media feature tag in the Contact header field of the REGISTER request.>

 “g.3gpp.registration-token”也可包含在对被叫端的初始请求作出的 1xx 或 2xx 响应中,或者对独立事务请求作出的 2xx 响应中。 如下图所示:

被叫端S-CSCF发往MMTEL AS的183 Session Progress,180 Ring,和200 OK(Invite)等响应消息中都有被叫用户REGISTER时产生的token值:

Feature Cap: g.3gpp.registration-token="<f534b81c>"

 

3)NOTIFY消息的“reg” event包中也会包含registratio-id: 

The S-CSCF can set this token to the same value as used in the "id" parameter identifying the contact in the "reg" event package, allowing the AS to retrieve the value from the "reg" event package. The AS can know by configuration or other means if the S-CSCF uses this value. 

 上图中的contact id “51f54c75”就是REGISTER时S-CSCF产生的registration-token值。

 

4)实际应用中,registration-token可能还会出现在<Record-Route>和<Route>域中。

posted @ 2024-12-18 18:09  bjtime  阅读(59)  评论(0)    收藏  举报