aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Whyte <keith@rhizomatica.org>2019-08-01 12:20:25 +0200
committerkeith <keith@rhizomatica.org>2019-08-02 08:08:33 +0000
commitff17f8fd8a0281c326fd875776cee2bde21e65be (patch)
tree4a22abc615dbf43e26815cb32e6ff21421a965de
parent4014e481d46318a49174cfac65e4be291c133cf8 (diff)
Set coding in mncc_set_cause()
GSM 04.08 10.5.4.11 The Release indication needs to have the Coding Standard set. For phones that would display a message on screen, such as "Number not in use", if the coding standard is not defined, the display may show "Error in Connection" Change-Id: Ib28b62a41d433e231cff5910d19455296b284df6
-rw-r--r--src/libmsc/mncc.c1
-rw-r--r--tests/msc_vlr/msc_vlr_test_call.c2
-rw-r--r--tests/msc_vlr/msc_vlr_test_call.err2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/libmsc/mncc.c b/src/libmsc/mncc.c
index 8c95ecb14..d0b2ff263 100644
--- a/src/libmsc/mncc.c
+++ b/src/libmsc/mncc.c
@@ -100,6 +100,7 @@ const char *get_mncc_name(int value)
void mncc_set_cause(struct gsm_mncc *data, int loc, int val)
{
data->fields |= MNCC_F_CAUSE;
+ data->cause.coding = GSM48_CAUSE_CODING_GSM;
data->cause.location = loc;
data->cause.value = val;
}
diff --git a/tests/msc_vlr/msc_vlr_test_call.c b/tests/msc_vlr/msc_vlr_test_call.c
index 6805f1a23..065af2555 100644
--- a/tests/msc_vlr/msc_vlr_test_call.c
+++ b/tests/msc_vlr/msc_vlr_test_call.c
@@ -401,7 +401,7 @@ static void test_call_mt2()
* this only worked synchronously, i.e. only with internal MNCC. Instead of mimicking that, we need a proper
* async solution that also works with a PBX. */
cc_to_mncc_expect_tx("", MNCC_REL_CNF);
- dtap_expect_tx("032d080281af"); /* CC: Release */
+ dtap_expect_tx("032d0802e1af"); /* CC: Release */
expect_iu_release();
msc_a_release_cn(msub_msc_a(g_msub));
OSMO_ASSERT(dtap_tx_confirmed);
diff --git a/tests/msc_vlr/msc_vlr_test_call.err b/tests/msc_vlr/msc_vlr_test_call.err
index d5fd893d8..bbfa61b3e 100644
--- a/tests/msc_vlr/msc_vlr_test_call.err
+++ b/tests/msc_vlr/msc_vlr_test_call.err
@@ -1184,7 +1184,7 @@ DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_R
DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) starting timer T308 with 10 seconds
DCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) new state CALL_RECEIVED -> RELEASE_REQ
DMSC msc_a(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){MSC_A_ST_RELEASING}: RAN encode: DTAP on UTRAN-Iu
-- DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d080281af
+- DTAP --UTRAN-Iu--> MS: GSM48_MT_CC_RELEASE: 032d0802e1af
- DTAP matches expected message
DMSC dummy_msc_i(IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP){0}: Received Event MSC_I_EV_FROM_A_FORWARD_ACCESS_SIGNALLING_REQUEST
DMNCC trans(CC IMSI-901700000010650:MSISDN-42342:TMSI-0x03020100:UTRAN-Iu:PAGING_RESP callref-0x423 tid-0) tx MNCC_REL_CNF