Commit 9c966caa authored by filatov's avatar filatov
Browse files

Add message templates

Add bodies for UAR/UAA 
parent 0d206b37
Loading
Loading
Loading
Loading
+308 −156
Original line number Diff line number Diff line
@@ -19,13 +19,12 @@ module DiameterCxDx_Templates {
    import from LibDiameter_Types_CxDx_AVPs all;
    import from LibDiameter_TypesAndValues  all;
    import from LibDiameter_Templates all;

    import from DiameterCxDx_PIXITS all;
    
    import from NoTargetNamespace language "XSD" all
	with {
		extension "File:../xsd/CxData_Type_Rel10.xsd";
	};
	}
    
    group SubFields{
    } //end group SubFields
@@ -59,20 +58,212 @@ module DiameterCxDx_Templates {

    
    group CxDxMessageTemplates {
        group CxDxBase_templates {
            group CxDxBasic_request_templates_send {
                
                template UAR_MSG m_UAR_basic (template Session_Id_AVP        p_sessionId,
                                              template Origin_Host_AVP       p_originHost,
                                              template Origin_Realm_AVP      p_originRealm,
                                              template Destination_Realm_AVP p_destinationRealm,
                                              template User_Name_AVP         p_userName,
                                              template Public_Identity_AVP   p_public_Identity,
                                              template Visited_Network_Id_AVP p_visited_Network_Id ) 
                modifies m_UAR_dummy := {
        group CxDxMessage_templates_send {
            template (value) UAR_MSG m_UAR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) UAR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (UAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                    uAR_Body := {
                uAR_Body   := p_msgBody
            }    

            template (value) UAA_MSG m_UAA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) UAA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (UAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                uAA_Body   := p_msgBody
            }    

            template (value) SAR_MSG m_SAR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) SAR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (SAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                sAR_Body   := p_msgBody
            }    
                									  
            template (value) SAA_MSG m_SAA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) SAA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (SAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                sAA_Body   := p_msgBody
            }    

            template (value) LIR_MSG m_LIR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) LIR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (LIR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                lIR_Body   := p_msgBody
            }    
                									  
            template (value) LIA_MSG m_LIA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) LIA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (LIA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                lIA_Body   := p_msgBody
            }    

            template (value) MAR_MSG m_MAR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) MAR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (MAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                mAR_Body   := p_msgBody
            }    
                									  
            template (value) MAA_MSG m_MAA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) MAA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (MAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                mAA_Body   := p_msgBody
            }

            template (value) RTR_MSG m_RTR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) RTR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (RTR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                rTR_Body   := p_msgBody
            }    

            template (value) RTA_MSG m_RTA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) RTA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (RTA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                rTA_Body   := p_msgBody
            }    

            template (value) PPR_MSG m_PPR_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) PPR_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderReq_dummy (PPR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                pPR_Body   := p_msgBody
            }    

            template (value) PPA_MSG m_PPA_Msg (template (value) Session_Id_AVP p_sessionId,
                                                template (value) PPA_Body_AVP p_msgBody
            ) := {
                header     := m_diameterHeaderAns_dummy (PPA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                pPA_Body   := p_msgBody
            }
        } // end of group CxDxMessage_templates_send
    }

        group CxDxMessage_templates_receive {
            template (present) UAR_MSG mw_UAR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) UAR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(UAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                uAR_Body   := p_msgBody
            }

            template (present) UAA_MSG mw_UAA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) UAA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(UAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                uAA_Body   := p_msgBody
            }
            
            template (present) SAR_MSG mw_SAR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) SAR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(SAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                sAR_Body   := p_msgBody
            }

            template (present) SAA_MSG mw_SAA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) SAA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(SAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                sAA_Body   := p_msgBody
            }

            template (present) LIR_MSG mw_LIR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) LIR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(LIR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                lIR_Body   := p_msgBody
            }

            template (present) LIA_MSG mw_LIA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) LIA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(LIA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                lIA_Body   := p_msgBody
            }
            
            template (present) MAR_MSG mw_MAR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) MAR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(MAR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                mAR_Body   := p_msgBody
            }

            template (present) MAA_MSG mw_MAA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) MAA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(MAA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                mAA_Body   := p_msgBody
            }
            
            template (present) RTR_MSG mw_RTR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) RTR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(RTR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                rTR_Body   := p_msgBody
            }

            template (present) RTA_MSG mw_RTA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) RTA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(RTA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                rTA_Body   := p_msgBody
            }
            
            template (present) PPR_MSG mw_PPR_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) PPR_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(PPR_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                pPR_Body   := p_msgBody
            }

            template (present) PPA_MSG mw_PPA_Msg (template (present) Session_Id_AVP p_sessionId := ?,
                                                   template (present) PPA_Body_AVP p_msgBody := ?
            ) := {
                header     := mw_diameterHeaderReq_dummy(PPA_E, c_applId3GPPCxDx ),
                session_Id := p_sessionId,
                pPA_Body   := p_msgBody
            }
        } // end of group CxDxMessage_templates_receive
        
    group CxDxBodyTemplates {
        group CxDxBasic_templates_send {
            template (value) UAR_Body_AVP m_UAR_basic (template (value) Origin_Host_AVP        p_originHost,
                                           			   template (value) Origin_Realm_AVP       p_originRealm,
                                           			   template (value) Destination_Realm_AVP  p_destinationRealm,
                                                       template (value) User_Name_AVP          p_userName,
                                                       template (value) Public_Identity_AVP    p_public_Identity,
                                                       template (value) Visited_Network_Id_AVP p_visited_Network_Id ) 
            modifies m_UAR_Body_dummy := {
                vendor_Specific_Application_Id := m_vendor_Specific_Appl_Id_Cx,
                auth_Application_Id   := omit,                       //not present in CxDx TS 129 229
                auth_Session_State := m_auth_Session_State_no_maintained,
@@ -93,55 +284,8 @@ module DiameterCxDx_Templates {
                route_Record := omit,
                aVP_Type := omit
            }
                }
            

            } // end group CxBasic_request_templates_send
            group CxDxBasic_request_templates_receive {

                
                template UAR_MSG mw_UAR_basic (template Session_Id_AVP        p_sessionId,
                                               template Origin_Host_AVP       p_originHost,
                                               template Origin_Realm_AVP      p_originRealm,
                                               template Destination_Realm_AVP p_destinationRealm) 
                modifies mw_UAR_dummy := {
                    header                    := mw_diameterHeaderReq_dummy (UAR_E, c_applId3GPPCxDx ),
                    session_Id                := p_sessionId,
                    uAR_Body := {
                        vendor_Specific_Application_Id := *,
                        auth_Application_Id   := omit,                       //not present in CxDx TS 129 229
                        auth_Session_State := ?,
                        origin_Host := p_originHost,
                        origin_Realm := p_originRealm,
                        destination_Realm := p_destinationRealm,
                        sIP_AOR := omit,                                     //not present in CxDx TS 129 229
                        destination_Host := *,
                        user_Name := ?,
                        sIP_Visited_Network_Id := omit,                      //not present in CxDx TS 129 229
                        sIP_User_Authorization_Type := omit,                 //not present in CxDx TS 129 229
                        supported_Features := *,
                        public_Identity := ?,
                        visited_Network_Id := ?,
                        user_Authorization_Type := *,
                        uAR_Flags := *,
                        proxy_Info := *,
                        route_Record := *,
                        aVP_Type := *
                    }
                }

            }//end group CxBasic_request_templates_receive
            group CxDxBasic_answer_templates_send {

                template (value) UAA_MSG m_UAA_basic(template (value) Session_Id_AVP p_sessionId,
                							 template (value) UAA_Body_AVP   p_uAABody
                ) := {
                    header := m_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    session_Id := p_sessionId,
                    uAA_Body := p_uAABody
                }

                template (value) UAA_Body_AVP m_UAA_Body_basic (template (value) Origin_Host_AVP   p_originHost,
            template (value) UAA_Body_AVP m_UAA_basic (template (value) Origin_Host_AVP   p_originHost,
            								           template (value) Origin_Realm_AVP  p_originRealm,
            										   template (value) Result_Code_AVP   p_resultCode := m_resultCode_dummy)
            												
@@ -168,18 +312,35 @@ module DiameterCxDx_Templates {
                route_Record := omit,
                aVP_Type := omit
            }
            }//end group CxBasic_answer_templates_send
            group CxDxBasic_answer_templates_receive {

                template UAA_MSG mw_UAA_MSG (template (present) Session_Id_AVP p_sessionId,
                							 template (present) UAA_Body_AVP p_uAABody
                ) := {
                    header := mw_diameterHeaderAns_dummy(UAA_E, c_applId3GPPCxDx),
                    session_Id := p_sessionId,
                    uAA_Body := p_uAABody
        } // end of group CxDxBasic_templates_send
        group CxDxBasic_templates_receive {
            template (present) UAR_Body_AVP mw_UAR_basic ( template (present) Origin_Host_AVP       p_originHost,
                                                           template (present) Origin_Realm_AVP      p_originRealm,
                                                           template (present) Destination_Realm_AVP p_destinationRealm) 
            modifies mw_UAR_dummy := {
                vendor_Specific_Application_Id := ?,              //mandatory in CxDx TS 129 229
                auth_Application_Id   := *,                       //not present in CxDx TS 129 229
                auth_Session_State := ?,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm,
                destination_Realm := p_destinationRealm,
                sIP_AOR := *,                                     //not present in CxDx TS 129 229
                destination_Host := *,
                user_Name := ?,                                   //mandatory in CxDx TS 129 229
                sIP_Visited_Network_Id := *,                      //not present in CxDx TS 129 229
                sIP_User_Authorization_Type := *,                 //not present in CxDx TS 129 229
                supported_Features := *,
                public_Identity := ?,                             //mandatory in CxDx TS 129 229
                visited_Network_Id := ?,                          //mandatory in CxDx TS 129 229
                user_Authorization_Type := *,
                uAR_Flags := *,
                proxy_Info := *,
                route_Record := *,
                aVP_Type := *
            }
            
                template UAA_Body_AVP mw_UAA_Body_basic
            template UAA_Body_AVP mw_UAA_basic
            modifies mw_UAA_Body_dummy := {
                vendor_Specific_Application_Id := ?,      //only TS129 229
                experimental_Result := *,                 //only TS129 229
@@ -188,9 +349,8 @@ module DiameterCxDx_Templates {
                server_Capabilities := *,                 //only TS129 229
                failed := *                               //only TS129 229
            }
        } // end of group CxDxBasic_templates_receive

            }//end group CxBasic_answer_templates_receive
        }//end group CxMessageTemplates
        group CxModified_temlates {
            group CxModified_request_templates_send {

@@ -209,35 +369,27 @@ module DiameterCxDx_Templates {
    	} //end group CxModified_templates
    	
        group DxModified_temlates {
            group DxModified_request_templates_send {
                template UAR_MSG m_UAR_Dx(	template Session_Id_AVP p_sessionId,
										  	template Origin_Host_AVP p_originHost,
										  	template Origin_Realm_AVP p_originRealm,
										  	template Destination_Realm_AVP p_destinationRealm,
										  	template User_Name_AVP p_userName,
										  	template Public_Identity_AVP p_public_Identity,
										  	template Visited_Network_Id_AVP p_visited_Network_Id)
            group DxModified_templates_send {
                template (value) UAR_Body_AVP m_UAR_Dx(	template (value) Origin_Host_AVP p_originHost,
            										  	template (value) Origin_Realm_AVP p_originRealm,
            										  	template (value) Destination_Realm_AVP p_destinationRealm,
            										  	template (value) User_Name_AVP p_userName,
            										  	template (value) Public_Identity_AVP p_public_Identity,
            										  	template (value) Visited_Network_Id_AVP p_visited_Network_Id)
				modifies m_UAR_basic := {}

            } //     end group DxModified_request_templates_send
            } //     end group DxModified_templates_send
    
            group DxModified_request_templates_receive {
				template UAA_Body_AVP mw_UAA_Body_Dx(template Origin_Host_AVP p_originHost,
						   							 template Origin_Realm_AVP p_originRealm,
						   						     template Result_Code_AVP p_resultCode := mw_resultCode(DIAMETER_REDIRECT_INDICATION_E))
				modifies mw_UAA_Body_basic := {
            group DxModified_templates_receive {
				template (present) UAA_Body_AVP mw_UAA_Dx(template (present) Origin_Host_AVP p_originHost,
            						   					  template (present) Origin_Realm_AVP p_originRealm,
            						   					  template (present) Result_Code_AVP p_resultCode := mw_resultCode(DIAMETER_REDIRECT_INDICATION_E))
				modifies mw_UAA_basic := {
				    origin_Host := p_originHost,
                	origin_Realm := p_originRealm,
				    redirect_Host := mw_redirectHost(?)
				}
            } //     end group DxModified_request_templates_receive
            
            group DxModified_answer_templates_send {

        
            } //     end group DxModified_answer_templates_send
            group DxModified_answer_templates_receive {

            } // end group DxModified_answer_templates_receive
            } //     end group DxModified_templates_receive
        } //end group DxModified_templates
                
	} //end group CxMessageTemplates
    } // end of CxDxBodyTemplates
}//end module DiameterCx_Templates
 No newline at end of file