|
You will find that if the application sends a
message longer than 160chars it will automatically split the
message,
in fact the response will tell you the number of
splits.
Note that Not all phones are capable of
reassembling segmented messages - mainly older ones I guess.
But conversely on kannel receiving segmented
messages, it does not reassemble the segments into one coherent
message for your application - which it should
because this segmenting is an artifact of the protocols used - and isn't
the
idea of having kannel is so your application
doesn't need to deal with diverse low level interface with the SMSC
??
AFAIK, the application shouldn't care how many
packets were received for a message because you don't pay for messages
received, but for sending you do care, so in
fact for us, we have the application split the message for MT (mobile
terminating).
I am familiar with SMPP, there are two ways of
receiving segmented messages, which also depends on the type of
SMSC
you are connected with.....
The segements can be purely sent as concatenated
messages using udh + message
OR the SMSC may take advantage of the fields in the
SMPP protocol to set the segment information,
It is possible to have kannel queue up the segment
parts internally, and only send to application when all parts
received.
In fact have enhanced Kannel to do so, but can't
make any promises of releasing the code, mainly because making
sensible diff -u patches to send in is
very difficult and moderators insist on patches - I tend to reformat
code into something more readable wherever.....
and we are not bothering to keep up with cvs head
of the source code.........
----- Original Message -----
Sent: Friday, November 25, 2005 1:18
PM
Subject: Concatenating received message
segments?
Hi,
You'll have to forgive me for sounding a mite clueless, but I'm new to
using kannel.??I'm attempting to find out if it's possible to use kannel
(specifically, version 1.4.0 running on Linux 2.6.8-1.521) to concatenate
multiple received message segments, or at least to pass the relevant UDH
parameters for each segment to the application which processes received
messages.? We're trying to deal with messages longer than 160 ASCII characters
? problem is that
kannel interprets these segments as separate messages, and not only doesn't
attempt to combine them, but also sends back two message receipts to the
sender.? I've noticed significant segment parameters being set in the PDU
dump, namely sar_total_segments and sar_segment_seqnum, but I've no idea how
to pass them on to the python script that parses the messages.
I've checked through the mailing list archives, the kannel user guide and
FAQ, and haven't managed to find any conclusive answers to either problem, or
even an indication that what I'm attempting clearly isn't possible.? Is there
anything I'm missing?? Sorry in advance if this question's already been
answered without my noticing.? If you need more information to help solve this
problem, I'll see what I can provide.
Regards,
Geoffrey Roberts
Hi,
You'll have to forgive me for sounding a mite clueless, but
I'm new to using kannel. I'm attempting to find out if it's
possible to use kannel (specifically, version 1.4.0 running on Linux
2.6.8-1.521) to concatenate multiple received message segments, or
at least to pass the relevant UDH parameters for each segment to the
application which processes received messages. We're trying to
deal with messages longer than 160 ASCII characters — problem is
that kannel interprets these segments as separate messages, and not
only doesn't attempt to combine them, but also sends back two
message receipts to the sender. I've noticed significant
segment parameters being set in the PDU dump, namely
sar_total_segments and sar_segment_seqnum, but I've no idea how to
pass them on to the python script that parses the
messages.
I've checked through the mailing list archives, the
kannel user guide and FAQ, and haven't managed to find any
conclusive answers to either problem, or even an indication that
what I'm attempting clearly isn't possible. Is there anything
I'm missing? Sorry in advance if this question's already been
answered without my noticing. If you need more information to
help solve this problem, I'll see what I can
provide.
Regards, Geoffrey
Roberts

|