This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)".
The branch, neels/vlr has been updated
discards 1bccd33f48f934972e2bfde871fca74e9bf2c66f (commit)
discards 7e60a8c8cc71325f0bbc55b5f9d8f5c2cfbe4c58 (commit)
via 7b765be155d891f62bdb7b6081ad6b0148a22676 (commit)
This update added new revisions after undoing existing revisions. That is
to say, the old revision is not a strict subset of the new revision. This
situation occurs when you --force push a change and generate a repository
containing something like this:
* -- * -- B -- O -- O -- O (1bccd33f48f934972e2bfde871fca74e9bf2c66f)
\
N -- N -- N (7b765be155d891f62bdb7b6081ad6b0148a22676)
When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cgit.osmocom.org/openbsc/commit/?id=7b765be155d891f62bdb7b6081ad6b01…
commit 7b765be155d891f62bdb7b6081ad6b0148a22676
Author: Neels Hofmeyr <nhofmeyr(a)sysmocom.de>
Date: Wed Feb 15 00:20:44 2017 +0100
vlr: get SMS working, by SMS recipient MSISDN round-robin
The SQL based lookup of SMS for attached subscribers no longer works since the
SQL database no longer has the subscriber data. Replace with a round-robin on
the SMS recipient MSISDNs paired with a VLR subscriber RAM lookup whether the
subscriber is currently attached.
If there are many SMS for not-attached subscribers in the SMS database, this
will become inefficient: a DB hit returns a pending SMS, the RAM lookup will
reveal that the subscriber is not attached, after which the DB is hit for the
next SMS. It would become more efficient e.g. by having an MSISDN based hash
list for the VLR subscribers and by marking non-attached SMS recipients in the
SMS database so that they can be excluded with the SQL query already.
There is a sanity limit to do at most 100 db hits per attempt to find a pending
SMS. So if there are more than 100 stored SMS waiting for their recipients to
actually attach to the MSC, it may take more than one SMS queue trigger to
deliver SMS for subscribers that are actually attached.
This is not very beautiful, but is merely intended to carry us over to a time
when we have a proper separate SMSC entity.
Change-Id: I1acf9debb6ba9164e6edcfd5bc5e48e8c98f2b01
-----------------------------------------------------------------------
Summary of changes:
openbsc/configure.ac | 1 +
openbsc/include/openbsc/db.h | 3 +
openbsc/src/gprs/gtphub.c | 2 -
openbsc/src/libmsc/db.c | 32 ++++-
openbsc/src/libmsc/sms_queue.c | 105 +++++---------
openbsc/tests/Makefile.am | 1 +
openbsc/tests/{db => sms_queue}/Makefile.am | 35 +++--
openbsc/tests/sms_queue/sms_queue_test.c | 215 ++++++++++++++++++++++++++++
openbsc/tests/sms_queue/sms_queue_test.err | 0
openbsc/tests/sms_queue/sms_queue_test.ok | 98 +++++++++++++
openbsc/tests/testsuite.at | 7 +
11 files changed, 405 insertions(+), 94 deletions(-)
copy openbsc/tests/{db => sms_queue}/Makefile.am (70%)
create mode 100644 openbsc/tests/sms_queue/sms_queue_test.c
create mode 100644 openbsc/tests/sms_queue/sms_queue_test.err
create mode 100644 openbsc/tests/sms_queue/sms_queue_test.ok
hooks/post-receive
--
The OpenBSC GSM Base Station Controller (+MSC/HLR/SGSN)