Neels Hofmeyr | 8c8ebb1 | 2017-09-18 16:19:30 +0200 | [diff] [blame] | 1 | [[net]] |
| 2 | == Configuring the Core Network |
| 3 | |
| 4 | The core network parameters are configured by the config file (as in `osmo-msc |
| 5 | -c osmo-msc.cfg`). The config file is parsed by the VTY, which is also |
| 6 | available via telnet in the running `osmo-msc` instance. Be aware that even |
| 7 | though you may be able to change these parameters without restarting |
| 8 | `osmo-msc`, some may not take immediate effect, and it is safest to use the |
| 9 | config file to have these parameters set at startup time. |
| 10 | |
| 11 | The core network parameters are found in the `config` / `network`. |
| 12 | |
| 13 | A full reference to the available commands can be found in the _OsmoMSC VTY |
| 14 | reference manual_ <<vty-ref-osmomsc>>. This section describes only the most |
| 15 | commonly used settings. |
| 16 | |
| 17 | Here is an overview of the config items, described in more detail below: |
| 18 | |
| 19 | ---- |
| 20 | network |
| 21 | network country code 262 |
| 22 | mobile network code 89 |
| 23 | mm info 1 |
| 24 | short name OsmoMSC |
| 25 | long name OsmoMSC |
| 26 | authentication required |
| 27 | encryption a5 3 |
| 28 | ---- |
| 29 | |
| 30 | [TIP] |
| 31 | ==== |
| 32 | Use the telnet VTY interface to query the current configuration of a running |
| 33 | `osmo-msc` process: |
| 34 | |
| 35 | ---- |
| 36 | $ telnet localhost 4254 |
| 37 | OsmoMSC> enable |
| 38 | OsmoMSC# show running-config |
| 39 | ---- |
| 40 | |
| 41 | Some parameters may be changed without restarting `osmo-msc`. To reach the |
| 42 | `network` node, enter: |
| 43 | |
| 44 | ---- |
| 45 | OsmoMSC> enable |
| 46 | OsmoMSC# configure terminal |
| 47 | OsmoMSC(config)# network |
| 48 | OsmoMSC(config-net)# short name Example-Name |
| 49 | OsmoMSC(config-net)# exit |
| 50 | OsmoMSC(config)# |
| 51 | ---- |
| 52 | |
| 53 | The telnet VTY features tab-completion as well as context sensitive help shown |
| 54 | when entering a `?` question mark. |
| 55 | |
| 56 | You can always use the `list` VTY command or enter `?` on the blank prompt to |
| 57 | get a list of all possible commands at the current node. |
| 58 | ==== |
| 59 | |
| 60 | |
| 61 | === MCC/MNC |
| 62 | |
| 63 | The key identities of every GSM PLMN is the Mobile Country Code and the Mobile |
| 64 | Network Code. They are identical over the entire network. In most cases, the |
| 65 | MCC/MNC will be allocated to the operator by the respective local regulatory |
| 66 | authority. For example, to set the MCC/MNC of 262-89, have this in your |
| 67 | osmo-msc.cfg: |
| 68 | |
| 69 | ---- |
| 70 | network |
| 71 | network country code 262 |
| 72 | mobile network code 89 |
| 73 | ---- |
| 74 | |
| 75 | |
| 76 | === Configuring MM INFO |
| 77 | |
| 78 | The _MM INFO_ procedure can be used after a successful _LOCATION UPDATE_ in |
| 79 | order to transmit the human-readable network name as well as local time zone |
| 80 | information to the MS. By default, _MM INFO_ is not active, i.e. `0`. Set to `1` |
| 81 | to activate this feature: |
| 82 | |
| 83 | ---- |
| 84 | network |
| 85 | mm info 1 |
| 86 | short name OsmoMSC |
| 87 | long name OsmoMSC |
| 88 | ---- |
| 89 | |
| 90 | [NOTE] |
| 91 | ==== |
| 92 | Not all phones support the MM INFO procedure. If a phone is not |
| 93 | factory-programmed to contain the name for your MCC/MNC, it will likely only |
| 94 | provide a numeric display of the network name, such as _262-89_, or show the |
| 95 | country code transformed into a letter, such as _D 89_. |
| 96 | ==== |
| 97 | |
| 98 | The time information transmitted is determined by the local system time of the |
| 99 | operating system on which OsmoMSC is running. |
| 100 | |
| 101 | |
| 102 | === Authentication |
| 103 | |
| 104 | Authorized subscribers must be entered in the HLR database, see the _OsmoHLR |
| 105 | reference manual_ <<userman-osmohlr>>. If authentication tokens (such as KI for |
| 106 | 2G, or K and OP/OPC for UMTS) are present in the HLR, OsmoMSC will only attach |
| 107 | a subscriber after successful authentication. |
| 108 | |
| 109 | If no authentication keys are present in the HLR for a given subscriber, |
| 110 | OsmoMSC will attach the subscriber _without_ authentication. You can reject |
| 111 | subscribers that lack authentication info in the HLR with this setting: |
| 112 | |
| 113 | ---- |
| 114 | network |
| 115 | authentication required |
| 116 | ---- |
| 117 | |
| 118 | === Ciphering |
| 119 | |
| 120 | To enable ciphering on the radio link, authentication must take place first: |
| 121 | the Kc resulting from authentication is the key used for ciphering. Hence, all |
| 122 | subscribers must have authentication tokens available in the HLR for ciphering. |
| 123 | |
| 124 | The MS, BTS and MSC must agree on a ciphering algorithm to use. |
| 125 | |
| 126 | - The MS sends its supported ciphering algorithms via Classmark IEs during |
| 127 | Location Updating. |
| 128 | - Typically the BSC needs to know which A5 ciphers are supported by connected |
| 129 | BTSes. |
| 130 | - Finally, OsmoMSC may impose that specific A5 ciphers shall not be considered. |
| 131 | |
| 132 | It is the responsibility of the BSC to then pick an A5 cipher that satisfies |
| 133 | all requirements. |
| 134 | |
| 135 | - In OsmoMSC, A5/0 means that ciphering is turned off. |
| 136 | + |
| 137 | ---- |
| 138 | network |
| 139 | encryption a5 0 |
| 140 | ---- |
| 141 | |
| 142 | - A5/1 and A5/3 are currently supported by Osmocom. |
| 143 | + |
| 144 | ---- |
| 145 | network |
| 146 | encryption a5 3 |
| 147 | ---- |
| 148 | |
| 149 | - Never use A5/2: it is an "export grade cipher" and has been deprecated for |
| 150 | its low ciphering strength. |
| 151 | |
| 152 | NOTE: At the time of writing, OsmoMSC supports setting only a single A5 cipher, |
| 153 | while it should be able to allow a set of ciphers. This is subject to ongoing |
| 154 | development. |