dexter has uploaded this change for review.

View Change

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));

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

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I045d93b9f40ddfb3dc6dfbd9602e736bbc6b4abc
Gerrit-Change-Number: 42956
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier@sysmocom.de>