Loading DiameterRx/ttcn/DiameterRx_Rx_TCFunctions.ttcn +113 −2 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ module DiameterRx_Rx_TCFunctions { INDICATION_OF_LOSS_OF_BEARER_E)), mw_mediaComponentDescription_basic( mw_mediaComponentNr(0), {mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,mw_flowUsage(AF_SIGNALLING_E),omit,omit,omit,omit)}, {mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,omit,omit,omit,omit,omit)}, omit,omit,omit,omit,omit,omit,omit,omit,omit ) )); Loading Loading @@ -697,7 +697,118 @@ module DiameterRx_Rx_TCFunctions { f_postamble_AF(); } // end function f_TC_PCRF_ST_01 } // end function f_TC_PCRF_SN_01 /* * @desc This is the test case function TC_PCRF_SN_02 * @param */ function f_TC_PCRF_SN_02() runs on DiameterComponent { f_preamble_AF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowN_componentNr (m_mediaSubComponentN (0), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_02 /* * @desc This is the test case function TC_PCRF_SN_03 * @param */ function f_TC_PCRF_SN_03() runs on DiameterComponent { f_preamble_AF(); f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowN_componentNr (m_mediaSubComponentN (0), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_STR(m_STR_basic(vc_sessionId, vc_originHost, // Tester initiates termination vc_originRealm, vc_destinationRealm, m_terminationCause(DIAMETER_LOGOUT_E))); f_awaiting_STA(mw_STA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_03 /* * @desc This is the test case function TC_PCRF_SN_04 * @param */ function f_TC_PCRF_SN_04() runs on DiameterComponent { f_preamble_AF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowUN_componentNr (m_mediaSubComponentUND2SP (0,AF_SIGNALLING_E, m_flowStatus(ENABLED_E), m_afSignallingProtocolSIP ), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_04 } //end group TP_PCRFRole Loading DiameterRx/ttcn/DiameterRx_Templates.ttcn +55 −1 Original line number Diff line number Diff line Loading @@ -283,6 +283,17 @@ module DiameterRx_Templates { aVP_Data := p_terminationCauseData //DIAMETER_LOGOUT_E } template AF_Signalling_Protocol_AVP m_afSignallingProtocolSIP := { //Ref: ETSI TS 129 214 AF_Signalling_Protocol AVP aVP_Header := m_aVP_HeaderVid(c_vendIdAF_Signalling_Protocol_AVP, 4, omit), aVP_Data := SIP_E }; template Flow_Status_AVP m_FlowStatus (template Flow_Status_Type p_avpData) := { //Ref: ETSI TS 129 214 Flow_Status AVP aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Status_AVP, 4, omit), aVP_Data := p_avpData }; template Specific_Action_AVP mw_specificAction(template Specific_Action_Type p_avpData) := { Loading Loading @@ -395,6 +406,19 @@ module DiameterRx_Templates { } template Media_Component_Description_AVP m_mediaComponentDescription_subComponentFlowN_componentNr (template Media_Sub_Component_AVP p_mediaSubComponent, template Media_Component_Number_AVP p_mediaComponentNr) modifies m_mediaComponentDescription_dummy := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Component_Description_AVP, 20 + 12, omit), // considers lengths: // media_Component_Nr (12) // subComponent (20) media_Sub_component := {p_mediaSubComponent}, media_Component_Nr := p_mediaComponentNr } template Media_Sub_Component_AVP m_mediaSubComponentUN (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType ) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, Loading @@ -407,6 +431,36 @@ module DiameterRx_Templates { aVP_Type := omit } template Media_Sub_Component_AVP m_mediaSubComponentUND2SP (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType, // template Flow_Description_AVP p_flowDescription1, // template Flow_Description_AVP p_flowDescription2, template Flow_Status_AVP p_FlowStatus, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, flow_Description := omit, //{p_flowDescription1, p_flowDescription2}, flow_Status := p_FlowStatus, flow_Usage := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Usage_AVP,4, omit), aVP_Data := p_flowUsageType}, max_Requested_Bw_Ul := omit, max_Requested_Bw_Dl := omit, af_Signalling_Protocol := p_afSignallingProtocol, aVP_Type := omit } template Media_Sub_Component_AVP m_mediaSubComponentN (template UInt32 p_flowNumber) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, flow_Description := omit, flow_Status := omit, flow_Usage := omit, max_Requested_Bw_Ul := omit, max_Requested_Bw_Dl := omit, af_Signalling_Protocol := omit, aVP_Type := omit } template Sponsored_Connectivity_Data_AVP m_sponsoredConnectivityData_SI_ASPI_GSU (template Sponsor_Identity_AVP p_sponsorIdentity, template Application_Service_Provider_Identity_AVP p_applicationServiceProviderId, Loading Loading
DiameterRx/ttcn/DiameterRx_Rx_TCFunctions.ttcn +113 −2 Original line number Diff line number Diff line Loading @@ -300,7 +300,7 @@ module DiameterRx_Rx_TCFunctions { INDICATION_OF_LOSS_OF_BEARER_E)), mw_mediaComponentDescription_basic( mw_mediaComponentNr(0), {mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,mw_flowUsage(AF_SIGNALLING_E),omit,omit,omit,omit)}, {mw_mediaSubComponent_basic(mw_flowNumber(0),omit,omit,omit,omit,omit,omit,omit)}, omit,omit,omit,omit,omit,omit,omit,omit,omit ) )); Loading Loading @@ -697,7 +697,118 @@ module DiameterRx_Rx_TCFunctions { f_postamble_AF(); } // end function f_TC_PCRF_ST_01 } // end function f_TC_PCRF_SN_01 /* * @desc This is the test case function TC_PCRF_SN_02 * @param */ function f_TC_PCRF_SN_02() runs on DiameterComponent { f_preamble_AF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowN_componentNr (m_mediaSubComponentN (0), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_02 /* * @desc This is the test case function TC_PCRF_SN_03 * @param */ function f_TC_PCRF_SN_03() runs on DiameterComponent { f_preamble_AF(); f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowN_componentNr (m_mediaSubComponentN (0), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_STR(m_STR_basic(vc_sessionId, vc_originHost, // Tester initiates termination vc_originRealm, vc_destinationRealm, m_terminationCause(DIAMETER_LOGOUT_E))); f_awaiting_STA(mw_STA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_03 /* * @desc This is the test case function TC_PCRF_SN_04 * @param */ function f_TC_PCRF_SN_04() runs on DiameterComponent { f_preamble_AF(); f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); // sync f_send_AAR(m_AAR_FIP_SA_Media1(vc_sessionId, vc_originHost, vc_originRealm, vc_destinationRealm, vc_destinationHost, f_framedIpAddress4_send(), f_framedIpAddress6_send(), m_specificActionsList, m_mediaComponentDescription_subComponentFlowUN_componentNr (m_mediaSubComponentUND2SP (0,AF_SIGNALLING_E, m_flowStatus(ENABLED_E), m_afSignallingProtocolSIP ), m_mediaComponentNr(0)))); f_awaiting_AAA(mw_AAA_dummy); f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync f_postamble_AF(); } // end function f_TC_PCRF_SN_04 } //end group TP_PCRFRole Loading
DiameterRx/ttcn/DiameterRx_Templates.ttcn +55 −1 Original line number Diff line number Diff line Loading @@ -283,6 +283,17 @@ module DiameterRx_Templates { aVP_Data := p_terminationCauseData //DIAMETER_LOGOUT_E } template AF_Signalling_Protocol_AVP m_afSignallingProtocolSIP := { //Ref: ETSI TS 129 214 AF_Signalling_Protocol AVP aVP_Header := m_aVP_HeaderVid(c_vendIdAF_Signalling_Protocol_AVP, 4, omit), aVP_Data := SIP_E }; template Flow_Status_AVP m_FlowStatus (template Flow_Status_Type p_avpData) := { //Ref: ETSI TS 129 214 Flow_Status AVP aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Status_AVP, 4, omit), aVP_Data := p_avpData }; template Specific_Action_AVP mw_specificAction(template Specific_Action_Type p_avpData) := { Loading Loading @@ -395,6 +406,19 @@ module DiameterRx_Templates { } template Media_Component_Description_AVP m_mediaComponentDescription_subComponentFlowN_componentNr (template Media_Sub_Component_AVP p_mediaSubComponent, template Media_Component_Number_AVP p_mediaComponentNr) modifies m_mediaComponentDescription_dummy := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Component_Description_AVP, 20 + 12, omit), // considers lengths: // media_Component_Nr (12) // subComponent (20) media_Sub_component := {p_mediaSubComponent}, media_Component_Nr := p_mediaComponentNr } template Media_Sub_Component_AVP m_mediaSubComponentUN (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType ) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, Loading @@ -407,6 +431,36 @@ module DiameterRx_Templates { aVP_Type := omit } template Media_Sub_Component_AVP m_mediaSubComponentUND2SP (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType, // template Flow_Description_AVP p_flowDescription1, // template Flow_Description_AVP p_flowDescription2, template Flow_Status_AVP p_FlowStatus, template AF_Signalling_Protocol_AVP p_afSignallingProtocol) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12+12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, flow_Description := omit, //{p_flowDescription1, p_flowDescription2}, flow_Status := p_FlowStatus, flow_Usage := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Usage_AVP,4, omit), aVP_Data := p_flowUsageType}, max_Requested_Bw_Ul := omit, max_Requested_Bw_Dl := omit, af_Signalling_Protocol := p_afSignallingProtocol, aVP_Type := omit } template Media_Sub_Component_AVP m_mediaSubComponentN (template UInt32 p_flowNumber) := { aVP_Header := m_aVP_HeaderVid(c_vendIdMedia_Sub_Component_AVP,12, omit), flow_Number := {aVP_Header := m_aVP_HeaderVid(c_vendIdFlow_Number_AVP,4, omit), aVP_Data := p_flowNumber}, flow_Description := omit, flow_Status := omit, flow_Usage := omit, max_Requested_Bw_Ul := omit, max_Requested_Bw_Dl := omit, af_Signalling_Protocol := omit, aVP_Type := omit } template Sponsored_Connectivity_Data_AVP m_sponsoredConnectivityData_SI_ASPI_GSU (template Sponsor_Identity_AVP p_sponsorIdentity, template Application_Service_Provider_Identity_AVP p_applicationServiceProviderId, Loading