RCS自動(dòng)(AUTO)配置是一種物理機(jī)制。通過(guò)這種機(jī)制UE可從遠(yuǎn)程服務(wù)器檢索到RCS配置,并為自身進(jìn)行RCS配置。RCS配置高度依賴于UE的RCS協(xié)議棧應(yīng)用和網(wǎng)絡(luò)的需求。
早期大多數(shù)UE提供了一個(gè)特殊的GUI,也可以通過(guò)手工配置RCS功能或加載一個(gè)特殊的配置文件給UE。
隨著RCS技術(shù)逐漸成熟和網(wǎng)絡(luò)運(yùn)營(yíng)商開始在網(wǎng)絡(luò)中開始部署RCS。
1.RCS自動(dòng)配置流程
RCS的自動(dòng)配置協(xié)議非常簡(jiǎn)單。如下圖所示:通過(guò)HTTP (Non-Secured protocol) and HTTPS (Secured Protocol)將UE自動(dòng)配置到核心網(wǎng)某個(gè)服務(wù)器。自動(dòng)配置可分為4個(gè)步驟進(jìn)行(協(xié)商)配置。其中:第一步和第二步只是檢查服務(wù)器是否可用。真正配置只需要第三步和第四步。
2.RCS自動(dòng)配置要點(diǎn)
盡管自動(dòng)配置(中協(xié)商)只有簡(jiǎn)單四步,但這個(gè)過(guò)程中捕獲的日志看起來(lái)非常復(fù)雜。其主要問(wèn)題是由于TCP協(xié)商過(guò)程中HTTP建立和拆除。在下面屏幕截圖中,步驟(3)/(4)需要TLS/SSL 設(shè)置過(guò)程;如果采用自動(dòng)配置,其將更加復(fù)雜,這是因?yàn)楸仨氃诰W(wǎng)絡(luò)(或測(cè)試設(shè)備)和終端UE(DUT)上配置所有認(rèn)證參數(shù)。
通過(guò)上面消息,不易分辨出哪些消息是用于自動(dòng)配置,哪些消息只是用于管理過(guò)程。要了解期間的詳細(xì)內(nèi)容,需解密SSL編碼消息(請(qǐng)參閱 wireshark protocol-ssl 部分)。從這些消息中可找出用于自動(dòng)配置過(guò)程的內(nèi)容,如下所示。
3.RCS自動(dòng)配置關(guān)鍵內(nèi)容
3.1(1) HTTP GET Request
GET / HTTP/1.1
Cache-Control: max-age=0
Host: config.rcs.mnc001.mcc001.pub.3gppnetwork.org
User-Agent: 3gpp-gba
Connection: Keep-Alive
Accept-Language: en-US
3.2(2) HTTP 200 OK
HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/html
Expires: Mon, 07 Nov 2016 04:05:20 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Set-Cookie: PHPSESSID=dv+z7IckAiXiBX+aFEJh+g==; path=/
X-Powered-By: ASP.NET
Date: Mon, 07 Nov 2016 05:05:20 GMT
3.3(3) HTTPS GET
GET /?IMEI=353756074161860
&terminal_vendor=testVendor
&rcs_version=5.1B
&terminal_model=SM-N920T
&client_version=RCSAndr-5.0
&IMSI=001001123456789
&terminal_sw_version=N920TUVS2COKC
&client_vendor=SEC
&vers=20160401
&rcs_profile=joyn_blackbird HTTP/1.1
Cookie: PHPSESSID=dv+z7IckAiXiBX+aFEJh+g==; path=/
Cache-Control: max-age=0
Host: config.rcs.mnc001.mcc001.pub.3gppnetwork.org
User-Agent: IM-client/OMA1.0 testVendor/SM-N920T-OKC testVendor-RCS/5.0 3gpp-gba
Connection: Keep-Alive
Accept-Language: en-US
3.4(4) HTTPS 200 OK
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 07 Nov 2016 05:05:20 GMT
Content-Length: 8687
<?xml version="1.0" encoding="utf-8"?>
<wap-provisioningdoc version="1.1">
<characteristic type="VERS">
<parm name="version" value="20160401" />
<parm name="validity" value="300" />
</characteristic>
<characteristic type="APPLICATION">
<parm name="AppID" value="ap2001" />
<parm name="Name" value="IMS Settings" />
<parm name="AppRef" value="ims" />
<characteristic type="ConRefs">
<parm name="ConRef" value="0" />
</characteristic>
<parm name="PDP_ContextOperPref" value="0" />
<parm name="Timer_T1" value="500" />
<parm name="Timer_T2" value="4000" />
<parm name="Timer_T4" value="5000" />
<parm name="Private_User_Identity" value="001001123456789@ims.mnc001.mcc001.pub.3gppnetwork.org" />
<characteristic type="Public_User_Identity_List">
<parm name="Public_User_Identity" value="sip:001010123456789@ims.mnc001.mcc001.3gppnetwork.org" />
</characteristic>
<parm name="Home_network_domain_name" value="msg.testnet.com" />
<characteristic type="Ext">
<parm name="NatUrlFmt" value="0" />
<parm name="IntUrlFmt" value="1" />
<parm name="Q-Value" value="0.5" />
<characteristic type="SecondaryDevicePar">
<parm name="VoiceCall" value="0" />
<parm name="Chat" value="0" />
<parm name="SendSms" value="0" />
<parm name="SendMms" value="0" />
<parm name="FileTransfer" value="0" />
<parm name="VideoShare" value="0" />
<parm name="ImageShare" value="0" />
<parm name="VideoCall" value="0" />
<parm name="GeoLocPush" value="0" />
</characteristic>
<parm name="MaxSizeImageShare" value="5242880" />
<parm name="MaxTimeVideoShare" value="300" />
<characteristic type="Ext" />
</characteristic>
<characteristic type="ICSI_List">
<parm name="ICSI" value="" />
<parm name="ICSI_Resource_Allocation_Mode" value="" />
</characteristic><characteristic type="LBO_P-CSCF_Address">
<parm name="Address" value="ss.epdg.epc.mnc001.mcc001.pub.3gppnetwork.org" />
<parm name="AddressType" value="FQDN" />
</characteristic><parm name="Voice_Domain_Preference_E_UTRAN" value="1" />
<parm name="SMS_Over_IP_Networks_Indication" value="1" />
<parm name="Keep_Alive_Enabled" value="0" />
<parm name="Voice_Domain_Preference_UTRAN" value="1" />
<parm name="Mobility_Management_IMS_Voice_Termination" value="1" />
<parm name="RegRetryBaseTime" value="300" />
<parm name="RegRetryMaxTime" value="3600" />
<characteristic type="PhoneContext_List">
<parm name="PhoneContext" value="0" />
<parm name="Public_User_Identity" value="sip:+14448880000@msg.testnet.com" />
</characteristic><characteristic type="APPAUTH"><parm name="AuthType" value="AKA" />
<parm name="Realm" value="msg.testnet.com" />
<parm name="UserName" value="001001123456789@ims.mnc001.mcc001.pub.3gppnetwork.org" />
<parm name="UserPwd" value="ims*1234" />
</characteristic>
</characteristic>
<characteristic type="APPLICATION">
<parm name="AppID" value="ap2002" />
<parm name="Name" value="RCS Settings" />
<parm name="AppRef" value="rcs" />
<characteristic type="IMS">
<parm name="To-AppRef" value="ims" />
<characteristic type="Ext">
<parm name="rcsVolteSingleRegistration" value="1" />
</characteristic>
</characteristic>
<characteristic type="SERVICES">
<parm name="presencePrfl" value="1" />
<parm name="ChatAuth" value="1" />
<parm name="GroupChatAuth" value="1" />
<parm name="ftAuth" value="1" />
<parm name="standaloneMsgAuth" value="1" />
<parm name="geolocPushAuth" value="0" />
<parm name="geolocPullAuth" value="0" />
<parm name="VSAuth" value="0" />
<parm name="ISAuth" value="0" />
<parm name="rcsIPVoiceCallAuth" value="1" />
<parm name="rcsIPVideoCallAuth" value="1" />
<characteristic type="Ext" />
</characteristic>
<characteristic type="PRESENCE">
<parm name="AvailabilityAuth" value="1" />
<characteristic type="FAVLINK">
<parm name="AutMa" value="Auto" />
<characteristic type="LINKS">
<parm name="OpFavUrl1" value="" />
<parm name="OpFavUrl2" value="" />
<parm name="OpFavUrl3" value="" />
</characteristic>
<parm name="LabelMaxLength" value="200" />
</characteristic>
<parm name="IconMaxSize" value="204800" />
<parm name="NoteMaxSize" value="200" />
<characteristic type="VIPCONTACTS">
<parm name="NonVipPollPeriodSetting" value="200" />
<parm name="NonVipMaxPollPerPeriod" value="1" />
</characteristic>
<parm name="PublishTimer" value="3600" />
<parm name="NickNameLength" value="200" />
<characteristic type="Location">
<parm name="TextMaxLength" value="200" />
<parm name="LocInfoMaxValidTime" value="86400" />
</characteristic><characteristic type="Ext" />
<parm name="client-obj-datalimit" value="4096" />
<parm name="content-serveruri" value="" />
<parm name="source-throttlepublish" value="30" />
<parm name="max-number-ofsubscriptions-inpresence-list" value="100" />
<parm name="service-uritemplate" value="rcs" />
<parm name="RLS-URI" value="" />
</characteristic><characteristic type="XDMS">
<parm name="RevokeTimer" value="86400" />
<parm name="enablePNBManagement" value="0" />
<parm name="enableXDMSubscribe" value="0" />
<characteristic type="Ext" />
<parm name="XCAPRootURI" value="xcap.ims.mnc001.mcc001.pub.3gppnetwork.org" />
<parm name="XCAPAuthenticationUserName" value="GBA" />
<parm name="XCAPAuthenticationSecret" value="GBA" />
<parm name="XCAPAuthenticationType" value="GBA" />
</characteristic><characteristic type="SUPL">
<parm name="TextMaxLength" value="200" />
<parm name="LocInfoMaxValidTime" value="43200" />
<parm name="geolocPullOpen" value="0" />
<parm name="geolocPullApiGwAddress" value="" />
<parm name="geolocPullBlockTimer" value="0" />
<characteristic type="Ext" />
<parm name="Addr" value="" />
<parm name="AddrType" value="" />
</characteristic><characteristic type="IM">
<parm name="imMsgTech" value="1" />
<parm name="imCapAlwaysON" value="1" />
<parm name="GroupChatFullStandFwd" value="1" />
<parm name="GroupChatOnlyFStandFwd" value="1" />
<parm name="imWarnSF" value="0" />
<parm name="SmsFallBackAuth" value="1" />
<parm name="imCapNonRCS" value="1" />
<parm name="imWarnIW" value="0" />
<parm name="AutAccept" value="1" />
<parm name="AutAcceptGroupChat" value="1" />
<parm name="imSessionStart" value="0" />
<parm name="firstMessageInvite" value="0" />
<parm name="TimerIdle" value="210" />
<parm name="MaxConcurrentSession" value="10" />
<parm name="multiMediaChat" value="1" />
<parm name="MaxSize1to1" value="1000" />
<parm name="MaxSize1toM" value="1000" />
<parm name="ftWarnSize" value="9999999" />
<parm name="MaxSizeFileTr" value="10240" />
<parm name="ftThumb" value="1" />
<parm name="ftStAndFwEnabled" value="0" />
<parm name="ftCapAlwaysON" value="0" />
<parm name="ftAutAccept" value="1" />
<parm name="ftHTTPCSURI" value="" />
<parm name="ftHTTPCSUser" value="" />
<parm name="ftHTTPCSPwd" value="" />
<parm name="ftDefaultMech" value="MSRP" />
<characteristic type="Ext" />
<parm name="pres-srv-cap" value="1" />
<parm name="deferred-msg-func-uri" value="sip:CPMDeferredMsgMgmt@msg.testnet.com" />
<parm name="max_adhoc_group_size" value="21" />
<parm name="conf-fcty-uri" value="sip:adhoc@msg.testnet.com" />
<parm name="exploder-uri" value="sip:adhoc@msg.testnet.com" />
<parm name="CPMControllingFuncUri" value="sip:adhoc@msg.testnet.com" />
</characteristic>
<characteristic type="CPM">
<characteristic type="StandaloneMsg">
<parm name="MaxSizeStandalone" value="600" />
</characteristic>
<characteristic type="MessageStore">
<parm name="Url" value="" />
<parm name="AuthProt" value="0" />
<parm name="UserName" value="" />
<parm name="UserPwd" value="" />
</characteristic>
<characteristic type="Ext" />
</characteristic>
<characteristic type="CAPDISCOVERY">
<parm name="pollingPeriod" value="300" />
<parm name="pollingRate" value="20" />
<parm name="pollingRatePeriod" value="1" />
<parm name="capInfoExpiry" value="300" />
<parm name="defaultDisc" value="1" />
<parm name="capDiscCommonStack" value="0" />
<characteristic type="Ext" />
</characteristic>
<characteristic type="APN">
<parm name="rcseOnlyAPN" value="ims" />
<parm name="enableRcseSwitch" value="-1" />
<parm name="alwaysUseIMSAPN" value="1" />
<characteristic type="Ext" />
</characteristic>
<characteristic type="OTHER">
<parm name="endUserConfReqId" value="sip:1234567890@msg.testnet.com" />
<parm name="allowVSSave" value="1" />
<characteristic type=" transportProto">
<parm name="psSignalling" value="SIPoUDP" />
<parm name="psMedia" value="MSRP" />
<parm name="psRTMedia" value="RTP" />
<parm name="wifiSignalling" value="SIPoUDP" />
<parm name="wifiMedia" value="MSRP" />
<parm name="wifiRTMedia" value="RTP" />
</characteristic><parm name="uuid_Value" value="0" />
<parm name="IPCallBreakOut" value="0" />
<parm name="IPCallBreakOutCS" value="0" />
<parm name="rcsIPVideoCallUpgradeFromCS" value="0" />
<parm name="rcsIPVideoCallUpgradeOnCapError" value="0" />
<parm name="rcsIPVideoCallUpgradeAttemptEarly" value="0" />
<characteristic type="Ext" />
</characteristic>
<characteristic type="SERVICEPROVIDEREXT" />
</characteristic>
</wap-provisioningdoc>
原文來(lái)自:http://www.sharetechnote.com
整理:kangguoying20201025
“5G終端接入網(wǎng)絡(luò)第一把密鑰---RA-RNTI計(jì)算 ”已在微信公眾號(hào)"跟著老康學(xué)5G"中推出,敬請(qǐng)關(guān)注!