OsmoHLR> list
  show version
  show online-help
  list
  exit
  help
  enable
  terminal length <0-512>
  terminal no length
  who
  show history
  logging enable
...
  show logging vty
  show alarms
  show talloc-context (application|all) (full|brief|DEPTH)
  show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS
  show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP
  show stats
  show stats level (global|peer|subscriber)
  show asciidoc counters
  show rate-counters
  show gsup-connections
  subscriber (imsi|msisdn|id|imei) IDENT show
  show subscriber (imsi|msisdn|id|imei) IDENT

OsmoHLR> enable
OsmoHLR# list
  help
  list
  write terminal
  write file
  write memory
  write
  show running-config
  exit
  disable
  configure terminal
  copy running-config startup-config
  show startup-config
  show version
  show online-help
  terminal length <0-512>
  terminal no length
  who
  show history
  terminal monitor
  terminal no monitor
  logging enable
...

OsmoHLR# configure terminal
OsmoHLR(config)# list
  help
  list
  write terminal
  write file
  write memory
  write
  show running-config
  exit
  end
...
  hlr

OsmoHLR(config)# hlr
OsmoHLR(config-hlr)# list
  help
  list
  write terminal
  write file
  write memory
  write
  show running-config
  exit
  end
  gsup
  database PATH
  euse NAME
  no euse NAME
  ussd route prefix PREFIX internal (own-msisdn|own-imsi)
  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>
  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)# list
  help
  list
  write terminal
  write file
  write memory
  write
  show running-config
  exit
  end
  bind ip A.B.C.D

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 info
...
hlr
 store-imei
 database hlr_vty_test.db
 gsup
  bind ip 127.0.0.1
 ussd route prefix *#100# internal own-msisdn
 ussd route prefix *#101# internal own-imsi
end
