如果我有来自移动运营商的SIM卡,例如南非的沃达康,我可以通过拨*111#来使用他们的USSD服务。然后,我可以通过我的手机键盘导航这些选项。
我想要创建一个脚本,以一种自动化的方式这样做。有办法这样做吗?
我认为这在安卓应用程序(Make USSD call in android)上是可能的。是否有一种方式来消费一个特定的移动运营商的UUSD服务,而不首先从该运营商购买SIM卡?(即在http/tcp上的服务器上运行此操作)。
发布于 2018-09-13 11:02:32
要访问USSD菜单,您需要在移动网络上。USSD不是互联网,甚至不是数据网络。USSD是在移动信令网络上传输的。因此,您需要一个SIM。
要通过脚本在USSD菜单上导航,您可能需要几个步骤。
tty设备访问,通常是在/dev/ttyUSB0上(没有绝对规则:一些模型只定义2个设备,一些模型定义4个设备)。对于测试,您可以使用一些终端软件。我使用的是miniterm.py,一个Python程序,但是minicom和很多其他程序一样可以。为了实现自动化,您可能需要一个用于首选语言的串行库。在命令行上,有atinout,但我没有使它正常工作,socat - /dev/ttyUSB0也应该工作。Hayes Modem AT命令。您可以阅读AT命令引用3 3GPP 27.007,第7.15章,以获得正式文档,但基本上可以发送到调制解调器(没有#...部分):
ATZ #以重置调制解调器AT+CUST=2 #以关闭任何正在进行的USSD会话AT+CUSD=1、“#111#”、15#以启动导航
如果你得到了菜单,你就会没事;如果不是,那么,事情并不是绝望的,但这可能会更困难,因为你可能需要玩字符编码。
1:60 (/ts_127007v100300p.pdf )https://stackoverflow.com/questions/52290487
复制相似问题