pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/37553?usp=email )
Change subject: library/GTP_Emulation: Check IMSI presence before returning if Conditional or Optional ......................................................................
library/GTP_Emulation: Check IMSI presence before returning if Conditional or Optional
Change-Id: I73c683e62191a06212933391d424d608a14f8c1e --- M library/GTP_Emulation.ttcn 1 file changed, 60 insertions(+), 11 deletions(-)
Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve
diff --git a/library/GTP_Emulation.ttcn b/library/GTP_Emulation.ttcn index f7c54a1..afe4217 100644 --- a/library/GTP_Emulation.ttcn +++ b/library/GTP_Emulation.ttcn @@ -118,11 +118,23 @@ if (ischosen(gtp.gtpc_pdu.createPDPContextRequest)) { return gtp.gtpc_pdu.createPDPContextRequest.imsi.digits; } else if (ischosen(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestSGSN)) { - return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestSGSN.imsi.digits; + if (ispresent(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestSGSN.imsi.digits)) { + return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestSGSN.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestGGSN)) { - return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestGGSN.imsi.digits; + if (ispresent(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestGGSN.imsi.digits)) { + return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestGGSN.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestCGW)) { - return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestCGW.imsi.digits; + if (ispresent(gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestCGW.imsi.digits)) { + return gtp.gtpc_pdu.updatePDPContextRequest.updatePDPContextRequestCGW.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.pdu_NotificationRequest)) { return gtp.gtpc_pdu.pdu_NotificationRequest.imsi.digits; } else if (ischosen(gtp.gtpc_pdu.sendRouteingInformationForGPRSRequest)) { @@ -133,8 +145,12 @@ return gtp.gtpc_pdu.failureReportRequest.imsi.digits; } else if (ischosen(gtp.gtpc_pdu.noteMS_GPRSPresentRequest)) { return gtp.gtpc_pdu.noteMS_GPRSPresentRequest.imsi.digits; - } else if (ischosen(gtp.gtpc_pdu.identificationResponse) ){ - return gtp.gtpc_pdu.identificationResponse.imsi.digits; + } else if (ischosen(gtp.gtpc_pdu.identificationResponse) ) { + if (ispresent(gtp.gtpc_pdu.identificationResponse.imsi.digits)) { + return gtp.gtpc_pdu.identificationResponse.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.sgsn_ContextRequest)) { if (ispresent(gtp.gtpc_pdu.sgsn_ContextRequest.imsi.digits)) { return gtp.gtpc_pdu.sgsn_ContextRequest.imsi.digits; @@ -148,9 +164,17 @@ return omit; } } else if (ischosen(gtp.gtpc_pdu.forwardRelocationRequest)) { - return gtp.gtpc_pdu.forwardRelocationRequest.imsi.digits; + if (ispresent(gtp.gtpc_pdu.forwardRelocationRequest.imsi.digits)) { + return gtp.gtpc_pdu.forwardRelocationRequest.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.relocationCancelRequest)) { - return gtp.gtpc_pdu.relocationCancelRequest.imsi.digits; + if (ispresent(gtp.gtpc_pdu.relocationCancelRequest.imsi.digits)) { + return gtp.gtpc_pdu.relocationCancelRequest.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.uERegistrationQueryRequest)) { return gtp.gtpc_pdu.uERegistrationQueryRequest.imsi.digits; } else if (ischosen(gtp.gtpc_pdu.uERegistrationQueryResponse)) { @@ -158,13 +182,29 @@ } else if (ischosen(gtp.gtpc_pdu.mBMSNotificationRequest)) { return gtp.gtpc_pdu.mBMSNotificationRequest.imsi.digits; } else if (ischosen(gtp.gtpc_pdu.createMBMSContextRequest)) { - return gtp.gtpc_pdu.createMBMSContextRequest.imsi.digits; + if (ispresent(gtp.gtpc_pdu.createMBMSContextRequest.imsi.digits)) { + return gtp.gtpc_pdu.createMBMSContextRequest.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.deleteMBMSContextRequest)) { - return gtp.gtpc_pdu.deleteMBMSContextRequest.imsi.digits; + if (ispresent(gtp.gtpc_pdu.deleteMBMSContextRequest.imsi.digits)) { + return gtp.gtpc_pdu.deleteMBMSContextRequest.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.mS_InfoChangeNotificationRequest)) { - return gtp.gtpc_pdu.mS_InfoChangeNotificationRequest.imsi.digits; + if (ispresent(gtp.gtpc_pdu.mS_InfoChangeNotificationRequest.imsi.digits)) { + return gtp.gtpc_pdu.mS_InfoChangeNotificationRequest.imsi.digits; + } else { + return omit; + } } else if (ischosen(gtp.gtpc_pdu.mS_InfoChangeNotificationResponse)) { - return gtp.gtpc_pdu.mS_InfoChangeNotificationResponse.imsi.digits; + if (ispresent(gtp.gtpc_pdu.mS_InfoChangeNotificationResponse.imsi.digits)) { + return gtp.gtpc_pdu.mS_InfoChangeNotificationResponse.imsi.digits; + } else { + return omit; + } } else { return omit; }