Commit 7835a4ce authored by Iztok Juvancic's avatar Iztok Juvancic
Browse files

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

parents a3147d21 c0604679
Loading
Loading
Loading
Loading

LibDiameter @ 8ae64e39

Original line number Original line Diff line number Diff line
Subproject commit f6a0410faaf67d52748e5c694c8944cc5d00641c
Subproject commit 8ae64e39ccce0fefa8258e6a69bb33909f5fef47
+2 −0
Original line number Original line Diff line number Diff line
@@ -162,6 +162,8 @@ module DiameterShDh_PIXITS {
        
        
        modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org";
        modulepar UTF8String PX_IUT_SIP_URL := "sip:stf549@etsi.org";
        
        
        modulepar octetstring PX_DSAI_TAG := '00'O;
        
    } // End of group DiameterCommonShDhData
    } // End of group DiameterCommonShDhData
    
    
    group SipParameters {
    group SipParameters {
+57 −9
Original line number Original line Diff line number Diff line
@@ -156,7 +156,7 @@ module DiameterShDh_TCFunctions {
                                      mdw_uDA( 
                                      mdw_uDA( 
                                              vc_sessionId,                       // containing a Session-ID AVP
                                              vc_sessionId,                       // containing a Session-ID AVP
                                                   mdw_udaBodyExperimentalAvps(
                                                   mdw_udaBodyExperimentalAvps(
                                                               mw_experimentalResult(DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ),
                                                               mw_experimentalResult(DIAMETER_ERROR_USER_DATA_CANNOT_BE_READ_E),
                                                               vc_originHost_IUT,              // containing an Origin-Host AVP
                                                               vc_originHost_IUT,              // containing an Origin-Host AVP
                                                               vc_originRealm_IUT
                                                               vc_originRealm_IUT
                           ))
                           ))
@@ -279,7 +279,7 @@ module DiameterShDh_TCFunctions {
                                   mdw_uDA( 
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                                    mdw_udaBodyExperimentalAvps(
                                                    mdw_udaBodyExperimentalAvps(
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED),
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED_E),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                                                            vc_originRealm_IUT
                        ))
                        ))
@@ -320,7 +320,7 @@ module DiameterShDh_TCFunctions {
                                   mdw_uDA( 
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                                    mdw_udaBodyExperimentalAvps(
                                                    mdw_udaBodyExperimentalAvps(
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED),
                                                            mw_experimentalResult(DIAMETER_ERROR_OPERATION_NOT_ALLOWED_E),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                                                            vc_originRealm_IUT
                        ))
                        ))
@@ -342,7 +342,29 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    //TODO TestBody
                    f_send_UDR(
                               md_uDR(
                                      vc_sessionId,
                                      md_udrBodyAvps(
                                                     vc_originHost,                 // containing an Origin-Host AVP
                                                     vc_originRealm,                // containing an Origin-Realm AVP
                                                     vc_destinationRealm,           // containing a Destination-Realm AVP
                                                     m_specific_user_Identity (
                                                                m_public_user_identity(PX_PublicUser_MSISDN)
                                                                )
                                                    )
                                     )
                    );

                    f_awaiting_UDA(
                                   mdw_uDA( 
                                           vc_sessionId,                       // containing a Session-ID AVP
                                                    mdw_udaBodyExperimentalAvps(
                                                            mw_experimentalResult(DIAMETER_USER_DATA_NOT_AVAILABLE_E),
                                                            vc_originHost_IUT,              // containing an Origin-Host AVP
                                                            vc_originRealm_IUT
                        ))
                    );
                    
                    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


@@ -736,7 +758,7 @@ module DiameterShDh_TCFunctions {
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           vc_sessionId,                       // containing a Session-ID AVP
                                           mdw_puaBodyAvps(
                                           mdw_puaBodyAvps(
                                                           *,
                                                           *,
                                                           mw_experimentalResultCode(DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED),
                                                           mw_experimentalResult(DIAMETER_ERROR_USER_DATA_CANNOT_BE_MODIFIED_E),
                                                           vc_originHost_IUT,              // containing an Origin-Host AVP
                                                           vc_originHost_IUT,              // containing an Origin-Host AVP
                                                           vc_originRealm_IUT
                                                           vc_originRealm_IUT
                        ))
                        ))
@@ -1614,9 +1636,7 @@ module DiameterShDh_TCFunctions {
                                                              m_server_name(                  // Server-Name AVP
                                                              m_server_name(                  // Server-Name AVP
                                                                            PX_IUT_SIP_URL    //     indicating SIP URL of the IUT
                                                                            PX_IUT_SIP_URL    //     indicating SIP URL of the IUT
                                                                           )
                                                                           )

                    )));
                    )));

                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


                    f_send_UDA(
                    f_send_UDA(
@@ -1641,8 +1661,36 @@ module DiameterShDh_TCFunctions {
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");


                    // TODO TestBody
                    // TestBody
                    // to indicate a user data handling procedure
                    action("The IUT is requested to indicate a DSAI sends a UD-Request with DSAI-Tag AVP");
                    // Clause 'then': the IUT sends an UD-Request and receives an UD-Answer
                    f_awaiting_UDR(
                                   mdw_uDR_Header_UDRBody(
                                                          ?,
                                                          ?,                                  // containing a Session-ID AVP
                                                          mdw_udrBodyAvps_dsai(
                                                              vc_originHost_IUT,              // containing an Origin-Host AVP
                                                              vc_originRealm_IUT,             // containing an Origin-Realm AVP
                                                              vc_destinationRealm_IUT,        // containing a Destination-Realm AVP
                                                                                              // containing a User-Identity AVP
                                                              m_data_Reference(               // containing a Data-Reference AVP
                                                                               DSAI_E         //     indicating DSAI (19)
                                                                              ),
                                                              m_dSAI_Tag_AVP(                 // containing a DSAI-Tag AVP
                                                                             PX_DSAI_TAG
                                                                            )
                    )));
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); 


                    f_send_UDA(
                               md_uDA(
                                      vc_sessionId,                                           // Set in f_awaiting_UDR
                                      md_udaBodyAvps(
                                                     m_resultCode(DIAMETER_SUCCESS_E),
                                                     vc_originHost,
                                                     vc_originRealm
                              )));
                    f_postamble_Sh_HSS();
                    f_postamble_Sh_HSS();
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict()); 
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
                    log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");
+20 −1
Original line number Original line Diff line number Diff line
@@ -121,6 +121,14 @@ module DiameterShDh_Templates {
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp),
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_server_Name_AVP_Code, 4, c_vendId3gpp),
                    aVP_Data   := p_aVP_Data
                    aVP_Data   := p_aVP_Data
                }
                }
                
                template (value) DSAI_Tag_AVP m_dSAI_Tag_AVP(
                                                               in template (value) octetstring p_aVP_Data
                ) := {
                    aVP_Header := m_aVP_HeaderVid_Mbit1(c_dSAI_Tag_AVP_Code, 4, c_vendId3gpp),
                    aVP_Data   := p_aVP_Data
                }
                
            }
            }
            
            
        } // End of group SpecificAVPHeaders
        } // End of group SpecificAVPHeaders
@@ -347,6 +355,17 @@ module DiameterShDh_Templates {
                    server_Name     := p_server_Name
                    server_Name     := p_server_Name
                } // End of template mdw_udrBodyAvps_initial_filter_criteria
                } // End of template mdw_udrBodyAvps_initial_filter_criteria
                
                
                template UDR_Body_AVP mdw_udrBodyAvps_dsai(
                                                           template (present) Origin_Host_AVP              p_originHost := ?,
                                                           template (present) Origin_Realm_AVP             p_originRealm := ?,
                                                           template (present) Destination_Realm_AVP        p_destinationRealm := ?,
                                                           template (present) Data_Reference_AVP           p_data_Reference := ?,
                                                           template (present) DSAI_Tag_AVP                 p_dSAI_Tag := ?
                ) modifies mdw_udrBodyAvps := {
                    data_Reference  := superset(p_data_Reference),
                    dSAI_Tag        := superset(p_dSAI_Tag)
                } // End of template mdw_udrBodyAvps_dsai
                
            } // End of group udr_msg
            } // End of group udr_msg
            
            
            group pnr_msg {
            group pnr_msg {
@@ -657,7 +676,7 @@ module DiameterShDh_Templates {
    
    
                template (present) PUA_Body_AVP mdw_puaBodyAvps(
                template (present) PUA_Body_AVP mdw_puaBodyAvps(
                                                                template (present) Result_Code_AVP              p_resultCode,
                                                                template (present) Result_Code_AVP              p_resultCode,
                                                                template (present) Experimental_Result_Code_AVP p_exp_rescode,
                                                                template (present) Experimental_Result_AVP p_exp_rescode,
                                                                template (present) Origin_Host_AVP              p_originHost,
                                                                template (present) Origin_Host_AVP              p_originHost,
                                                                template (present) Origin_Realm_AVP             p_originRealm
                                                                template (present) Origin_Realm_AVP             p_originRealm
                ) modifies mw_PUA_Body_dummy := {
                ) modifies mw_PUA_Body_dummy := {