• 如何区分MNO和MVNO


    MVNO(Mobile Virtaul Network Operator)虚拟网络运营商,没有自己的物理网络,租用MNO(Mobile Network Operator)网络提供的网络服务。


    我们知道Spec条款operator通过间MCC/MNC (Mobile Country Code/Mobile Network Code)来区分的。而MVNO和相应MNO的MCC/MNC是同样的,那就须要MVNO定义额外的栏位(通常都是SIM卡中某支文件)来和相应MNO做区分;详细这个额外的栏位是什么是每一个MVNO自定义的,须要向MVNO确认。


    眼下MTK支持区分MVNO的方式有四种(KK曾经没有EF_GID1方式)。每种区分方式相应一个xml的配置表:
    1. EF_SPN方式,相应MVNO配置到Virtual-spn-conf-by-efspn.xml中
    2. EF_IMSI方式,相应MVNO配置到Virtual-spn-conf-by-imsi.xml中
    3. EF_PNN方式。相应MVNO配置到Virtual-spn-conf-by-efpnn.xml中
    4. EF_GID1方式,相应MVNO配置到Virtual-spn-conf-by-efgid1.xml中
     
    须要向MVNO确认的信息例如以下:
    1. 区分方式是以上哪种。从而决定相关信息须要配置到哪个xml中
    2. MVNO的MCC/MNC是什么
    3. MVNO的区分栏位的值是什么
    4. MVNO须要显示成什么
    5. MVNO是否有自己的APN须要配置(还是直接使用相应MNO的),假设须要,值是什么
     
    KK曾经(JB*.MP):
    一 SPN的设定:
     
    (1)通过EF_SPN区分
    这中方式是读取SIM中的文件EF_SPN,结合SIM的mccmnc+spn,在virtual-spn-conf-by-efspn.xml 中查找有没有相应的记录,假设有这表示这个SIM是MVNO的卡,同一时候取name字段的内容当作运营商名称。
    假设知道MVNO的SIM卡中的SPN是“abc”,MNO的MCC/MNC是10000。期望显示运营商名是”MVNO“,那就这样加记录(在Virtual-spn-conf-by-efspn.xml中)
    <virtualSpnOverride mccmncspn="10000abc“ name="MVNO">
     
    (2)通过EF_IMSI区分
    这中方式是imsi中有一段特殊的数字标识用于和MNO区分
    比如MNO的MCC/MNC是46692。MVNO的IMSI是466923302848289,IMSI的第9位(注意:是0 base, 所以index要填08)起连续2个数字为特殊标识(28)。期望显示的运营商名称是“MVNO”。那就这样加记录(Virtual-spn-conf-by-imsi.xml中)
    <virtualSpnOverride mccmnc="46692" index="08" length="02" pattern="28" name=“MVNO”>
     
    (3)通过EF_PNN区分
    EF_PNN是SIM中的一个option的文件,里面存放一组网络运营商名称(PLMN Network Name)。这样的方式即是读取EF_PNN中的第一个pnn来匹配。假设MNO的MCC/MNC是10000。MVNO中EF_PNN的第一个pnn是“abc”。期望显示的运营商名称是“MVNO”,那就这样加记录(Virtual-spn-conf-by-efpnn.xml中)
    <virtualSpnOverride mccmncpnn="10000abc“ name="MVNO">
     
     
    二 APN的设定
    其相应的文件是apns-conf.xml。和spn-conf.xml同样的文件夹。

    对照SPN,APN就简单很多,APN填写和SPN区分选择有联系。 这里举例说明,原MNO的APN的设定
     <apn carrier="Orange Entreprise"  
          mcc="100"
          mnc="00"
          apn="MNO的apn"  
          user="MNO的user"
          password="MNO的password"
          type="default,supl"
      />
     
    (1)通过EF_SPN区分
    区分是通过spn字段。和spn记录中的spn字段同样
    假如spn中MVNO相应记录是<virtualSpnOverride mccmncspn="10000abc“ name="MVNO">;
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          spn="abc" <<添加这个字段
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
      />
     
    (2)通过EF_IMSI区分
    通过imsi的pattern区分,和spn中的pattern同样。
    假如spn中的MVNO记录是<virtualSpnOverride mccmnc="46692" index="08" length="02" pattern="28" name=“MVNO”>
    那这个相应的MVNO的AP是
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          imsi="28" <<添加这个字段
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
      />
     
    (3)通过EF_PNN区分
    区分是通过pnn字段,和spn记录中的pnn字段同样
    假如spn中MVNO相应记录是<virtualSpnOverride mccmncpnn="10000abc“ name="MVNO">;
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          pnn="abc" <<添加这个字段
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
      />
     
    KK以后(包括KK):
    一 SPN的设定:
    全部MVNO区分方式的virtual xml的构成都应该是mccmnc+pattern
     
    (1)通过EF_SPN区分
    这中方式是读取SIM中的文件EF_SPN,结合SIM的mccmnc+spn,在virtual-spn-conf-by-efspn.xml 中查找有没有相应的记录,假设有这表示这个SIM是MVNO的卡,同一时候取name字段的内容当作运营商名称。
    假设知道MVNO的SIM卡中的SPN是“abc”。MNO的MCC/MNC是10000,期望显示运营商名是”MVNO“,那就这样加记录(在Virtual-spn-conf-by-efspn.xml中)
    <virtualSpnOverride mccmncspn="10000abc“ name="MVNO">
     
    (2)通过EF_IMSI区分
    这中方式是imsi中有一段特殊的数字标识用于和MNO区分
    比如MNO的MCC/MNC是46692,MVNO的IMSI是466923302848289,IMSI的第9位起连续2个数字为特殊标识(28),期望显示的运营商名称是“MVNO”,那就这样加记录(Virtual-spn-conf-by-imsi.xml中)
    <virtualSpnOverride imsipattern="4669246692×××28×××××" name=“MVNO”>
     
    (3)通过EF_PNN区分
    EF_PNN是SIM中的一个option的文件。里面存放一组网络运营商名称(PLMN Network Name)。这样的方式即是读取EF_PNN中的第一个pnn来匹配。假设MNO的MCC/MNC是10000,MVNO中EF_PNN的第一个pnn是“abc”,期望显示的运营商名称是“MVNO”,那就这样加记录(Virtual-spn-conf-by-efpnn.xml中)
    <virtualSpnOverride mccmncpnn="10000abc“ name="MVNO">
     
    (4)通过EF_GID1区分
    EF_GID1是SIM中的一个option的文件,里面存放了n个byte的数据;假设MNO的MCC/MNC是10000,MVNO的EF_GID1的内容是"11"。期望显示的运营商名称是"MVNO",那就这样加记录(Virtual-spn-conf-by-efgid1.xml中)
    <virtualSpnOverride mccmncgid1="1000011" name="MVNO">
     
    二 APN的设定
    其相应的文件是apns-conf.xml,和spn-conf.xml同样的文件夹。对照SPN,APN就简单很多。APN填写和SPN区分选择有联系。

    这里举例说明,原MNO的APN的设定
     <apn carrier="Orange Entreprise"  
          mcc="100"
          mnc="00"
          apn="MNO的apn"  
          user="MNO的user"
          password="MNO的password"
          type="default,supl"
      />
     
    (1)通过EF_SPN区分
    区分是通过spn字段。和spn记录中的spn字段同样
    假如spn中MVNO相应记录是<virtualSpnOverride mccmncspn="10000abc“ name="MVNO">;
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
          mvno_type="spn"                  <<添加这两个字段
          mvno_match_data="abc"
      />
     
    (2)通过EF_IMSI区分
    通过imsi的pattern区分,和spn中的pattern同样。


    假如spn中的MVNO记录是<virtualSpnOverride imsipattern="4669246692×××28×××××" name=“MVNO”>
    那这个相应的MVNO的APN是
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
          mvno_type="imsi"                  <<添加这两个字段
          mvno_match_data="46692×××28×××××"
      />
     
    (3)通过EF_PNN区分
    区分是通过pnn字段,和spn记录中的pnn字段同样
    假如spn中MVNO相应记录是<virtualSpnOverride mccmncpnn="10000abc“ name="MVNO">;
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
          mvno_type="pnn"                  <<添加这两个字段
          mvno_match_data="abc"
      />
     
    (4)通过EF_GID1区分
    区分是通过gid1字段,和spn记录中的gid1字段同样
    假如spn中MVNO相应记录是<virtualSpnOverride mccmncgid1="1000011" name="MVNO">;
     <apn carrier="Orange Entreprise"  <<设定中显示的名称
          mcc="100"
          mnc="00"
          apn="MVNO的apn"  
          user="MVNO的user"
          password="MVNO的password"
          type="default,supl"
          mvno_type="gid1"                  <<添加这两个字段
          mvno_match_data="11"
      />
     

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    操作系统概念(第十一章) 文件系统实现
    Linux内核中网络数据包的接收-第一部分 概念和框架
    【技术文档】jeecg3.7-maven搭建好开发环境入门
    memcache源码编译安装
    Linux系统级日志系统
    shell流程控制
    EOF多行写入文件防止变量替换
    zip压缩解压
    shell变量的截取总结
    对linux安装中文字体库
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4816061.html
Copyright © 2020-2023  润新知