On 18 Jan 2016, at 16:56, Holger Freyther
<holger(a)freyther.de> wrote:
Good Morning,
If you are interested in specification, Smalltalk,
testing, load testing,
SS7 or such please join me in the development.
progress was a bit slower due having to handle administration topics at sysmocom but last
weekend I completed most of the database interface. The biggest challenge was to enforce
only one system will deliver to a specific destination at the same time, e.g. for
multi-part SMS one should not send more than one fragment at a time.
I currently solve this by using Compare-And-Swap (CAS) to lock a single SMS and then try
to insert a unique lock for this destination into another collection. If that worked I
will try to lock other SMS that are to be delivered (or in a couple of seconds). This way
the SMS will look lock and no other node will try to use it (otherwise nodes would busy
loop trying to lock a SMS that can not be delivered). All database operations have system
tests and are executed on travis-ci with a recent mongodb.
Right now I am completing the inserting of SubmitSM and DeliverSM into the database and
the next stop is to work on delivery using SMPP and MAP. I will extract a lot of
functionality from the HomeRouting SMS system, e.g. the SMPP<->MAP conversion, the
dialogue handling for MAPv3/MAPv2.
As usual anyone interested in playing with the system, contributing to it, writing system
tests or load tests is more than welcome to participate.
holger