GSMMODEM.dll无法发送106开头的通道号码短信

分享
版主,用“C#通过短信猫类库GSMMODEM.dll实现简单的短信发送测试软件”这个帖子的工具发一般的手机号可以,但是对方号码是长号码比如  10657516068402 这种号码就发不了,代码需要做什么修改
短信设备二次开发 2022-04-06 1 0

admin

  • 注册时间 : 2022-03-30 04:08:47
  • 邮箱地址 : admin@tenghengkeji.com
  • 此页面用于展示用户的基本上资料信息

回帖 ( 1 )

  1. #1楼 admin
    2022-04-06 05:51:49
    0 0
    回复

    这个需要在好像是这个类PDUEncoding.cs里面修改特殊长度的号码判断进行编解码才可以对短信网关通道的短信进行接收。应该是这个DLL包作者写死了只支持11位的手机号码,好像连10086也不支持。写的不够灵活很多开发包都不支持,因为这些号码用到的人不多所以就没有了,你自己研究下吧

    重新计算号码的长度,DA,由长度Length+Type+Address组成,你需要重新计算Length的长度(16进制表示),type协议一般是81或者91占1位,Address是86+号码(如8615118131494)

    例如:0D 81 685111181394F,这里的0D就是十进制是13长度,81协议占一位,手机号码11位奇数补F成12位,12+1=13


    10657516068402是14位+1位(81)就是15位,十六进制就是0F,你可以尝试下