diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-06-20 20:11:03 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2022-06-21 10:35:40 +0200 |
commit | 386381662cfbd056c16942b5b878b97cd31be337 (patch) | |
tree | b0601b8eb760852ddc1399ffec7f08f0334a5771 | |
parent | 777860ddb5060b2c8a9058bd63307ff2c96e9bd8 (diff) |
doc: Document new subscriber CTRL commands
Related: SYS#5993
Change-Id: I3e38d067bbc2ebb7f788dc56a5d56e1e4cafdc9c
-rw-r--r-- | doc/manuals/Makefile.am | 6 | ||||
-rw-r--r-- | doc/manuals/chapters/control.adoc | 73 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_aud2g.ctrl | 14 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_aud3g.ctrl | 20 | ||||
-rw-r--r-- | doc/manuals/example_subscriber_msisdn.ctrl | 8 |
5 files changed, 120 insertions, 1 deletions
diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am index e3a76ad..e43e3ca 100644 --- a/doc/manuals/Makefile.am +++ b/doc/manuals/Makefile.am @@ -1,6 +1,10 @@ -EXTRA_DIST = example_subscriber_add_update_delete.vty \ +EXTRA_DIST = \ + example_subscriber_add_update_delete.vty \ + example_subscriber_aud2g.ctrl \ + example_subscriber_aud3g.ctrl \ example_subscriber_cs_ps_enabled.ctrl \ example_subscriber_info.ctrl \ + example_subscriber_msisdn.ctrl \ osmohlr-usermanual.adoc \ osmohlr-usermanual-docinfo.xml \ osmohlr-vty-reference.xml \ diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc index 50fd314..0ab5b3e 100644 --- a/doc/manuals/chapters/control.adoc +++ b/doc/manuals/chapters/control.adoc @@ -5,6 +5,16 @@ The actual protocol is described in <<common-control-if>>, the variables common to all programs using it are described in <<ctrl_common_vars>>. This section describes the CTRL interface variables specific to OsmoHLR. +Subscribers can be created and deleted using the following SET commands: + +.Subscriber management commands available on OsmoHLR's Control interface +[options="header",width="100%",cols="35%,65%"] +|=== +|Command|Comment +|subscriber.create '123456'|Create a new subscriber with IMSI "123456" to the database. Returns database ID of the subscriber being created. +|subscriber.delete '123456'|Delete subscriber with IMSI "123456" from database. Returns database ID of the subscriber being deleted. +|=== + All subscriber variables are available by different selectors, which are freely interchangeable: @@ -28,6 +38,9 @@ Each of the above selectors feature all of these control variables: |subscriber.by-\*.*info-all*|R|No||List both 'info' and 'info-aud' in one |subscriber.by-\*.*cs-enabled*|RW|No|'1' or '0'|Enable/disable circuit-switched access |subscriber.by-\*.*ps-enabled*|RW|No|'1' or '0'|Enable/disable packet-switched access +|subscriber.by-\*.*msisdn*|RW|No|valid MSISDN string|Get/Set assigned MSISDN +|subscriber.by-\*.*aud2g*|RW|No|'algo[,KI]'|Get/Set 2g Authentication Data +|subscriber.by-\*.*aud2g*|RW|No|'algo[,KI,("op"|"opc"),OP_C[,ind_bitlen]]'|Get/Set 3g Authentication Data |=== === subscriber.by-*.info, info-aud, info-all @@ -104,3 +117,63 @@ commands: ---- include::../example_subscriber_cs_ps_enabled.ctrl[] ---- + +=== subscriber.by-*.msisdn + +Get or set the MSISDN currently assigned to a subscriber. + + +This is an example transcript that illustrates use of this command: + +---- +include::../example_subscriber_msisdn.ctrl[] +---- + +=== subscriber.by-*.aud2g + +Get or set the 2G Authentication data of a subscriber. + +The information is stored/retrieved as a comma separated list of fields: + +---- +algo[,KI] +---- + +Where:: +* *KI* is the KI as a hexadecimal string. +* *algo* is one of the following algorithms: _none, xor, comp128v1, comp128v2, + comp128v3_. + +All values are case insensitive. + +This is an example transcript that illustrates use of this command: + +---- +include::../example_subscriber_aud2g.ctrl[] +---- + +=== subscriber.by-*.aud3g + +Get or set the 3G Authentication data of a subscriber. + +The information is stored/retrieved as a comma separated list of fields: + +---- +algo[,KI,("op"|"opc"),OP_C[,ind_bitlen]] +---- + +Where: +* *KI* is the KI as a hexadecimal string. +* *algo* is one of the following algorithms: _none, xor, milenage_. +* "op" or "opc" indicates whether next field is an OP or OPC value. +* *OP_C* contains an OP or OPC values as hexadecimal string, based on what the + previous field specifies. +* *ind_bitlen* is set to 5 by default if not provided. + +All values are case insensitive. + +This is an example transcript that illustrates use of this command: + +---- +include::../example_subscriber_aud3g.ctrl[] +---- diff --git a/doc/manuals/example_subscriber_aud2g.ctrl b/doc/manuals/example_subscriber_aud2g.ctrl new file mode 100644 index 0000000..e60c53b --- /dev/null +++ b/doc/manuals/example_subscriber_aud2g.ctrl @@ -0,0 +1,14 @@ +GET 1 subscriber.by-imsi-901991234567891.aud2g +GET_REPLY 1 subscriber.by-imsi-901991234567891.aud2g none + +SET 2 subscriber.by-imsi-901991234567891.aud2g xor,c01ffedc1cadaeac1d1f1edacac1ab0a +SET_REPLY 2 subscriber.by-imsi-901991234567891.aud2g OK + +GET 3 subscriber.by-imsi-901991234567891.aud2g +GET_REPLY 3 subscriber.by-imsi-901991234567891.aud2g XOR,c01ffedc1cadaeac1d1f1edacac1ab0a + +SET 4 subscriber.by-imsi-901991234567891.aud2g none +SET_REPLY 4 subscriber.by-imsi-901991234567891.aud2g OK + +GET 5 subscriber.by-imsi-901991234567891.aud2g +GET_REPLY 5 subscriber.by-imsi-901991234567891.aud2g none diff --git a/doc/manuals/example_subscriber_aud3g.ctrl b/doc/manuals/example_subscriber_aud3g.ctrl new file mode 100644 index 0000000..f422d90 --- /dev/null +++ b/doc/manuals/example_subscriber_aud3g.ctrl @@ -0,0 +1,20 @@ +GET 117 subscriber.by-imsi-901991234567891.aud3g +GET_REPLY 117 subscriber.by-imsi-901991234567891.aud3g none + +SET 118 subscriber.by-imsi-901991234567891.aud3g milenage,c01ffedc1cadaeac1d1f1edacac1ab0a,OP,FB2A3D1B360F599ABAB99DB8669F8308 +SET_REPLY 118 subscriber.by-imsi-901991234567891.aud3g OK + +GET 119 subscriber.by-imsi-901991234567891.aud3g +GET_REPLY 119 subscriber.by-imsi-901991234567891.aud3g MILENAGE,c01ffedc1cadaeac1d1f1edacac1ab0a,OP,fb2a3d1b360f599abab99db8669f8308,5 + +SET 120 subscriber.by-imsi-901991234567891.aud3g milenage,c01ffedc1cadaeac1d1f1edacac1ab0a,OPC,FB2A3D1B360F599ABAB99DB8669F8308,7 +SET_REPLY 120 subscriber.by-imsi-901991234567891.aud3g OK + +GET 121 subscriber.by-imsi-901991234567891.aud3g +GET_REPLY 121 subscriber.by-imsi-901991234567891.aud3g MILENAGE,c01ffedc1cadaeac1d1f1edacac1ab0a,OPC,fb2a3d1b360f599abab99db8669f8308,7 + +SET 122 subscriber.by-imsi-901991234567891.aud3g none +SET_REPLY 122 subscriber.by-imsi-901991234567891.aud3g OK + +GET 123 subscriber.by-imsi-901991234567891.aud3g +GET_REPLY 123 subscriber.by-imsi-901991234567891.aud3g none diff --git a/doc/manuals/example_subscriber_msisdn.ctrl b/doc/manuals/example_subscriber_msisdn.ctrl new file mode 100644 index 0000000..3b6e9ac --- /dev/null +++ b/doc/manuals/example_subscriber_msisdn.ctrl @@ -0,0 +1,8 @@ +GET 1 subscriber.by-imsi-901991234567891.msisdn +GET_REPLY 1 subscriber.by-imsi-901991234567891.msisdn none + +SET 2 subscriber.by-imsi-901991234567891.msisdn 555666 +SET_REPLY 2 subscriber.by-imsi-901991234567891.msisdn OK + +GET 3 subscriber.by-imsi-901991234567891.msisdn +GET_REPLY 3 subscriber.by-imsi-901991234567891.msisdn 555666 |