Loading DiameterCxDx/ttcn/DiameterCxDx_Dx_TCFunctions.ttcn3 +79 −15 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ module DiameterCxDx_Dx_TCFunctions { import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; import from LibDiameter_Types_Base_AVPs {type SIP_Srv_Assgmt_Type;} //DiameterCxDx import from DiameterCxDx_Templates all; Loading Loading @@ -52,18 +52,82 @@ module DiameterCxDx_Dx_TCFunctions { ) )); f_awaiting_UAA(mw_UAA_Dx(?)); f_awaiting_UAA( mw_UAA_Msg( ?, mw_UAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ))); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_ICSCF(); } // end function f_TC_DX_SLF_UA_01 } // group TP_SLFRole_UA group TP_SLFRole_SA {//Dx SA /* * @desc This is the test case function TC_DX_SLF_SA_01 * @param */ function f_TC_DX_SLF_SA_01() runs on DiameterCx { f_preamble_SCSCF(); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_send_SAR(m_SAR_Msg( vc_sessionId, m_SAR_Dx( vc_originHost, vc_originRealm, vc_destinationRealm, vc_serverName, m_serverAssignmentType(UNREGISTERED_USER_E), m_userDataAlreadyAvailable(USER_DATA_NOT_AVAILABLE_E), vc_publicIdentity ) )); f_awaiting_SAA( mw_SAA_Msg( ?, mw_SAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ))); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_SCSCF(); } // end function f_TC_DX_SLF_SA_01 } // group TP_SLFRole_SA group TP_SLFRole_LI {//Dx LI /* * @desc This is the test case function TC_DX_SLF_LI_01 * @param */ function f_TC_DX_SLF_LI_01() runs on DiameterCx { f_preamble_ICSCF(); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_send_LIR(m_LIR_Msg( vc_sessionId, m_LIR_Dx( vc_originHost, vc_originRealm, vc_destinationRealm, vc_publicIdentity ) )); f_awaiting_LIA( mw_LIA_Msg( ?, mw_LIA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) ); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_ICSCF(); } // end function f_TC_DX_SLF_LI_01 } // group TP_SLFRole_LI group TP_SLFRole_MA {//Dx MA } // group TP_SLFRole_MA Loading DiameterCxDx/ttcn/DiameterCxDx_PIXITS.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,14 @@ module DiameterCxDx_PIXITS */ modulepar UTF8String PX_PublicIdentity := "public_identity@etsi.org"; /** @desc UTF8String, PIXIT item A-7/12 The Server-Name AVP is of type UTF8String. This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name). Ref: 3GPP TS 129.229 6.3.3 Server-Name AVP */ modulepar UTF8String PX_ServerName := "sip://scscf.etsi.org"; /** @desc octetstring, PIXIT item A-7/12 Loading DiameterCxDx/ttcn/DiameterCxDx_Steps.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_serverName := m_serverName(PX_ServerName); vc_publicIdentity := m_publicIdentity(PX_PublicIdentity); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_CX_ETS_SCSCF_IPADDR)); vc_send_hopid:=hex2int('00000100'H); Loading Loading @@ -93,6 +96,8 @@ vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_publicIdentity := m_publicIdentity(PX_PublicIdentity); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_CX_ETS_ICSCF_IPADDR)); vc_send_hopid:=hex2int('00000100'H); Loading DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +18 −2 Original line number Diff line number Diff line Loading @@ -82,11 +82,27 @@ module DiameterCxDx_Templates { aVP_Header := m_aVP_HeaderVid_Mbit1(c_public_Identity_AVP_Code, lengthof(p_avpData), omit), aVP_Data := p_avpData } template Visited_Network_Id_AVP m_visitedNetworkId(template (value) octetstring p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_public_Identity_AVP_Code, lengthof(p_avpData), c_vendId3gpp), aVP_Data := p_avpData } template Server_Assignment_Type_AVP m_serverAssignmentType(template (value) Srv_Assgmt_Type_Code p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Assignment_Type_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } template Server_Name_AVP m_serverName(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, lengthof(p_avpData), c_vendId3gpp), aVP_Data := p_avpData } template User_Data_Already_Available_AVP m_userDataAlreadyAvailable (template (value) Usr_Dat_Al_Av_Code p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_user_Data_Already_Available_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ template Redirect_Host_AVP mw_redirectHost(template (present) Diameter_Identity p_avpData) := Loading DiameterCxDx/ttcn/DiameterCxDx_TestSystem.ttcn +3 −2 Original line number Diff line number Diff line /** * @author STF 480 * @version $Id: $ * @version $Id$ * @desc This module provides the types and ports used by the test component * for SIP-CxDx-DIAMETER tests. */ Loading Loading @@ -39,6 +39,7 @@ module DiameterCxDx_TestSystem { var template (value) User_Name_AVP vc_userName; var template (value) Public_Identity_AVP vc_publicIdentity; var template (value) Visited_Network_Id_AVP vc_visitedNetworkId; var template (value) Server_Name_AVP vc_serverName; } // End of component DiameterCx }// end group TestComponents Loading Loading
DiameterCxDx/ttcn/DiameterCxDx_Dx_TCFunctions.ttcn3 +79 −15 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ module DiameterCxDx_Dx_TCFunctions { import from LibDiameter_Templates all; import from LibDiameter_Interface all; import from LibDiameter_Steps all; import from LibDiameter_Types_Base_AVPs all; import from LibDiameter_Types_Base_AVPs {type SIP_Srv_Assgmt_Type;} //DiameterCxDx import from DiameterCxDx_Templates all; Loading Loading @@ -52,18 +52,82 @@ module DiameterCxDx_Dx_TCFunctions { ) )); f_awaiting_UAA(mw_UAA_Dx(?)); f_awaiting_UAA( mw_UAA_Msg( ?, mw_UAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ))); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_ICSCF(); } // end function f_TC_DX_SLF_UA_01 } // group TP_SLFRole_UA group TP_SLFRole_SA {//Dx SA /* * @desc This is the test case function TC_DX_SLF_SA_01 * @param */ function f_TC_DX_SLF_SA_01() runs on DiameterCx { f_preamble_SCSCF(); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_send_SAR(m_SAR_Msg( vc_sessionId, m_SAR_Dx( vc_originHost, vc_originRealm, vc_destinationRealm, vc_serverName, m_serverAssignmentType(UNREGISTERED_USER_E), m_userDataAlreadyAvailable(USER_DATA_NOT_AVAILABLE_E), vc_publicIdentity ) )); f_awaiting_SAA( mw_SAA_Msg( ?, mw_SAA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ))); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_SCSCF(); } // end function f_TC_DX_SLF_SA_01 } // group TP_SLFRole_SA group TP_SLFRole_LI {//Dx LI /* * @desc This is the test case function TC_DX_SLF_LI_01 * @param */ function f_TC_DX_SLF_LI_01() runs on DiameterCx { f_preamble_ICSCF(); f_selfOrClientSyncAndVerdict( c_prDone, f_getVerdict() ); // sync - preamble done f_send_LIR(m_LIR_Msg( vc_sessionId, m_LIR_Dx( vc_originHost, vc_originRealm, vc_destinationRealm, vc_publicIdentity ) )); f_awaiting_LIA( mw_LIA_Msg( ?, mw_LIA_Dx( ?, mw_resultCode( DIAMETER_REDIRECT_INDICATION_E ) ) ) ); f_selfOrClientSyncAndVerdict( c_tbDone, f_getVerdict() ); // sync testbody done f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); // sync - postamble done f_postamble_ICSCF(); } // end function f_TC_DX_SLF_LI_01 } // group TP_SLFRole_LI group TP_SLFRole_MA {//Dx MA } // group TP_SLFRole_MA Loading
DiameterCxDx/ttcn/DiameterCxDx_PIXITS.ttcn +8 −0 Original line number Diff line number Diff line Loading @@ -233,6 +233,14 @@ module DiameterCxDx_PIXITS */ modulepar UTF8String PX_PublicIdentity := "public_identity@etsi.org"; /** @desc UTF8String, PIXIT item A-7/12 The Server-Name AVP is of type UTF8String. This AVP contains a SIP-URL (as defined in IETF RFC 3261 [3] and IETF RFC 2396 [4]), used to identify a SIP server (e.g. S-CSCF name). Ref: 3GPP TS 129.229 6.3.3 Server-Name AVP */ modulepar UTF8String PX_ServerName := "sip://scscf.etsi.org"; /** @desc octetstring, PIXIT item A-7/12 Loading
DiameterCxDx/ttcn/DiameterCxDx_Steps.ttcn +5 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_serverName := m_serverName(PX_ServerName); vc_publicIdentity := m_publicIdentity(PX_PublicIdentity); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_CX_ETS_SCSCF_IPADDR)); vc_send_hopid:=hex2int('00000100'H); Loading Loading @@ -93,6 +96,8 @@ vc_destinationHost := m_destinationHost(PX_DestinationHost); vc_destinationRealm := m_destinationRealm(PX_DestinationRealm); vc_publicIdentity := m_publicIdentity(PX_PublicIdentity); vc_hostIPAddress := valueof(f_IPV4or6_String2Address (PX_DIAMETER_CX_ETS_ICSCF_IPADDR)); vc_send_hopid:=hex2int('00000100'H); Loading
DiameterCxDx/ttcn/DiameterCxDx_Templates.ttcn +18 −2 Original line number Diff line number Diff line Loading @@ -82,11 +82,27 @@ module DiameterCxDx_Templates { aVP_Header := m_aVP_HeaderVid_Mbit1(c_public_Identity_AVP_Code, lengthof(p_avpData), omit), aVP_Data := p_avpData } template Visited_Network_Id_AVP m_visitedNetworkId(template (value) octetstring p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_public_Identity_AVP_Code, lengthof(p_avpData), c_vendId3gpp), aVP_Data := p_avpData } template Server_Assignment_Type_AVP m_serverAssignmentType(template (value) Srv_Assgmt_Type_Code p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Assignment_Type_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } template Server_Name_AVP m_serverName(template (value) UTF8String p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, lengthof(p_avpData), c_vendId3gpp), aVP_Data := p_avpData } template User_Data_Already_Available_AVP m_userDataAlreadyAvailable (template (value) Usr_Dat_Al_Av_Code p_avpData) := { aVP_Header := m_aVP_HeaderVid_Mbit1(c_user_Data_Already_Available_AVP_Code, 4, c_vendId3gpp), aVP_Data := p_avpData } }//end group sendingTemplatesForAVPs group awaitingTemplatesForAVPs{ template Redirect_Host_AVP mw_redirectHost(template (present) Diameter_Identity p_avpData) := Loading
DiameterCxDx/ttcn/DiameterCxDx_TestSystem.ttcn +3 −2 Original line number Diff line number Diff line /** * @author STF 480 * @version $Id: $ * @version $Id$ * @desc This module provides the types and ports used by the test component * for SIP-CxDx-DIAMETER tests. */ Loading Loading @@ -39,6 +39,7 @@ module DiameterCxDx_TestSystem { var template (value) User_Name_AVP vc_userName; var template (value) Public_Identity_AVP vc_publicIdentity; var template (value) Visited_Network_Id_AVP vc_visitedNetworkId; var template (value) Server_Name_AVP vc_serverName; } // End of component DiameterCx }// end group TestComponents Loading