如何在 SMPP 中正确表示消息类别

2024-04-07

我目前正在尝试弄清楚 sms 类如何在 SMPP 中正确表示。然而,我现在对标准及其文档完全感到困惑。

在普通短信中我们有

  • Class0:Flash短信,显示在显示屏上
  • Class1:普通短信存储在 SIM 卡上或设备内部

查看SMPP规范,我首先找到参数data_coding in the submit_sm操作,用于设置通过MAP发送的DCS。据我了解,如果我们想显式设置消息类别,我们需要将此参数的前四位设置为 1,然后两位指示编码,然后另外两位指示消息类别。因此对于 Class1 Sms,我们将设置1111xx01。到目前为止这是正确的吗?

如果我们尝试设置此 DCS,但目前我们还将数据编码设置为“8 位数据”。看来,很多手机都无法理解这一点。这是在任何地方指定的吗?我们可以更改它吗?或者是发送其他消息类时需要的特殊编码。

当我们尝试使用 SMPPv3.4 推荐的方式设置消息类时,会出现更多混乱。从 3.4 开始,有一个可选参数submit_sm操作,称为dest_addr_subunit。根据标准,该参数应设置为 0(表示未知)、1(表示 MS-Display)、2(表示移动设备)等。如果我看一下,与 GSM 消息类别相比,这些参数似乎移动了 1。 Class0 编码为 1,Class1 编码为 2,依此类推。这是正确的还是这背后有更复杂的映射?

另外,如果我们设置dest_addr_subunit,我们还需要设置DCS吗?或者我们可以将此参数保留为默认值吗?


我建议阅读3GPP TS 23.038 http://www.3gpp.org/ftp/Specs/html-info/23038.htm详细的 DCS 规范(数据编码方案 https://en.wikipedia.org/wiki/Data_Coding_Scheme) 描述。

如果是 DCS 位 765400xx,您应该检查 DCSbit 4 value.

  • 位 4 == 0 - 此消息没有消息类别(位 1 和 0 被保留)
  • 位 4 == 1 - 位 1 和 0 包含消息类别

所以你应该设置data_codingSMPP参数按照3GPP TS 23.038规范来处理message_class适当地。

默认情况下,GSM SMS 消息没有 message_class,这与 message_class = 1 不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 SMPP 中正确表示消息类别 的相关文章

  • 为 Android 创建 PDU

    我目前正在编写和应用程序 即发送 接收短信 出于单元测试的目的 我需要以编程方式创建 PDU 解码非常简单 Bundle bundle intent getExtras if bundle null Get all messages con
  • 实现 SMS 的 GSM 调制解调器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个为大约 1000 位用户提供服务的网站 负责协调活动安排 我想让我们的系统能够向用户发送短信 我
  • 以编程方式发送短信Android(未接收状态)

    我在用http mobiforge com developing story sms messaging android http mobiforge com developing story sms messaging android逐字
  • 如何在不使用第三方网关服务的情况下设置 Kannel

    我想设置 Kannel 来发送 SMS 消息 而无需通过 Clickatell 或 Twilio 等第三方网关 换句话说 我想连接到每个无线服务 AT T Verizon 等 的 SMPP 服务器 以这种方式运行 Kannel 服务器有多困
  • 同时使用 GPRS 和 GSM

    我正在尝试使用 GSM GPRS 调制解调器的 GPRS 功能将数据发送到远程服务器 但我无法这样做 我在 Arduino 论坛上发布了一个问题 但没有得到任何回复 这是问题的链接 https robotics stackexchange
  • 在 Android 4.4 上使用非默认短信应用程序发送短信

    我可以不使用默认短信应用程序发送短信吗安卓 4 4 奇巧 这意味着 我可以在无法写入短信提供商的情况下发送短信吗 我对 Android 4 4 Kitkat 上的这一点感到困惑 我想知道我是否可以使用非默认短信应用程序发送短信 即使您的应用
  • 使用中间服务器创建点对点连接

    我想连接两个客户端 通过 TCP IP 套接字 客户端可以使用中间服务器发现彼此 一旦客户端发现彼此 服务器就不应该有任何参与 我对此做了一些研究 发现很多人建议JXTA 但我想自己从头开始创建协议 因为将来我可能也必须使用 WebSock
  • Android:如何使用 WhatsApp、微信以编程方式发送消息?

    如何在 Android 应用程序中使用消息传递WhatsApp and WeChat 实际上要求是使用 WhatsApp 和微信 免费短信 发送短信 我得到了解决方案 在这里我发布答案 以便它可以帮助其他可能有同样疑问的人 通过任何应用程序
  • 使用 Twilio 发送群组消息

    有没有办法使用 twilio 向群组线程发送消息 我不希望每个收件人都有一个单独的线程 其中包含发送消息的 twilio 号码 感谢您的任何建议 来自 Twilio 的 Ricky 在这里 您无法按照您所描述的方式进行设置 但我们确实有一篇
  • 两部手机之间无法发送GSM数据吗?

    请详细告诉我为什么两部手机之间无法通过GSM传送数据 我几乎找不到关于这个问题的信息 这里有2点 首先 GSM 是一种移动语音电话系统 普通 GSM 不进行数据连接 GPRS 和 EDGE 是 GSM 网络的附加组件 允许发送数据 还有其他
  • 如何在 SMPP 中正确表示消息类别

    我目前正在尝试弄清楚 sms 类如何在 SMPP 中正确表示 然而 我现在对标准及其文档完全感到困惑 在普通短信中我们有 Class0 Flash短信 显示在显示屏上 Class1 普通短信存储在 SIM 卡上或设备内部 查看SMPP规范
  • 为什么发送电子邮件需要多个邮件服务器跃点?

    当我向某人发送电子邮件时 我认为 我的电子邮件被发送到我的家庭服务器 然后电子邮件被发送到目标服务器 最后被发送到我想要发送给的人 有时 这需要多次跳跃 这是让我困惑的一点 为什么这需要多跳 为什么邮件不能直接发送到目标服务器 例如 XMP
  • 我无法从 Android 的 Kitkat 版本的收件箱中删除短信

    这是我的短信删除代码 if context getContentResolver delete Uri parse content sms inbox date and body new String ctime mess gt 0 Log
  • 如何在swift 2中通过短信发送验证码

    我为我的应用程序构建了一个注册表单 我需要通过短信向用户发送验证码才能完成注册过程 我尝试使用 MFMessageComposeViewController 但它打开设备上的对话框短信 以便用户可以看到代码 我还检查了网络上是否有发送短信的
  • SIM900 GSM/GPRS 未获得正确的 AT+CREG?回答

    我使用的是带有 IComsat SIM900 GSM GPRS 扩展板的 Arduino UNO 使用以下教程 Arduino 实时 GPS 追踪器 http www samaria me uk 2011 12 arduino live g
  • Android发送大量短信

    我有一个应用程序 它会向中央服务器发送大量短信 每个用户每天可能会发送约 300 个文本 SMS 消息被用作网络层 因为 SMS 几乎无处不在 而移动互联网却不然 该应用程序旨在供许多移动互联网尚未普及的第三世界国家使用 当我达到 100
  • 发送同一条短信两次

    我正在尝试制作一个短信Android应用程序 但我收到了一个我以前从未见过的错误 即使在谷歌中我也没有找到类似的东西 所以 如果你能帮助我 我会很高兴 由于某种原因 程序同时发送两条消息 同一条短信 但这只是发生在生产中 当我使用模拟器时
  • CoAP 和 DTLS 集成

    我实现了 CoAP libcoap 和 DTLS tinyDTLS 的实现 如何将 CoAP libcoap 与 DTLS tinyDTLS 集成 我将不胜感激任何建议 libcoap 现在完全支持这一点 当您使用其子模块构建它时 git
  • 如何从 Android 设备检索 RCS 消息

    我如何在android中检索RCS消息 我可以使用 contentproviders 检索 SMS MMS 是否有适用于 Android 的 RCS 消息传递的 URI 我发现我的设备有这个 contentprovider 可用 所以我尝试
  • 短信:AT指令

    我正在尝试在我的计算机上设置短信网关 这是我找到的一些代码 AT OK AT CMGF 1 OK AT CMGL ALL CMGL 1 REC READ 85291234567 06 11 11 00 30 29 32 Hello welc

随机推荐

  • Scala:SeqT monad 转换器?

    如果我们有这样的两个函数 def findUserById id Long Future Option User def findAddressByUser user User Future Option Address 然后我们就可以使用
  • “关闭”某物是什么意思?

    我试图理解闭包 但从字面上看every我能找到的闭包定义使用了相同的神秘而模糊的短语 结束 什么是closure 哦 这是一个函数结束另一个功能 但我找不到 结束 的定义 有人能解释一下 A 事物 关闭 B 事物意味着什么吗 闭包是由代码指
  • 如何获取ECS集群的所有日志

    是否有一些 AWS 命令 get 可以从 ECS 集群的所有服务 任务中获取日志 就像是 aws ecs logs cluster dev or aws ecs describe clusters cluster dev logs 例如 必
  • 每周运行一次 php 脚本

    每个星期一我都需要清空 MYSQL 数据库的几个字段 首先 我考虑使用 cron 作业 但我的 Web 托管提供商 fatcow com 既不支持 SSH 也不支持通过命令行访问共享服务器 我还考虑过检查 date 以查看是否是星期一并执行
  • 从不规则时间序列创建规则 15 分钟时间序列

    我的 csv 文件中有一个不规则的时间序列 包含 DateTime 和 RainfallValue C SampleData csv DateTime RainInches 1 6 2000 11 59 0 1 6 2000 23 59 0
  • 树 /f cmd 修改日期。 Windows Powershell

    我需要创建一个 tree驱动器的文件夹 子文件夹和修改日期的列表 tree f命令效果很好 但我需要添加修改日期 我怎样才能做到这一点 它不会那么漂亮 但你可以使用 Recurse使用 Get ChildItem 选项来查找所有这些 此外
  • 是否可以使用 python-shell 包在 Node JS 中安装 python 包?

    我刚刚知道我们可以使用下面的 npm 包在 Node JS 中运行 Python 脚本 蟒蛇外壳 https www npmjs com package python shell 是否可以使用相同的库安装 python 包 就像是pip i
  • 自定义组件上的 OverlayTrigger 不起作用

    我试图在自定义组件 按钮 悬停时显示弹出窗口 class MyComponent extends React PureComponent
  • 如何避免页脚上的手风琴重叠

    我是 jQuery 新手 我正在使用手风琴 当我单击手风琴时 它会重叠在页脚上 我怎样才能避免它 下面是页脚的代码
  • 使用 mmap 访问 PCI-e 内存空间

    我在 Freescale MPC8308 处理器 基于 PowerPC 架构 上使用 PCI e 端口 在尝试使用它时遇到一些问题 端点 PCI e 设备的内存空间等于 256 MB 我可以使用 pciutils 包轻松读取和写入端点设备的
  • wxhaskell异步更新

    我正在使用 WxHaskell 以图形方式显示使用 TCP 通告状态更新的程序的状态 我使用 Data Binary 对其进行解码 当收到更新时 我想更新显示 所以我希望 GUI 能够异步更新其显示 我知道processExecAsync异
  • 如何强制在 DateTimeAxis 上显示特定日期

    是否可以强制在图表上显示网格线以及极端数据点的日期 我已经尝试了以下 Chart DateTimeAxis 属性的几乎所有配置 IntervalType Interval Minimum and Maximum但我对结果并不满意 设置属性M
  • B 树、数据库、顺序插入与随机插入以及速度。随机就是胜利

    EDIT Remus 纠正了我的测试模式 您可以在下面看到他的答案的更正版本 我采纳了用 DECIMAL 29 0 替换 INT 的建议 结果是 十进制 2133GUID 1836 即使行稍大一些 随机插入仍然获胜 尽管有解释表明随机插入比
  • 使用 SFINAE 检测成员函数 [重复]

    这个问题在这里已经有答案了 C 11中 判断一个类是否有成员函数size 您可以定义以下测试助手 template
  • 如何包含 Linux 头文件(如 linux/getcpu.h)?

    我在用着Linux 3 5 0 17 generic 28 Ubuntu SMP Tue Oct 9 19 31 23 UTC 2012 x86 64 GNU Linux 我需要 include
  • 如何在每个“exec”命令处执行 Docker 映像的入口点?

    在尝试使用 Dockerspec 测试 Dockerfiles 后 我终于得到了an issue https github com zuazo dockerspec issues 12我无法正确解决 我认为问题出在 Docker 本身 如果
  • 跨平台 Windows / OS X 开发,具有大量现有代码库

    对于使用 MFC 和 WinAPI 用 C 编写的复杂应用程序 有大量现有代码库 需要将其移植到 Mac OS X 理想的解决方案是在不同平台之间拥有尽可能多的通用代码 尤其是诸如业务之类的代码逻辑 GUI 可能会有所不同 具体取决于跨平台
  • 在 64 位 C++ 程序中使用 32 位库

    有什么方法可以在 64 位系统中使用旧的 32 位静态库 a 吗 没有机会获得这个旧库的源代码来再次编译它 我也不想在 gcc 中使用 m32 因为该程序使用许多 64 位库 谢谢 这完全取决于您运行的平台 例如 PowerPC 上的 OS
  • 调试 CoreGraphics/MapKit 中的崩溃

    当我的应用程序在 iPhone 上运行时 我遇到间歇性崩溃 所有崩溃都是相同的 并且以某种方式涉及 MKMapView Overlays MKCircleViews 来自典型的 iPhone 4s 崩溃报告 报告标题 Hardware Mo
  • 如何在 SMPP 中正确表示消息类别

    我目前正在尝试弄清楚 sms 类如何在 SMPP 中正确表示 然而 我现在对标准及其文档完全感到困惑 在普通短信中我们有 Class0 Flash短信 显示在显示屏上 Class1 普通短信存储在 SIM 卡上或设备内部 查看SMPP规范