Commit d2b9887d authored by ulrichst's avatar ulrichst
Browse files

Merge branch 'develop' of https://forge.etsi.org/gitlab/DIAMETER/DiameterShDh into develop

parents 900b9df1 eea0f463
Loading
Loading
Loading
Loading

LibDiameter @ 5b6c388a

Original line number Diff line number Diff line
Subproject commit c9f25b2f33d34138b9092ce747047abfb3e5fc17
Subproject commit 5b6c388ae24e5ce57fdc5eaf557fec865dee1258
+27 −11
Original line number Diff line number Diff line
/**
 *  @author     STF 544
 *  @version    $Id$
 *  @desc       This module provides the PICS used for the DiameterShDh tests.
 *              See ETSI TS/103 571-1
*/

module DiameterShDh_PICS {
    
    group PICS_A2{
        /**
     * @desc Does IUT acts as the HSS? 
     * @see  ETSI TS 103 289-1 A.2/1 
         * @desc Does AS act as the IUT? 
         * @see  ETSI TS 103 571-1 V0.0.2 (2018-09) A.2/1 
         */
        modulepar boolean PICS_HSS_IUT := false;
        
        /**
     * @desc Does IUT acts as the AS? 
     * @see  ETSI TS 103 289-1 A.2/1 
         * @desc Does CTF act as the IUT? 
         * @see  ETSI TS 103 374-1 V1.1.2 (2015-09) A.2/2 
         */
        modulepar boolean PICS_AS_IUT := false;
        
    } // End of group PICS_A2
    
    group PICS_A3 { 
    } // End of group PICS_A3
    
    group PICS_A4 { 
    } // End of group PICS_A4
    
} // End of module DiameterShDh_PICS 
+49 −2
Original line number Diff line number Diff line
@@ -670,7 +670,32 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
    
                    //TODO TestBody
                    //TestBody
                    f_send_PUR(
                               md_pUR(
                                      vc_sessionId,
                                      md_purBodyAvps(
                                                     m_auth_Session_State,
                                                     vc_originHost,                 // containing an Origin-Host AVP
                                                     vc_originRealm,                // containing an Origin-Realm AVP
                                                     vc_destinationHost,            // containing an Destination-Host AVP
                                                     vc_destinationRealm,           // containing a Destination-Realm AVP
                                                     m_specific_user_Identity (
                                                                m_public_user_identity(PX_PublicUserIdentity)
                                                                )
                                                    )
                                     )
                    );

                    f_awaiting_PUA(
                                   mdw_pUA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           mdw_puaBodyAvps(
                                                           mw_resultCode(DIAMETER_SUCCESS_E),
                                                           vc_originHost_IUT,              // containing an Origin-Host AVP
                                                           vc_originRealm_IUT
                        ))
                    );
    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
    
@@ -1052,7 +1077,29 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
    
                    //TODO TestBody
                    // TestBody
//                    f_send_SNR(
//                               md_sNR(
//                                      vc_sessionId,
//                                      md_snrBodyAvps(
//                                                     m_vendor_Specific_Appl_Id_Sh,
//                                                     m_specific_user_Identity(m_public_user_identity),
//                                                     vc_originHost,                 // containing an Origin-Host AVP
//                                                     vc_originRealm,                // containing an Origin-Realm AVP
//                                                     vc_destinationRealm            // containing a Destination-Realm AVP
//                                                    )
//                                     )
//                    );
//
//                    f_awaiting_SNA(
//                                   mdw_sNA( 
//                                           vc_sessionId,                       // containing a Session-ID AVP
//                                           mdw_snaBodyAvps(
//                                                           mw_resultCode(DIAMETER_SUCCESS_E),
//                                                           vc_originHost_IUT,              // containing an Origin-Host AVP
//                                                           vc_originRealm_IUT
//                        ))
//                    );
    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
    
+161 −1
Original line number Diff line number Diff line
@@ -83,6 +83,10 @@ module DiameterShDh_Templates {
                    acct_Application_Id := omit
                }
                
                template Auth_Session_State_AVP m_auth_Session_State := {
                    aVP_Header :=  m_aVP_Header_Mbit1(c_auth_Session_State_AVP_Code),
                    aVP_Data := STATE_MAINTAINED_E
                }

                template (value) Public_Identity_AVP m_public_user_identity (
                    in template (value) charstring p_public_user_identity := PX_PublicUserIdentity
@@ -210,6 +214,48 @@ module DiameterShDh_Templates {
                
            } // End of group pnr_msg
            
            group pur_msg {
                
            /**
             * @desc Send template for PUR
             * @param p_sessionId   Session identifier
             * @param p_pnrBody     PNR message body
             */
            template (value) PUR_MSG md_pUR(
                                            in template (value) Session_Id_AVP  p_sessionId,
                                            in template (value) PUR_Body_AVP    p_purBody
            ) modifies m_PUR_dummy := {
                header := m_diameterHeaderReq_dummy(PUR_E, c_applId3GPPShDh),
                session_Id  := p_sessionId,
                pUR_Body    := p_purBody
            } // End of template md_pUR

            /**
             * @desc Send template for PUR message body
             */
            template (value) PUR_Body_AVP md_purBodyAvps(
                                                         template (value) Auth_Session_State_AVP p_auth_sess_State,
                                                         template (value) Origin_Host_AVP p_origin_Host,
                                                         template (value) Origin_Realm_AVP p_origin_Realm,
                                                         template (value) Destination_Host_AVP p_destination_Host,
                                                         template (value) Destination_Realm_AVP p_destination_Realm,
                                                         template (value) User_Identity_AVP p_user_Identity := m_user_Identity_dummy,
                                                         template (value) Data_Reference_AVP p_data_Reference := m_data_Reference_dummy,
                                                         template (value) User_Data_AVP p_user_data := m_user_Data_dummy
            ) modifies m_PUR_Body_dummy := {
                vendor_Specific_Application_Id  := m_vendor_Specific_Appl_Id_Sh,
                auth_Session_State              := p_auth_sess_State,
                origin_Host                     := p_origin_Host,
                origin_Realm                    := p_origin_Realm,
                destination_Host                := p_destination_Host,
                destination_Realm               := p_destination_Realm,
                user_Identity                   := p_user_Identity,
                data_Reference                  := p_data_Reference,
                user_Data                       := p_user_data
            } // End of template md_purBodyAvps

        } // End of group pur_msg
            
        } // End of group Sh_request_message_templates_send 
        
        group Sh_request_message_templates_receive {
@@ -310,6 +356,54 @@ module DiameterShDh_Templates {
                
            } // End of group pnr_msg
            
            group pur_msg {
                
                /**
                 * @desc Main receive message for HSS_Sh port
                 * @param p_pUR_MSG PU-Request message
                 */
                template (present) PUR_MSG mdw_pUR(
                                                   template (present) Session_Id_AVP  p_sessionId,
                                                   template (present) PUR_Body_AVP    p_purBody
                ) modifies mw_PUR_dummy := {
                    header      := mw_diameterHeaderReq_dummy(PUR_E, c_applId3GPPShDh),
                    session_Id  := p_sessionId,
                    pUR_Body    := p_purBody
                } // End of template mdw_pUR
    
                /**
                 * @desc Main receive message for HSS_Sh port
                 * @param p_pUR_MSG PU-Request message
                 */
                template (present) PUR_MSG mdw_pUR_Header_PURBody(
                                                                  template (present) DiameterHeader p_header,
                                                                  template (present) Session_Id_AVP  p_sessionId,
                                                                  template (present) PUR_Body_AVP    p_purBody
                ) modifies mw_PUR_dummy := {
                    header := p_header,
                    session_Id  := p_sessionId,
                    pUR_Body    := p_purBody
                } // End of template mdw_pUR_Header_PURBody
    
                /**
                 * @desc Receive template for PUR message body
                 * @param p_resultCode                  Indicates whether a particular request was completed successfully or an error occurred
                 * @param p_originHost                  Identifies the endpoint that originated the Diameter message
                 * @param p_originRealm                 Realm of the originator
                 * @param p_destinationRealm            Destination realm
                 */
                template PUR_Body_AVP mdw_purBodyAvps(
                                                      template (present) Origin_Host_AVP              p_originHost := ?,
                                                      template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                      template (present) Destination_Realm_AVP        p_destinationRealm := ?
                ) modifies mw_PUR_Body_dummy := {
                        origin_Host                 := p_originHost,
                        origin_Realm                := p_originRealm,
                        destination_Realm           := p_destinationRealm
                } // End of template mdw_purBodyAvps
    
            } // End of group pur_msg  
                      
        } // End of group Sh_request_message_templates_receive
        
        group Sh_answer_message_templates_send {
@@ -370,6 +464,34 @@ module DiameterShDh_Templates {
                
            } // End of group pna_msg 

            group pua_msg {
                
                /**
                 * @desc Send template for PUA
                 * @param p_sessionId   Session identifier
                 * @param p_pnaBody     PUA message body
                 */
                template (value) PUA_MSG md_pUA(
                                                in template (value) Session_Id_AVP  p_sessionId,
                                                in template (value) PUA_Body_AVP    p_puaBody
                ) modifies m_PUA_dummy := {
                    header      := m_diameterHeaderAns_dummy(PUA_E, c_applIdRf),
                    session_Id  := p_sessionId,
                    pUA_Body    := p_puaBody
                } // End of template md_pUA
    
                template (omit) PUA_Body_AVP md_puaBodyAvps(
                                                            in template (value) Result_Code_AVP              p_resultCode,
                                                            in template (value) Origin_Host_AVP              p_originHost,
                                                            in template (value) Origin_Realm_AVP             p_originRealm
                ) modifies m_PUA_Body_dummy := {
                    result_Code                 := p_resultCode,
                    origin_Host                 := p_originHost,
                    origin_Realm                := p_originRealm
                } // End of template md_puaBodyAvps 
    
            } // End of group pua_msg
                        
        } // End of group Sh_answer_message_templates_send
        
        group Sh_answer_message_templates_receive {
@@ -476,6 +598,44 @@ module DiameterShDh_Templates {
                
            } // End of group pna_msg
            
            group pua_msg {
                
                template PUA_Body_AVP mw_PUA_Result(
                                                        template Result_Code_AVP p_resultCode, 
                                                        template (present) Origin_Host_AVP p_originHost,
                                                        template (present) Origin_Realm_AVP p_originRealm,
                                                        template PUA_Body_AVP.failed p_failed
                ) modifies mdw_puaBodyAvps := {
                    result_Code := p_resultCode,                     // optional  in TS 129 229
                    failed := p_failed                               // optional  in TS 129 229
                } // End of template mw_PUA_ResulFaile
    
                /**
                 * @desc Receive template for PUA
                 * @param p_sessionId   Session identifier
                 * @param p_puaBody     PUA message body
                 */
                template (present) PUA_MSG mdw_pUA(
                                                   template (present) Session_Id_AVP  p_sessionId,
                                                   template (present) PUA_Body_AVP    p_puaBody
                ) modifies mw_PUA_dummy := {
                    header      := mw_diameterHeaderAns_dummy(PUA_E, c_applIdRf),
                    session_Id  := p_sessionId,
                    pUA_Body    := p_puaBody
                } // End of template md_pUA
    
                template (present) PUA_Body_AVP mdw_puaBodyAvps(
                                                                template (present) Result_Code_AVP              p_resultCode,
                                                                template (present) Origin_Host_AVP              p_originHost,
                                                                template (present) Origin_Realm_AVP             p_originRealm
                ) modifies mw_PUA_Body_dummy := {
                    result_Code                 := p_resultCode,
                    origin_Host                 := p_originHost,
                    origin_Realm                := p_originRealm
                } // End of template mdw_puaBodyAvps
    
            } // End of group pua_msg
            
        } // End of group Sh_answer_message_templates_receive 
        
    } // End of group Sh_modified_message_templates