Hi,

We were running into similar issues at one time. we have multiple bearerboxes 
and multiple backend processing server that handle the MO's from kannel via 
haproxy.

The way we handle multi part messages is to move the problem to our processing 
engine(s)

First disable message re-assembly in kannel by setting max-messages = 1

Then all messages are passed to the proxy with UDH header information intact in 
the get url
get-url = 
http://127.0.0.1:10880/api/kannel/sms?s=%p&d=%P&c=%i&t=%T&m=%b&i=%I&e=%c&u=%u<http://xx.xx.xx.xx/api/kannel/sms?s=%p&d=%P&c=%i&t=%T&m=%b&i=%I&e=%c&u=%u>

The proxies are individual to the bearerbox but are configured the identically 
on all servers.
The proxy configuration then detects if there is UDH data by looking for '&u=%' 
(single messages will just have '&u=')
If the proxy detects a UDH header then the message will be sent to a single 
specific server dedicated to handle multi part messages
(obviously with backup servers configured so if the original server goes away 
there is a single replacement server to handle the UDH messages)

Our processing engine then detects the multi part messages, does the 
re-assembly and processes the entire message.

This works for us because our server are geographically close, depending on 
your specific SMS processing requirements this may  or may not be suitable for 
geographically separated services

I am aware that this will also catch other messages that have UDH attached, 
e.g. font/colour specification and other such things, this is sufficiently low 
volume that a single server handles our load for these requests easily. if all 
our traffic were to have UDH information attached we would have to re-think how 
we detected / processed the multi-part messages in general

Stuart.

On Thu, 2015-07-23 at 00:25 +0500, ha...@aeon.pk wrote:
Hi,


@Joe: Technically, SMS splitting over SS7 like you are describing is not 
possible. If it is indeed the case, your Telco operator has configured his SMSC 
cluster in a very dumb and stupid way. Apart from A2P/P2A messages, this should 
also cause a havoc on P2P messaging as well. I wonder if they know what is 
going on.


I had an issue with single SMSC, in which I was not getting the DLR of my 
messages, while operator was insisting that he is sending them. After taking 
traces and all, it turned out that I had 4 sessions of same ESME bind with 
SMSC, which were named as separate SMSCs on my end. The DLRs were coming back 
alright, but when the return path (i.e. SMSC channel) was different, kannel was 
ignoring and discarding them. As a solution, I asked them to define all binds 
as new ESME (instead of multiple instances of a single account) on their side. 
This solved the issue.


Regards,
Hamza

On Thu, Jul 16, 2015 at 10:55 PM, Mick Burns 
<bmx1...@gmail.com<mailto:bmx1...@gmail.com>> wrote:
Hello Joe and Kannel community:

I am facing the same issue as you described.
Wondering if you have found a solution to your problem as I don't see
a follow-up from you on this.
Similarly to you and for obvious redundancy reasons, I have two
separate bearerbox and the upstream has multiple SMSC and will
sometimes deliver concatenated messages over different SMPP binds and
therefore messages ends-up split in between my two servers, preventing
the re-assembly and timely delivery of messages.

One idea would be to cluster the bearerbox together by having a shared
database table where they could write each parts of a multi-part
message.  The bearerbox instance in the cluster which receives the
last part (will determine this from the UDH) is responsible for
concatenating the message to its original form and proceed to hand-off
and finally update the database entry status.
It would require switching a global bearerbox setting for concatenated
message processing.  Either *standalone which is current behavior to
wait for all parts or *clustered where is would implement the database
storage.
I'd like to hear feedback from the community about this idea.

tnx

On Wed, Jan 14, 2015 at 7:40 AM, Joe Power 
<joe.po...@puca.com<mailto:joe.po...@puca.com>> wrote:
> Hi folks,
>         I have inherited a working Kannel platform with binds into multiple
> operators. I don't have much experience in configuring Kannel, but have seen
> what works on the existing platform. I have discovered an issue we have with
> multi-part messages from one of the operators we are connected to. The
> operator has 2 SMSCs with a shared SS7 stack (so they are effectively
> clustered as I understand it). As MO messages can come into either SMSC we
> have a separate bind into each one. However, when a multi-part MO message
> comes in, the individual parts can be handled by either SMSC. If a one part
> comes into one SMSC and is sent over its bind and the other part comes into
> the other SMSC and is sent over its bind then Kannel, as it is currently
> configured, won't match the two parts and concatenate them. What is
> currently happening is that Kannel is waiting for the other part(s) sent
> over the other bind and eventually times out and sends what it has. My
> questions are as follows: -
>
> 1> Is it possible to configure Kannel to treat both binds as connected to
> the one "organisation" and concatenate multi-part messages regardless of
> which of the two binds the parts come in on ?
>
> 2> If the above isn't possible, are there any other options to resolve the
> issue ?
>
> 3> What would the config file for such a configuration look like ?
>
> Any help appreciated.
>
> Regards,
> Joe.
>





--
[cid:1438152441.30526.12.camel@mnetmobile.com]  Stuart Beck
Systems Administrator



P       +61 8 8115 6649
E       stuart.b...@mnetmobile.com<mailto:stuart.b...@mnetmobile.com>
A       Level 1, 16 Anster Street,
Adelaide SA 5000
[cid:1438152441.30526.13.camel@mnetmobile.com]

Reply via email to