【问题标题】:How to write a AT+CUSD ussd command to support maximum handsets如何编写 AT+CUSD ussd 命令以支持最大手机
【发布时间】:2015-05-10 01:57:17
【问题描述】:

我遇到了与AT+CUSD 命令相关的问题。在某些 Gsm 调制解调器上,此命令需要三个参数,而在其他调制解调器上,它只需要两个参数。此外,这些参数的值不同。

我想知道,如何配置 Gsm 调制解调器,以便在大多数 Gsm 调制解调器上以统一的方式执行此命令

例如:在Nokia c6-01上,cusd命令只有这样才能成功执行:

AT+CUSD=1,"*123#",15

而在索尼爱立信 K750 上:

AT+CUSD=1,"*123#"

如果我给第三个参数它会报错。

【问题讨论】:

    标签: at-command ussd


    【解决方案1】:

    该命令在27.007中定义,语法为

    +CUSD=[<n>[,<str>[,<dcs>]]]
    

    所以实际上所有参数都是可选的,使用 0、1、2 或 3 个参数调用命令是有效的。

    关于&lt;dsc&gt; 值,据我所知,其指定的默认值 0 映射到具有德语的 GSM 7 位默认字母表,值 15 是没有任何特定语言的 GSM 7 位默认字母表 23.038。它还说

    GSM 7 位默认字母表的实现是强制性的。是否支持其他字符集是可选的。

    因此,如果诺基亚设备出现AT+CUSD=1,"*123#" 错误,我会解释为它没有任何德语支持,因此会失败。至于索尼爱立信手机,如果给定任何值的&lt;dcs&gt; 参数,我不能说它为什么会失败(当然会有几个值它会失败,但它应该支持 15)。尝试迭代语言,看看是否有任何收获(例如是否支持英语?)。

    您可以尝试以其他方式指定 GSM 7 位,例如32(或者可能通过探索Any reserved codings shall be assumed to be the GSM 7 bit default alphabet (the same as codepoint 00001111) by a receiving entity.,尽管这可能不适用于所有手机)。

    由于您正在检查您在任何情况下发出的任何 AT 命令的最终结果代码(您是,对吗?),实现回退算法并没有太多额外的工作:

    1. 首先尝试使用 dcs = 15 调用
    2. 如果失败,则使用 dcs = 32 调用
    3. 最后,如果以上都失败了,请尝试不使用 dcs。

    这应该是在大量手机上调用AT+CUSD 的最便携方式。


    顺便说一下,请注意 &lt;n&gt;0 值在 27.007 规范中带有下划线。这有点微妙,但它意味着它是一个默认值,没有明确说明(例如为&lt;dsc&gt; 完成)。所以AT+CUSD=AT+CUSD=0 相同(实际上您甚至可以调用AT+CUSD=,"*123#"AT+CUSD=0,"*123#" 相同,尽管您可能会遇到无法正确解析的手机。索尼爱立信早期生产的所有手机/调制解调器,而且几乎都是后来生产的,所有基于ST-Ericsson平台的手机都会正确解析这个)。


    如果您想自动化测试,您可以使用我的 atinout 程序,例如:

    echo ATE1 | atinout - /dev/ttyACM0 -
    for i in $(seq 0 15) 32; \
    do \
            echo AT+CUSD=1,"xxxx",$i; \
    done | atinout - /dev/ttyACM0 -
    

    如果您的调制解调器设备是 /dev/ttyASM0。


    更新:您为字符串选择的字符集很可能是这里的问题,如this answer 中所述。尝试运行AT+CSCS="GSM" 看看是否有帮助。

    【讨论】:

    • 设置Char设置为GSM,回复是英文吗?
    • 改变字符编码不会改变内容,只会改变它的表现。请对此进行测试并向我们更新结果。
    • 设置AT+CSCS="GSM"后问题解决。现在索尼爱立信手机也接受第三个参数。但我仍然收到人类可读格式的回复。这是预期的行为吗?我想如果我将 CSCS 设置为 GSM,那么我会收到一些非人类可读格式的响应。
    • 不,它应该是可读的。 GSM 字符集是一种 7 位文本编码,与 ASCII 相似但又不同。您可以在 23.038 中的“6.2.1 GSM 7 位默认字母”一章中查看整个表格。
    • 谢谢,在将 CSCS 设置为 GSM 后,索尼爱立信设备上的工作就像一个魅力
    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多