2018-12-05 01:24:30 +00:00
|
|
|
OsmoMSC> enable
|
|
|
|
OsmoMSC# configure terminal
|
|
|
|
OsmoMSC(config)# list
|
|
|
|
...
|
|
|
|
network
|
|
|
|
msc
|
2018-12-03 10:00:04 +00:00
|
|
|
sgs
|
2018-12-05 01:24:30 +00:00
|
|
|
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-3> [<0-3>] [<0-3>] [<0-3>]
|
|
|
|
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
|
|
|
|
periodic location update <6-1530>
|
|
|
|
no periodic location update
|
|
|
|
|
|
|
|
OsmoMSC(config-net)# exit
|
|
|
|
OsmoMSC(config)# msc
|
|
|
|
OsmoMSC(config-msc)# list
|
|
|
|
...
|
|
|
|
assign-tmsi
|
2018-12-05 00:11:28 +00:00
|
|
|
mncc internal
|
|
|
|
mncc external MNCC_SOCKET_PATH
|
2018-12-05 00:07:03 +00:00
|
|
|
mncc guard-timeout <0-255>
|
2018-12-05 01:24:30 +00:00
|
|
|
no assign-tmsi
|
|
|
|
auth-tuple-max-reuse-count <-1-2147483647>
|
|
|
|
auth-tuple-reuse-on-error (0|1)
|
2018-12-14 09:52:52 +00:00
|
|
|
check-imei-rqd (0|1)
|
2018-12-05 01:24:30 +00:00
|
|
|
cs7-instance-a <0-15>
|
|
|
|
cs7-instance-iu <0-15>
|
|
|
|
paging response-timer (default|<1-65535>)
|
|
|
|
emergency-call route-to-msisdn MSISDN
|
libmsc/VTY: introduce kill-switch for routing SMS over GSUP
As a rudiment of OsmoNiTB, OsmoMSC is still involved in SMS
processing, storage (in SQLite DB), and routing (via SMPP).
In real networks this is done by the external entity called
SMSC (SMS Centre), while the MSC is doing re-encapsulation
of GSM 04.11 SM-TL (Transport Layer) payload (i.e. TPDU)
between SM-RL (Relay Layer) and MAP.
Since OsmoMSC itself is not a 'Network in The Box' anymore, it
makes sense to replicate the 'traditional' behaviour of MSC.
The problem is that this behaviour cannot co-exist with the
current implementation, so the key idea is to rip out the
local SMS storage and routing from OsmoMSC, and (re)implement
it in a separate process (OsmoSMSC?).
As a temporary solution, this change introduces a 'kill-switch'
VTY option that enables routing of SMS messages over GSUP
towards ESME (through VLR and HLR), but breaks the local
storage and routing. This is why it's disabled by default.
As soon as we move the SMS processing and storage away from
OsmoMSC, this behaviour would be enabled by default, and
the VTY option would be hidden and deprecated. At the moment,
this option basically does nothing, and will take an effect
in the follow-up changes.
Change-Id: Ie57685ed2ce1e4c978e775b68fdffe58de44882b
Related: OS#3587
2018-11-19 23:20:53 +00:00
|
|
|
sms-over-gsup
|
|
|
|
no sms-over-gsup
|
2018-12-05 01:24:30 +00:00
|
|
|
mgw local-ip A.B.C.D
|
|
|
|
mgw local-port <0-65535>
|
|
|
|
mgw remote-ip A.B.C.D
|
|
|
|
mgw remote-port <0-65535>
|
|
|
|
...
|
|
|
|
|
2018-12-05 00:11:28 +00:00
|
|
|
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
|
|
|
|
|
2018-12-05 01:24:30 +00:00
|
|
|
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>
|
2018-12-19 23:46:40 +00:00
|
|
|
ipa-name NAME
|
2018-12-05 01:24:30 +00:00
|
|
|
|
|
|
|
OsmoMSC(config-hlr)# exit
|
|
|
|
OsmoMSC(config)# exit
|
|
|
|
OsmoMSC# configure terminal
|
|
|
|
OsmoMSC(config)# network
|
|
|
|
OsmoMSC(config-net)# end
|
2018-12-03 10:00:04 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2018-12-05 01:24:30 +00:00
|
|
|
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
|
|
|
|
authentication optional
|
|
|
|
rrlp mode none
|
|
|
|
mm info 1
|
|
|
|
periodic location update 30
|
|
|
|
msc
|
2018-12-05 00:07:03 +00:00
|
|
|
mncc guard-timeout 180
|
2018-12-05 01:24:30 +00:00
|
|
|
assign-tmsi
|
|
|
|
cs7-instance-a 0
|
|
|
|
...
|
|
|
|
auth-tuple-max-reuse-count 3
|
|
|
|
auth-tuple-reuse-on-error 1
|
|
|
|
mgw local-port 2728
|
|
|
|
mgw remote-ip 10.23.24.1
|
|
|
|
mgw remote-port 2427
|
|
|
|
mncc-int
|
|
|
|
default-codec tch-f fr
|
|
|
|
default-codec tch-h hr
|
|
|
|
...
|
|
|
|
hlr
|
|
|
|
remote-ip 127.0.0.1
|
|
|
|
remote-port 4222
|
2018-12-03 10:00:04 +00:00
|
|
|
sgs
|
|
|
|
local-ip 0.0.0.0
|
|
|
|
vlr-name vlr.example.net
|
2018-12-05 01:24:30 +00:00
|
|
|
end
|