问题标签 [pdu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
473 浏览

smpp - 使用 logica SMPP 从 pdu 获取有效负载信息

如何使用 logica SMPP 从 pdu 获取有效负载信息?

0 投票
2 回答
2560 浏览

android - “deliveryIntent”如何在 Android SMS 框架中工作?

SMSManagers sendTextMessage函数的 Android 文档

如果不为 NULL,则在将消息传递 给收件人时广播此 PendingIntent。状态报告的原始 pdu 在扩展数据(“pdu”)中

我不明白在将 SMS 传递到destinationAddress 或scAddress 时是否触发了deliveryIntent 以及“状态报告的原始pdu 在扩展数据(“pdu”)中的含义是什么以及如何获取该报告?.

我感谢你的努力。

0 投票
1 回答
3029 浏览

python - Python - telnet - 自动化 APC PDU

我正在尝试使用 python 的内置 telnet 功能自动关闭连接到 APC PDU 的设备。我相信我可以输入用户名和密码,但之后我无法继续。我的代码如下:

我正在运行 Windows,所以我相信https://github.com/quackenbush/APC不是一个选项,因为我无法安装 pexpect。

任何帮助,将不胜感激。

谢谢,

帕思

0 投票
1 回答
1557 浏览

c# - SNMP PDU 中的变量绑定

我正在用 C# 开发一个 SNMP 实用程序,它可以使用 SNMP 版本 1 数据包格式从指定的设备 OID 获取数据。

我几乎完成了它,但它们是我无法解决的问题。

我通过发送一个“Get”数据包成功查询了一个变量,但我需要通过发送一个数据包来查询多个变量。

我以这种方式尝试过:

我用谷歌搜索了很多,但找不到任何相关的东西。

0 投票
1 回答
2879 浏览

android - Android上的CDMA PDU解析

我编写了一个程序来解码 CDMA 3GPP2 点对点 SMS 消息。我在网上找到的几个 CDMA PDU 十六进制字符串上对其进行了测试,效果很好。但是,当我尝试在 Android 平台上的所有传入短信上实现它时,它总是失败。

我查看了传入的 PDU,它似乎没有遵循我习惯看到的相同模式。谁能解释这个 PDU 是什么格式,或者我缺少什么来正确解码这个 PDU?是否有我没有考虑的其他标题或字段?

从我手机上的传入短信中提取的 PDU 示例:

我发现并测试了我的解析器的所有 CDMA pdus 看起来更像:

运营商:Verizon 电话:Samsung Galaxy S Fascinate跑步Android 2.3.3

0 投票
2 回答
12594 浏览

delphi - 当我对 SMS PDU(GSM 7 位)用户数据进行编码/解码时,是否需要先添加 UDH?

虽然当 UDH不存在时我可以成功地对 SMS 消息的用户数据部分进行编码和解码,但是当 UDH存在时(在这种情况下,对于串联的 SMS)我会遇到麻烦。

当我对用户数据进行解码或编码时,是否需要先将 UDH 添加到文本中?

本文提供了一个编码例程示例,该示例使用填充位(我仍然不完全理解)补偿 UDH,但它没有给出传递给例程的数据示例,因此我没有明确的用例(我在网站上找不到解码样本):http: //mobiletidings.com/2009/07/06/how-to-pack-gsm7-into-septets/

到目前为止,如果我在解码之前将 UDH 预先添加到用户数据中,我已经能够得到一些结果,但我怀疑这只是一个巧合。

例如(使用来自https://en.wikipedia.org/wiki/Concatenated_SMS的值):

输出:“ß@ø¿Æ @hello world”

相同的输出:“ß@ø¿Æ @hello world”

如果没有预先设置 UDH,我会得到垃圾:

输出:“PKYY§An§eYI”

处理这个的正确方法是什么?

在对用户数据进行编码时,我是否应该在文本中包含 UDH?

我应该在解码后去掉垃圾字符,还是我(正如我怀疑的那样)完全不符合这个假设?

虽然这里的解码算法似乎在没有 UDH 的情况下工作,但它似乎没有考虑任何 UDH 信息: 寻找 GSM 7bit encode/decode algorithm

如果有人能让我正确地继续前进,我将永远感激不尽。任何清晰的示例/代码示例将不胜感激。;-)

我还将提供一个包含算法的小型示例应用程序,如果有人认为它有助于解决这个谜题。

编辑1:

我正在使用 Delphi XE2 Update 4 Hotfix 1

编辑2:

感谢@whosrdaddy 的帮助,我能够成功地让我的编码/解码例程工作。

作为旁注,我很好奇为什么当 UDH 没有用它编码时用户数据需要在 7 位边界上,但是@whosrdaddy 引用的 ETSI 规范段落中的最后一句话回答说:

如果使用 7 位数据并且 TP-UD-Header 没有在 septet 边界上结束,则在最后一个 Information Element Data 八位字节之后插入填充位,以便整个 TP-UD 标头有整数个 septets。这是为了确保 SM 本身在八位字节边界上开始,以便较早的相位移动将能够显示 SM 本身,尽管可能无法理解 TP-UD 字段中的 TP-UD Header

我的代码部分基于以下资源中的示例:

寻找 GSM 7bit 编码/解码算法

https://en.wikipedia.org/wiki/Concatenated_SMS

http://mobiletidings.com/2009/02/18/combining-sms-messages/

http://mobiletidings.com/2009/07/06/how-to-pack-gsm7-into-septets/

http://mobileforensics.files.wordpress.com/2007/06/understanding_sms.pdf

http://www.dreamfabric.com/sms/

http://www.mediaburst.co.uk/blog/concatenated-sms/

这是其他在 SMS 编码/解码方面遇到问题的人的代码。我确信它可以被简化/优化(欢迎评论),但我已经成功地使用了几种不同的排列和 UDH 标头长度对其进行了测试。我希望它有所帮助。

0 投票
2 回答
4037 浏览

php - 如何构建串联的短信 pdu?获取垃圾字符

我正在尝试构建一些 PHP 代码以通过 telnet 将 SMS 发送到 SIM 服务器,但在发送连接消息时遇到了麻烦。

我已经阅读了一些关于使用填充位将编码的消息 septets 变成八位字节的内容,但我并不完全理解它是如何工作的。

我有一个类可以接收电话号码、消息(已拆分为最大 153 个字符)、短信总数和当前文本部分的订单号。

只要我在 $hexmessage 之前添加了“20”,它就可以工作。但是我在第一部分的开头(在我的味精的第一个字母之前)得到了一个垃圾字符,并且相同的垃圾字符替换了第二部分的第一个字母!(使用 '20' 所以它会显示一个空格,但它会显示一个三角形)

我不明白为什么,或者我必须改变什么才能让它正常工作。

我希望有人能帮助我理解我做错了什么。

这是我到目前为止所得到的:

0 投票
3 回答
21849 浏览

java - 创建适用于 SmsMessage.createFromPdu() (GSM 3gpp) 的 Android PDU

目标:(注意:选择的答案为 CDMA(3gpp2)生成一个 GSM(3gpp)PDU )请参考这里

创建一个可以传递到的 PDU SmsMessage.createFromPdu(byte[] pdu)。我正在向我的BroadcastReciever一个收听 SMS 消息的人“广播意图”。

BroadcastReciever

用于“真正android.provider.Telephony.SMS_RECEIVED的”短信

intent-filter对这些新的“应用程序短信”使用自定义操作。

所以我希望我BroadcastReciever能够在不添加额外代码的情况下处理这两种类型的消息

(是的,我知道我可以BroadcastReciever为不同的intent-filter动作采取不同的方式,但我想真正做到这一点,因为我知道这是可以做到的,我很固执)

研究:

我整天/晚上都在做研究。即使我对数学和转换以及创建合适的算法非常糟糕,我也尝试过编写自己的代码。我查看了有关 PDUs和Create PDU Android的Stack 主题,但答案中的链接已损坏。我什至看了源代码com.google.android.mms.pdu

到目前为止,我只能使用http://www.wrankl.de/JavaPC/SMSTools.html中的一些代码创建一个没有“原始地址”的 PDU

配电单元:

目的地:555 消息:helloworld

这显然是无效的......

旁注:

除了本地使用之外,我不打算对 PDU 做任何事情,我不想在我的代码中使用硬编码的 PDU,因为我没有重复使用 PDU。

如果有什么我可以添加到我用来添加“原始地址”的代码中,那将起作用。或者有人知道我不知道的图书馆的信息吗?

谢谢

更新:

试过了

这给了我以下(以十六进制表示)

没用

0 投票
0 回答
1937 浏览

java - 在 Android 中创建 CDMA (3gpp2) PDU

上周我问了一个类似的问题,甚至设置了赏金,在意识到问题是给出的答案是针对GSM PDU (3gpp)并且它在模拟器 (android 2.2) 中完美运行之后。我接受了答案并授予了赏金,并更改了标题以供将来参考。

问题:

现在,我在问如何创建一个 CDMA (3gpp2) PDU,类似于创建一个GSM PDU (3gpp),可以在 Android 的 API 中解析createFromPdu()

尽量避免自己写:

阅读新方法createFromPDU(byte[] pdu, String format)时我很兴奋, 然后意识到它不能向后兼容。

我什至对使用原始问答com.android.internal.telephony.gsm.SmsMessage.createFromPdu(pdu);生成的 GSM PDU感到好奇。但我不太确定这是否安全......

所以我决定最好的方法是根据设备类型创建一个 GSM 或 CDMA PDU。

有没有人有一个可以创建 CDMA PDU 的片段?

或者知道如何将创建 GSM PDU 的方法转换为 CDMA PDU 格式?

更新:

我一直在努力手动创建一种方法来创建 CDMA (3gpp2) pdu在 cdma pdu 令人敬畏的故障之后我已经接近成功 但我似乎无法理解如何 7bit 打包BearerData和 cat日期字符串正确地放在 pdu 的末尾,这是我到目前为止所拥有的

我不确定我是否走在正确的轨道上。

0 投票
1 回答
460 浏览

android - Delivery Intent 的 pdu 中是否包含接收短信的人的电话号码?

我正在尝试从这样的交付广播接收器Intent中的 PDU 中找出接收短信的人的电话号码onReceive()

但这导致了以下错误

有可能,Android 的原生 SMS 应用程序可以做到这一点。