Hi,
To force SMS delivery to desired smsc you have to use allowed-smsc-id in
each one to only itself.
BR,
Nikos
----- Original Message -----
From: Emmanuel CHANSON
To: Nikos Balkanas ; users
Sent: Tuesday, October 12, 2010 7:10 AM
Subject: Re: smsbox to opensmppbox routing
One more question,
Is loopback SMS able to handle DLRs ?
I dont see anything about this in user guide.
I made test and DLRs are not sent to smsbox in order to trigg DLR-URL
Emmanuel
2010/10/12 Emmanuel CHANSON <emmanuelchan...@gmail.com>
Ok here I got a problem,
For understanding below the purpose and test conditions:
Purpose of the test: I need to send SMS from smsbox cgi script to 1 smpp
application.
For this I have smsbox <---> sqlbox (not mandatory here) <---> bearerbox
I have configured 2 smscs:
group = smsc
smsc = loopback
smsc-id = loop1
group = smsc
smsc = loopback
smsc-id = loop2
and 2 smsbox-route associated where all SMS from loop1 are fwd to
smppclient1=mmg:
second route if when smppclient1 answer back to my cgi script
group = smsbox-route
smsbox-id = sqlbox-mo
smsc-id = loop2
group = smsbox-route
smsbox-id = mmg
smsc-id = loop1
Then I have connected to bearerbox an opensmppbox with 1 SMPP application
with a route to loop2 when application will answer back to my SMS sent from
the CGI script.
bearerbox <---> opensmppbox <---> smpp_client1
group = opensmppbox
opensmppbox-id = smppbox
opensmppbox-port = 6201
bearerbox-host = localhost
bearerbox-port = 13001
log-level = 0
log-file = /var/log/kannel/opensmppbox.log
our-system-id = opensmppbox
route-to-smsc = loop2
smpp-logins = "/etc/kannel/smpplogins.txt"
smsbox.conf:
--------------------
group = sendsms-user
username = xxx
password = xxx
#user-deny-ip = ""
#user-allow-ip = ""
default-smsc = loop1
#forced-smsc = loop1
max-messages = 4
concatenation = true
CGI script -> smsbox -> sqlbox -> bearerbox -> loop1 -> bearerbox ->
opensmppbox -> smppclient1
then smppclient1 make an action it send back a SMS
smppclient1 --> opensmppbox --> bearerbox --> loop2 --> bearerbox -->
sqlbox --> smsbox
But I got a problem at the begining,
about smsc routing, Just after smsbox & sqlbox, I see bearerbox forwarding
SMS either to smsc loop1 or smsc loop2 ramdomly although I have specified in
url the value &smsc=loop1 to inject sms only to loop1 in order to trigg
opensmppbox .
Where is the problem ? Is it a bug ?
I made a test with 2 fakesmsc only connected to bearerbox, calling smsbox
cgi script it works well when invoking &smsc=fake1 or &smsc=fake2 but if I
add or use only loop smsc, bearerbox start to send sms randomly to loop 1 or
others smscs.
Logs with 2 tests done one after the other through sendsms script with
&smsc=loop1 that should forward to mmg smpp client and not send back to to
sqlbox, 1 is nok, 2 is ok but this is not normal.
bearerbox.log:
...
2010-10-12 11:38:35 [9021] [18] DEBUG: boxc_receiver: sms received
2010-10-12 11:38:35 [9021] [15] DEBUG: send_msg: sending msg to boxc:
<sqlbox-mo>
2010-10-12 11:38:35 [9021] [15] DEBUG: boxc_sender: sent message to
<127.0.0.1>
2010-10-12 11:38:35 [9021] [14] DEBUG: boxc_receiver: got ack
2010-10-12 11:38:35 [9021] [18] DEBUG: send_msg: sending msg to box:
<127.0.0.1>
2010-10-12 11:38:49 [9021] [18] DEBUG: boxc_receiver: sms received
2010-10-12 11:38:49 [9021] [21] DEBUG: send_msg: sending msg to boxc: <mmg>
2010-10-12 11:38:49 [9021] [21] DEBUG: boxc_sender: sent message to
<127.0.0.1>
2010-10-12 11:38:49 [9021] [18] DEBUG: send_msg: sending msg to box:
<127.0.0.1>
2010-10-12 11:38:49 [9021] [24] ERROR: BOXC: Got ack for nonexistend
message!
2010-10-12 11:38:49 [9021] [24] DEBUG: Msg object at 0xb5600b38:
2010-10-12 11:38:49 [9021] [24] DEBUG: type: ack
2010-10-12 11:38:49 [9021] [24] DEBUG: ack.nack: 0
2010-10-12 11:38:49 [9021] [24] DEBUG: ack.time: 1286843929
2010-10-12 11:38:49 [9021] [24] DEBUG: ack.id:
8634c78a-7f2e-403a-b1d6-02c717bb753a
2010-10-12 11:38:49 [9021] [24] DEBUG: Msg object ends.
2010-10-12 11:38:49 [9021] [24] DEBUG: boxc_receiver: got ack
Regards,
Emmanuel
2010/10/12 Nikos Balkanas <nbalka...@gmail.com>
Yeap. It behaves like any other smsc. Just use different smsc-ids.
BR,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: Nikos Balkanas
Cc: users
Sent: Tuesday, October 12, 2010 1:07 AM
Subject: Re: smsbox to opensmppbox routing
It seems to work very well and even if I use smsbox (cgi script) SMS is
forwarded to opensmppbox using smsbox-route, bearerbox does not send back to
the originated box.
One question is it possible to create 2 smsc loopback ? in order to be able
to send SMS from
Application 1 -> Application 2 using loopback smsc 1 and smsbox-route 1
and also
Application 2 -> Application 1 using loopback smsc 2 and smsbox-route 2
Emmanuel
2010/10/11 Nikos Balkanas <nbalka...@gmail.com>
Nope. I am not talking about either solution. I am describing a new
approach. You will need 1 bb and 1 smppbox. Connect both apps to smppbox,
and smppbox to bearerbox. Then send to loopback smsc or http smsc for MT2MO
redirection. Specify with an smsbox-route rule that all incoming MO from
looopback smsc should go to AT smsbox.
BR,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: Nikos Balkanas
Cc: users@kannel.org
Sent: Monday, October 11, 2010 1:46 PM
Subject: Re: smsbox to opensmppbox routing
To clarify about the solution to use 2 BB is it possible?
I don't understand in your last mail if you talk about fancy way or normal
way, or if it is not possible at all to do AO-AT routing :s
Regards,
Emmanuel
2010/10/11 Nikos Balkanas <nbalka...@gmail.com>
Nope. BB is an SMPP client and can send only to an SMPP server. If your
applications are clients, you cannot connect to them with bb. SMPPbox cannot
help you either, because it cannot route between 2 SMPP clients.
You may be able to connect both applications to SMPPbox and then use either
the loopback smsc or the http smsc (system kannel) to force a loopback on
bb. However I am not sure how you will do the routing from one application
to the other (smsbox in this case). You see, loopback and http smsc send
back only to the originating smsbox.
BR,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: users@kannel.org
Sent: Monday, October 11, 2010 11:21 AM
Subject: Re: smsbox to opensmppbox routing
Understood... so I need a second bearerbox to do AO-AT ie Application
Originated (smpp client 1) -> Application terminated (smpp client 2)
I tought smppbox could forward from one client to another but it can not, it
forward all SMS to bearerbox that routes SMS.
Thanks,
Emmanuel
2010/10/11 Nikos Balkanas <nbalka...@gmail.com>
(Please use list)
I don't understand AO-AT. You can get infinite loop if you use careless
routing:
smsbox -> bb -> SMSc
smppbox-> ->smppbox
If you just want to send SMS to SMSc, you don't need smppbox. If you route
SMS to smppbox, and smppbox connects to same bb, it will feed again the SMS
to the bb, which in turn can feed it again to smppbox, and so on.
BR,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: Nikos Balkanas
Sent: Monday, October 11, 2010 10:24 AM
Subject: Re: smsbox to opensmppbox routing
So if I want to do AO-AT routing using one bearerbox I can not. This is my
purpose.
Here I would like to use smsbox cgi script to send SMS but let's say I want
to send SMS from one application to another, both will be connected to
opensmppbox but in this case I will need the fancy solution.but you said it
will end p to infinite loop wy ?
Otherwise have to connect second bearerbox.
Emmanuel
2010/10/11 Nikos Balkanas <nbalka...@gmail.com>
Normal way would be to use 2 bbs. Fancy way would be to use a single one,
but for what purpose? You would end up with an infinite loop. The idea is to
be able to connect transparently other SMPP clients to your infrastructure
and appear as another aggregator.
BR,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: Nikos Balkanas
Cc: users
Sent: Monday, October 11, 2010 10:00 AM
Subject: Re: smsbox to opensmppbox routing
Ok I understand a little more,
Is it relevant if I use only one bearerbox and configure this bearerbox to
be a client, to connect to smppbox using smsc = smpp ? Then add a routing ?
Or do I have to use 2 differents bearerbox for this like you advise?
Emmanuel
2010/10/11 Nikos Balkanas <nbalka...@gmail.com>
Hi,
You cannot use it that way. openSMPPbox is an SMPP proxy. It connects to
bearerbox as another smsbox, but it cannot connect to directly to smsbox.
You can connect an SMPP client (ie ESME - another bearerbox) to it, and it
will forward SMS to bearerbox for routing to an smsc.
HTH,
Nikos
----- Original Message ----- From: Emmanuel CHANSON
To: users
Sent: Monday, October 11, 2010 8:34 AM
Subject: smsbox to opensmppbox routing
Hello,
I am just discovering opensmppbox (latest svn release compiled and installed
with kannel & sqlbox svn)
My purpose is to send SMS to an smpp application for tests.
For this I want to use smsbox cgi script but I got a problem of routing from
bearerbox.
How can I route these SMS from smsbox to opensmppbox (itself linked to a
smpp application), do I have to use smsbox-route ?
Below my config and logs:
bearerbox.log:
...
2010-10-11 16:24:48 [27991] [17] DEBUG: boxc_receiver: sms received
2010-10-11 16:24:48 [27991] [17] WARNING: Cannot find SMSCConn for message
to <1065>, rejected.
2010-10-11 16:24:48 [27991] [17] WARNING: Message rejected by bearerbox, no
router!
2010-10-11 16:24:48 [27991] [17] DEBUG: send_msg: sending msg to box:
<127.0.0.1>
kannel.conf:
-----------------
group = core
admin-port = 13000
admin-password = xxx
status-password = xxx
#admin-deny-ip = ""
#admin-allow-ip = ""
log-file = "/var/log/kannel/bearerbox.log"
log-level = 0
access-log = "/var/log/kannel/access.log"
#http-proxy-host = "127.0.0.1"
#http-proxy-port = 8080
#http-proxy-exceptions = "127.0.0.1"
#http-proxy-username = "user"
#http-proxy-password = "password"
#ssl-certkey-file = "mycertandprivkeyfile.pem"
#store-type = file
store-type = spool
#store-location = /var/log/kannel/kannel.store
store-location = /var/spool/kannel
dlr-storage = mysql
#black-list = "http://127.0.0.1/kannel/black-list.txt"
white-list-regex = ^\+xxx[0-9]{6}$
#
# Smsbox related
# Sqlbox at that moment
smsbox-port = 13001
#
# Wapbox related
wapbox-port = 13002
#udp-deny-ip = "*.*.*.*"
udp-allow-ip = "127.0.0.1"
#wdp-interface-name = "*"
####################################
# Wapbox
group = wapbox
bearerbox-host = localhost
log-file = "/var/log/kannel/wapbox.log"
log-level = 0
syslog-level = none
####################################
# PPG
group = ppg
#ppg-url = /wappush
ppg-url = /kannel/php-admin/wappush.php
ppg-port = 8080
concurrent-pushes = 100
users = 1024
ppg-allow-ip = "127.0.0.1"
trusted-pi = true
service-name = ppg1
group = wap-push-user
wap-push-user = wappush
ppg-username = xxx
ppg-password = xxx
allow-ip = "127.0.0.1"
####################################
# SMSC CONNECTIONS - GLOBAL FIELDS
# SMSC Fake
group = smsc
smsc = fake
smsc-id = "FakeSMSC-1"
allowed-smsc-id = "FakeSMSC-1"
host = localhost
port = 10001
connect-allow-ip = 127.0.0.1
#############################
# DLR with MySQL support configuration
group = mysql-connection
id = mydlr
host = localhost
username = xxxx
password = xxxxxx
database = kanneldlr
# max count of connections that will be opened for dbpool
# default is 1
max-connections = 1
# MySQL Group
group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-source = source
field-service = service
field-url = url
field-mask = mask
field-status = status
field-boxc-id = boxc
#############################
# SMSBOX SETUP
# NOT USED
group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
#sendsms-chars = "0123456789 +-"
global-sender = +xxxxxxxxx
log-file = "/var/log/kannel/smsbox.log"
log-level = 0
access-log = "/var/log/kannel/access.log"
#white-list =
#black-list =
#reply-couldnotfetch =
#reply-couldnotrepresent =
#reply-requestfailed =
#reply-emptymessage =
#############################
group = smsbox-route
smsbox-id = mmg
opensmppbox.conf:
-----------------------------
# sample opensmppbox.conf
group = core
dlr-storage = mysql
# this group defines your opensmppbox
group = opensmppbox
# our boxc type
opensmppbox-id = smppbox
# the port to listen on for smpp connections
opensmppbox-port = 6201
# we connect to the following host as a box
bearerbox-host = localhost
bearerbox-port = 13001
log-level = 0
log-file = /var/log/kannel/opensmppbox.log
our-system-id = opensmppbox
#route-to-smsc = smpp
# see sample smpplogins.txt
smpp-logins = "/etc/kannel/smpplogins.txt"
# the following is just standard dlr configuration
group = mysql-connection
id = mydlr
host = localhost
username = xxxx
password = xxxxxx
database = kanneldlr
# you can increase this upon a higher load
max-connections = 1
group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-source = source
field-service = service
field-url = url
field-mask = mask
field-status = status
field-boxc-id = boxcid
opensmpplogin.txt:
---------------------------
mmg mmg mmg
Regards,
Emmanuel