Hi all,
While working with open5gs + kamailio, one traditionally always needed two HSS: * the open5gs one with its mongodb and nodejs hell * the FHoSS one for the kamailio IMS core
For some time there's now PyHSS, which supports both EPS and IMS subscriptions, which is of course nice. docker_open5gs meanwhile also has switched to using it as default.
The big problem is that it doesn't actually state which license it is under, which makes it legally impossible to [re]distribute it, or to even make a fork of the repository, as that would be a violation of copyright. At least German users are abel to legally use it, as under German copyright law you don't need a license from the copyright holder to use a program that you have obtained legally.
In order to automatize the steps described in the open5gs_docker to create subscribers, I've just hacked up a small tool, see https://gitea.osmocom.org/laforge/pyhss-tool/src/branch/master/pyhss-tool.py
Using that tool, it's as easy as
pyhss-tool.py subscriber-create --imsi 001011111111111 --msisdn 1111 --k 000102030405060708090a0b0c0d0e0f --opc 00000000000000000000000000000000 or pyhss-tool.py subscriber-delete --imsi 001011111111111
to add/remove subscribers. You will still need to manually create the internet and ims APNs via the REST interface; I'll probably also add that capability to the tool.
Once it's a bit more tested, I also would like to contribute it upstream, at least once that is possible. To do that I'd have to make a pull request, and making that pull request requires me to create a fork, which is a copyright violation. wtf.
If that legal situation has cleared up, it might be worth considering either adding native GSUP support to PyHSS (so it can be used by osmo-{msc,sgsn}, or to have a converter like osmo_gsup2dia (the inverse of the existing osmo_dia2gsup).
Regards, Harald