jolly has uploaded this change for review.

View Change

ASCI: Correctly confirm talker, so originator can be identified

Fix the issue that MSC rejects call termination, because talker can't
be identified as originator of the call.

Fixes: OS#6325
Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
---
M library/BSSMAP_Templates.ttcn
M msc/MSC_Tests_ASCI.ttcn
M msc/osmo-msc.cfg
3 files changed, 39 insertions(+), 0 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/35544/1
diff --git a/library/BSSMAP_Templates.ttcn b/library/BSSMAP_Templates.ttcn
index a93fb02..a85eb5a 100644
--- a/library/BSSMAP_Templates.ttcn
+++ b/library/BSSMAP_Templates.ttcn
@@ -1368,6 +1368,22 @@
digits := imsi_digits
}

+template BSSMAP_IE_MobileIdentity ts_BSSMAP_MobileIdentity_Imsi(hexstring imsi_digits) := {
+ elementIdentifier := '29'O,
+ lengthIndicator := 0, /* overwritten */
+ typeOfIdentity := '001'B, /* IMSI */
+ oddEvenIndicator := f_hex_is_odd_length(imsi_digits),
+ digits := imsi_digits
+}
+
+template BSSMAP_IE_MobileIdentity tr_BSSMAP_MobileIdentity_Imsi(template hexstring imsi_digits) := {
+ elementIdentifier := '29'O,
+ lengthIndicator := ?, /* overwritten */
+ typeOfIdentity := '001'B, /* IMSI */
+ oddEvenIndicator := ?,
+ digits := imsi_digits
+}
+
template (value) BSSAMAP_IE_LastUsedEUTRANPLMNId ts_BSSMAP_LastUsedEUTRANPLMNId(OCT3 mcc_mnc) := {
elementIdentifier := '95'O,
mcc_mnc := mcc_mnc
diff --git a/msc/MSC_Tests_ASCI.ttcn b/msc/MSC_Tests_ASCI.ttcn
index 76d8d3c..c8bf2da 100644
--- a/msc/MSC_Tests_ASCI.ttcn
+++ b/msc/MSC_Tests_ASCI.ttcn
@@ -244,9 +244,12 @@
var octetstring gcc_term_req := '3500001900'O;
var octetstring bcc_term_req := '3500001a00'O;
var octetstring xcc_termination := '340110'O;
+ /* L3 info carries the mobile identity of the talker requesting the uplink. */
+ var octetstring uplink_req_conf := '061103505902082926240000000033'O;
var myBSSMAP_Cause cause_success := GSM0808_CAUSE_CALL_CONTROL;
var template (value) PDU_BSSAP ts_uplink_rel_ind := ts_BSSMAP_UplinkRelInd(enum2int(cause_success), omit);
var template (value) PDU_BSSAP ts_uplink_req := ts_BSSMAP_UplinkReq;
+ var template (value) PDU_BSSAP ts_uplink_req_conf := ts_BSSMAP_UplinkReqConf(ts_CellId_CI(42), omit, uplink_req_conf);
var PDU_BSSAP rx_bssap;

f_init_handler(pars);
@@ -316,6 +319,9 @@
log("Got Uplink Request Acknowledge: ", rx_bssap);
COORD.send(COORD_UPLINK_REQ_ACK);
f_sleep(0.2);
+ /* The BSC confirms the uplink and provides mobile identity to identify originator. */
+ log("Sending Uplink Req Confirm: ", ts_uplink_req_conf);
+ BSSAP.send(ts_uplink_req_conf);
/* The MS requests termination of the call. */
log("Sending GCC Termination Request: ", gcc_term_req);
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_GCC(cpars.transaction_id, gcc_term_req)));
diff --git a/msc/osmo-msc.cfg b/msc/osmo-msc.cfg
index d05e400..d71ab6b 100644
--- a/msc/osmo-msc.cfg
+++ b/msc/osmo-msc.cfg
@@ -29,6 +29,10 @@
logging level ranap debug
logging level vlr debug
logging level iucs debug
+ logging level gcc debug
+ logging level bcc debug
+ logging level asci debug
+
!
stats interval 5
!

To view, visit change 35544. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I0381e25e15624e6b7577910c95700a355ed3f811
Gerrit-Change-Number: 35544
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas@eversberg.eu>
Gerrit-MessageType: newchange