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-tester_run-prod/ 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-tester_run-prod/ws/trial-1254/last_run/aoip_sms:sysmo/mo_mt_sms.py/ 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
signature.asc
Description: PGP signature
