Commit 108b9998 authored by rennoch's avatar rennoch
Browse files

HSS_PUE: correction using PurgeUE, NOT ProfileUpdate

parent 2f183745
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -1187,7 +1187,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_01(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
@@ -1244,7 +1244,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_02( 
                                mw_experimentalResult(                              // containing an Experimental-Result AVP
@@ -1252,7 +1252,7 @@ module DiameterS6a_HSS_TCFunctions {
                                        DIAMETER_ERROR_USER_UNKNOWN_E               //         indicating DIAMETER_ERROR_USER_UNKNOWN
                )))))) -> value v_result { // Expected PU-Answer message 
                    tc_ac.stop;
                    if (ispresent(v_result.pUA_MSG.pUA_Body.result_Code)) {         // not containing a Result-Code AVP
                    if (ispresent(v_result.pUEA_MSG.pUEA_Body.result_Code)) {         // not containing a Result-Code AVP
                        f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
                        log("*** " & __SCOPE__ & ": FAIL: Result-Code AVP was not expected here. ***");
                    } else { 
@@ -1342,7 +1342,7 @@ module DiameterS6a_HSS_TCFunctions {
                }
                [v_recvSteps == 1] MME_S6a.receive(                                 // and, the IUT sends a PU-Answer
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,
                            mdw_puaBodyAvps_TC_03(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
@@ -1493,7 +1493,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_04(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
@@ -1551,7 +1551,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_04(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
@@ -1609,7 +1609,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_04(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
@@ -1666,7 +1666,7 @@ module DiameterS6a_HSS_TCFunctions {
            alt {
                [] MME_S6a.receive( 
                    mw_mmePurgeLocationAnswer(
                        mdw_PUA_TCs( 
                        mdw_PUEA_TCs( 
                            ?,                                                      // containing a Session-ID AVP
                            mdw_puaBodyAvps_TC_04(                 
                                mw_resultCode(DIAMETER_SUCCESS_E),                  // containing a Result-Code AVP indicating DIAMETER_SUCCESS
+55 −9
Original line number Diff line number Diff line
@@ -1642,6 +1642,26 @@ module DiameterS6a_Templates {
                    aVP_Type                        := *
                }

                template (present) PUEA_MSG mw_S6a_PUEA_dummy := {
                    header      := mw_diameterHeaderAns_dummy ( PUEA_E, c_applId_S6a ),
                    session_Id  := ?,
                    pUEA_Body    := mw_S6a_PUEA_Body_dummy
                }
                template (present) PUEA_Body_AVP mw_S6a_PUEA_Body_dummy := {
                    vendor_Specific_Application_Id  := ?,
                    supported_Features              := *,
                    result_Code                     := *,
                    experimental_Result             := *,
                    auth_Session_State              := ?,
                    origin_Host                     := ?,
                    origin_Realm                    := ?,
                    pUEA_Flags                      := *,
                    failed                          := *,
                    proxy_Info                      := *,
                    route_Record                    := *,
                    aVP_Type                        := *
                }
                
                template (present) RSA_MSG mw_S6a_RSA_dummy := {
                    header      := mw_diameterHeaderAns_dummy ( RSA_E, c_applId_S6a ),
                    session_Id  := ?,
@@ -1992,8 +2012,8 @@ module DiameterS6a_Templates {
                * @desc Main receive template for MME_S6a port
                * @param p_pUA_MSG PU-Answer receive template message
                */
                template (present) DIAMETER_MSG mw_mmePurgeLocationAnswer(in template (present) PUA_MSG p_pUA_MSG) := {
                    pUA_MSG := p_pUA_MSG
                template (present) DIAMETER_MSG mw_mmePurgeLocationAnswer(in template (present) PUEA_MSG p_pUA_MSG) := {
                    pUEA_MSG := p_pUA_MSG
                } // End of template mw_mmePurgeLocationAnswer
                
                /**
@@ -2800,8 +2820,8 @@ module DiameterS6a_Templates {
                        auth_Session_State              := p_auth_Session_State,
                        origin_Host                     := p_originHost,
                        origin_Realm                    := p_originRealm,
                        destination_Realm               := p_destinationRealm//,
// FIXME This field does not exist in PUR_Body_AVP                        user_Name                       := p_user_Name
                        destination_Realm               := p_destinationRealm,
                        user_Name                       := p_user_Name
                    } // End of template md_purBodyAvps_TC_01
                    
                } // End of group t_TC_HSS_PUE_01
@@ -2815,8 +2835,8 @@ module DiameterS6a_Templates {
                        in template (value) PUR_Flags_AVP p_pur_Flags_AVP
                    ) modifies m_S6a_PUER_Body_dummy := {
                        auth_Session_State              := p_auth_Session_State,
                        origin_Host                     := p_originHost//,
// FIXME This field does not exist in PUR_Body_AVP                        ???                       := p_pur_Flags_AVP
                        origin_Host                     := p_originHost,
                        pUR_Flags                       := p_pur_Flags_AVP
                    } // End of template md_purBodyAvps_TC_03
                    
                } // End of group t_TC_HSS_PUE_03
@@ -3628,6 +3648,32 @@ module DiameterS6a_Templates {
                    pUA_Body    := p_puaBody
                } // End of template mdw_PUA_TCs
                
//                /**
//                * @desc Receive template for PUEA
//                * @param p_sessionId   Session identifier
//                * @param p_ulaBody     PUA message body
//                */
//                template (present) PUA_MSG mdw_PUA_TCs(
//                    in template (present) Session_Id_AVP p_sessionId,
//                    in template (present) PUA_Body_AVP p_puaBody
//                ) modifies mw_S6a_PUA_dummy := {
//                    session_Id  := p_sessionId,
//                    pUA_Body    := p_puaBody
//                } // End of template mdw_PUA_TCs
                                
                /**
                * @desc Receive template for PUEA
                * @param p_sessionId   Session identifier
                * @param p_ulaBody     PUA message body
                */
                template (present) PUEA_MSG mdw_PUEA_TCs(
                    in template (present) Session_Id_AVP p_sessionId,
                    in template (present) PUEA_Body_AVP p_pueaBody
                ) modifies mw_S6a_PUEA_dummy := {
                    session_Id  := p_sessionId,
                    pUEA_Body    := p_pueaBody
                } // End of template mdw_PUEA_TCs
                                
                /**
                * @desc Receive template for AIA
                * @param p_sessionId   Session identifier
@@ -4205,10 +4251,10 @@ module DiameterS6a_Templates {
                    * @desc Receive template for CLR message body with TODO
                    * @param p_cancellation_Type Cancellation type code value
                    */
                    template (present) PUA_Body_AVP mdw_puaBodyAvps_TC_03(
                    template (present) PUEA_Body_AVP mdw_puaBodyAvps_TC_03(
                        in template (present) Result_Code_AVP p_result_Code,
                        in template (present) PUR_Flags_AVP p_pur_Flags // FIXME How to set it, into Supported_Features_AVP?
                    ) modifies mw_S6a_PUA_Body_dummy := {
                    ) modifies mw_S6a_PUEA_Body_dummy := {
                        result_Code   := p_result_Code
                    } // End of template mdw_puaBodyAvps_TC_03
                    
@@ -4223,7 +4269,7 @@ module DiameterS6a_Templates {
                    * @desc Receive template for CLR message body with TODO
                    * @param p_cancellation_Type Cancellation type code value
                    */
                    template (present) PUA_Body_AVP mdw_puaBodyAvps_TC_04(
                    template (present) PUEA_Body_AVP mdw_puaBodyAvps_TC_04(
                        in template (present) Result_Code_AVP p_result_Code,
                        in template (present) PUR_Flags_AVP p_pur_Flags
                    ) modifies mdw_puaBodyAvps_TC_03 := {