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
This commit is contained in:
Andreas Eversberg 2024-01-10 13:23:10 +01:00 committed by laforge
parent f95460b55b
commit a8aa16e1eb
1 changed files with 6 additions and 0 deletions

View File

@ -244,9 +244,12 @@ private function f_tc_vgcs_control(charstring id, BSC_ConnHdlrPars pars) runs on
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 @@ private function f_tc_vgcs_control(charstring id, BSC_ConnHdlrPars pars) runs on
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)));