《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之53---BREW SDK 九大功能之电信服务

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5456725

能够直接提供电信服务是BREW技术的一大特色。BREW中支持的电信服务主要是指语音业务,以及附加业务短消息功能,蓝牙通信功能,小区多播通信功能等等。在BREW3.X之前,语音和短信功能都可以通过ITAPI接口来提供,在BREW 3.X及以上版本,这一方法同样有限。

ITAPI 是一个简单的设备通话层接口。 它可提供以下服务: 获取通话状态,安排语音呼叫,从 SMS 消息中提取 SMS 文本 ,获取进入或正在呼叫的主叫号码 ,注册 SMS 消息,发送 SMS 消息等功能。ITAPI 允许应用程序注册以下通知: NMASK_TAPI_STATUSNMASK_TAPI_SMS_TEXTNMASK_TAPI_SMS_TS

应用程序通过ITAPI接口可以接收 SMS 消息:

1. 目标为 BREW 应用的定向 SMS 消息,发送形式为 //BREW:<ClassID>:<消息> 。在指定目标应用的ClassID 时,ITAPI_SendSMS() 将消息内部进行格式化操作

2. 所有文本消息

3. 所有特定电信业务 ID 的消息

4. 所有具有特定前缀的文本消息

其中,接收指向应用程序的SMS不需要注册,作为 EVT_APP_MESSAGE 事件接收,dwParam 包含指向短信有效负载的指针,该有效负载可作为 char * pszMsgTxt = (char *)dwParam

对于访问接收任意文本消息,应用程序必须使用 NMASK_TAPI_SMS_TEXT 掩码注册 TAPI 类,作为 EVT_NOTIFY 事件接收,其中 dwParam 包含指向 AEENotify 的指针。消息可作为 AEENotify * pNotify = (AEENotify*)dwParam; AEESMSTextMsg * pTextMsg = (AEESMSTextMsg*)pNotify->pData; 

如果接收特定电信业务消息,应用程序必须使用以下掩码 uint32 mask = (NMASK_TAPI_SMS_TS |(SMS_TELESERVICE_ID << 16)) 进行注册,作为 EVT_NOTIFY 事件接收,其中 dwParam 包含指向 AEENotify 的指针 消息可作为 AEENotify * pNotify = (AEENotify*)dwParam; AEESMSMsg *pMsg = (AEESMSMsg *)pNotify->pData;

如果访问接收具有特定前缀的文本消息: 消息格式为 //<SMS_Prefix>:<Message_Text> 应用程序必须注册为 <SMS_Prefix> 的处理程序 ,作为 EVT_APP_BROWSE_URL 接收。dwParam 包含指向 //<SMS_Prefix>:<Message_Text> 的指针。

通过BREW中的ITAPI可以获知设备状态的更改,通过NMASK_TAPI_STATUS掩码, 只要设备的通话状态发生变化,应用程序都可以使用 TAPI 类获得通知。只要状态发生变化,应用程序就会收到 EVT_NOTIFY 事件。 此事件的 dwParam AEENotify 类型。 AEENotify 结构内的 pData 成员属于 TAPIStatus 类型,并包含设备当前通话状态的详细信息。

            BREW 3.x专门为短信提供了新的接口ISMSMsgISMSISMSNotifier,和ISMSStorage  新接口完整实现了短信协议TIA-EIA-637-A,而旧接口仅部分实现此协议。就短信发送而言,新接口主要支持下面三种编码格式:

l  ASCII     单位:字节,   最大长度:160

l  UNCODE 单位:双字节,最大长度:70

l  BINARY   单位:字节,   最大长度:140

原有接口仅支持一种编码格式,由AEE_DEVICEITEM_TAPI_SMS_ENCODING指定。就短信接收而言,新接口可以得到更多信息:短信内容/编码格式,发送方号码,短信中心接收到短信的时刻等,而旧接口仅能得到短信内容。ISMSStorage  & ISMSStorage2用来存储,读取,删除和更新短信。存储的类型包括RUIM卡和手机自身。

BREW 3.X及以上版本还提供了对一般语音付、蓝牙和WIFI的完整支持,使应用可以获得更广泛的通信能力。

目录
相关文章
|
4月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
284 1
|
4月前
|
编解码 缓存 开发工具
Pico Neo 3教程☀️ 三、SDK 的进阶功能
Pico Neo 3教程☀️ 三、SDK 的进阶功能
|
4月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
75 0
|
4月前
|
编解码 Linux 开发工具
大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表
大牛直播SDK是一款跨平台RTMP直播推送模块,支持Windows、Linux(x64_64与aarch64架构)、Android及iOS平台。该SDK功能全面,包括摄像头、屏幕、麦克风等数据采集与推送,并支持编码前后数据对接。其架构设计优秀,确保低延迟与高效率,结合SmartPlayer播放器实现毫秒级延迟体验。具备全自研框架,易于扩展且支持多种数据源接入,如外部YUV/RGB/H.264等格式。此外,各平台支持特性丰富,如Windows平台支持多摄像头合成,Android与iOS平台支持前后摄像头实时切换等。大牛直播SDK还提供了多个示例项目以帮助开发者快速上手。
101 0
|
4月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
5月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
|
6月前
|
API 开发工具
抖音sdk,抖音开发api接口
抖音sdk,抖音开发api接口
|
7月前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
Java 开发工具 Maven
Android SDK开发的那些事(1),已整理成文档
Android SDK开发的那些事(1),已整理成文档
|
4月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
111 0