【问题标题】:Convert text into PDU format将文本转换为 PDU 格式
【发布时间】:2015-10-21 05:09:50
【问题描述】:

我正在开发一个类似消息服务器的东西,它支持 PDU 格式(使用安卓手机)来发送消息。我已经使用在线编码器来转换我的文本,但我不知道将文本转换为 PDU 格式的真正步骤我不认为它只是一个十六进制数字。

我使用 at 命令从超级终端发送消息。

有人可以帮忙吗?

我使用了 AT 命令:

    at
    at+cmgf=0
    at+cmgs=25 (Length i guess)
    >"encoded message"

【问题讨论】:

    标签: c# sms at-command hyperterminal pdu


    【解决方案1】:

    AT+CMGS 命令在3GPP 25.005 standard 中定义,对于 PDU 模式,其语法为

    +CMGS=<length><CR>
    PDU is given<ctrl-Z/ESC>
    

    并在描述中进一步说明

    PDU 应为十六进制格式(类似于为&lt;pdu&gt; 指定的格式) 并在一行中给出; ME/TA 将此编码转换为实际的 PDU的八位字节。

    &lt;pdu&gt; 格式在消息数据参数中的第 3.1 章参数定义中定义:

    在 SMS 的情况下:3GPP TS 24.011 [6] SC 地址后跟 3GPP TS 23.040 [3] 十六进制格式的 TPDU:ME/TA 转换每个 TP 数据单元的八位字节转换成两个 IRA 字符长的十六进制数 (例如,整数值为 42 的八位字节作为两个字符呈现给 TE 2A(爱尔兰共和军 50 和 65))

    (SC 是 Service Centre 的缩写

    所有的乐趣都从这里开始,因为您现在必须真正、非常、非常深入地挖掘其他规范以发现实际格式...


    例如,24.011 描述了在移动设备和网络之间发送的消息的低级数据格式,其中只有部分内容与此上下文相关。

    7.3.1.2 RP‑DATA(移动站到网络) 该消息在 MS ‑> MSC 方向上发送。该消息用于中继 TPDU。这 信息元素符合 3GPP TS 23.040。

    在给定的表格中,最后两行是相关部分,服务中心地址和 TPDU。

    Information element, Reference, Presence, Format, Length
    RP‑Message Type, Subclause 8.2.2, M, V, 3 bits
    RP‑Message Reference, Subclause 8.2.3, M, V, 1 octet
    RP‑Originator Address, Subclause 8.2.5.1, M, LV, 1 octet
    RP‑Destination Address, Subclause 8.2.5.2, M, LV, 1‑12 octets
    RP‑User Data, Subclause 8.2.5.3, M, LV, <= 233 octets
    

    为了进一步挖掘,我一直在试图找出 RP-Destination Address 编号 IEI 的值,而且我已经花了很长时间写这个答案。抱歉停在这里。实际的电话号码编码是“正常”的被叫方 BCD 号码编码(24.008 中的 10.5.4.7),并且 TON+NPI 与 AT+CPBW 中的 &lt;type&gt; 参数相同。文本的编码本身就是一个完整的故事......


    尝试破译 3GPP 规范的某些部分有时非常困难,而且误解的可能性几乎是无穷无尽的!如果您真的打算开发自己的代码来执行此操作,则最好开始阅读良好的 PDU 模式介绍,例如 http://mobiletidings.com/2009/02/11/more-on-the-sms-pdu/1。 或者在现有的处理 PDU 模式的库/程序中查找代码2

    1 请注意,如果文本不包含对 3GPP 标准中的详细/技术术语的引用(通常是低质量指标),那么高质量的文章相距甚远。

    2 再次,努力寻找优质。

    【讨论】:

    • 我得到了转换代码......但是谢谢你给了我太多的学习...... :)
    猜你喜欢
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多