编辑:我知道,经过一些研究,这个问题是由电话表中的 IMEI 字段引起的,如果我们使用调制解调器池(如带有 16 端口的 wavecome),gammu 只会检测到一个 IMEI
我有 1 个调制解调器与 16 个 sim 卡端口连接,每个配置都连接到我服务器上的同一个数据库,发送和接收短信都像魅力一样工作,每个端口都有 smsd 服务,比如
gammu-smsd -c /etc/gammu-smsdrc-modem1 --pid /var/run/gammu-smsdrc-modem1 --daemon
gammu-smsd -c /etc/gammu-smsdrc-modem2 --pid /var/run/gammu-smsdrc-modem2 --daemon
每个端口都有自己的 PhoneID,例如modem1
和modem2
,问题是为什么 gammu 数据库中的电话表不断用最后运行的 gammu-smsd 服务替换数据?
例如:如果我运行第一个配置,那么电话表将包含所有信息,例如信号,来自第一个端口的 IMEI,但是当我运行来自第一个端口的第二个 gammu-smsd 数据时,将消失,从第二个端口配置更改
这是我来自 modem1 /etc/gammu-smsdrc-modem1 的 smsdrc 配置
[gammu]
port = /dev/ttyUSB0
model =
connection = at115200
synchronizetime = yes
logfile = /var/log/gammu-smsdrc-modem1
logformat = nothing
use_locking =
gammuloc =
[smsd]
service=sql
logfile=/var/log/gammu-smsdrc-modem1
debuglevel=0
Driver=native_mysql
User=root
Password=root
PC=localhost
Database=test
PhoneID=modem1
这是我来自 modem2 /etc/gammu-smsdrc-modem2 的 smsd 配置
[gammu]
port = /dev/ttyUSB1
model =
connection = at115200
synchronizetime = yes
logfile = /var/log/gammu-smsdrc-modem2
logformat = nothing
use_locking =
gammuloc =
[smsd]
service=sql
logfile=/var/log/gammu-smsdrc-modem2
debuglevel=0
Driver=native_mysql
User=root
Password=root
PC=localhost
Database=test
PhoneID=modem2