OsmoMSC> enable
OsmoMSC# configure terminal
OsmoMSC(config)# list
...
  network
  msc
  sgs
  smsc
  mncc-int
  hlr
...

OsmoMSC(config)# network
OsmoMSC(config-net)# list
...
  network country code <1-999>
  mobile network code <0-999>
  short name NAME
  long name NAME
  encryption a5 <0-4> [<0-4>] [<0-4>] [<0-4>] [<0-4>]
  encryption uea <0-2> [<0-2>] [<0-2>]
  authentication (optional|required)
  rrlp mode (none|ms-based|ms-preferred|ass-preferred)
  mm info (0|1)
  timezone <-19-19> (0|15|30|45)
  timezone <-19-19> (0|15|30|45) <0-2>
  no timezone
  call-waiting
  no call-waiting
  mgw <0-255>
  no mgw <0-255>

OsmoMSC(config-net)# encryption?
  encryption  Encryption options
OsmoMSC(config-net)# encryption ?
  a5   GSM A5 Air Interface Encryption.
  uea  UTRAN (3G) encryption algorithms to allow: 0 = UEA0 (no encryption), 1 = UEA1, 2 = UEA2.

OsmoMSC(config-net)# encryption uea ?
  <0-2>  UEAn Algorithm Number
OsmoMSC(config-net)# encryption uea 0 ?
  [<0-2>]  UEAn Algorithm Number
OsmoMSC(config-net)# encryption uea 0 1 ?
  [<0-2>]  UEAn Algorithm Number
OsmoMSC(config-net)# encryption uea 0 1 2 ?
  <cr>  

OsmoMSC(config-net)# exit
OsmoMSC(config)# msc
OsmoMSC(config-msc)# list
...
  assign-tmsi
  lcls-permitted
  no lcls-permitted
  mncc internal
  mncc external MNCC_SOCKET_PATH
  mncc guard-timeout <0-255>
  ncss guard-timeout <0-255>
  no assign-tmsi
  auth-tuple-max-reuse-count <-1-2147483647>
  auth-tuple-reuse-on-error (0|1)
  check-imei-rqd (0|1|early)
  cs7-instance-a <0-15>
  cs7-instance-iu <0-15>
  emergency-call route-to-msisdn MSISDN
  sms-over-gsup
  no sms-over-gsup
  osmux (on|off|only)
  handover-number range MSISDN_FIRST MSISDN_LAST
  nri bitlen <0-15>
  nri add <0-32767> [<0-32767>]
  nri del <0-32767> [<0-32767>]
  neighbor (a|iu) lac <0-65535> (ran-pc|msc-ipa-name) RAN_PC_OR_MSC_IPA_NAME
  neighbor (a|iu) lac-ci <0-65535> <0-65535> (ran-pc|msc-ipa-name) RAN_PC_OR_MSC_IPA_NAME
  neighbor (a|iu) cgi <0-999> <0-999> <0-65535> <0-65535> (ran-pc|msc-ipa-name) RAN_PC_OR_MSC_IPA_NAME
  no neighbor (a|iu) (ran-pc|msc-ipa-name) RAN_PC_OR_MSC_IPA_NAME
  timer [(vlr|mgw|mncc|sccp|geran|utran|sgs)] [TNNNN] [(<0-2147483647>|default)]
...

OsmoMSC(config-msc)# ncss?
  ncss  Configure call independent Supplementary Services

OsmoMSC(config-msc)# ncss ?
  guard-timeout  Set guard timer for session activity

OsmoMSC(config-msc)# mncc?
  mncc  Configure Mobile Network Call Control

OsmoMSC(config-msc)# mncc ?
  internal       Use internal MNCC handler (default; changes need a program restart)
  external       Use external MNCC handler (changes need a program restart)
  guard-timeout  Set global guard timer for mncc interface activity

OsmoMSC(config-msc)# mncc external ?
  MNCC_SOCKET_PATH  File system path to create the MNCC unix domain socket at

OsmoMSC(config-msc)# mncc external /path/not/used
OsmoMSC(config-msc)# show running-config
...
msc
...
 mncc external /path/not/used
...

OsmoMSC(config-msc)# mncc internal
OsmoMSC(config-msc)# show running-config
... ! mncc external

OsmoMSC(config-msc)# exit
OsmoMSC(config)# mncc-int
OsmoMSC(config-mncc-int)# list
...
  default-codec tch-f (fr|efr|amr)
  default-codec tch-h (hr|amr)

OsmoMSC(config-mncc-int)# exit
OsmoMSC(config)# hlr
OsmoMSC(config-hlr)# list
...
  remote-ip A.B.C.D
  remote-port <1-65535>
  ipa-name NAME

OsmoMSC(config-hlr)# exit
OsmoMSC(config)# exit
OsmoMSC# configure terminal
OsmoMSC(config)# network
OsmoMSC(config-net)# end

OsmoMSC# configure terminal
OsmoMSC(config)# sgs
OsmoMSC(config-sgs)# list
...
  local-ip A.B.C.D
  local-port <0-65535>
  timer (ts5|ts6-2|ts7|ts11|ts14|ts15) <1-120>
  counter (ns7|ns11) <0-255>
  vlr-name FQDN
OsmoMSC(config-sgs)# end

OsmoMSC# disable
OsmoMSC> enable

OsmoMSC# ! Punching some '...' holes because of optional SMPP, Iu
OsmoMSC# show running-config
...
network
 network country code 001
 mobile network code 01
 short name OsmoMSC
 long name OsmoMSC
 encryption a5 0
 encryption uea 1 2
 authentication optional
 rrlp mode none
 mm info 1
...
msc
 mncc guard-timeout 180
 ncss guard-timeout 30
 assign-tmsi
 cs7-instance-a 0
...
 auth-tuple-max-reuse-count 3
 auth-tuple-reuse-on-error 1
mncc-int
 default-codec tch-f fr
 default-codec tch-h hr
...
hlr
 remote-ip 127.0.0.1
 remote-port 4222
sgs
 local-port 29118
 local-ip 0.0.0.0
 vlr-name vlr.example.net
smsc
 queue max-pending 20
 queue max-failure 1
 database delete-delivered 1
 database delete-expired 1
 validity-period minimum 1
 validity-period default 10080
end

OsmoMSC# configure terminal
OsmoMSC(config)# network
OsmoMSC(config-net)# encryption uea 0
OsmoMSC(config-net)# show running-config
...
 encryption uea 0
...

OsmoMSC(config-net)# encryption uea 1
OsmoMSC(config-net)# show running-config
...
 encryption uea 1
...

OsmoMSC(config-net)# encryption uea 2
OsmoMSC(config-net)# show running-config
...
 encryption uea 2
...

OsmoMSC(config-net)# encryption uea 0 1
OsmoMSC(config-net)# show running-config
...
 encryption uea 0 1
...

OsmoMSC(config-net)# encryption uea 0 2
OsmoMSC(config-net)# show running-config
...
 encryption uea 0 2
...

OsmoMSC(config-net)# encryption uea 1 2
OsmoMSC(config-net)# show running-config
...
 encryption uea 1 2
...
