dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42956?usp=email )
Change subject: eIM: use eimTransactionId during profile download ......................................................................
eIM: use eimTransactionId during profile download
When the eIM initiates a profile download via the profileDownloadTriggerRequest, it includes an eimTransactionId to identify sent by the IPAd (testsuite) in the initiateAuthenticationRequestEsipa response. The eimTransactionId (even though it is optional) is essential for the eIM to recognize the response from the eIM correctly.
(SGP.32 V.1.0.1 lacked the eimTransactionId, which meant that the eIM had to rely on other identifiers such as the TCP connection itself. The problem is now fixed with SGP.32 V.1.2)
Related: SYS#8100 Change-Id: I045d93b9f40ddfb3dc6dfbd9602e736bbc6b4abc --- M eim/eIM_Tests.ttcn 1 file changed, 9 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/42956/1
diff --git a/eim/eIM_Tests.ttcn b/eim/eIM_Tests.ttcn index 6e7c016..8508d39 100644 --- a/eim/eIM_Tests.ttcn +++ b/eim/eIM_Tests.ttcn @@ -449,11 +449,12 @@ /* ********************************************* */
/* Common Mutual Authentication Procedure, see also: GSMA SGP.22, section 3.0.1 */ -private function f_proc_cmn_mtl_auth() runs on eIM_ConnHdlr { +private function f_proc_cmn_mtl_auth(octetstring eimTransactionId) runs on eIM_ConnHdlr { var charstring smdpAddress := mp_es9p_ip & ":" & int2str(mp_es9p_port);
/* InitiateAuthentication cycle */ - f_esipa_send(valueof(ts_initiateAuthenticationRequestEsipa(smdpAddress := smdpAddress))); + f_esipa_send(valueof(ts_initiateAuthenticationRequestEsipa(smdpAddress := smdpAddress, + eimTransactionId := eimTransactionId))); f_es9p_transceive(valueof(ts_initiateAuthenticationResponse), tr_initiateAuthenticationRequest); f_esipa_receive(tr_initiateAuthenticationResponseEsipa);
@@ -470,6 +471,8 @@ var HTTP_Adapter_Params http_adapter_pars; var charstring smdpp_add := mp_es9p_ip & ":" & int2str(mp_es9p_port) var charstring activationCode := "1$" & smdpp_add & "$MyMatchingId" + var template EsipaMessageFromEimToIpa esipa_res; + var octetstring eimTransactionId;
f_http_register();
@@ -486,10 +489,12 @@
/* Check the eIM for new eIM packages, we expect to get a profileDownloadTriggerRequest that contains the * activationCode that we have created the download with (see above) */ - f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), tr_getEimPackageResponse_dnlTrigReq(activationCode)); + esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)), + tr_getEimPackageResponse_dnlTrigReq(activationCode)); + eimTransactionId := valueof(esipa_res.getEimPackageResponse.profileDownloadTriggerRequest.eimTransactionId);
/* Perform common mutial authentication procedure */ - f_proc_cmn_mtl_auth(); + f_proc_cmn_mtl_auth(eimTransactionId);
/* Request/download bound profile package */ f_esipa_send(valueof(ts_getBoundProfilePackageRequestEsipa));