laforge has submitted this change. (
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43181?usp=email )
Change subject: SGP32Definitions_Templates: rework templates, imrove flexibilty
......................................................................
SGP32Definitions_Templates: rework templates, imrove flexibilty
The templates in their current form where originally developed to generate
and match messages for the ASN.1 ESipa interface. This interface uses a
top-level envelope structure for sending and receiving messages
(EsipaMessageFromIpaToEim and EsipaMessageFromEimToIpa). The JSON ESipa
interface is different. Here the top level envelope is a JSON formatted
body whith Base64 encoded ASN.1 mebers. Those members have to be encoded
and decoded by accessing ASN.1 structures below the top-level envelope
structure directly. Unfortunately the current templates do not provide
the required flexibility for that.
With this patch we rework the templates to be more flexible and open, so
that we can integrate JSON ESipa bindings into the eIM testsuite with
a follow-up patch.
Related: SYS#8100
Change-Id: I69a29b30578b0280006c2655b20c2a4eb62f5e75
---
M eim/eIM_Tests.ttcn
M ipad/IPAd_Tests.ttcn
M library/euicc/SGP32Definitions_Templates.ttcn
3 files changed, 309 insertions(+), 260 deletions(-)
Approvals:
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/eim/eIM_Tests.ttcn b/eim/eIM_Tests.ttcn
index ba3855a..26fe2bf 100644
--- a/eim/eIM_Tests.ttcn
+++ b/eim/eIM_Tests.ttcn
@@ -490,7 +490,7 @@
/* 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) */
esipa_res := f_esipa_transceive(valueof(ts_getEimPackageRequest(eID)),
-
tr_getEimPackageResponse_dnlTrigReq(activationCode));
+
tr_getEimPackageResponse_dnlTrigReq(tr_profileDownloadTriggerRequest(activationCode)));
eimTransactionId :=
valueof(esipa_res.getEimPackageResponse.profileDownloadTriggerRequest.eimTransactionId);
/* Perform common mutial authentication procedure */
@@ -502,7 +502,7 @@
f_esipa_receive(tr_getBoundProfilePackageResponseEsipa);
/* Handle notification */
-
f_esipa_send(valueof(ts_handleNotificationEsipa_prfleInstRslt(notificationAddress
:= smdpp_add)));
+
f_esipa_send(valueof(ts_handleNotificationEsipa_pendingNotif(ts_SGP32_pendingNotification_prfleInstRslt(notificationAddress
:= smdpp_add))));
f_es9p_transceive_empty_response(tr_handleNotification);
f_rest_lookup_resource(resource_id, "download", tr_JSON_REST_success);
@@ -548,7 +548,7 @@
/* Check the eIM for new eIM packages, we expect to get an
euiccPackageRequest that contains the PSMO
* that we have created (see above) */
esipa_res :=
f_esipa_transceive(valueof(ts_getEimPackageRequest(str2oct(order.eidValue))),
-
tr_getEimPackageResponse_euiccPkgReq(euiccPackage));
+
tr_getEimPackageResponse_euiccPkgReq(tr_euiccPackageRequest(euiccPackage)));
/* The eIM will generate a counterValue and an eimTransactionId, both
must be echoed in the response. */
euiccPackageResult.euiccPackageResultSigned.euiccPackageResultDataSigned.counterValue
:=
@@ -557,7 +557,7 @@
esipa_res.getEimPackageResponse.euiccPackageRequest.euiccPackageSigned.eimTransactionId;
/* Respond with a plausible EimPackage result */
- f_esipa_transceive(valueof(ts_provideEimPackageResult_ePRAndNotif(eID,
euiccPackageResult)),
+ f_esipa_transceive(valueof(ts_provideEimPackageResult(eID,
ts_eimPackageResult_ePRAndNotif(euiccPackageResult))),
tr_provideEimPackageResultResponse_empty);
f_rest_lookup_resource(resource_id, facility, tr_JSON_REST_success);
@@ -833,7 +833,7 @@
eimTransactionId :=
valueof(esipa_res.getEimPackageResponse.ipaEuiccDataRequest.eimTransactionId);
/* Provide a plausible ipaEuiccDataResponse to the eIM */
-
f_esipa_transceive(valueof(ts_provideEimPackageResult_euiccDataResp(eID,
eimTransactionId)),
+ f_esipa_transceive(valueof(ts_provideEimPackageResult(eID,
ts_eimPackageResult_euiccDataResp(eimTransactionId))),
tr_provideEimPackageResultResponse_empty);
f_rest_lookup_resource(resource_id, "edr", tr_JSON_REST_success);
@@ -878,7 +878,7 @@
eimTransactionId :=
valueof(esipa_res.getEimPackageResponse.ipaEuiccDataRequest.eimTransactionId);
/* Provide a plausible ipaEuiccDataResponse to the eIM */
-
f_esipa_transceive(valueof(ts_provideEimPackageResult_euiccDataResp_err(eID,
eimTransactionId)),
+ f_esipa_transceive(valueof(ts_provideEimPackageResult(eID,
ts_eimPackageResult_euiccDataResp_err(eimTransactionId))),
tr_provideEimPackageResultResponse_empty);
f_rest_lookup_resource(resource_id, "edr", tr_JSON_REST_success(outcome
:= expected_outcome) );
diff --git a/ipad/IPAd_Tests.ttcn b/ipad/IPAd_Tests.ttcn
index c999cfb..ce744d0 100644
--- a/ipad/IPAd_Tests.ttcn
+++ b/ipad/IPAd_Tests.ttcn
@@ -409,7 +409,7 @@
/* Step #5-#10 */
esipa_req := f_esipa_receive(tr_initiateAuthenticationRequestEsipa);
- esipa_res :=
valueof(ts_initiateAuthenticationResponseEsipa(euiccChallenge :=
esipa_req.initiateAuthenticationRequestEsipa.euiccChallenge));
+ esipa_res :=
valueof(ts_initiateAuthenticationResponseEsipa(serverSigned1 :=
ts_serverSigned1(euiccChallenge :=
esipa_req.initiateAuthenticationRequestEsipa.euiccChallenge)));
f_esipa_send(esipa_res);
/* Step #11-#14 */
@@ -482,7 +482,7 @@
f_vpcd_transceive(enc_ImmediateEnableResponse(valueof(ts_immediateEnableResponse)));
/* Receive ProfileInstallationResult from iPAD->eIM */
-
f_esipa_transceive_empty_response(tr_handleNotificationEsipa_prfleInstRslt);
+
f_esipa_transceive_empty_response(tr_handleNotificationEsipa_pendingNotif(tr_SGP32_pendingNotification_prfleInstRslt));
/* Receive RemoveNotificationFromList from iPAD->eUICC */
f_vpcd_transceive(enc_NotificationSentResponse(valueof(ts_notificationSentResponse)));
@@ -522,7 +522,7 @@
/* Step #10-14 */
f_esipa_transceive(valueof(ts_provideEimPackageResultResponse_eimAck(eimAcknowledgements
:= {1,2,3,4})),
- tr_provideEimPackageResult_ePRAndNotif);
+ tr_provideEimPackageResult(*,
tr_eimPackageResult_ePRAndNotif));
/* Step #15-17 */
f_vpcd_transceive(enc_NotificationSentResponse(valueof(ts_notificationSentResponse)));
@@ -580,7 +580,7 @@
/* Step #10-14 */
f_esipa_transceive(valueof(ts_provideEimPackageResultResponse_eimAck(eimAcknowledgements
:= {1,2,3,4})),
-
tr_provideEimPackageResult_ePRAndNotif(euiccPackageResult := ?));
+ tr_provideEimPackageResult(*,
tr_eimPackageResult_ePRAndNotif(euiccPackageResult := ?)));
/* Step #15-17 */
f_vpcd_transceive(enc_NotificationSentResponse(valueof(ts_notificationSentResponse)));
@@ -628,7 +628,7 @@
/* IPAd will return the data to us */
f_esipa_transceive(valueof(ts_provideEimPackageResultResponse_eimAck(eimAcknowledgements
:= {1,2,3,4})),
- tr_provideEimPackageResult_euiccDataResp);
+ tr_provideEimPackageResult(*,
tr_eimPackageResult_euiccDataResp));
/* Wait some time until the the last HTTP response is actually
delivered */
f_sleep(2.0);
diff --git a/library/euicc/SGP32Definitions_Templates.ttcn
b/library/euicc/SGP32Definitions_Templates.ttcn
index bdc5fba..6722e11 100644
--- a/library/euicc/SGP32Definitions_Templates.ttcn
+++ b/library/euicc/SGP32Definitions_Templates.ttcn
@@ -83,37 +83,43 @@
/* GSMA SGP.32, section 6.3.2.1 */
template (present) EsipaMessageFromEimToIpa
-tr_initiateAuthenticationResponseEsipa(template (present) octetstring
euiccChallenge := ?,
- template (present) universal charstring
serverAddress := ?) := {
+tr_initiateAuthenticationResponseEsipa(template octetstring transactionId := *,
+ template (present) ServerSigned1
serverSigned1 := tr_serverSigned1,
+ template (present) octetstring
serverSignature1 := ?,
+ template (present) octetstring
euiccCiPKIdentifierToBeUsed := ?,
+ template (present) Certificate
serverCertificate := ?,
+ template charstring matchingId := *,
+ template CtxParams1 ctxParams1 := *) := {
initiateAuthenticationResponseEsipa := {
initiateAuthenticationOkEsipa := {
- transactionId := *,
- serverSigned1 := tr_serverSigned1(euiccChallenge :=
euiccChallenge, serverAddress := serverAddress),
- serverSignature1 := ?,
- euiccCiPKIdentifierToBeUsed := ?,
+ transactionId := transactionId,
+ serverSigned1 := serverSigned1,
+ serverSignature1 := serverSignature1,
+ euiccCiPKIdentifierToBeUsed :=
euiccCiPKIdentifierToBeUsed,
serverCertificate := ?,
- matchingId := *,
- ctxParams1 := *
+ matchingId := matchingId,
+ ctxParams1 := ctxParams1
}
}
}
-
template (value) EsipaMessageFromEimToIpa
-ts_initiateAuthenticationResponseEsipa(template (value) octetstring
euiccChallenge := '00112233445566778899AABBCCDDEEFF'O,
- template (value) universal charstring
serverAddress := "smdp.example.com") := {
+ts_initiateAuthenticationResponseEsipa(template (omit) octetstring
transactionId := omit,
+ template (value) ServerSigned1
serverSigned1 := ts_serverSigned1,
+ template (value) octetstring
serverSignature1 :=
'5252525252525252525252525252525252525252525252525252525252525252
+
5353535353535353535353535353535353535353535353535353535353535353'O,
+ template (value) octetstring
euiccCiPKIdentifierToBeUsed := 'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O /*
NIST */,
+ template (value) Certificate
serverCertificate := ts_cert_s_sm_dpauth_nist,
+ template (omit) universal charstring
matchingId := omit,
+ template (omit) CtxParams1 ctxParams1 :=
omit) := {
initiateAuthenticationResponseEsipa := {
initiateAuthenticationOkEsipa := {
- transactionId := omit,
- serverSigned1 := ts_serverSigned1(euiccChallenge :=
euiccChallenge, serverAddress := serverAddress),
- serverSignature1 :=
'5252525252525252525252525252525252525252525252525252525252525252
-
5353535353535353535353535353535353535353535353535353535353535353'O,
- euiccCiPKIdentifierToBeUsed :=
'F54172BDF98A95D65CBEB88A38A1C11D800A85C3'O, /* NIST */
- serverCertificate := ts_cert_s_sm_dpauth_nist,
-// serverCertificate := ts_cert_s_sm_dpauth_brp,
-// serverCertificate := ts_cert_s_sm_dp2auth_nist,
-// serverCertificate := ts_cert_s_sm_dp2auth_brp,
- matchingId := omit,
- ctxParams1 := omit
+ transactionId := transactionId,
+ serverSigned1 := serverSigned1,
+ serverSignature1 := serverSignature1,
+ euiccCiPKIdentifierToBeUsed :=
euiccCiPKIdentifierToBeUsed,
+ serverCertificate := serverCertificate,
+ matchingId := matchingId,
+ ctxParams1 := ctxParams1
}
}
}
@@ -164,28 +170,39 @@
euiccInfo2 := euiccInfo2,
ctxParams1 := ctxParams1
}
+template (present) SGP32_AuthenticateServerResponse
+tr_SGP32_authenticateServerResponse := {
+ authenticateResponseOk := {
+ euiccSigned1 := tr_euiccSigned1,
+ euiccSignature1 := ?,
+ euiccCertificate := ?,
+ eumCertificate := ?
+ }
+}
+template (value) SGP32_AuthenticateServerResponse
+ts_SGP32_authenticateServerResponse := {
+ authenticateResponseOk := {
+ euiccSigned1 := ts_euiccSigned1,
+ euiccSignature1 :=
'5252525252525252525252525252525252525252525252525252525252525252
+
5353535353535353535353535353535353535353535353535353535353535353'O,
+ euiccCertificate := ts_cert_euicc_nist,
+ eumCertificate := ts_cert_eum_nist
+ }
+}
template (present) EsipaMessageFromIpaToEim
-tr_authenticateClientRequestEsipa := {
+tr_authenticateClientRequestEsipa(template (present) octetstring transactionId
:= ?,
+ template (present)
SGP32_AuthenticateServerResponse authenticateServerResponse :=
tr_SGP32_authenticateServerResponse) := {
authenticateClientRequestEsipa := {
- transactionId := ?,
- authenticateServerResponse := {
- authenticateResponseOk := ?
- }
+ transactionId := transactionId,
+ authenticateServerResponse := authenticateServerResponse
}
}
template (value) EsipaMessageFromIpaToEim
-ts_authenticateClientRequestEsipa(template (value) octetstring transactionId
:= 'ABCDEF'O) := {
+ts_authenticateClientRequestEsipa(template (value) octetstring transactionId
:= 'ABCDEF'O,
+ template (value)
SGP32_AuthenticateServerResponse authenticateServerResponse :=
ts_SGP32_authenticateServerResponse) := {
authenticateClientRequestEsipa := {
transactionId := transactionId,
- authenticateServerResponse := {
- authenticateResponseOk := {
- euiccSigned1 := ts_euiccSigned1,
- euiccSignature1 :=
'5252525252525252525252525252525252525252525252525252525252525252
-
5353535353535353535353535353535353535353535353535353535353535353'O,
- euiccCertificate := ts_cert_euicc_nist,
- eumCertificate := ts_cert_eum_nist
- }
- }
+ authenticateServerResponse := authenticateServerResponse
}
}
@@ -223,40 +240,39 @@
/* GSMA SGP.32, section 6.3.2.2 */
template (present) EsipaMessageFromEimToIpa
-tr_authenticateClientResponseEsipa_dpe(template (present) octetstring
transactionId := ?) := {
+tr_authenticateClientResponseEsipa_dpe(template octetstring transactionId := *,
+ template SGP32_StoreMetadataRequest
profileMetaData := *,
+ template (present) SmdpSigned2
smdpSigned2 := tr_smdpSigned2,
+ template (present) octetstring
smdpSignature2 := ?,
+ template (present) Certificate
smdpCertificate := ?,
+ template octetstring hashCc := *) := {
authenticateClientResponseEsipa := {
authenticateClientOkDPEsipa := {
transactionId := transactionId,
- profileMetaData := *,
- smdpSigned2 := {
- transactionId := ?,
- ccRequiredFlag := ?,
- bppEuiccOtpk := *
- },
- smdpSignature2 := ?,
- smdpCertificate := ?,
- hashCc := *
+ profileMetaData := profileMetaData,
+ smdpSigned2 := smdpSigned2,
+ smdpSignature2 := smdpSignature2,
+ smdpCertificate := smdpCertificate,
+ hashCc := hashCc
}
}
}
template (value) EsipaMessageFromEimToIpa
-ts_authenticateClientResponseEsipa_dpe(template (value) octetstring
transactionId := 'ABCDEF'O) := {
+ts_authenticateClientResponseEsipa_dpe(template (omit) octetstring
transactionId := omit,
+ template (omit)
SGP32_StoreMetadataRequest profileMetaData := omit,
+ template (value) SmdpSigned2 smdpSigned2
:= ts_smdpSigned2,
+ template (value) octetstring
smdpSignature2 :=
'5252525252525252525252525252525252525252525252525252525252525252
+
5353535353535353535353535353535353535353535353535353535353535353'O,
+ template (value) Certificate
smdpCertificate := ts_cert_s_sm_dpauth_nist,
+ template (omit) octetstring hashCc :=
omit) := {
authenticateClientResponseEsipa := {
authenticateClientOkDPEsipa := {
transactionId := transactionId,
- profileMetaData := omit,
- smdpSigned2 := {
- transactionId := transactionId,
- ccRequiredFlag := false,
- bppEuiccOtpk := omit
- },
- smdpSignature2 :=
'5252525252525252525252525252525252525252525252525252525252525252
-
5353535353535353535353535353535353535353535353535353535353535353'O,
- smdpCertificate := ts_cert_s_sm_dpauth_nist,
-// smdpCertificate := ts_cert_s_sm_dpauth_brp,
-// smdpCertificate := ts_cert_s_sm_dp2auth_nist,
-// smdpCertificate := ts_cert_s_sm_dp2auth_brp,
- hashCc := omit
+ profileMetaData := profileMetaData,
+ smdpSigned2 := smdpSigned2,
+ smdpSignature2 := smdpSignature2,
+ smdpCertificate := smdpCertificate,
+ hashCc := hashCc
}
}
}
@@ -274,62 +290,71 @@
template (value) EsipaMessageFromIpaToEim
ts_getEimPackageRequest(template (value) octetstring eidValue,
template (omit) AsnNull notifyStateChange := omit,
- template (omit) integer stateChangeCause := omit) := {
+ template (omit) integer stateChangeCause := omit,
+ template (omit) octetstring rPLMN := omit) := {
getEimPackageRequest := {
eidValue := eidValue,
notifyStateChange := notifyStateChange,
stateChangeCause := stateChangeCause,
- rPLMN := omit
+ rPLMN := rPLMN
}
}
/* GSMA SGP.32, section 6.3.2.6 and 2.11.1.3 */
+template (present) ProfileDownloadTriggerRequest
+tr_profileDownloadTriggerRequest(template (present) charstring activationCode
:= ?) := {
+ profileDownloadData := {
+ activationCode := activationCode
+ },
+ eimTransactionId := *
+}
+template (value) ProfileDownloadTriggerRequest
+ts_profileDownloadTriggerRequest(template (value) charstring activationCode :=
"1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746") := {
+ profileDownloadData := {
+ activationCode := activationCode
+ },
+ eimTransactionId := omit
+}
template (present) EsipaMessageFromEimToIpa
-tr_getEimPackageResponse_dnlTrigReq(template (present) charstring
activationCode := ?) := {
+tr_getEimPackageResponse_dnlTrigReq(template (present)
ProfileDownloadTriggerRequest profileDownloadTriggerRequest :=
tr_profileDownloadTriggerRequest) := {
getEimPackageResponse := {
- profileDownloadTriggerRequest := {
- profileDownloadData := {
- activationCode := activationCode
- },
- eimTransactionId := *
- }
+ profileDownloadTriggerRequest := profileDownloadTriggerRequest
}
}
template (value) EsipaMessageFromEimToIpa
-ts_getEimPackageResponse_dnlTrigReq(template (value) charstring activationCode
:= "1$SMDP.EXAMPLE.COM$$1.3.6.1.4.1.31746") := {
+ts_getEimPackageResponse_dnlTrigReq(template (value)
ProfileDownloadTriggerRequest profileDownloadTriggerRequest :=
ts_profileDownloadTriggerRequest) := {
getEimPackageResponse := {
- profileDownloadTriggerRequest := {
- profileDownloadData := {
- activationCode := activationCode
- },
- eimTransactionId := omit
- }
+ profileDownloadTriggerRequest := profileDownloadTriggerRequest
}
}
/* GSMA SGP.32, section 6.3.2.6 and 2.11.1.2 */
+template (present) IpaEuiccDataRequest
+tr_ipaEuiccDataRequest := {
+ tagList := ?,
+ euiccCiPKIdentifierToBeUsed := *,
+ searchCriteriaNotification := *,
+ searchCriteriaEuiccPackageResult := *,
+ eimTransactionId := *
+}
+template (value) IpaEuiccDataRequest
+ts_ipaEuiccDataRequest := {
+ tagList := '81BF20BF228384A5A6A8A9A0'O,
+ euiccCiPKIdentifierToBeUsed := omit,
+ searchCriteriaNotification := omit,
+ searchCriteriaEuiccPackageResult := omit,
+ eimTransactionId := omit
+}
template (present) EsipaMessageFromEimToIpa
-tr_getEimPackageResponse_euiccDataReq := {
+tr_getEimPackageResponse_euiccDataReq(template (present) IpaEuiccDataRequest
ipaEuiccDataRequest := tr_ipaEuiccDataRequest) := {
getEimPackageResponse := {
- ipaEuiccDataRequest := {
- tagList := ?,
- euiccCiPKIdentifierToBeUsed := *,
- searchCriteriaNotification := *,
- searchCriteriaEuiccPackageResult := *,
- eimTransactionId := *
- }
+ ipaEuiccDataRequest := ipaEuiccDataRequest
}
}
template (value) EsipaMessageFromEimToIpa
-ts_getEimPackageResponse_euiccDataReq := {
+ts_getEimPackageResponse_euiccDataReq(template (value) IpaEuiccDataRequest
ipaEuiccDataRequest := ts_ipaEuiccDataRequest) := {
getEimPackageResponse := {
- ipaEuiccDataRequest := {
- tagList := '81BF20BF228384A5A6A8A9A0'O,
- euiccCiPKIdentifierToBeUsed := omit,
- searchCriteriaNotification := omit,
- searchCriteriaEuiccPackageResult := omit,
- eimTransactionId := omit
- }
+ ipaEuiccDataRequest := ipaEuiccDataRequest
}
}
@@ -629,55 +654,65 @@
}
/* GSMA SGP.32, section 6.3.2.6 */
+template (present) EuiccPackageRequest
+tr_euiccPackageRequest(template (present) EuiccPackage euiccPackage :=
tr_euiccPackage_enablePsmo) := {
+ euiccPackageSigned := {
+ eimId := ?,
+ eidValue := ?,
+ counterValue := ?,
+ eimTransactionId := *,
+ euiccPackage := euiccPackage
+ },
+ eimSignature := ?
+}
+template (value) EuiccPackageRequest
+ts_euiccPackageRequest(template (value) EuiccPackage euiccPackage :=
ts_euiccPackage_enablePsmo) := {
+ euiccPackageSigned := {
+ eimId := "myEim",
+ eidValue := '00112233445566778899AABBCCDDEEFF'O,
+ counterValue := 123,
+ eimTransactionId := omit,
+ euiccPackage := euiccPackage
+ },
+ eimSignature :=
'5252525252525252525252525252525252525252525252525252525252525252
+
5353535353535353535353535353535353535353535353535353535353535353'O
+}
template (present) EsipaMessageFromEimToIpa
-tr_getEimPackageResponse_euiccPkgReq(template (present) EuiccPackage
euiccPackage := tr_euiccPackage_enablePsmo) := {
+tr_getEimPackageResponse_euiccPkgReq(template (present) EuiccPackageRequest
euiccPackageRequest := tr_euiccPackageRequest) := {
getEimPackageResponse := {
- euiccPackageRequest := {
- euiccPackageSigned := {
- eimId := ?,
- eidValue := ?,
- counterValue := ?,
- eimTransactionId := *,
- euiccPackage := euiccPackage
- },
- eimSignature := ?
- }
+ euiccPackageRequest := euiccPackageRequest
}
}
template (value) EsipaMessageFromEimToIpa
-ts_getEimPackageResponse_euiccPkgReq(template (value) EuiccPackage
euiccPackage := ts_euiccPackage_enablePsmo) := {
+ts_getEimPackageResponse_euiccPkgReq(template (value) EuiccPackageRequest
euiccPackageRequest := ts_euiccPackageRequest) := {
getEimPackageResponse := {
- euiccPackageRequest := {
- euiccPackageSigned := {
- eimId := "myEim",
- eidValue := '00112233445566778899AABBCCDDEEFF'O,
- counterValue := 123,
- eimTransactionId := omit,
- euiccPackage := euiccPackage
- },
- eimSignature :=
'5252525252525252525252525252525252525252525252525252525252525252
-
5353535353535353535353535353535353535353535353535353535353535353'O
- }
+ euiccPackageRequest := euiccPackageRequest
}
}
/* GSMA SGP.32, section 6.3.2.5 */
+template (present) SGP32_CancelSessionResponse
+tr_SGP32_cancelSessionResponse := {
+ cancelSessionResponseOk := tr_cancelSessionResponseOk
+}
+template (value) SGP32_CancelSessionResponse
+ts_SGP32_cancelSessionResponse := {
+ cancelSessionResponseOk := ts_cancelSessionResponseOk
+}
template (present) EsipaMessageFromIpaToEim
-tr_cancelSessionRequestEsipa := {
+tr_cancelSessionRequestEsipa(template (present) octetstring transactionId := ?,
+ template (present) SGP32_CancelSessionResponse
cancelSessionResponse := tr_SGP32_cancelSessionResponse) := {
cancelSessionRequestEsipa := {
- transactionId := ?,
- cancelSessionResponse := {
- cancelSessionResponseOk := tr_cancelSessionResponseOk
- }
+ transactionId := transactionId,
+ cancelSessionResponse := cancelSessionResponse
}
}
template (value) EsipaMessageFromIpaToEim
-ts_cancelSessionRequestEsipa := {
+ts_cancelSessionRequestEsipa(template (value) octetstring transactionId :=
'ABCDEF'O,
+ template (value) SGP32_CancelSessionResponse
cancelSessionResponse := ts_SGP32_cancelSessionResponse) := {
cancelSessionRequestEsipa := {
- transactionId := 'AABBCC'O,
- cancelSessionResponse := {
- cancelSessionResponseOk := ts_cancelSessionResponseOk
- }
+ transactionId := transactionId,
+ cancelSessionResponse := cancelSessionResponse
}
}
@@ -700,40 +735,48 @@
}
/* GSMA SGP.32, section 6.3.2.3 */
+template (present) SGP32_PrepareDownloadResponse
+tr_SGP32_prepareDownloadResponse := {
+ downloadResponseOk := tr_prepareDownloadResponseOk
+}
+template (value) SGP32_PrepareDownloadResponse
+ts_SGP32_prepareDownloadResponse := {
+ downloadResponseOk := ts_prepareDownloadResponseOk
+}
template (present) EsipaMessageFromIpaToEim
-tr_getBoundProfilePackageRequestEsipa := {
+tr_getBoundProfilePackageRequestEsipa(template (present) octetstring
transactionId := 'ABCDEF'O,
+ template (present)
SGP32_PrepareDownloadResponse prepareDownloadResponse :=
tr_SGP32_prepareDownloadResponse) := {
getBoundProfilePackageRequestEsipa := {
transactionId := ?,
- prepareDownloadResponse := {
- downloadResponseOk := tr_prepareDownloadResponseOk
- }
+ prepareDownloadResponse := prepareDownloadResponse
}
}
template (value) EsipaMessageFromIpaToEim
-ts_getBoundProfilePackageRequestEsipa := {
+ts_getBoundProfilePackageRequestEsipa(template (value) octetstring
transactionId := 'ABCDEF'O,
+ template (value)
SGP32_PrepareDownloadResponse prepareDownloadResponse :=
ts_SGP32_prepareDownloadResponse) := {
getBoundProfilePackageRequestEsipa := {
transactionId := 'ABCDEF'O,
- prepareDownloadResponse := {
- downloadResponseOk := ts_prepareDownloadResponseOk
- }
+ prepareDownloadResponse := prepareDownloadResponse
}
}
/* GSMA SGP.32, section 6.3.2.3 */
template (present) EsipaMessageFromEimToIpa
-tr_getBoundProfilePackageResponseEsipa := {
+tr_getBoundProfilePackageResponseEsipa(template octetstring transactionId := *,
+ template (present) BoundProfilePackage
boundProfilePackage := ?) := {
getBoundProfilePackageResponseEsipa := {
getBoundProfilePackageOkEsipa := {
- transactionId := *,
+ transactionId := transactionId,
boundProfilePackage := tr_boundProfilePackage
}
}
}
template (value) EsipaMessageFromEimToIpa
-ts_getBoundProfilePackageResponseEsipa := {
+ts_getBoundProfilePackageResponseEsipa(template (omit) octetstring
transactionId := omit,
+ template (value) BoundProfilePackage
boundProfilePackage := ts_boundProfilePackage) := {
getBoundProfilePackageResponseEsipa := {
getBoundProfilePackageOkEsipa := {
- transactionId := omit,
+ transactionId := transactionId,
boundProfilePackage := ts_boundProfilePackage
}
}
@@ -773,27 +816,53 @@
}
/* GSMA SGP.32, section 6.3.2.4 */
+template (present) SGP32_PendingNotification
tr_SGP32_pendingNotification_prfleInstRslt := {
+ profileInstallationResult := {
+ profileInstallationResultData :=
tr_profileInstallationResultData,
+ euiccSignPIR := ?
+ }
+}
+template (value) SGP32_PendingNotification
ts_SGP32_pendingNotification_prfleInstRslt(template (value) charstring
notificationAddress := "smdp.example.com") := {
+ profileInstallationResult := {
+ profileInstallationResultData :=
ts_profileInstallationResultData(notificationAddress),
+ euiccSignPIR :=
'5252525252525252525252525252525252525252525252525252525252525252
+
5353535353535353535353535353535353535353535353535353535353535353'O
+ }
+}
template (present) EsipaMessageFromIpaToEim
-tr_handleNotificationEsipa_prfleInstRslt(template (present) charstring
notificationAddress := ?) := {
+tr_handleNotificationEsipa_pendingNotif(template (present)
SGP32_PendingNotification pendingNotification :=
tr_SGP32_pendingNotification_prfleInstRslt) := {
handleNotificationEsipa := {
- pendingNotification := {
- profileInstallationResult := {
- profileInstallationResultData :=
tr_profileInstallationResultData,
- euiccSignPIR := ?
- }
- }
+ pendingNotification := pendingNotification
}
}
template (value) EsipaMessageFromIpaToEim
-ts_handleNotificationEsipa_prfleInstRslt(template (value) charstring
notificationAddress := "smdp.example.com") := {
+ts_handleNotificationEsipa_pendingNotif(template (value)
SGP32_PendingNotification pendingNotification :=
ts_SGP32_pendingNotification_prfleInstRslt) := {
handleNotificationEsipa := {
- pendingNotification := {
- profileInstallationResult := {
- profileInstallationResultData :=
ts_profileInstallationResultData(notificationAddress),
- euiccSignPIR :=
'5252525252525252525252525252525252525252525252525252525252525252
-
5353535353535353535353535353535353535353535353535353535353535353'O
- }
- }
+ pendingNotification := pendingNotification
+ }
+}
+template (present) ProvideEimPackageResult
+tr_handleNotif_provideEimPackageResult(template octetstring eidValue := *,
+ template (present) EimPackageResult eimPackageResult
:= tr_eimPackageResult_ePRAndNotif) := {
+ eidValue := eidValue,
+ eimPackageResult := eimPackageResult
+}
+template (value) ProvideEimPackageResult
+ts_handleNotif_provideEimPackageResult(template (omit) octetstring eidValue :=
omit,
+ template (value) EimPackageResult eimPackageResult
:= ts_eimPackageResult_ePRAndNotif) := {
+ eidValue := eidValue,
+ eimPackageResult := eimPackageResult
+}
+template (present) EsipaMessageFromIpaToEim
+tr_handleNotificationEsipa_prvdeEimPkgRslt(template (present)
ProvideEimPackageResult provideEimPackageResult :=
tr_handleNotif_provideEimPackageResult) := {
+ handleNotificationEsipa := {
+ provideEimPackageResult := provideEimPackageResult
+ }
+}
+template (value) EsipaMessageFromIpaToEim
+ts_handleNotificationEsipa_prvdeEimPkgRslt(template (value)
ProvideEimPackageResult provideEimPackageResult :=
ts_handleNotif_provideEimPackageResult) := {
+ handleNotificationEsipa := {
+ provideEimPackageResult := provideEimPackageResult
}
}
@@ -1377,110 +1446,90 @@
}
}
+template (present) EimPackageResult
+tr_eimPackageResult_ePRAndNotif(template (present) EuiccPackageResult
euiccPackageResult := tr_euiccPackageResultSigned_enablePsmo) := {
+ ePRAndNotifications := {
+ euiccPackageResult := euiccPackageResult,
+ notificationList := ?
+ }
+}
+template (value) EimPackageResult
+ts_eimPackageResult_ePRAndNotif(template (value) EuiccPackageResult
euiccPackageResult := ts_euiccPackageResultSigned_enablePsmo) := {
+ ePRAndNotifications := {
+ euiccPackageResult := euiccPackageResult,
+ notificationList := { }
+ }
+}
+template (present) EimPackageResult
+tr_eimPackageResult_euiccDataResp := {
+ ipaEuiccDataResponse := {
+ ipaEuiccData := {
+ notificationsList := *,
+ defaultSmdpAddress := *,
+ euiccPackageResultList := *,
+ euiccInfo1 := *,
+ euiccInfo2 := *,
+ rootSmdsAddress := *,
+ associationToken := *,
+ eumCertificate := *,
+ euiccCertificate := *,
+ eimTransactionId := *,
+ ipaCapabilities := *,
+ deviceInfo := *
+ }
+ }
+}
+template (value) EimPackageResult
+ts_eimPackageResult_euiccDataResp(template (omit) octetstring eimTransactionId
:= omit) := {
+ ipaEuiccDataResponse := {
+ ipaEuiccData := {
+ notificationsList := omit,
+ defaultSmdpAddress := "smdp.example.com",
+ euiccPackageResultList := omit,
+ euiccInfo1 := ts_EUICCInfo1,
+ euiccInfo2 := ts_SGP32_EUICCInfo2,
+ rootSmdsAddress := "smds.example.com",
+ associationToken := 1,
+ eumCertificate := ts_cert_eum_nist,
+ euiccCertificate := ts_cert_euicc_nist,
+ eimTransactionId := eimTransactionId,
+ ipaCapabilities := omit,
+ deviceInfo := omit
+ }
+ }
+}
+template (present) EimPackageResult
+tr_eimPackageResult_euiccDataResp_err := {
+ ipaEuiccDataResponse := {
+ ipaEuiccDataResponseError := {
+ eimTransactionId := *,
+ ipaEuiccDataErrorCode := ?
+ }
+ }
+}
+template (value) EimPackageResult
+ts_eimPackageResult_euiccDataResp_err(template (omit) octetstring
eimTransactionId := omit) := {
+ ipaEuiccDataResponse := {
+ ipaEuiccDataResponseError := {
+ eimTransactionId := eimTransactionId,
+ ipaEuiccDataErrorCode := 127
+ }
+ }
+}
template (present) EsipaMessageFromIpaToEim
-tr_provideEimPackageResult_ePRAndNotif(template octetstring eidValue := *,
- template (present) EuiccPackageResult
euiccPackageResult := tr_euiccPackageResultSigned_enablePsmo) := {
+tr_provideEimPackageResult(template octetstring eidValue := *,
+ template (present) EimPackageResult eimPackageResult
:= ?) := {
provideEimPackageResult := {
eidValue := eidValue,
- eimPackageResult := {
- ePRAndNotifications := {
- euiccPackageResult := euiccPackageResult,
- notificationList := ?
- }
- }
+ eimPackageResult := eimPackageResult
}
}
template (value) EsipaMessageFromIpaToEim
-ts_provideEimPackageResult_ePRAndNotif(template (omit) octetstring eidValue :=
omit,
- template (value) EuiccPackageResult
euiccPackageResult := ts_euiccPackageResultSigned_enablePsmo) := {
+ts_provideEimPackageResult(template (omit) octetstring eidValue := omit,
+ template (value) EimPackageResult eimPackageResult
:= ts_eimPackageResult_ePRAndNotif) := {
provideEimPackageResult := {
eidValue := eidValue,
- eimPackageResult := {
- ePRAndNotifications := {
- euiccPackageResult := euiccPackageResult,
- notificationList := { }
- }
- }
- }
-}
-
-template (present) EsipaMessageFromIpaToEim
-tr_provideEimPackageResult_euiccDataResp(template octetstring eidValue := *)
:= {
- provideEimPackageResult := {
- eidValue := eidValue,
- eimPackageResult := {
- ipaEuiccDataResponse := {
- ipaEuiccData := {
- notificationsList := *,
- defaultSmdpAddress := *,
- euiccPackageResultList := *,
- euiccInfo1 := *,
- euiccInfo2 := *,
- rootSmdsAddress := *,
- associationToken := *,
- eumCertificate := *,
- euiccCertificate := *,
- eimTransactionId := *,
- ipaCapabilities := *,
- deviceInfo := *
- }
- }
- }
- }
-}
-template (value) EsipaMessageFromIpaToEim
-ts_provideEimPackageResult_euiccDataResp(template (omit) octetstring eidValue
:= omit,
- template (omit) octetstring
eimTransactionId := omit) := {
- provideEimPackageResult := {
- eidValue := eidValue,
- eimPackageResult := {
- ipaEuiccDataResponse := {
- ipaEuiccData := {
- notificationsList := omit,
- defaultSmdpAddress :=
"smdp.example.com",
- euiccPackageResultList := omit,
- euiccInfo1 := ts_EUICCInfo1,
- euiccInfo2 := ts_SGP32_EUICCInfo2,
- rootSmdsAddress := "smds.example.com",
- associationToken := 1,
- eumCertificate := ts_cert_eum_nist,
- euiccCertificate := ts_cert_euicc_nist,
- eimTransactionId := eimTransactionId,
- ipaCapabilities := omit,
- deviceInfo := omit
- }
- }
- }
- }
-}
-
-template (present) EsipaMessageFromIpaToEim
-tr_provideEimPackageResult_euiccDataResp_err(template octetstring eidValue :=
*) := {
- provideEimPackageResult := {
- eidValue := eidValue,
- eimPackageResult := {
- ipaEuiccDataResponse := {
- ipaEuiccDataResponseError := {
- eimTransactionId := *,
- ipaEuiccDataErrorCode := ?
- }
- }
- }
- }
-}
-template (value) EsipaMessageFromIpaToEim
-ts_provideEimPackageResult_euiccDataResp_err(template (omit) octetstring
eidValue := omit,
- template (omit) octetstring
eimTransactionId := omit) := {
- provideEimPackageResult := {
- eidValue := eidValue,
- eimPackageResult := {
- ipaEuiccDataResponse := {
- ipaEuiccDataResponseError := {
- eimTransactionId := eimTransactionId,
- ipaEuiccDataErrorCode := 127
- }
- }
- }
+ eimPackageResult := eimPackageResult
}
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43181?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I69a29b30578b0280006c2655b20c2a4eb62f5e75
Gerrit-Change-Number: 43181
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: jolly <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: pespin <[email protected]>