发送短信时,短信中心号码默认是从卡里面的 EFsmsp 读到的,有的卡不符合规范,SIM 卡里短信中心号码为空,导致短信发送失败。
排查这种情况,Android手机,可以通过*#*#4636#*#*进入,手机信息,滑动底部看SMSC,点击刷新,如果SMSC号码为空或者不正确,可以修改为正确的SMSC号码,再验证短信发送是否正常。
各运营商卡对应的短信中心号码可以通过如下网址查询,
上述方法,可以用来验证是否短信中心号码错误导致的短信发送失败,还可以用于手动解决短信中心号码异常问题。
实际我们更希望SIM卡短信中心号码异常情况下,可以自动适配默认的短信中心号码。
具体做法,可以在手机modem加个可以客户自己配置的table(根据不同的plmn配置短信中心号码),当卡不符合规范,没有短信中心号码时,就用配置的这个table里面的短信中心号码,这样就可以解决短信中心号码异常导致的短信发送失败问题。
具体设置方法可以查询对应芯片平台的文档。