Temporary message store for multi-part SMSs
Antony Stone <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.user |
|---|---|
| Organization | Open Source IT |
| Message-ID | <[email protected]> |
Hi.
I'm using kannel talking SMPP to an upstream SMSC provider.
We can send and receive SMS fine, and DLR is working well too. We use MySQL
for the DLR store.
However, we have a High-Availability setup, which means that we have two
machines running kannel, each with a connection to the upstream provider, and
inbound SMSs can arrive on either connection.
In the case of multi-part SMSs, different parts can arrive on each link,
resulting in one of our kannel instances having, say, parts 1 and 3, and the
other instance having part 2 of the same message. There's no way either of
them can know what the other has seen, so the end result is that the user
receives three independent message parts (not necessarily even in the right
order).
Since we use a MySQL cluster for the DLR store, I wanted to use that also for
the temporary message store for multi-part SMSs, and indeed I notice in the
section "Compiling the Gateway" of
https://kannel.org/download/1.4.5/userguide-1.4.5/userguide.html that there
are two options (amongst others):
--with-mysql Enable using MySQL libraries for DBPool and DLR support.
--with-redis Enable using Redis for DBPool and DLR support. Requires
the hiredis library.
I'm assuming that "DBPool" refers to the temporary message store during
processing of multi-part SMSs. I don't see the term "DBPool" defined or indeed
even used anywhere in the documentation other than in the description of these
options (and the related MSSQL etc options).
However, under "Core configuration", the option "store-type" says "This
variable defines a type of backend used for store subsystem. Now two types are
supported: a) file: writes store into one single file b) spool: writes store
into spool directory (one file for each message) c) redis: writes store into a
redis key storage."
I'm assuming that "two" in the above description is simply a hang-over from a
previous version of the documentation, when the "redis" type was not
available, but my main question is "how do we select MySQL for the DBPool
storage?"
Thanks for any pointers...
Antony.
--
There's no such thing as bad weather - only the wrong clothes.
- Billy Connolly
Please reply to the list;
please *don't* CC me.