同事做一短信网关平台,采用kannel软件。

安装正常,配置文件如下:

# Vodafone 3G card
group = core
admin-port = 13000
admin-password = test
status-password = test
smsbox-port = 13001

group = smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13013

group = sendsms-user
username = tester
password = foobar

group = smsc
smsc = at
smsc-id = VODAFONE1
modemtype = auto
device = /dev/ttyUSB0

group = modems
id = vodafone
name = VodaFone3G
detect-string = "SIEMENS"
speed = 9600

 

启动bearerbox时,在phase 2阶段报错:General error. 之前有一个AT+CNMI=1,2,X,X,0

用终端软件连接串口后,通过at+cmdf=?进行查询,发现最后一个参数必须是1

于是,修改配置文件,增加一行初始化命令

# config file

......

group = modems
id = vodafone
name = VodaFone3G
detect-string = "SIEMENS"
init-string ="AT+CNMI=1,2,0,1,1"
speed = 9600

再次启动bearerbox /etc/kannel.conf, 结果启动成功,问题解决。

附:kannel常用操作

========================

启动方法:
bearerbox /etc/kannel.conf
smsbox /etc/kannel.conf

发送一条短信:现在可以用浏览器发送短信了,把下面的 “手机号码” 改成要发送的手机号码。
http://127.0.0.1:13013/cgi-bin/sendsms?username=tester&password=foobar&text=hello, world.&to=手机号码&from=test

 

终端AT命令手工发送方式(完整AT命令可百度):

发送SMS,可按文本方式
AT+CMGF=1
OK
AT+CMGS=13501154105
> AAA<^Z>
+CMGS: 204
OK

 

posted on   胡彼德  阅读(439)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
历史上的今天:
2011-04-28 Stevens.W.R :UNIX网络编程 3rd



点击右上角即可分享
微信分享提示