Loading ttcn3/LibS1AP/LibS1AP_Pixits.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -202,5 +202,20 @@ module LibS1AP_Pixits { */ modulepar Bit27 PX_CGS_ID := '000000000000000000000000000'B; /** @desc The UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. * @see ETSI TS 136 413 Clause 9.2.3.10 UE Identity Index value */ modulepar UEIdentityIndexValue PX_UE_IDENTITY_INDEX_VALUE := '0000000000'B; /** @desc The International Mobile Subscriber Identity, which is commonly used to identify the UE in the CN. * @see ETSI TS 136 413 Clause 9.2.3.11 IMSI */ modulepar IMSI PX_IMSI := '000000'O; /** @desc Indicates whether Paging is originated from the CS or PS domain. * @see ETSI TS 136 413 Clause 9.2.3.22 CN Domain */ modulepar CNDomain PX_CNDOMAIN := ps; } // End of module LibS1AP_Pixits ttcn3/LibS1AP/LibS1AP_Steps.ttcn +169 −153 Original line number Diff line number Diff line Loading @@ -289,6 +289,16 @@ module LibS1AP_Steps { f_recv_S1AP_successfulOutcome(mw_mME_Configuration_Update_Failure(p_value)) } // End of f_recv_MME_Configuration_Update_Failure /** * @desc Receive S1AP Message PAGING * @param p value Receive template for PAGING IEs */ function f_recv_Paging( template (present) RecordOf_ProtocolIE p_value := ? ) runs on S1APComponent { f_recv_S1AP_initiatingMessage(mw_paging(p_value)) } // End of f_recv_Paging /** * @desc Receive S1AP Message DOWNLINK NAS TRANSPORT * @param p value Receive template for DOWNLINK NAS TRANSPORT IEs Loading Loading @@ -1130,6 +1140,12 @@ module LibS1AP_Steps { group mmeRole { /** * @desc Trigger a PAGING event * @return true on success, false otherwise */ external function fx_MME_Paging_procedure() return boolean; /** * @desc Trigger a DOWNLINK NAS TRANSPORT event * @return true on success, false otherwise Loading ttcn3/LibS1AP/LibS1AP_Templates.ttcn +126 −19 Original line number Diff line number Diff line Loading @@ -97,7 +97,6 @@ module LibS1AP_Templates { m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value) } // End of template m_E_RABSetupReqIEs }// End of group ERABSetup group ERABModify { Loading Loading @@ -1336,7 +1335,45 @@ module LibS1AP_Templates { } // End of group Error_Indication_receive /** * @desc Receive messages for Management procedures * @desc Receive messages for Paging */ group Paging_group { /** * @desc Receive template for InitiatingMessage message with PAGING payload * @param p_value Expected protocol information elements. Default: ? */ template (present) InitiatingMessage mw_paging( template (present) RecordOf_ProtocolIE p_value := ? ) := { procedureCode := id_Paging, criticality := reject, value_ := {RecordOf_ProtocolIE := p_value} } // End of template mw_paging /** * @desc Receive template for PAGING message * @param p_uEIdentityIndexValue The expected UE Identity Index value value. Default: ? * @param p_uEPagingID The expected UEPagingID value. Default: ? * @param p_cNDomain The expected CNDomain value. Default: ? * @param p_tAI The expected TAI list value. Default: ? */ template (present) RecordOf_ProtocolIE mw_pagingIEs( template (present) UEIdentityIndexValue p_uEIdentityIndexValue := ?, template (present) UEPagingID p_uEPagingID := ?, template (present) CNDomain p_cNDomain := ?, template (present) TAIList p_tAIs := ? ) := { mw_uEIdentityIndexValue_IE(p_uEIdentityIndexValue), mw_uEPagingID_IE(p_uEPagingID), mw_cNDomain_IE(p_cNDomain), mw_tAIs_IE(p_tAIs) } // End of template mw_pagingIEs } // End of group Paging_group /** * @desc Receive messages for NAS transport */ group NAS_transport_group { Loading Loading @@ -2889,6 +2926,42 @@ module LibS1AP_Templates { value_ := { UE_associatedLogicalS1_ConnectionItem := p_value } } // End of template mw_uE_associatedLogicalS1_ConnectionItemResAck_IE /** * @desc Receive template for UEIdentityIndexValue protocol IE * @param p_value The expected UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. Default: ? */ template (present) ProtocolIE mw_uEIdentityIndexValue_IE( template (present) UEIdentityIndexValue p_value := ? ) := { id := S1AP_Constants.id_UEIdentityIndexValue, criticality := ignore, value_ := { UEIdentityIndexValue := p_value } } // End of template mw_uEIdentityIndexValue_IE /** * @desc Receive template for UEPagingID protocol IE * @param p_value The expected Identity with which the UE is paged. Default: ? */ template (present) ProtocolIE mw_uEPagingID_IE( template (present) UEPagingID p_value := ? ) := { id := S1AP_Constants.id_UEPagingID, criticality := ignore, value_ := { UEPagingID := p_value } } // End of template mw_uEPagingID_IE /** * @desc Receive template for CNDomain protocol IE * @param p_value The expected CN Domain. Default: ? */ template (present) ProtocolIE mw_cNDomain_IE( template (present) CNDomain p_value := ? ) := { id := S1AP_Constants.id_CNDomain, criticality := ignore, value_ := { CNDomain := p_value } } // End of template mw_cNDomain_IE /** * @desc Receive template for GUMMEIList protocol IE * @param p_gUMMEIList The GUMMEIList value. Default: ? Loading @@ -2901,6 +2974,18 @@ module LibS1AP_Templates { value_ := { GUMMEIList := p_gUMMEIList } } // End of template mw_gUMMEIList_IE /** * @desc Receive template for TAI protocol IE * @param p_tAI The TAI value. Default: ? */ template (present) ProtocolIE mw_tAIs_IE( template (present) TAIList p_tAIs := ? ) := { id := S1AP_Constants.id_TAIList, criticality := ignore, value_ := { TAIList := p_tAIs } } // End of template mw_tAs_IE /** * @desc Receive template for TAI protocol IE * @param p_tAI The TAI value. Default: ? Loading Loading @@ -3711,6 +3796,28 @@ module LibS1AP_Templates { iE_Extensions := * } // End of template mw_uE_associatedLogicalS1_ConnectionItem /** * @desc Receive template for UEPagingID protocol IE * @param p_s_tMSI The Temporary Mobile Subscriber Identity. Default: ? * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.6 S-TMSI */ template (present) UEPagingID mw_uEPagingID_s_tMSI( template (present) S_TMSI p_s_tMSI := ? ) := { s_TMSI := p_s_tMSI } // End of template mw_uEPagingID_s_tMSI /** * @desc Receive template for UEPagingID protocol IE * @param p_s_tMSI The International Mobile Subscriber Identity. Default: ? * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.11 IMSI */ template (present) UEPagingID mw_uEPagingID_iMSI( template (present) IMSI p_iMSI := ? ) := { iMSI := p_iMSI } // End of template mw_uEPagingID_iMSI /** * @desc Send template for GUMMEI protocol IE * @param p_pLMNidentity The expected PLMNidentity value. Loading ttcn3/S1AP_TCFunctions.ttcn +143 −106 Original line number Diff line number Diff line Loading @@ -1390,6 +1390,8 @@ module S1AP_TCFunctions { */ group Paging_group { // void } // End of group Paging_group /** Loading Loading @@ -2639,8 +2641,8 @@ module S1AP_TCFunctions { } // End of group LPPa_transport_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.18 Unknown, Unforseen and Errorneous Protocol Data group * @desc Unknown, Unforseen and Erroneous Protocol Data * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data */ group Unknown_unforseen_errorneous_group { Loading Loading @@ -2699,19 +2701,54 @@ module S1AP_TCFunctions { */ group Handover_signalling_group { } // End of group Handover_signalling_group /** * @desc Paging group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.5 Paging group * @see ETSI TS 103 497-2 Clause 5.2.2.2.5 Paging group */ group Paging_group { group Pagin_group { /** * @desc Testcase function for TC_S1AP_MME_PAG_01 */ function f_TC_S1AP_MME_PAG_01() runs on S1APComponent { // Local variables } // End of group Paging_group // Preamble f_S1AP_mme_init(); // Preamble action: E-RAB Setup is exchanged. f_rABSetupRequest(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body // 1. to indicate a Paging procedure if (fx_MME_Paging_procedure() == false) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { // 2. sends a PAGING f_recv_Paging( mw_pagingIEs( PX_UE_IDENTITY_INDEX_VALUE, mw_uEPagingID_iMSI( PX_IMSI ), PX_CNDOMAIN, - // TODO To be refined )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_rABSetupRelease(); f_postamble_S1AP_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_MME_PAG_01 } // End of group Pagin_group /** * @desc NAS transport group Loading Loading @@ -3726,8 +3763,8 @@ module S1AP_TCFunctions { } // End of group LPPa_transport_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Errorneous Protocol Data group * @desc Unknown, Unforseen and Erroneous Protocol Data * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data */ group Unknown_unforseen_errorneous_group { Loading ttcn3/S1AP_TestCases.ttcn +127 −78 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
ttcn3/LibS1AP/LibS1AP_Pixits.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -202,5 +202,20 @@ module LibS1AP_Pixits { */ modulepar Bit27 PX_CGS_ID := '000000000000000000000000000'B; /** @desc The UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. * @see ETSI TS 136 413 Clause 9.2.3.10 UE Identity Index value */ modulepar UEIdentityIndexValue PX_UE_IDENTITY_INDEX_VALUE := '0000000000'B; /** @desc The International Mobile Subscriber Identity, which is commonly used to identify the UE in the CN. * @see ETSI TS 136 413 Clause 9.2.3.11 IMSI */ modulepar IMSI PX_IMSI := '000000'O; /** @desc Indicates whether Paging is originated from the CS or PS domain. * @see ETSI TS 136 413 Clause 9.2.3.22 CN Domain */ modulepar CNDomain PX_CNDOMAIN := ps; } // End of module LibS1AP_Pixits
ttcn3/LibS1AP/LibS1AP_Steps.ttcn +169 −153 Original line number Diff line number Diff line Loading @@ -289,6 +289,16 @@ module LibS1AP_Steps { f_recv_S1AP_successfulOutcome(mw_mME_Configuration_Update_Failure(p_value)) } // End of f_recv_MME_Configuration_Update_Failure /** * @desc Receive S1AP Message PAGING * @param p value Receive template for PAGING IEs */ function f_recv_Paging( template (present) RecordOf_ProtocolIE p_value := ? ) runs on S1APComponent { f_recv_S1AP_initiatingMessage(mw_paging(p_value)) } // End of f_recv_Paging /** * @desc Receive S1AP Message DOWNLINK NAS TRANSPORT * @param p value Receive template for DOWNLINK NAS TRANSPORT IEs Loading Loading @@ -1130,6 +1140,12 @@ module LibS1AP_Steps { group mmeRole { /** * @desc Trigger a PAGING event * @return true on success, false otherwise */ external function fx_MME_Paging_procedure() return boolean; /** * @desc Trigger a DOWNLINK NAS TRANSPORT event * @return true on success, false otherwise Loading
ttcn3/LibS1AP/LibS1AP_Templates.ttcn +126 −19 Original line number Diff line number Diff line Loading @@ -97,7 +97,6 @@ module LibS1AP_Templates { m_E_RABToBeSetupList(p_RecordOf_E_RABToBeSetupItem_value) } // End of template m_E_RABSetupReqIEs }// End of group ERABSetup group ERABModify { Loading Loading @@ -1336,7 +1335,45 @@ module LibS1AP_Templates { } // End of group Error_Indication_receive /** * @desc Receive messages for Management procedures * @desc Receive messages for Paging */ group Paging_group { /** * @desc Receive template for InitiatingMessage message with PAGING payload * @param p_value Expected protocol information elements. Default: ? */ template (present) InitiatingMessage mw_paging( template (present) RecordOf_ProtocolIE p_value := ? ) := { procedureCode := id_Paging, criticality := reject, value_ := {RecordOf_ProtocolIE := p_value} } // End of template mw_paging /** * @desc Receive template for PAGING message * @param p_uEIdentityIndexValue The expected UE Identity Index value value. Default: ? * @param p_uEPagingID The expected UEPagingID value. Default: ? * @param p_cNDomain The expected CNDomain value. Default: ? * @param p_tAI The expected TAI list value. Default: ? */ template (present) RecordOf_ProtocolIE mw_pagingIEs( template (present) UEIdentityIndexValue p_uEIdentityIndexValue := ?, template (present) UEPagingID p_uEPagingID := ?, template (present) CNDomain p_cNDomain := ?, template (present) TAIList p_tAIs := ? ) := { mw_uEIdentityIndexValue_IE(p_uEIdentityIndexValue), mw_uEPagingID_IE(p_uEPagingID), mw_cNDomain_IE(p_cNDomain), mw_tAIs_IE(p_tAIs) } // End of template mw_pagingIEs } // End of group Paging_group /** * @desc Receive messages for NAS transport */ group NAS_transport_group { Loading Loading @@ -2889,6 +2926,42 @@ module LibS1AP_Templates { value_ := { UE_associatedLogicalS1_ConnectionItem := p_value } } // End of template mw_uE_associatedLogicalS1_ConnectionItemResAck_IE /** * @desc Receive template for UEIdentityIndexValue protocol IE * @param p_value The expected UE Identity Index value IE is used by the eNB to calculate the Paging Frame TS 36.304. Default: ? */ template (present) ProtocolIE mw_uEIdentityIndexValue_IE( template (present) UEIdentityIndexValue p_value := ? ) := { id := S1AP_Constants.id_UEIdentityIndexValue, criticality := ignore, value_ := { UEIdentityIndexValue := p_value } } // End of template mw_uEIdentityIndexValue_IE /** * @desc Receive template for UEPagingID protocol IE * @param p_value The expected Identity with which the UE is paged. Default: ? */ template (present) ProtocolIE mw_uEPagingID_IE( template (present) UEPagingID p_value := ? ) := { id := S1AP_Constants.id_UEPagingID, criticality := ignore, value_ := { UEPagingID := p_value } } // End of template mw_uEPagingID_IE /** * @desc Receive template for CNDomain protocol IE * @param p_value The expected CN Domain. Default: ? */ template (present) ProtocolIE mw_cNDomain_IE( template (present) CNDomain p_value := ? ) := { id := S1AP_Constants.id_CNDomain, criticality := ignore, value_ := { CNDomain := p_value } } // End of template mw_cNDomain_IE /** * @desc Receive template for GUMMEIList protocol IE * @param p_gUMMEIList The GUMMEIList value. Default: ? Loading @@ -2901,6 +2974,18 @@ module LibS1AP_Templates { value_ := { GUMMEIList := p_gUMMEIList } } // End of template mw_gUMMEIList_IE /** * @desc Receive template for TAI protocol IE * @param p_tAI The TAI value. Default: ? */ template (present) ProtocolIE mw_tAIs_IE( template (present) TAIList p_tAIs := ? ) := { id := S1AP_Constants.id_TAIList, criticality := ignore, value_ := { TAIList := p_tAIs } } // End of template mw_tAs_IE /** * @desc Receive template for TAI protocol IE * @param p_tAI The TAI value. Default: ? Loading Loading @@ -3711,6 +3796,28 @@ module LibS1AP_Templates { iE_Extensions := * } // End of template mw_uE_associatedLogicalS1_ConnectionItem /** * @desc Receive template for UEPagingID protocol IE * @param p_s_tMSI The Temporary Mobile Subscriber Identity. Default: ? * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.6 S-TMSI */ template (present) UEPagingID mw_uEPagingID_s_tMSI( template (present) S_TMSI p_s_tMSI := ? ) := { s_TMSI := p_s_tMSI } // End of template mw_uEPagingID_s_tMSI /** * @desc Receive template for UEPagingID protocol IE * @param p_s_tMSI The International Mobile Subscriber Identity. Default: ? * @see ETSI TS 136 413 V13.4.0 Clause 9.2.3.11 IMSI */ template (present) UEPagingID mw_uEPagingID_iMSI( template (present) IMSI p_iMSI := ? ) := { iMSI := p_iMSI } // End of template mw_uEPagingID_iMSI /** * @desc Send template for GUMMEI protocol IE * @param p_pLMNidentity The expected PLMNidentity value. Loading
ttcn3/S1AP_TCFunctions.ttcn +143 −106 Original line number Diff line number Diff line Loading @@ -1390,6 +1390,8 @@ module S1AP_TCFunctions { */ group Paging_group { // void } // End of group Paging_group /** Loading Loading @@ -2639,8 +2641,8 @@ module S1AP_TCFunctions { } // End of group LPPa_transport_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.1.18 Unknown, Unforseen and Errorneous Protocol Data group * @desc Unknown, Unforseen and Erroneous Protocol Data * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data */ group Unknown_unforseen_errorneous_group { Loading Loading @@ -2699,19 +2701,54 @@ module S1AP_TCFunctions { */ group Handover_signalling_group { } // End of group Handover_signalling_group /** * @desc Paging group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.5 Paging group * @see ETSI TS 103 497-2 Clause 5.2.2.2.5 Paging group */ group Paging_group { group Pagin_group { /** * @desc Testcase function for TC_S1AP_MME_PAG_01 */ function f_TC_S1AP_MME_PAG_01() runs on S1APComponent { // Local variables } // End of group Paging_group // Preamble f_S1AP_mme_init(); // Preamble action: E-RAB Setup is exchanged. f_rABSetupRequest(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); // Test body // 1. to indicate a Paging procedure if (fx_MME_Paging_procedure() == false) { f_selfOrClientSyncAndVerdict(c_tbDone, e_error); } else { // 2. sends a PAGING f_recv_Paging( mw_pagingIEs( PX_UE_IDENTITY_INDEX_VALUE, mw_uEPagingID_iMSI( PX_IMSI ), PX_CNDOMAIN, - // TODO To be refined )); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); } // Postamble f_rABSetupRelease(); f_postamble_S1AP_MME(); f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); log("*** " & __SCOPE__ & ": INFO: Postamble done. ***"); } // End of function f_TC_S1AP_MME_PAG_01 } // End of group Pagin_group /** * @desc NAS transport group Loading Loading @@ -3726,8 +3763,8 @@ module S1AP_TCFunctions { } // End of group LPPa_transport_group /** * @desc NAS transport group * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Errorneous Protocol Data group * @desc Unknown, Unforseen and Erroneous Protocol Data * @see ETSI DTS/INT-00135-2 Clause 5.2.2.2.18 Unknown, Unforseen and Erroneous Protocol Data */ group Unknown_unforseen_errorneous_group { Loading
ttcn3/S1AP_TestCases.ttcn +127 −78 File changed.Preview size limit exceeded, changes collapsed. Show changes