Loading ttcn3/LibS1AP/LibS1AP_Interface.ttcn +23 −1 Original line number Diff line number Diff line Loading @@ -26,14 +26,35 @@ module LibS1AP_Interface { group portDefinitions { /** * @desc S1AP protocol port */ type port S1APPort message { inout S1AP_PDU } } // End of type S1APPort } // End of group portDefinitions group interfacePorts { /** * @desc Description of TTCN-3 S1AP component * @member S1_MMEeNB_P * @member vc_ETS_address * @member vc_ETS_address2 * @member vc_ETS_port * @member vc_ETS_port2 * @member vc_SUT_address * @member vc_SUT_port * @member vc_sendS1AP_PDU * @member vc_recvS1AP_PDU * @member vc_recvS1AP_PDUDefault * @member tc_wait * @member tc_delay * @member vc_default_s1ap * @member vc_def_catchSyncStop_s1ap * @member vc_serverStop */ type component S1APComponent extends SelfSyncComp { // Port port S1APPort S1_MMEeNB_P; Loading Loading @@ -69,3 +90,4 @@ module LibS1AP_Interface { } // End of group interfacePorts } // End of module LibS1AP_Interface ttcn3/LibS1AP/LibS1AP_Pixits.ttcn +9 −0 Original line number Diff line number Diff line Loading @@ -11,12 +11,18 @@ */ module LibS1AP_Pixits { /** * @desc Define the network transportation layer */ type enumerated TransportProtocol { UDP_E, TCP_E, SCTP_E } /** * @desc Network transportation layer setting */ group S1AP_Pixit_Parameters { /** Loading @@ -31,6 +37,9 @@ module LibS1AP_Pixits { } // End of group S1AP_Pixit_Parameters /** * @desc Network transportation layer timers */ group S1AP_Timers { /** @desc float for TWait default value for waiting an operator action Loading ttcn3/LibS1AP/LibS1AP_Steps.ttcn +123 −110 Original line number Diff line number Diff line Loading @@ -22,14 +22,17 @@ module LibS1AP_Steps { import from LibS1AP_Pixits all; import from LibS1AP_Templates all; group CommonFunctions{ /** * @desc Common functions description */ group commonFunctions { /** * * @desc f_gtZero, return true if value of p_int greater than 0 * @desc Indicate if the provided value is greather or equal to 0 * @return true if value of p_int greater than 0 * @param p_int - integer value */ function f_gtZero( function f_gtZero( // FIXME Do we really need a function for <= mathematical operation??? in integer p_int ) return boolean { if (p_int > 0){ Loading @@ -41,7 +44,8 @@ module LibS1AP_Steps { } // End of function f_gtZero /** * @desc f_Inc, return incremented value of p_int 0 * @desc Increment the provided value by one * @return incremented value of p_int 0 * @param p_int - integer value */ function f_inc( Loading @@ -51,13 +55,16 @@ module LibS1AP_Steps { return p_int; } // End of function f_inc } // End of group CommonFunctions } // End of group commonFunctions group ReceivePDU { /** * @desc Receive functions description */ group receivePDU { /** * @desc This is a test step that assign common S1AP * @param * @param p_PDU Extract the message payload from the S1AP PDU */ function f_S1APPDU_Get( inout S1AP_PDU p_PDU Loading @@ -77,8 +84,7 @@ module LibS1AP_Steps { } // End of function f_S1APPDU_Get /** * * @desc receive S1AP PDU * @desc Receive S1AP PDU from protocol port * @param p_PDU template of the message to be received */ function f_recv_S1AP_PDU( Loading @@ -103,43 +109,45 @@ module LibS1AP_Steps { } // End of function f_recv_S1AP_PDU /** * @desc * @param p_initiatingMessage * @verdict * @desc Receive S1AP PDU with InitiatingMessage payload from protocol port * @param p_initiatingMessage Receive template for InitiatingMessage message */ function f_recv_S1AP_initiatingMessage( template (present)InitiatingMessage p_initiatingMessage template (present) InitiatingMessage p_initiatingMessage := ? ) runs on S1APComponent { f_recv_S1AP_PDU( { initiatingMessage := p_initiatingMessage }) } // End of function f_recv_S1AP_initiatingMessage /** * @desc * @param p_successfulOutcome * @verdict * @desc Receive S1AP PDU with SuccessfulOutcome payload from protocol port * @param p_successfulOutcome Receive template for SuccessfulOutcome message */ function f_recv_S1AP_successfulOutcome( template (present)SuccessfulOutcome p_successfulOutcome template (present) SuccessfulOutcome p_successfulOutcome := ? ) runs on S1APComponent { f_recv_S1AP_PDU( {successfulOutcome := p_successfulOutcome}) } // End of f_recv_S1AP_successfulOutcome /** * @desc * @desc Receive S1AP PDU with UnsuccessfulOutcome payload from protocol port * @param p_unsuccessfulOutcome Receive template for UnsuccessfulOutcome message */ function f_recv_S1AP_unsuccessfulOutcome( template (present) UnsuccessfulOutcome p_unsuccessfulOutcome template (present) UnsuccessfulOutcome p_unsuccessfulOutcome := ? ) runs on S1APComponent { f_recv_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) } // End of function f_recv_S1AP_unsuccessfulOutcome } // End of group ReceivePDU } // End of group receivePDU group SendPDU { /** * @desc Send functions description */ group sendPDU { /** * @desc This is a test step that assign common S1AP * @param * @param p_PDU The S1AP protocol message to set up */ function f_S1APPDU_Set( inout template (value) S1AP_PDU p_PDU Loading @@ -161,9 +169,8 @@ module LibS1AP_Steps { } // End of function f_S1APPDU_Set /** * * @desc send S1AP PDU * @param p_PDU template of the message to be sent * @desc Send S1AP PDU to protocol port * @param p_PDU template value message to be send */ function f_send_S1AP_PDU( in template (value) S1AP_PDU p_PDU Loading @@ -173,7 +180,8 @@ module LibS1AP_Steps { } // End of function f_send_S1APPDU /** * @desc * @desc Send S1AP PDU with InitiatingMessage payload from protocol port * @param p_initiatingMessage Send value template for InitiatingMessage message */ function f_send_S1AP_initiatingMessage( in template (value) InitiatingMessage p_initiatingMessage Loading @@ -182,7 +190,8 @@ module LibS1AP_Steps { } // End of function f_send_S1AP_initiatingMessage /** * @desc * @desc Send S1AP PDU with SuccessfulOutcome payload from protocol port * @param p_successfulOutcome Send value template for SuccessfulOutcome message */ function f_send_S1AP_successfulOutcome( in template (value) SuccessfulOutcome p_successfulOutcome Loading @@ -191,7 +200,8 @@ module LibS1AP_Steps { } // End of function f_send_S1AP_successfulOutcome /** * @desc * @desc Send S1AP PDU with UnsuccessfulOutcome payload from protocol port * @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message */ function f_send_S1AP_unsuccessfulOutcome( in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome Loading @@ -199,13 +209,67 @@ module LibS1AP_Steps { f_send_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) } // End of function f_send_S1AP_unsuccessfulOutcome } // End of group SendPDU } // End of group sendPDU group preambles { group preamble_S1AP{ /** * @desc * @verdict */ function f_preambleS1AP_MME() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_MME /** * @desc * @verdict */ function f_preambleS1AP_eNB() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_eNB } // End of group preamble_S1AP } // End of group preambles group GlobalSteps{ group postambles { group postamble_S1AP{ /** * @desc * @verdict */ function f_postambleS1AP_MME() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_MME /** * @desc * @verdict */ function f_postambleS1AP_eNB() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_eNB } // End of group postamble_S1AP } // End of group postambles /** * @desc Global 'altstep' statements description */ group globalSteps { /** * @desc This is a test step that init S1AP component * @param */ function f_S1AP_Init_Component() runs on S1APComponent { Loading @@ -213,8 +277,7 @@ module LibS1AP_Steps { } // End of function f_S1AP_Init_Component /** * * @desc component termination * @desc Component termination */ function f_S1AP_terminate_component() runs on S1APComponent { Loading @@ -225,7 +288,7 @@ module LibS1AP_Steps { } // End of function f_S1AP_terminate_component /** * @desc component termination * @desc Component termination */ function f_componentStop() runs on S1APComponent { Loading @@ -236,10 +299,9 @@ module LibS1AP_Steps { } // End of function f_componentStop /** * * @desc original copied from older LibCommon_VerdictControl * @desc Original copied from older LibCommon_VerdictControl */ function f_getVerdict() function f_getVerdict() // FIXME Are you sure we really need it??? return FncRetCode { var FncRetCode v_ret := e_error; Loading @@ -251,9 +313,9 @@ module LibS1AP_Steps { /** * * @desc function waits for particular time before next expected message * @desc Wait for particular time before next expected message */ function f_wait(float p_time) // TODO Replace by LibCommon.f_sleep function f_wait(float p_time) // FIXME To be replace by LibCommon.f_sleep!!! runs on S1APComponent { tc_wait.start(p_time); Loading @@ -262,61 +324,12 @@ module LibS1AP_Steps { } } // End of function f_wait } // End of group GlobalSteps group Preambles { group preamble_S1AP{ } // End of group globalSteps /** * @desc * @verdict */ function f_preambleS1AP_MME() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_MME /** * @desc * @verdict * @desc Default 'altstep' statements description */ function f_preambleS1AP_eNB() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_eNB } // End of group preamble_S1AP } // End of group Preambles group Postambles { group postamble_S1AP{ /** * @desc * @verdict */ function f_postambleS1AP_MME() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_MME /** * @desc * @verdict */ function f_postambleS1AP_eNB() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_eNB } // End of group postamble_S1AP } // End of group Postambles group DefaultsTestStep { group defaultsTestStep { /** * @desc Loading Loading @@ -394,6 +407,6 @@ module LibS1AP_Steps { //TODO:... } // End of altstep a_defaultS1AP_eNB } // End of group DefaultsTestStep } // End of group defaultsTestStep } // End of module LibS1AP_Steps ttcn3/LibS1AP/LibS1AP_Templates.ttcn +38 −21 Original line number Diff line number Diff line Loading @@ -26,8 +26,10 @@ module LibS1AP_Templates { group g_S1AP_PDU { /** * * @desc * @desc Send template for S1AP PDU with InitiatingMessage payload * @param p_procedureCode Procedure code * @param p_value Message value according to the Procedure code * @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content */ template (value) S1AP_PDU m_initiatingMessage( in ProcedureCode p_procedureCode, Loading @@ -42,9 +44,9 @@ module LibS1AP_Templates { } // End of group g_S1AP_PDU group Class1 { group class1 { group Send { group sendClass1 { group HandoverPreparation { Loading @@ -65,6 +67,10 @@ module LibS1AP_Templates { group ERABSetup{ /** * @desc Send template for InitiatingMessage message with E-RABSetup payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_initiatingMessage_E_RABSetup( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_E_RABSetup, Loading @@ -75,9 +81,10 @@ module LibS1AP_Templates { }// End of group ERABSetup //TODO: Other.... } // End of group Send group Receive { } // End of group sendClass1 group receiveClass1 { group HandoverPreparation{ Loading @@ -90,7 +97,9 @@ module LibS1AP_Templates { group ERABSetup{ /** * @desc * @desc Receive template for SuccessfulOutcome message * @param p_procedureCode Expected procedure code. Default: ? * @param p_value Expected procedure code. Default: ? */ template (present) SuccessfulOutcome mw_successfulOutcome_E_RABSetupResponse( template (present) ProcedureCode p_procedureCode := ?, Loading @@ -105,9 +114,9 @@ module LibS1AP_Templates { //TODO: Other.... } // End of group Receive } // End of group receiveClass1 } // End of group Class1 } // End of group class1 group Class2{ Loading @@ -122,7 +131,9 @@ module LibS1AP_Templates { group E_RAB_IEsend { /** * @desc * @desc Send template for MME UE S1AP ID protocol IE * @param p_value MME/UE S1AP identifier. Default: 1 * @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID */ template (value) ProtocolIE m_E_RAB_IE_MME( in template (value) MME_UE_S1AP_ID p_value := 1 Loading @@ -133,7 +144,9 @@ module LibS1AP_Templates { } // End of template m_E_RAB_IE_MME /** * @desc * @desc Send template for ENB ID protocol IE * @param p_value ENB identifier. Default: 1 * @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID */ template (value) ProtocolIE m_E_RAB_IE_ENB( in ENB_UE_S1AP_ID p_value := 1 Loading @@ -144,7 +157,8 @@ module LibS1AP_Templates { } // End of template m_E_RAB_IE_ENB /** * @desc * @desc Send template for E-RABToBeSetupListBearerSUReq protocol IE * @param p_value Protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq */ template (value) ProtocolIE m_E_RAB_IE_ERAB( in template (value) RecordOf_E_RABToBeSetupItemBearerSUReq p_value := { m_E_RABToBeSetupItemBearerSUReq } Loading @@ -161,8 +175,9 @@ module LibS1AP_Templates { group Receive_IEs{ /** * @desc * @param p_parm * @desc Receive template for MME UE S1AP ID protocol IE * @param p_value Expected MME/UE S1AP identifier. Default: ? * @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID */ template (present) ProtocolIE mw_E_RAB_IE_MME( template (present) MME_UE_S1AP_ID p_parm := ? Loading @@ -173,8 +188,9 @@ module LibS1AP_Templates { } // End of template mw_E_RAB_IE_MME /** * @desc * @param p_parm * @desc Receive template for ENB ID protocol IE * @param p_value Expected ENB identifier. Default: ? * @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID */ template (present) ProtocolIE mw_E_RAB_IE_ENB( template(present) ENB_UE_S1AP_ID p_parm := ? Loading @@ -185,7 +201,8 @@ module LibS1AP_Templates { } // End of template mw_E_RAB_IE_ENB /** * @desc * @desc Receive template for E-RABToBeSetupListBearerSUReq protocol IE * @param p_value Expected protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq */ template (present) ProtocolIE mw_E_RAB_IE_ERAB( template (present) RecordOf_E_RABSetupItemBearerSURes p_value := { mw_E_RABSetupItemBearerSURes } Loading ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn +8 −7 Original line number Diff line number Diff line Loading @@ -19,25 +19,26 @@ module LibS1AP_TypesAndValues { import from S1AP_PDU_Descriptions language "ASN.1:1997" all; /** * @desc * @member id * @member criticality * @member value_ * @desc List of E-RABSetupItemBearerSURes IEs */ type record of E_RABToBeSetupItemBearerSUReq RecordOf_E_RABToBeSetupItemBearerSUReq; /** * * @desc List of E-RABSetupItemBearerSURes IEs */ type record of E_RABSetupItemBearerSURes RecordOf_E_RABSetupItemBearerSURes; /** * * @desc List of E-RAB IEs */ type record of E_RABItem RecordOf_E_RABItem; /** * * @desc This data structure redefines ASN.1 ProtocolIE-Field data structure die to parameterization limitation of TTCN-3 tools * @member id Protocol Information Element identifier * @member criticality Criticality value attached to this IE * @member value_ Value of this IE * @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content */ type record ProtocolIE { integer id (0 .. 65535), Loading Loading
ttcn3/LibS1AP/LibS1AP_Interface.ttcn +23 −1 Original line number Diff line number Diff line Loading @@ -26,14 +26,35 @@ module LibS1AP_Interface { group portDefinitions { /** * @desc S1AP protocol port */ type port S1APPort message { inout S1AP_PDU } } // End of type S1APPort } // End of group portDefinitions group interfacePorts { /** * @desc Description of TTCN-3 S1AP component * @member S1_MMEeNB_P * @member vc_ETS_address * @member vc_ETS_address2 * @member vc_ETS_port * @member vc_ETS_port2 * @member vc_SUT_address * @member vc_SUT_port * @member vc_sendS1AP_PDU * @member vc_recvS1AP_PDU * @member vc_recvS1AP_PDUDefault * @member tc_wait * @member tc_delay * @member vc_default_s1ap * @member vc_def_catchSyncStop_s1ap * @member vc_serverStop */ type component S1APComponent extends SelfSyncComp { // Port port S1APPort S1_MMEeNB_P; Loading Loading @@ -69,3 +90,4 @@ module LibS1AP_Interface { } // End of group interfacePorts } // End of module LibS1AP_Interface
ttcn3/LibS1AP/LibS1AP_Pixits.ttcn +9 −0 Original line number Diff line number Diff line Loading @@ -11,12 +11,18 @@ */ module LibS1AP_Pixits { /** * @desc Define the network transportation layer */ type enumerated TransportProtocol { UDP_E, TCP_E, SCTP_E } /** * @desc Network transportation layer setting */ group S1AP_Pixit_Parameters { /** Loading @@ -31,6 +37,9 @@ module LibS1AP_Pixits { } // End of group S1AP_Pixit_Parameters /** * @desc Network transportation layer timers */ group S1AP_Timers { /** @desc float for TWait default value for waiting an operator action Loading
ttcn3/LibS1AP/LibS1AP_Steps.ttcn +123 −110 Original line number Diff line number Diff line Loading @@ -22,14 +22,17 @@ module LibS1AP_Steps { import from LibS1AP_Pixits all; import from LibS1AP_Templates all; group CommonFunctions{ /** * @desc Common functions description */ group commonFunctions { /** * * @desc f_gtZero, return true if value of p_int greater than 0 * @desc Indicate if the provided value is greather or equal to 0 * @return true if value of p_int greater than 0 * @param p_int - integer value */ function f_gtZero( function f_gtZero( // FIXME Do we really need a function for <= mathematical operation??? in integer p_int ) return boolean { if (p_int > 0){ Loading @@ -41,7 +44,8 @@ module LibS1AP_Steps { } // End of function f_gtZero /** * @desc f_Inc, return incremented value of p_int 0 * @desc Increment the provided value by one * @return incremented value of p_int 0 * @param p_int - integer value */ function f_inc( Loading @@ -51,13 +55,16 @@ module LibS1AP_Steps { return p_int; } // End of function f_inc } // End of group CommonFunctions } // End of group commonFunctions group ReceivePDU { /** * @desc Receive functions description */ group receivePDU { /** * @desc This is a test step that assign common S1AP * @param * @param p_PDU Extract the message payload from the S1AP PDU */ function f_S1APPDU_Get( inout S1AP_PDU p_PDU Loading @@ -77,8 +84,7 @@ module LibS1AP_Steps { } // End of function f_S1APPDU_Get /** * * @desc receive S1AP PDU * @desc Receive S1AP PDU from protocol port * @param p_PDU template of the message to be received */ function f_recv_S1AP_PDU( Loading @@ -103,43 +109,45 @@ module LibS1AP_Steps { } // End of function f_recv_S1AP_PDU /** * @desc * @param p_initiatingMessage * @verdict * @desc Receive S1AP PDU with InitiatingMessage payload from protocol port * @param p_initiatingMessage Receive template for InitiatingMessage message */ function f_recv_S1AP_initiatingMessage( template (present)InitiatingMessage p_initiatingMessage template (present) InitiatingMessage p_initiatingMessage := ? ) runs on S1APComponent { f_recv_S1AP_PDU( { initiatingMessage := p_initiatingMessage }) } // End of function f_recv_S1AP_initiatingMessage /** * @desc * @param p_successfulOutcome * @verdict * @desc Receive S1AP PDU with SuccessfulOutcome payload from protocol port * @param p_successfulOutcome Receive template for SuccessfulOutcome message */ function f_recv_S1AP_successfulOutcome( template (present)SuccessfulOutcome p_successfulOutcome template (present) SuccessfulOutcome p_successfulOutcome := ? ) runs on S1APComponent { f_recv_S1AP_PDU( {successfulOutcome := p_successfulOutcome}) } // End of f_recv_S1AP_successfulOutcome /** * @desc * @desc Receive S1AP PDU with UnsuccessfulOutcome payload from protocol port * @param p_unsuccessfulOutcome Receive template for UnsuccessfulOutcome message */ function f_recv_S1AP_unsuccessfulOutcome( template (present) UnsuccessfulOutcome p_unsuccessfulOutcome template (present) UnsuccessfulOutcome p_unsuccessfulOutcome := ? ) runs on S1APComponent { f_recv_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) } // End of function f_recv_S1AP_unsuccessfulOutcome } // End of group ReceivePDU } // End of group receivePDU group SendPDU { /** * @desc Send functions description */ group sendPDU { /** * @desc This is a test step that assign common S1AP * @param * @param p_PDU The S1AP protocol message to set up */ function f_S1APPDU_Set( inout template (value) S1AP_PDU p_PDU Loading @@ -161,9 +169,8 @@ module LibS1AP_Steps { } // End of function f_S1APPDU_Set /** * * @desc send S1AP PDU * @param p_PDU template of the message to be sent * @desc Send S1AP PDU to protocol port * @param p_PDU template value message to be send */ function f_send_S1AP_PDU( in template (value) S1AP_PDU p_PDU Loading @@ -173,7 +180,8 @@ module LibS1AP_Steps { } // End of function f_send_S1APPDU /** * @desc * @desc Send S1AP PDU with InitiatingMessage payload from protocol port * @param p_initiatingMessage Send value template for InitiatingMessage message */ function f_send_S1AP_initiatingMessage( in template (value) InitiatingMessage p_initiatingMessage Loading @@ -182,7 +190,8 @@ module LibS1AP_Steps { } // End of function f_send_S1AP_initiatingMessage /** * @desc * @desc Send S1AP PDU with SuccessfulOutcome payload from protocol port * @param p_successfulOutcome Send value template for SuccessfulOutcome message */ function f_send_S1AP_successfulOutcome( in template (value) SuccessfulOutcome p_successfulOutcome Loading @@ -191,7 +200,8 @@ module LibS1AP_Steps { } // End of function f_send_S1AP_successfulOutcome /** * @desc * @desc Send S1AP PDU with UnsuccessfulOutcome payload from protocol port * @param p_unsuccessfulOutcome Send value template for UnsuccessfulOutcome message */ function f_send_S1AP_unsuccessfulOutcome( in template (value) UnsuccessfulOutcome p_unsuccessfulOutcome Loading @@ -199,13 +209,67 @@ module LibS1AP_Steps { f_send_S1AP_PDU( {unsuccessfulOutcome := p_unsuccessfulOutcome}) } // End of function f_send_S1AP_unsuccessfulOutcome } // End of group SendPDU } // End of group sendPDU group preambles { group preamble_S1AP{ /** * @desc * @verdict */ function f_preambleS1AP_MME() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_MME /** * @desc * @verdict */ function f_preambleS1AP_eNB() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_eNB } // End of group preamble_S1AP } // End of group preambles group GlobalSteps{ group postambles { group postamble_S1AP{ /** * @desc * @verdict */ function f_postambleS1AP_MME() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_MME /** * @desc * @verdict */ function f_postambleS1AP_eNB() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_eNB } // End of group postamble_S1AP } // End of group postambles /** * @desc Global 'altstep' statements description */ group globalSteps { /** * @desc This is a test step that init S1AP component * @param */ function f_S1AP_Init_Component() runs on S1APComponent { Loading @@ -213,8 +277,7 @@ module LibS1AP_Steps { } // End of function f_S1AP_Init_Component /** * * @desc component termination * @desc Component termination */ function f_S1AP_terminate_component() runs on S1APComponent { Loading @@ -225,7 +288,7 @@ module LibS1AP_Steps { } // End of function f_S1AP_terminate_component /** * @desc component termination * @desc Component termination */ function f_componentStop() runs on S1APComponent { Loading @@ -236,10 +299,9 @@ module LibS1AP_Steps { } // End of function f_componentStop /** * * @desc original copied from older LibCommon_VerdictControl * @desc Original copied from older LibCommon_VerdictControl */ function f_getVerdict() function f_getVerdict() // FIXME Are you sure we really need it??? return FncRetCode { var FncRetCode v_ret := e_error; Loading @@ -251,9 +313,9 @@ module LibS1AP_Steps { /** * * @desc function waits for particular time before next expected message * @desc Wait for particular time before next expected message */ function f_wait(float p_time) // TODO Replace by LibCommon.f_sleep function f_wait(float p_time) // FIXME To be replace by LibCommon.f_sleep!!! runs on S1APComponent { tc_wait.start(p_time); Loading @@ -262,61 +324,12 @@ module LibS1AP_Steps { } } // End of function f_wait } // End of group GlobalSteps group Preambles { group preamble_S1AP{ } // End of group globalSteps /** * @desc * @verdict */ function f_preambleS1AP_MME() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_MME /** * @desc * @verdict * @desc Default 'altstep' statements description */ function f_preambleS1AP_eNB() runs on S1APComponent { //TODO:... } // End of function f_preambleS1AP_eNB } // End of group preamble_S1AP } // End of group Preambles group Postambles { group postamble_S1AP{ /** * @desc * @verdict */ function f_postambleS1AP_MME() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_MME /** * @desc * @verdict */ function f_postambleS1AP_eNB() runs on S1APComponent { // TODO:... } // End of function f_postambleS1AP_eNB } // End of group postamble_S1AP } // End of group Postambles group DefaultsTestStep { group defaultsTestStep { /** * @desc Loading Loading @@ -394,6 +407,6 @@ module LibS1AP_Steps { //TODO:... } // End of altstep a_defaultS1AP_eNB } // End of group DefaultsTestStep } // End of group defaultsTestStep } // End of module LibS1AP_Steps
ttcn3/LibS1AP/LibS1AP_Templates.ttcn +38 −21 Original line number Diff line number Diff line Loading @@ -26,8 +26,10 @@ module LibS1AP_Templates { group g_S1AP_PDU { /** * * @desc * @desc Send template for S1AP PDU with InitiatingMessage payload * @param p_procedureCode Procedure code * @param p_value Message value according to the Procedure code * @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content */ template (value) S1AP_PDU m_initiatingMessage( in ProcedureCode p_procedureCode, Loading @@ -42,9 +44,9 @@ module LibS1AP_Templates { } // End of group g_S1AP_PDU group Class1 { group class1 { group Send { group sendClass1 { group HandoverPreparation { Loading @@ -65,6 +67,10 @@ module LibS1AP_Templates { group ERABSetup{ /** * @desc Send template for InitiatingMessage message with E-RABSetup payload * @param p_value Expected procedure code */ template (value) InitiatingMessage m_initiatingMessage_E_RABSetup( in template (value) RecordOf_ProtocolIE p_value) := { procedureCode := id_E_RABSetup, Loading @@ -75,9 +81,10 @@ module LibS1AP_Templates { }// End of group ERABSetup //TODO: Other.... } // End of group Send group Receive { } // End of group sendClass1 group receiveClass1 { group HandoverPreparation{ Loading @@ -90,7 +97,9 @@ module LibS1AP_Templates { group ERABSetup{ /** * @desc * @desc Receive template for SuccessfulOutcome message * @param p_procedureCode Expected procedure code. Default: ? * @param p_value Expected procedure code. Default: ? */ template (present) SuccessfulOutcome mw_successfulOutcome_E_RABSetupResponse( template (present) ProcedureCode p_procedureCode := ?, Loading @@ -105,9 +114,9 @@ module LibS1AP_Templates { //TODO: Other.... } // End of group Receive } // End of group receiveClass1 } // End of group Class1 } // End of group class1 group Class2{ Loading @@ -122,7 +131,9 @@ module LibS1AP_Templates { group E_RAB_IEsend { /** * @desc * @desc Send template for MME UE S1AP ID protocol IE * @param p_value MME/UE S1AP identifier. Default: 1 * @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID */ template (value) ProtocolIE m_E_RAB_IE_MME( in template (value) MME_UE_S1AP_ID p_value := 1 Loading @@ -133,7 +144,9 @@ module LibS1AP_Templates { } // End of template m_E_RAB_IE_MME /** * @desc * @desc Send template for ENB ID protocol IE * @param p_value ENB identifier. Default: 1 * @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID */ template (value) ProtocolIE m_E_RAB_IE_ENB( in ENB_UE_S1AP_ID p_value := 1 Loading @@ -144,7 +157,8 @@ module LibS1AP_Templates { } // End of template m_E_RAB_IE_ENB /** * @desc * @desc Send template for E-RABToBeSetupListBearerSUReq protocol IE * @param p_value Protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq */ template (value) ProtocolIE m_E_RAB_IE_ERAB( in template (value) RecordOf_E_RABToBeSetupItemBearerSUReq p_value := { m_E_RABToBeSetupItemBearerSUReq } Loading @@ -161,8 +175,9 @@ module LibS1AP_Templates { group Receive_IEs{ /** * @desc * @param p_parm * @desc Receive template for MME UE S1AP ID protocol IE * @param p_value Expected MME/UE S1AP identifier. Default: ? * @see ETSI TS 136 413 Clause 9.2.3.3 MME UE S1AP ID */ template (present) ProtocolIE mw_E_RAB_IE_MME( template (present) MME_UE_S1AP_ID p_parm := ? Loading @@ -173,8 +188,9 @@ module LibS1AP_Templates { } // End of template mw_E_RAB_IE_MME /** * @desc * @param p_parm * @desc Receive template for ENB ID protocol IE * @param p_value Expected ENB identifier. Default: ? * @see ETSI TS 136 413 Clause 9.2.3.4 eNB UE S1AP ID */ template (present) ProtocolIE mw_E_RAB_IE_ENB( template(present) ENB_UE_S1AP_ID p_parm := ? Loading @@ -185,7 +201,8 @@ module LibS1AP_Templates { } // End of template mw_E_RAB_IE_ENB /** * @desc * @desc Receive template for E-RABToBeSetupListBearerSUReq protocol IE * @param p_value Expected protocol IE value. Default: m_E_RABToBeSetupItemBearerSUReq */ template (present) ProtocolIE mw_E_RAB_IE_ERAB( template (present) RecordOf_E_RABSetupItemBearerSURes p_value := { mw_E_RABSetupItemBearerSURes } Loading
ttcn3/LibS1AP/LibS1AP_TypesAndValues.ttcn +8 −7 Original line number Diff line number Diff line Loading @@ -19,25 +19,26 @@ module LibS1AP_TypesAndValues { import from S1AP_PDU_Descriptions language "ASN.1:1997" all; /** * @desc * @member id * @member criticality * @member value_ * @desc List of E-RABSetupItemBearerSURes IEs */ type record of E_RABToBeSetupItemBearerSUReq RecordOf_E_RABToBeSetupItemBearerSUReq; /** * * @desc List of E-RABSetupItemBearerSURes IEs */ type record of E_RABSetupItemBearerSURes RecordOf_E_RABSetupItemBearerSURes; /** * * @desc List of E-RAB IEs */ type record of E_RABItem RecordOf_E_RABItem; /** * * @desc This data structure redefines ASN.1 ProtocolIE-Field data structure die to parameterization limitation of TTCN-3 tools * @member id Protocol Information Element identifier * @member criticality Criticality value attached to this IE * @member value_ Value of this IE * @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content */ type record ProtocolIE { integer id (0 .. 65535), Loading