使用Kannel和SMSC模拟器发送和接收短信

问题描述:

我正在使用Kannel以发送/接收SMS,到目前为止我们被告知要阅读有关Kannel的文档,并且还要进行模拟。我能够使用Opensmpp发送短信,但我在接收短信给我的Kannel以处理它时遇到麻烦。如果有任何机会与OpenSmpp做这件事,请告诉我,因为我被卡在这里。如果不是,你可以将我引荐给另一个可以给我这种可能性的SMSC模拟器。 感谢您提前使用Kannel和SMSC模拟器发送和接收短信

我可以强烈建议使用Selenium Software的SMPPSIM作为SMSC模拟器。上次我从here得到它。它需要Java,但是如果我没有记错的话,OpenSMPP也是如此。一旦你启动并运行,你可以连接到它的Web Interface端口,它允许你注入将被发送到连接的客户端的消息。它也允许ESME到ESME模式,它基本上发回你发送的所有内容。

+0

可否请你展示一个代码示例如何在收发器模式下运行OpenSMPP。我可以成功将消息发送到SMSC,但无法获得递送回复。 – gkiko 2014-10-13 07:03:34

感谢您的回答。我使用SMPPSIm,它运行良好。我会把我的配置希望这将有助于某人。 Kannel.conf:

#kannel.conf 
group = core 
admin-port = 13000 
smsbox-port = 14000 
admin-password = saad 
log-file = /home/saad/klogs/kannel.log 
log-level = 0 
access-log = /home/saad/klogs/access_kannel.log 
dlr-storage = pgsql 

#--- postgresql connection 
group = pgsql-connection 
id = mydlr 
host = 127.0.0.1 
port = 5432 
username = saad 
password = **** 
database = kannelDb 
max-connections = 1 

#---- DLR table structure 
group = dlr-db 
id = mydlr 
table = "kannel_dlr" 
field-smsc = smsc 
field-timestamp = timstamp 
field-destination = destination 
field-source = source 
field-service = service 
field-url = url 
field-mask = mask 
field-status = status 
field-boxc-id = boxc_id 

group = smsbox 
#smsbox-id = mysmsbox do not uncomment this if you have only one smsbox 
bearerbox-host = localhost 
sendsms-port = 1025 
#global-sender = 1000 
log-file = /home/saad/klogs/smsbox.log 
log-level = 0 
mo-recode = true 

group = smsc 
smsc = smpp 
smsc-id = SMPPSim 
host = 127.0.0.1 
port = 2775 
transceiver-mode = 1 
receive-port = 2775 
smsc-username = smppclient1 
smsc-password = password 
system-type = 'VMA' 
#service-type = 'test' 
interface-version = 34 
#system-id = smppclient 
preferred-smsc-id = SMPPSim 

group = sendsms-user 
username = saad 
password = **** 
#forced-smsc = SMPPSim 
default-sender = '1000' 


group = sms-service 
keyword = default 
accept-x-kannel-headers = true 
#text = "No service specified" 
catch-all = true 
max-messages = 0 # it's better to put this parameter to 0 or you will have a lot Ack in  your network 
get-url = "http://localhost/kannel/?phone=%p&text=%a" 
+0

你好,确实kanel转发到你指定处理入站短信的网址 – Smith 2013-04-23 09:27:08

+0

Hi @Smith,是的,你需要做的就是在get-url参数上放置合适的url,并且每次Kannel收到一个url短信。 – 2013-04-24 10:21:02

+0

好吧,还有一个问题,我怎么发送短信从我的PHP应用程序到虚拟号码或kanel,以便当它收到它将转发到我的网址 – Smith 2013-04-24 11:37:20