Hi!
I have some questions regarding GSUP design and current implementation
in ordre to help me undestand the rationale behind some of the
decisions.
1) why are the fields like msisdn, vlr address, hlr address,, sgsn
address still in their encoded form as part of struct
osmo_gsup_message? If there is a decoding/encoding function, why
does it not go all the way? Would anyone object if I was to change
this?
2) osmo_gsup_message conatains multiple fields + associated length
fields. Wy not have a 'struct osmo_buflen { char *buf; size_t len }'
which is re-used for all such fields that have buffer + length? Then
the respective code for dealing with such types could be generalized
and shared.
3) why is the INSERT SUBSCRIBER DATA ignored by the SGSN, but rather it
seems to expect the subscribe data piggy-backed onto the LOCATION
UPDATE RESULT? This seems to break the idea of staying as close as
possible to the MAP level transactions while avoiding the
encoding/decoding and underlying signalling protocol complexities.
Thanks in advance.
Regards,
Harald
--
- Harald Welte <laforge(a)gnumonks.org> http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)
Dear Harald,
I want to discuss this topic in mailing list, because I think we should
coordinate our efforts when we work on the same part of project.
As I found out from Alex, several important points were discussed at
osmodevcon:
* reuse gsup protocol for implementing location and authentication
interface for osmo-nitb
* get rid of using internal osmo-nitb database and use only subscriber list
on osmo-nitb side
Could you please confirm and/or enhance this list?
I see that you moved all gsup related code from openbsc to libosmocore in
laforge/pending branches.
Do you have any further plans to continue this development?
As you know, we implemented interface based on gsup for exporting LU from
osmo-nitb (fairwaves/sup branch), but in our implementation we didn't get
rid of using internal database.
Despite this I guess that our code could be updated and reused for this
implementation.
--
Regards,
Ivan Kluchnikov.
http://fairwaves.ru
Hi all,
There has been a few questions recently about building
OpenBSC/OsmoBTS, especially for SDR devices, so I decided to share a
link to a "make world" style build script which may help newcomers to
get started.
The script was hacked together by Sergey Kostanbaev to build static
binaries and was not meant for wide use, so it have rough edges and
may not work for every setup, but I hope it'll be useful for someone.
Check out this git repository for the source code and brief documentation:
https://github.com/fairwaves/osmo-combo
--
Regards,
Alexander Chemeris.
CEO, Fairwaves, Inc.
https://fairwaves.co
Hi all,
This patch set adds to libosmocore an optimized Viterbi decodeer for
architecture specific (Intel SSE) and non-specific cases. The
implementation covers codes with constraint lengths of K=5 and K=7 and
rates 1/4 to 3/4, which make up the majority of GSM use cases. Speedup
from the current implementation is in the range of 5 to 20 depending on
the processor and code type. API is unchanged.
Tested on Haswell (i7-4770K) and Atom (D2550). Additional test codes
from osmo-bts are included. Further tests for AWGN bit-error-rate
and benchmarks can be found in the following repository.
https://github.com/ttsou/osmo-conv-test
Here are some examples.
Bit error test for GPRS CS2 with SNR of 5 dB and 100000 bursts.
$ ./conv_test -c 2 -e -r 5 -i 100000
=================================================
[+] Testing: GPRS CS2
[.] Specs: (N=2, K=5, non-recursive, flushed, not punctured)
[.] Input length : ret = 290 exp = 290 -> OK
[.] Output length : ret = 588 exp = 588 -> OK
[.] BER tests:
[..] Testing base:
[..] Input BER.......................... 0.042443
[..] Output BER......................... 0.000006
[..] Output FER......................... 0.001350 (135)
[..] Testing SIMD:
[..] Input BER.......................... 0.042460
[..] Output BER......................... 0.000005
[..] Output FER......................... 0.001240 (124)
Timed AFS benchmark with 8 threads and 100000 bursts per thread.
$ ./conv_test -b -c 10 -j 8 -i 100000
=================================================
[+] Testing: GSM TCH/AFS 6.7
[.] Specs: (N=4, K=5, recursive, flushed, punctured)
[.] Input length : ret = 140 exp = 140 -> OK
[.] Output length : ret = 448 exp = 448 -> OK
[.] Performance benchmark:
[..] Encoding / Decoding 800000 bursts on 8 thread(s):
[..] Testing base:
[..] Elapsed time....................... 4.320001 secs
[..] Rate............................... 25.925920 Mbps
[..] Testing SIMD:
[..] Elapsed time....................... 0.458272 secs
[..] Rate............................... 244.396341 Mbps
[..] Speedup............................ 9.426718
-TT
Hi,
I’m currently facing a strange issue where the number of entries in the subscriber table is different from the number of entries in the equipment table, therefore I cannot consistently relate each IMSI to its correct IMEI. I also had another issue where I have the same number of entries but the ID’s of the rows are different as shown below:
Subscriber table Equipment table
ID IMSI ID IMEI
1 XXXX 1 XXXX
2 XXXX 2 XXXX
4 XXXX 14 XXXX
Does anyone know why this is happening, and how can I correctly relate each IMSI to its corresponding IMEI ?
Best regards,
Robert,