最新消息:20210917 已从crifan.com换到crifan.org

【已解决】搞懂rcsjta的core的Provisioning中IMS name合法用户账号的写法和逻辑

name crifan 396浏览 0评论
折腾:
【未解决】通过调试rcsjta中core的入口Provisioning去寻找服务启动的逻辑
期间的调试:
【记录】调试rcsjta的core的apk点击保存按钮触发Provisioning的onOptionsItemSelected相关代码调用逻辑
现在看起来:
其中一种合法的name是:
086开头的手机号?
不过,注意到app中写了:
IMS name,看来就是 聊天系统所支持的 能找到合法的用户的一种写法
而IMS display name,看起来就是普通的 用于显示的文字而已
所以:
需要去搞懂此处的IMS name的写法,是不是上面说的
  • SIP-URI
  • Tel-URI
  • SIP address
中的一种。
去继续深入研究代码中的逻辑之前,还是去回顾之前的各种rcsjta的文档,尤其是和合法的账号account 应该如何写 会不会有新思路,看看是否有新发现:
【记录】继续研究rcsjta相关文档和RCS相关资料

比之前更加深入的了解了RCS的方方面面
现在继续看代码,之后有空再回去看资料
此处的
IMS authentication(procedure for Mobile access)
中欧冠的
IMS authentication
感觉或许应该就是:
IMS/SIP – RCS/RCS-e
http://www.sharetechnote.com/html/IMS_SIP_RCS.html#Common_Core_Services_RCS
中提到的:
RCS : Steps around IMS Registration
也顺带去看看,认证方式,除了DIGEST,还有哪些:
可以看出共有:
  • IMS认证过程(针对移动端手机访问)
    • GIBA
    • DIGEST
-》看来需要先去简单研究一下,2种认证方式的含义和区别才可以。:
【已解决】rcsjta项目RCS中IMS认证方式GIBA和DIGEST区别
然后目前有所了解:
  • IMS系统
    • 用户标识
      • 支持多种方式
        • 其中有IMPI和IMPU,都是一种URI
      • 具体来说
        • 以是数字:Tel URI
          • 举例
            • tel: +1-555-123-4567
        • 也可以是字符标识符SIP URI
->
  • SIP-URI
    • 举例
      • sip:john.doe@example.com
  • Tel-URI
    • tel: +1-555-123-4567
  • SIP address
现在已清楚了:
此处是新手机,有SIM卡,应该用:(基于HTTP的SIP协议的)DIGEST去认证
然后具体账号,看看如何写。
如果用SIP URI的话,还要知道具体的domain域名才行
简单起见,换用Tel的URI,只需要有电话号码,就可以了。
感觉此处可以写成:
tel: +86-xxx
还是?
tel: +86-xxx
先不管,先去试试
填写好:
去点击保存,触发调试,然后发现是
至少能识别 tel:开头的账号的:
过滤后,就是手机号了。
继续调试,strip后
src/main/java/com/gsma/services/rcs/contact/ContactUtil.java
public boolean isValidContact(String contact) throws RcsPermissionDeniedException {
    if (TextUtils.isEmpty(contact)) {
        return false;
    }
    String strippedContact = stripSeparators(contact);
+86xxx
且是:
COUNTRY_CODE_PREFIX=‘+'
开头的,所以是:合法的账号
继续去formatContact
然后可以顺利保存:
mHelper.saveContactIdEditText(R.id.ImsUsername, RcsSettingsData.USERPROFILE_IMS_USERNAME);
mHelper.saveStringEditText(R.id.ImsDisplayName,
        RcsSettingsData.USERPROFILE_IMS_DISPLAY_NAME);
IMS的username和displayname
至此,即可。

转载请注明:在路上 » 【已解决】搞懂rcsjta的core的Provisioning中IMS name合法用户账号的写法和逻辑

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
90 queries in 0.181 seconds, using 23.33MB memory