On Mon, May 14, 2018 at 03:08:04PM +0300, Mykola Shchetinin wrote:
Though I feel fluent in C, I find it hard to
understand what is going on
there.
osmo-hlr is receiving GSUP requests and replies to them.
In hlr.c you will see osmo_gsup_server_create() putting in place the
read_cb() you'll find in the same file, the main entry point. The read_cb
will be invoked by the osmo_select_main() loop whenever a GSUP client
connects and sends a request. That should get you started with the code.
Testing wise, we have
https://git.osmocom.org/osmo-ttcn3-hacks/tree/hlr/HLR_Tests.ttcn
which you can run from
https://git.osmocom.org/docker-playground/tree/ttcn3-hlr-test
in docker images with fairly minimal effort and without any cellular
hardware.
You can also look at the real-hardware tests at
https://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/job/osmo-gsm-teste…
which have detailed logs and network traces taken with actual modems and
BTS equipent, e.g. at
https://jenkins.osmocom.org/jenkins/view/osmo-gsm-tester/job/osmo-gsm-teste…
Of course really understanding in depth what is going on is not trivial;
osmo-hlr is but a tiny component of a cellular network. Why are you
particularly interested in the HLR?
~N