pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43680?usp=email )
Change subject: smf: Add several SBI helpers ......................................................................
smf: Add several SBI helpers
Those types will need to be generated for multiple messages; put them in helper functions so they can be generated easily wherever needed.
Change-Id: Ieff9db356a97d041cd62af41d7810d4bf0fc630a --- M smf/SMF_Session_CT_5G.ttcn 1 file changed, 27 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/43680/1
diff --git a/smf/SMF_Session_CT_5G.ttcn b/smf/SMF_Session_CT_5G.ttcn index a349899..a7cda39 100644 --- a/smf/SMF_Session_CT_5G.ttcn +++ b/smf/SMF_Session_CT_5G.ttcn @@ -71,6 +71,30 @@ f_http2_adapter_init(); }
+function f_ts_PlmnId() +runs on SMF_Session_CT return TS29502_Nsmf_PDUSession.PlmnId { + return valueof(TS29502_Nsmf_PDUSession_Templates.ts_PlmnId("001", "001")); +} + +function f_ts_PlmnIdNid() +runs on SMF_Session_CT return TS29502_Nsmf_PDUSession.PlmnIdNid { + return valueof(TS29502_Nsmf_PDUSession_Templates.ts_PlmnIdNid("001", "001")); +} + +function f_ts_UserLocation() +runs on SMF_Session_CT return TS29502_Nsmf_PDUSession.UserLocation { + var template (value) TS29502_Nsmf_PDUSession.PlmnId plmn_id := f_ts_PlmnId(); + return valueof(ts_UserLocation(nrLocation := ts_NrLocation(tai := ts_Tai(plmn_id, "000001"), + ncgi := ts_Ncgi(plmn_id, "000000000")))); +} + +function f_ts_Guami() +runs on SMF_Session_CT return TS29502_Nsmf_PDUSession.Guami { + var template (value) TS29502_Nsmf_PDUSession.PlmnIdNid plmn_id_nid := f_ts_PlmnIdNid(); + return valueof(ts_Guami(plmnId := plmn_id_nid, + amfId := "020040")); +} + function f_http2_encode_body_multipart_json_5gnas(octetstring json_encoded, octetstring nas_ecnoded, charstring boundary := "=-0EVVjxcWWFYNd1JXh1OQEg==") return octetstring @@ -94,8 +118,6 @@ var template (value) NG_NAS_UL_Message_Type nas_ul_msg; var ProcedureTransactionIdentifier pti := f_next_pti(); var template (value) octetstring body; - var template (value) TS29502_Nsmf_PDUSession.PlmnId plmn_id := TS29502_Nsmf_PDUSession_Templates.ts_PlmnId("001", "001"); - var template (value) TS29502_Nsmf_PDUSession.PlmnIdNid plmn_id_nid := TS29502_Nsmf_PDUSession_Templates.ts_PlmnIdNid(plmn_id.mcc, plmn_id.mnc); var integer pdu_sess_id := 1; var integer http2_idx; var integer http2_stream_id := 3; @@ -111,14 +133,12 @@ dnn := "internet", sNssai := TS29502_Nsmf_PDUSession_Templates.ts_Snssai(1), servingNfId := "foobar", - guami := ts_Guami(plmnId := plmn_id_nid, - amfId := "020040"), - servingNetwork := plmn_id_nid, + guami := f_ts_Guami(), + servingNetwork := f_ts_PlmnIdNid(), n1SmMsg := TS29502_Nsmf_PDUSession_Templates.ts_RefToBinaryData("5gnas-sm"), anType := ThreeGPP_ACCESS, ratType := ts_RatType(NR), - ueLocation := ts_UserLocation(nrLocation := ts_NrLocation(tai := ts_Tai(plmn_id, "000001"), - ncgi := ts_Ncgi(plmn_id, "000000000"))), + ueLocation := f_ts_UserLocation(), smContextStatusUri := ts_Namf_Callback_uri_imsi_sm_context_status_id(g_pars.imsi_str, int2str(pdu_sess_id))); sm_contexts_enc := f_enc_SmContextCreateData(valueof(sm_contexts));