Commit 5bc0bedc authored by rennoch's avatar rennoch
Browse files

MME_DSD_01

parent d783604b
Loading
Loading
Loading
Loading
+48 −0
Original line number Diff line number Diff line
@@ -1397,6 +1397,29 @@ module DiameterS6a_MME_TCFunctions {
        function f_TC_MME_DSD_01() runs on TestAdapter {
            
            // Local variables
            var User_Name_AVP               v_user_Name         := md_user_Name ( PX_USR_NAME );
            var Auth_Session_State_AVP        v_noStateMaintained := md_auth_Session_State_noStateMaintained;
            var MIP_Home_Agent_Address_AVP    v_mipHomeAgentAddress     := md_mipHomeAgentAddress ( PX_MIP6_AGENT_IP_ADDRESS );
            var Destination_Realm_AVP         v_mIP6Destination_Realm   := m_destinationRealm ( PX_MIP6_AGENT_DEST_REALM );
            var Destination_Host_AVP          v_mip6Destination_Host    := m_destinationHost ( PX_MIP6_AGENT_DEST_HOST );
            var MIP_Home_Agent_Host_AVP       v_mipHomeAgentHost        := md_mipHomeAgentHost ( v_mIP6Destination_Realm,
                                                                                                v_mip6Destination_Host );
            var MIP6_Agent_Info_AVP           v_mIP6AgentInfo           := md_mip6_Agent_Info_AVP ( v_mipHomeAgentAddress, v_mipHomeAgentHost);
            var All_APN_Conf_Included_Id_AVP  v_allAPNConfIncludedId    := m_allAPNConfIncludedId ( 
                                                                                   MODIFIED_ADDED_APN_CONFIGURATIONS_INCLUDED_E );
            var Context_Identifier_AVP        v_contextIdentifier       := md_contextIdentifier ( PX_CONTEXT_ID );
            var PDN_Type_AVP                  v_pdnType                 := m_pdnType ( IPv4_OR_IPv6_E );
            var Service_Selection_AVP         v_serviceSelection        := m_serviceSelection ( PX_SERVICE_SEL );
            var APN_Configuration_AVP         v_apnConfiguration        := m_apnConfiguration ( v_contextIdentifier, v_pdnType,
                                                                                                v_serviceSelection, v_mIP6AgentInfo );
            var APN_Configuration_Profile_AVP v_apnConfigurationProfile := m_apnConfigurationProfile ( v_contextIdentifier,
                                                                                                       v_allAPNConfIncludedId,
                                                                                                       v_apnConfiguration );
                                                                                                       
            var DSR_Flags_AVP                  v_dSR_Flags        := m_dsrFlags_AVP ( 0 );


            var Result_Code_AVP                v_resultCode        := m_resultCode ( DIAMETER_SUCCESS_E );
            
            // Preamble
            f_preamble_MME();
@@ -1405,9 +1428,34 @@ module DiameterS6a_MME_TCFunctions {
            
            // Test Body
            // Clause 'when'
            HSS_S6a.send ( m_mmeDeleteSubscriberDataRequest ( md_DSR_TCs ( vc_sessionId, md_dsrBodyAvps_Flags (
                                v_noStateMaintained,                    // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                vc_originHost,                          // containing an Origin-Host AVP
                                vc_originRealm,                         // containing an Origin-Realm AVP
                                vc_destinationHost,                     // containing a Destination-Host AVP
                                vc_destinationRealm,                    // containing a Destination-Realm AVP
                                v_user_Name,                            // containing a User-Name AVP
                                v_dSR_Flags ))));

            
            // Clause 'then'

            tc_ac.start;
            alt {
                []  HSS_S6a.receive ( mw_hssDeleteSubscriberDataAnswer ( mdw_DSA_TCs ( vc_sessionId, mdw_dsaBodyAvps_Result (
                                v_resultCode,                           // containing a Result-Code AVP indicating DIAMETER_SUCCESS
                                v_noStateMaintained,                    // containing an Auth-Session-State AVP indicating NO_STATE_MAINTAINED
                                vc_originHost,                          // containing an Origin-Host AVP
                                vc_originRealm )))) {                   // containing an Origin-Realm AVP
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
                    log("*** " & __SCOPE__ & ": PASS: Expected was received. ***");
                }
                []  tc_ac.timeout {
                    f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
                    log("*** " & __SCOPE__ & ": INCONC: Message was not received in due time. ***");
                }
            } // End of alt
            
            // Postamble
            f_postamble_MME();
            f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
+95 −3
Original line number Diff line number Diff line
@@ -493,6 +493,13 @@ module DiameterS6a_Templates {
                    aVP_Data    := p_aVP_Data
                } // End of template m_urFlags_AVP
                
                template (value) DSR_Flags_AVP m_dsrFlags_AVP(
                                                              in UInt32 p_aVP_Data
                ):= {
                    aVP_Header  := m_aVP_HeaderVid_Mbit1 ( c_dsr_Flags_AVP_Code, 4, c_vendId3gpp ),
                    aVP_Data    := p_aVP_Data
                } // End of template m_dsrFlags_AVP
                
            } // End of group sendingTemplatesForAVPs
            
            group awaitingTemplatesForAVPs{
@@ -1584,7 +1591,15 @@ module DiameterS6a_Templates {
                 */
                template (value) DIAMETER_MSG m_mmeInsertSubscriberDataRequest ( in template (value) IDR_MSG p_IDR_MSG) := {
                    iDR_MSG := p_IDR_MSG
                } // End of template m_mmeCancelLocationRequest
                } // End of template m_mmeInsertSubscriberDataRequest
                
                /**
                 * @desc Main send template for MME_S6a port
                 * @param p_DSR_MSG SD-Request send template message
                 */
                template (value) DIAMETER_MSG m_mmeDeleteSubscriberDataRequest ( in template (value) DSR_MSG p_DSR_MSG) := {
                    dSR_MSG := p_DSR_MSG
                } // End of template m_mmeDeleteSubscriberDataRequest
                
                /**
                 * @desc Send template specifying no state maintained
@@ -1832,7 +1847,16 @@ module DiameterS6a_Templates {
                 */
                template (present) DIAMETER_MSG mw_hssInsertSubscriberDataAnswer ( in template (present) IDA_MSG p_IDA_MSG) := {
                    iDA_MSG := p_IDA_MSG
                } // End of template mw_hssCancelLocationAnswer
                } // End of template mw_hssInsertSubscriberDataAnswer
                

                /**
                 * @desc Main receive template for HSS_S6a port
                 * @param p_IDA_MSG CL-Answer receive template message
                 */
                template (present) DIAMETER_MSG mw_hssDeleteSubscriberDataAnswer ( in template (present) DSA_MSG p_DSA_MSG) := {
                    dSA_MSG := p_DSA_MSG
                } // End of template mw_hssDeleteSubscriberDataAnswer                
                
                /**
                 * @desc Generic received ULA_Flags_AVP message
@@ -1885,7 +1909,7 @@ module DiameterS6a_Templates {
                /**
                 * @desc Send template for IDR 
                 * @param p_sessionId   Session identifier
                 * @param p_clrBody     IDR message body
                 * @param p_idrBody     IDR message body
                 */
                template (value) IDR_MSG md_IDR_TCs (
                                                       in template (value) Session_Id_AVP p_sessionId, 
@@ -1895,6 +1919,19 @@ module DiameterS6a_Templates {
                    iDR_Body    := p_idrBody
                } // End of template md_IDR_TCs
                 
                /**
                 * @desc Send template for DSR 
                 * @param p_sessionId   Session identifier
                 * @param p_dsrBody     DSR message body
                 */
                template (value) DSR_MSG md_DSR_TCs (
                                                       in template (value) Session_Id_AVP p_sessionId, 
                                                       in template (value) DSR_Body_AVP p_dsrBody
                ) modifies m_S6a_DSR_dummy := {
                    session_Id  := p_sessionId,
                    dSR_Body    := p_dsrBody
                } // End of template md_DSR_TCs

                /**
                 * @desc Send template for CLA 
                 * @param p_sessionId   Session identifier
@@ -2180,6 +2217,38 @@ module DiameterS6a_Templates {

                } // End of group t_TC_HSS_IDR

                group t_TC_HSS_DSR {

                     /**
                     * @desc Send template for DSR message body 
                     * @param p_auth_Session_State  Specifies if the state is maintained for a particular session
                     * @param p_originHost          Identifies the endpoint that originated the Diameter message
                     * @param p_originRealm         Realm of the originator
                     * @param p_destinationHost     The Host to which the message is to be routed
                     * @param p_destinationRealm    The realm to which the message is to be routed
                     * @param p_user_Name           User-Name
                     * @param p_dSRFlags
                     */
                    template (value) DSR_Body_AVP md_dsrBodyAvps_Flags(
                                                                       in template (value) Auth_Session_State_AVP p_auth_Session_State,
                                                                       in template (value) Origin_Host_AVP p_originHost,
                                                                       in template (value) Origin_Realm_AVP p_originRealm,
                                                                       in template (value) Destination_Host_AVP p_destinationHost,
                                                                       in template (value) Destination_Realm_AVP p_destinationRealm,
                                                                       in template (value) User_Name_AVP p_user_Name,
                                                                       in template (value) DSR_Flags_AVP p_dSR_Flags
                    ) modifies m_S6a_DSR_Body_dummy := {
                        auth_Session_State  := p_auth_Session_State, 
                        origin_Host         := p_originHost,
                        origin_Realm        := p_originRealm,
                        destination_Host    := p_destinationHost,
                        destination_Realm   := p_destinationRealm,
                        user_Name           := p_user_Name,
                        dSR_Flags           := p_dSR_Flags
                    } // End of template md_idrBodyAvps_Flags

                } // End of group t_TC_HSS_DSR

                /**
                 * @desc Send emplates for TC_HSS_UL_01
                 */
@@ -3138,6 +3207,29 @@ module DiameterS6a_Templates {
 
                } // End of group t_TC_HSS_IDA

                group t_TC_HSS_DSA {

                     /**
                     * @desc Receive template for DSA message body
                     * @param p_auth_Session_State  Specifies if the state is maintained for a particular session
                     * @param p_originHost          Identifies the endpoint that originated the Diameter message
                     * @param p_originRealm         Realm of the originator
                     * @param p_result              Result of CLR execution
                     */
                    template (present) DSA_Body_AVP mdw_dsaBodyAvps_Result (
                                                                       in template (present) Result_Code_AVP p_result,
                                                                       in template (present) Auth_Session_State_AVP p_auth_Session_State,
                                                                       in template (present) Origin_Host_AVP p_originHost,
                                                                       in template (present) Origin_Realm_AVP p_originRealm
                    ) modifies m_S6a_DSA_Body_dummy := {
                        result_Code         := p_result,
                        auth_Session_State  := p_auth_Session_State, 
                        origin_Host         := p_originHost,
                        origin_Realm        := p_originRealm
                    } // End of template mdw_dsaBodyAvps_Result

                } // End of group t_TC_HSS_DSA
                
                /**
                 * @desc Receive templates for TC_HSS_UL_01
                 */