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

Reply via email to