OsmoHLR> ?
  show        Show running system information
  list        Print command list
  exit        Exit current mode and down to previous mode
  help        Description of the interactive help system
  enable      Turn on privileged mode command
  terminal    Set terminal line parameters
  who         Display who is on vty
  logging     Configure logging
  no          Negate a command or set its defaults
  logp        Print a message on all log outputs; useful for placing markers in test logs
  subscriber  Subscriber management commands
OsmoHLR> list
...
  show gsup-connections
  show subscribers all
  show subscribers (imei|imsi|msisdn) FILTER
  show subscribers (cs|ps) (on|off)
  show subscribers last-seen
  subscriber (imsi|msisdn|id|imei) IDENT show
  show subscriber (imsi|msisdn|id|imei) IDENT
  show mslookup services
...

OsmoHLR> enable
OsmoHLR# ?
...
  subscriber  Subscriber management commands

OsmoHLR# configure terminal
OsmoHLR(config)# ?
...
  hlr        Configure the HLR
  mslookup   Configure Distributed GSM mslookup
...

OsmoHLR(config)# list
...
  hlr
  mslookup
...

OsmoHLR(config)# hlr
OsmoHLR(config-hlr)# ?
...
  euse                         Configure a particular External USSD Entity
  no                           Negate a command or set its defaults
  ussd                         USSD Configuration
  ncss-guard-timeout           Set guard timer for NCSS (call independent SS) session activity
  reject-cause                 GSUP/GMM cause to be sent
  store-imei                   Save the IMEI in the database when receiving Check IMEI requests. Note that an MSC does not necessarily send Check IMEI requests (for OsmoMSC, you may want to set 'check-imei-rqd 1').
  subscriber-create-on-demand  Make a new record when a subscriber is first seen.
OsmoHLR(config-hlr)# list
...
  gsup
  database PATH
  euse NAME
  no euse NAME
  ussd route prefix PREFIX internal (own-msisdn|own-imsi|test-idle)
  ussd route prefix PREFIX external EUSE
  no ussd route prefix PREFIX
  ussd default-route external EUSE
  no ussd default-route
  ncss-guard-timeout <0-255>
  reject-cause (not-found|no-proxy) (imsi-unknown|illegal-ms|plmn-not-allowed|la-not-allowed|roaming-not-allowed|no-suitable-cell-in-la|net-fail|congestion|auth-unacceptable|proto-error-unspec)
  store-imei
  no store-imei
  subscriber-create-on-demand (no-msisdn|<3-15>) (none|cs|ps|cs+ps)
  no subscriber-create-on-demand

OsmoHLR(config-hlr)# gsup
OsmoHLR(config-hlr-gsup)# ?
...
  bind      Listen/Bind related socket option
  ipa-name  Set the IPA name of this HLR, for proxying to remote HLRs
OsmoHLR(config-hlr-gsup)# list
...
  bind ip A.B.C.D
  ipa-name NAME

OsmoHLR(config-hlr-gsup)# exit
OsmoHLR(config-hlr)# exit
OsmoHLR(config)# exit
OsmoHLR# configure terminal
OsmoHLR(config)# hlr
OsmoHLR(config-hlr)# store-imei
OsmoHLR(config-hlr)# gsup
OsmoHLR(config-hlr-gsup)# end
OsmoHLR# disable
OsmoHLR> enable

OsmoHLR# show running-config

Current configuration:
!
!
log stderr
...
 logging level main notice
 logging level db notice
 logging level auc notice
 logging level ss notice
 logging level mslookup notice
 logging level lu notice
 logging level dgsm notice
...
hlr
 store-imei
 database hlr_vty_test.db
 gsup
  bind ip 127.0.0.1
  ipa-name unnamed-HLR
 ussd route prefix *#100# internal own-msisdn
 ussd route prefix *#101# internal own-imsi
end

OsmoHLR# configure terminal

OsmoHLR(config)# mslookup
OsmoHLR(config-mslookup)# ?
...
  mdns    Multicast DNS related configuration
  no      Negate a command or set its defaults
  server  Enable and configure Distributed GSM mslookup server
  client  Enable and configure Distributed GSM mslookup client
OsmoHLR(config-mslookup)# list
...
  mdns bind [IP] [<1-65535>]
  mdns domain-suffix DOMAIN_SUFFIX
  no mdns bind
  server
  no server
  client
  no client

OsmoHLR(config-mslookup)# ?
...
  mdns    Multicast DNS related configuration
  no      Negate a command or set its defaults
  server  Enable and configure Distributed GSM mslookup server
  client  Enable and configure Distributed GSM mslookup client
OsmoHLR(config-mslookup)# no?
  no  Negate a command or set its defaults
OsmoHLR(config-mslookup)# no ?
  mdns    Disable both server and client for mDNS mslookup
  server  Disable Distributed GSM mslookup server
  client  Disable Distributed GSM mslookup client
OsmoHLR(config-mslookup)# mdns ?
  bind           Convenience shortcut: enable and configure both server and client for mDNS mslookup
  domain-suffix  mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA
OsmoHLR(config-mslookup)# mdns bind ?
  [IP]  multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42
OsmoHLR(config-mslookup)# mdns bind 1.2.3.4 ?
  [<1-65535>]  mDNS UDP Port number
OsmoHLR(config-mslookup)# mdns domain-suffix ?
  DOMAIN_SUFFIX  mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA

OsmoHLR(config-mslookup)# server
OsmoHLR(config-mslookup-server)# ?
...
  mdns     Multicast DNS related configuration
  no       Negate a command or set its defaults
  service  Configure addresses of local services, as sent in replies to remote mslookup requests.
  msc      Configure services for individual local MSCs
OsmoHLR(config-mslookup-server)# list
...
  mdns bind [IP] [<1-65535>]
  mdns domain-suffix DOMAIN_SUFFIX
  no mdns bind
  service NAME at IP <1-65535>
  no service NAME
  no service NAME at IP <1-65535>
  msc ipa-name .IPA_NAME

OsmoHLR(config-mslookup-server)# mdns ?
  bind           Configure where the mDNS server listens for mslookup requests
  domain-suffix  mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA
OsmoHLR(config-mslookup-server)# mdns bind ?
  [IP]  multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42
OsmoHLR(config-mslookup-server)# mdns bind 1.2.3.4 ?
  [<1-65535>]  mDNS UDP Port number

OsmoHLR(config-mslookup-server)# service?
  service  Configure addresses of local services, as sent in replies to remote mslookup requests.
OsmoHLR(config-mslookup-server)# service ?
  NAME  mslookup service name, e.g. sip.voice or smpp.sms
OsmoHLR(config-mslookup-server)# service foo ?
  at  at
OsmoHLR(config-mslookup-server)# service foo at ?
  IP  IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1
OsmoHLR(config-mslookup-server)# service foo at 1.2.3.4 ?
  <1-65535>  Service-specific port number

OsmoHLR(config-mslookup-server)# no ?
  mdns     Disable server for mDNS mslookup (do not answer remote requests)
  service  Remove one or more service address entries
OsmoHLR(config-mslookup-server)# no service ?
  NAME  mslookup service name, e.g. sip.voice or smpp.sms
OsmoHLR(config-mslookup-server)# no service foo ?
  at    at
  <cr>  
OsmoHLR(config-mslookup-server)# no service foo at ?
  IP  IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1
OsmoHLR(config-mslookup-server)# no service foo at 1.2.3.4 ?
  <1-65535>  Service-specific port number

OsmoHLR(config-mslookup-server)# msc?
  msc  Configure services for individual local MSCs
OsmoHLR(config-mslookup-server)# msc ?
  ipa-name  Identify locally connected MSC by IPA Unit Name
OsmoHLR(config-mslookup-server)# msc ipa-name ?
  IPA_NAME  IPA Unit Name of the local MSC to configure

OsmoHLR(config-mslookup-server)# msc ipa-name MSC-1
OsmoHLR(config-mslookup-server-msc)# ?
...
  service  Configure addresses of local services, as sent in replies to remote mslookup requests.
  no       Negate a command or set its defaults
OsmoHLR(config-mslookup-server-msc)# list
...
  service NAME at IP <1-65535>
  no service NAME
  no service NAME at IP <1-65535>

OsmoHLR(config-mslookup-server-msc)# service?
  service  Configure addresses of local services, as sent in replies to remote mslookup requests.
OsmoHLR(config-mslookup-server-msc)# service ?
  NAME  mslookup service name, e.g. sip.voice or smpp.sms
OsmoHLR(config-mslookup-server-msc)# service foo ?
  at  at
OsmoHLR(config-mslookup-server-msc)# service foo at ?
  IP  IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1
OsmoHLR(config-mslookup-server-msc)# service foo at 1.2.3.4 ?
  <1-65535>  Service-specific port number

OsmoHLR(config-mslookup-server-msc)# no ?
  service  Remove one or more service address entries
OsmoHLR(config-mslookup-server-msc)# no service ?
  NAME  mslookup service name, e.g. sip.voice or smpp.sms
OsmoHLR(config-mslookup-server-msc)# no service foo ?
  at    at
  <cr>  
OsmoHLR(config-mslookup-server-msc)# no service foo at ?
  IP  IPv4 address like 1.2.3.4 or IPv6 address like a:b:c:d::1
OsmoHLR(config-mslookup-server-msc)# no service foo at 1.2.3.4 ?
  <1-65535>  Service-specific port number

OsmoHLR(config-mslookup-server-msc)# exit
OsmoHLR(config-mslookup-server)# exit
OsmoHLR(config-mslookup)# client
OsmoHLR(config-mslookup-client)# ?
...
  timeout        How long should the mslookup client wait for remote responses before evaluating received results
  mdns           Multicast DNS related configuration
  no             Negate a command or set its defaults
  gateway-proxy  Configure a fixed IP address to send all GSUP requests for unknown IMSIs to, without invoking a lookup for IMSI
OsmoHLR(config-mslookup-client)# list
...
  timeout <1-100000>
  mdns bind [IP] [<1-65535>]
  mdns domain-suffix DOMAIN_SUFFIX
  no mdns bind
  gateway-proxy IP [<1-65535>]
  no gateway-proxy

OsmoHLR(config-mslookup-client)# timeout?
  timeout  How long should the mslookup client wait for remote responses before evaluating received results
OsmoHLR(config-mslookup-client)# timeout ?
  <1-100000>  timeout in milliseconds

OsmoHLR(config-mslookup-client)# mdns?
  mdns  Multicast DNS related configuration
OsmoHLR(config-mslookup-client)# mdns bind?
  bind  Enable mDNS client, and configure multicast address to send mDNS mslookup requests to
OsmoHLR(config-mslookup-client)# mdns bind ?
  [IP]  multicast IPv4 address like 239.192.23.42 or IPv6 address like ff08::23:42
OsmoHLR(config-mslookup-client)# mdns bind 1.2.3.4 ?
  [<1-65535>]  mDNS UDP Port number
OsmoHLR(config-mslookup-client)# mdns domain-suffix?
  domain-suffix  mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA
OsmoHLR(config-mslookup-client)# mdns domain-suffix ?
  DOMAIN_SUFFIX  mDNS domain suffix (default: mdns.osmocom.org). This is appended and stripped from mDNS packets during encoding/decoding, so we don't collide with top-level domains administrated by IANA


OsmoHLR(config-mslookup-client)# gateway-proxy?
  gateway-proxy  Configure a fixed IP address to send all GSUP requests for unknown IMSIs to, without invoking a lookup for IMSI
OsmoHLR(config-mslookup-client)# gateway-proxy ?
  IP  IP address of the remote HLR
OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4 ?
  [<1-65535>]  GSUP port number (omit for default 4222)

OsmoHLR(config-mslookup-client)# no?
  no  Negate a command or set its defaults
OsmoHLR(config-mslookup-client)# no ?
  mdns           Disable mDNS client, do not query remote services by mDNS
  gateway-proxy  Disable gateway proxy for GSUP with unknown IMSIs

OsmoHLR(config-mslookup-client)# gateway-proxy ?
  IP  IP address of the remote HLR
OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4 ?
  [<1-65535>]  GSUP port number (omit for default 4222)

OsmoHLR(config-mslookup-client)# do show mslookup?
  mslookup  Distributed GSM / mslookup related information
OsmoHLR(config-mslookup-client)# do show mslookup ?
  services  List configured service addresses as sent to remote mslookup requests

OsmoHLR(config-mslookup-client)# gateway-proxy 1.2.3.4

OsmoHLR(config-mslookup-client)# exit

OsmoHLR(config-mslookup)# mdns bind
OsmoHLR(config-mslookup)# server
OsmoHLR(config-mslookup-server)# service qwert at 123.45.67.89 qwert
% Unknown command.
OsmoHLR(config-mslookup-server)# service qwert at qwert 1234
% mslookup server: Invalid address for service qwert: qwert 1234
OsmoHLR(config-mslookup-server)# service foo.bar at 123.45.67.89 1011
OsmoHLR(config-mslookup-server)# service baz.bar at 121.31.41.5 1617
OsmoHLR(config-mslookup-server)# service baz.bar at a:b:c::d 1819
OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-23
OsmoHLR(config-mslookup-server-msc)# service foo.bar at 76.54.32.10 1234
OsmoHLR(config-mslookup-server-msc)# service baz.bar at 12.11.10.98 7654
OsmoHLR(config-mslookup-server-msc)# service baz.bar at 999:999:999::999 9999
OsmoHLR(config-mslookup-server-msc)# service baz.bar at dd:cc:bb::a 3210
OsmoHLR(config-mslookup-server-msc)# exit
OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-42
OsmoHLR(config-mslookup-server-msc)# service foo.bar at 1.1.1.1 1111
OsmoHLR(config-mslookup-server-msc)# service baz.bar at 2.2.2.2 2222
OsmoHLR(config-mslookup-server-msc)# service baz.bar at 2222:2222:2222::2 2222
OsmoHLR(config-mslookup-server-msc)# do show mslookup services
Local GSUP HLR address returned in mslookup responses for local IMSIs: 127.0.0.1:4222
service foo.bar at 123.45.67.89 1011
service baz.bar at 121.31.41.5 1617
service baz.bar at a:b:c::d 1819
msc ipa-name MSC-1
msc ipa-name msc-901-70-23
 service foo.bar at 76.54.32.10 1234
 service baz.bar at 12.11.10.98 7654
 service baz.bar at dd:cc:bb::a 3210
msc ipa-name msc-901-70-42
 service foo.bar at 1.1.1.1 1111
 service baz.bar at 2.2.2.2 2222
 service baz.bar at 2222:2222:2222::2 2222

OsmoHLR(config-mslookup-server-msc)# show running-config
...
mslookup
 server
  mdns bind 239.192.23.42 4266
  service foo.bar at 123.45.67.89 1011
  service baz.bar at 121.31.41.5 1617
  service baz.bar at a:b:c::d 1819
  msc ipa-name MSC-1
  msc ipa-name msc-901-70-23
   service foo.bar at 76.54.32.10 1234
   service baz.bar at 12.11.10.98 7654
   service baz.bar at dd:cc:bb::a 3210
  msc ipa-name msc-901-70-42
   service foo.bar at 1.1.1.1 1111
   service baz.bar at 2.2.2.2 2222
   service baz.bar at 2222:2222:2222::2 2222
 client
  gateway-proxy 1.2.3.4 4222
  mdns bind 239.192.23.42 4266
...

OsmoHLR(config-mslookup-server-msc)# no service baz.bar
OsmoHLR(config-mslookup-server-msc)# no service asdf
% mslookup server: cannot remove service 'asdf'
OsmoHLR(config-mslookup-server-msc)# exit
OsmoHLR(config-mslookup-server)# msc ipa-name msc-901-70-23
OsmoHLR(config-mslookup-server-msc)# no service baz.bar at dd:cc:bb::a 3210
% mslookup server: cannot remove service 'baz.bar' to dd:cc:bb::a 3210
OsmoHLR(config-mslookup-server-msc)# no service asdf at asdf asdf
% Unknown command.
OsmoHLR(config-mslookup-server-msc)# no service asdf at asdf 3210
% mslookup server: Invalid address for 'no service' asdf: asdf 3210
OsmoHLR(config-mslookup-server-msc)# no service asdf at dd:cc:bb::a 3210
% mslookup server: cannot remove service 'asdf' to dd:cc:bb::a 3210
OsmoHLR(config-mslookup-server-msc)# exit
OsmoHLR(config-mslookup-server)# no service baz.bar at 2.2.2.2 2222
% mslookup server: cannot remove service 'baz.bar' to 2.2.2.2 2222
OsmoHLR(config-mslookup-server)# no service baz.bar at a:b:c::d 1819
% mslookup server: cannot remove service 'baz.bar' to a:b:c::d 1819

OsmoHLR(config-mslookup-server)# exit
OsmoHLR(config-mslookup)# client
OsmoHLR(config-mslookup-client)# no gateway-proxy

OsmoHLR(config-mslookup-client)# do show mslookup services
Local GSUP HLR address returned in mslookup responses for local IMSIs: 127.0.0.1:4222
service foo.bar at 123.45.67.89 1011
service baz.bar at 121.31.41.5 1617
msc ipa-name MSC-1
msc ipa-name msc-901-70-23
 service foo.bar at 76.54.32.10 1234
 service baz.bar at 12.11.10.98 7654
msc ipa-name msc-901-70-42
 service foo.bar at 1.1.1.1 1111

OsmoHLR(config-mslookup-client)# show running-config
...
mslookup
 server
  mdns bind 239.192.23.42 4266
  service foo.bar at 123.45.67.89 1011
  service baz.bar at 121.31.41.5 1617
  msc ipa-name MSC-1
  msc ipa-name msc-901-70-23
   service foo.bar at 76.54.32.10 1234
   service baz.bar at 12.11.10.98 7654
  msc ipa-name msc-901-70-42
   service foo.bar at 1.1.1.1 1111
 client
  mdns bind 239.192.23.42 4266
...

OsmoHLR(config-mslookup-client)# exit
OsmoHLR(config-mslookup)# server
OsmoHLR(config-mslookup-server)# service gsup.hlr at 23.42.17.11 4223
OsmoHLR(config-mslookup-server)# do show mslookup services
Local GSUP HLR address returned in mslookup responses for local IMSIs: 23.42.17.11:4223
service foo.bar at 123.45.67.89 1011
service baz.bar at 121.31.41.5 1617
service gsup.hlr at 23.42.17.11 4223
msc ipa-name MSC-1
msc ipa-name msc-901-70-23
 service foo.bar at 76.54.32.10 1234
 service baz.bar at 12.11.10.98 7654
msc ipa-name msc-901-70-42
 service foo.bar at 1.1.1.1 1111

OsmoHLR(config-mslookup-server)# show running-config
...
mslookup
 server
  mdns bind 239.192.23.42 4266
  service foo.bar at 123.45.67.89 1011
  service baz.bar at 121.31.41.5 1617
  service gsup.hlr at 23.42.17.11 4223
  msc ipa-name MSC-1
  msc ipa-name msc-901-70-23
   service foo.bar at 76.54.32.10 1234
   service baz.bar at 12.11.10.98 7654
  msc ipa-name msc-901-70-42
   service foo.bar at 1.1.1.1 1111
 client
  mdns bind 239.192.23.42 4266
...
