aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmsc/gsm_04_08.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-09 20:41:14 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-09 22:30:39 +0100
commit69c54a8b3c4ec16b832474350ca4d1ef7ffb86d4 (patch)
tree2564550d24c0e195735a38e1c941c53b9cef3ef9 /src/libmsc/gsm_04_08.c
parenta172e9e231b7f37016dc2a8d443cc64cbc6fa898 (diff)
Add VTY command to configure destination MSISDN for emergency calls
As in GSM/3GPP networks emergency calls carry no explicit destination number/address, add a VTY commadn to patch in some destination handler in the EMERGENCY SETUP before delivering to [internal or external] MNCC. Change-Id: I7c9f43ba312fadda2b9a9483b3cf50e4abca9599
Diffstat (limited to 'src/libmsc/gsm_04_08.c')
-rw-r--r--src/libmsc/gsm_04_08.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c
index 76f8c799a..7b6e94a58 100644
--- a/src/libmsc/gsm_04_08.c
+++ b/src/libmsc/gsm_04_08.c
@@ -1645,6 +1645,14 @@ static int gsm48_cc_rx_setup(struct gsm_trans *trans, struct msgb *msg)
if (msg_type == GSM48_MT_CC_EMERG_SETUP) {
setup.fields |= MNCC_F_EMERGENCY;
setup.emergency = 1;
+ /* use destination number as configured by user (if any) */
+ if (trans->net->emergency.route_to_msisdn) {
+ setup.fields |= MNCC_F_CALLED;
+ setup.called.type = 0; /* unknown */
+ setup.called.plan = 0; /* unknown */
+ OSMO_STRLCPY_ARRAY(setup.called.number,
+ trans->net->emergency.route_to_msisdn);
+ }
}
/* use subscriber as calling party number */