首页 > 其他分享 >Telephony OMACP

Telephony OMACP

时间:2025-01-20 11:58:16浏览次数:3  
标签:MTK Telephony OMACP PUSH android com WAP

1、OMCAP介绍

        OMACP(Open Mobile Alliance Client Provisioning)是一种通过短信或OTA(Over the Air)方式更新手机网络配置的协议‌‌。具体来说,OMACP消息是通过短信发送的,这些消息包含连接到数据服务所需的网络特定设置,例如APN(Access Point Name)设置、MMS消息服务器、代理地址、浏览器主页和书签、邮件服务器等‌。

2 、OMACP的支持情况

2.1、MTK平台支持情况

MTK平台默认支持OMACP(Open Mobile Alliance Client Provisioning)

OMACP version:V1.1  

2.2、接收不到OMACP问题如何分析?

(1)先确定贵司是否开启了OMACP功能

贵司项目 ProjectConfig.mk中,MTK_OMACP_SUPPORT = yes 则为开启,默认一般为开启的

另外check如下属性

(2)通过mtklog/mobilelog/APLog 下的radiolog, 搜索 CMT 看相应时间点framework是否收到omacp

有:说明手机底层接收到了OMACP,可能是AP处理不当导致没有显示给user,请在mtklog/mobilelog/APLog/mainlog 搜omacp先看看log,

对应的source code在vendor/mediatek/proprietary/packages/apps/Omacp  一般贵司自己结合code和log能分析出结论。

若有必要,可以提交eservice,附上mtklog让敝司协助分析。

无: 可能是运营商没有发给手机,需要check对比机行为,以及对比机和测试机之间的差异(比如:SIM卡、测试时间地点步骤、IMEI等)

     也可能贵司把AT命令输出log的地方关掉了; 需要在radiolog再搜索InboundSmsHandler,看是否有类似于以下log出现:

10:01:00.343 1540 1740 D GsmInboundSmsHandler: dispatch wap push pdu with addr & sc addr

10:01:00.388 1540 1740 D GsmInboundSmsHandler: dispatchWapPdu() returned -1

如果能找到相关trace,则按照有CMT的情况来处理。 如果还是没有,可以确定就是运营商没有发给手机,那么可能影响的因素有:IMEI、SIM卡、UAProfile,请贵司分别改成与对比机一致再测试。若还接收不到,请咨询运营商。

(3)如果贵司没有预置com.android.mms, 而是使用其他app,比如:com.google.android.apps.messaging

通常能在radiolog、syslog或者eventslog搜到以下trace

10-20 18:38:55.819994 1331 1435 V WAP PUSH: Delivering MMS to: com.google.android.apps.messaging com.google.android.apps.messaging.shared.receiver.MmsWapPushDeliverReceiver

10-20 18:38:55.894428 1124 5878 V ActivityManager: Broadcast: Intent { act=android.provider.Telephony.WAP_PUSH_RECEIVED typ=application/vnd.wap.connectivity-wbxml flg=0x18000010 (has extras) } ordered=true userid=0 callerApp=ProcessRecord{ebcf32a 1331:com.android.phone/1001} 

10-20 18:38:55.896742 1124 1140 W PackageManager: checkPermission(): android.permission.RECEIVE_WAP_PUSH of com.mediatek.omacp is denied

请在测试前,先进设置、apps,找到omacp,把相应的权限勾上。 然后在

/vendor/mediatek/proprietary/packages/apps/Omacp/src/com/mediatek/omacp/message/OmacpMessageNotification.java

自行修改updateNotification 方法里面的内容,目的是把与com.android.mms、com.android.mms_preferences相关的逻辑去掉,以免报错(omacp是MTK设计的,搭配mtkmms,所以目前只有预置了mms不会报错)

3、WAP PUSH 介绍

WAP PUSH又叫做服务信息或推入信息,是一种特殊格式的短信。可以参考WAP PUSH的解析

 WAP PUSH解析(1)——SMS PDU编码_wappush 和sms-CSDN博客

WAP PUSH短信,注意两点

TP-UDHI:为1 指示USERDATA有其他扩展

ELT APPLICATION PORT端口:2948  指示为WAP PUSH

可以通过此网站来解析短信PDU

Online SMS PDU Decoder/Converter | Diafaan SMS Server

4、OMACP格式

OMACP 是WAP PUSH的一种特殊的短信,短信的内容有很多种,比如APN配置样本可参考MTK  FAQ13612    

[DESCRIPTION]
 有些客户需要提供mms apn的xml文件进行测试  
 
[SOLUTION]
 如下是样本,还请根据自身实际需求调整:
 
For Example(Mms Apn):

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE wap-provisioningdoc PUBLIC "-//WAPFORUM//DTD PROV 1.0//EN" "http://www.wapforum.org/DTD/prov.dtd">

<wap-provisioningdoc version="1.1">

  <characteristic type="BOOTSTRAP">

       <parm name="NAME" value="WAP y MMS"/>

       <!parm name="PROVURL" value="http://www.mediatek.com/"/>

       <parm name="CONTEXT-ALLOW" value="0"/>

       <parm name="PROXY-ID" value=""/>

  </characteristic>

  <characteristic type="PXLOGICAL">

       <parm name="PROXY-ID" value="id4"/>

       <parm name="NAME" value="MMS"/>

         <characteristic type="PXPHYSICAL">

              <parm name="PHYSICAL-PROXY-ID" value="id4"/>

              <parm name="PXADDR" value="10.0.0.172"/>

              <parm name="PXADDRTYPE" value="IPV4"/>

              <parm name="TO-NAPID" value="ap4"/>

                <characteristic type="PORT">

                     <parm name="PORTNBR" value="80"/>

                </characteristic>

         </characteristic>

  </characteristic>

  <characteristic type="NAPDEF">

       <parm name="NAPID" value="ap4"/>

       <parm name="BEARER" value="GSM-GPRS"/>

       <parm name="NAME" value="mediatek彩信 (China Mobile)"/>

       <parm name="NAP-ADDRESS" value="mediatekcmwap"/>

       <parm name="NAP-ADDRTYPE" value="APN"/>

  </characteristic>

  <characteristic type="APPLICATION">

       <parm name="APPID" value="w4"/>

       <parm name="NAME" value="mms"/>

       <parm name="ADDR" value="http://mmsc.monternet.com"/>

       <parm name="TO-PROXY" value="id4"/>

         <parm name="CM" value="R"/>

  </characteristic>

</wap-provisioningdoc>

5、MTK支持那些OMACP配置

参考FAQ09453


[DESCRIPTION] 
MTK方案中Omacp的协议版本,还有MTK Omacp目前可以支持的配置内容 
 
[SOLUTION]
1.MTK 方案中Omacp的协议版本是V1.1
2.MTK Omacp目前支持的配置内容可以在如下路径找到所有支持的Capability
alps\mediatek\packages\apps\Omacp\src\com\mediatek\omacp\message\OmacpApplicationCapability.java

标签:MTK,Telephony,OMACP,PUSH,android,com,WAP
From: https://blog.csdn.net/tjpuzm/article/details/145053319

相关文章

  • Telephony MTK RILD
    1、RILD架构        MTKRILD相关架构,摘取自MTK官方文档        MTKRILD分为两层,TCL层用于消息分发,和MCL层用于和Modem进行AT交互。1、vendor/mediatek/proprietary/hardware/ril/fusion/libril编译生成librilfusion2、vendor/mediatek/proprietary......
  • Telephony CBS
    1、小区广播介绍        一般的点对点短消息(ShortMessageService-PointtoPoint,SMS-PP)只能传送短消息给一个或少数几个收件人,但是小区广播技术则是被设计为能够在特定区域中,按照指定的频道(Channel)来广播消息,让许多使用者同时接收到同样的消息。因此手机仅......
  • 鸿蒙开发电话服务:【@ohos.telephony.observer (observer)】
    observer说明:本模块首批接口从APIversion6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。导入模块importobserverfrom'@ohos.telephony.observer'observer.on(‘networkStateChange’)on(type:‘networkStateChange’,callback:Callback......
  • Android Telephony原理解析与开发指南 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1KquarYDUwgixgx4u9vhsFA点击这里获取提取码 ......