Commit a75b8e68 authored by wattelet's avatar wattelet
Browse files

S6a template first draft

parent ccd4b7f0
Loading
Loading
Loading
Loading
+151 −42
Original line number Diff line number Diff line
@@ -13,18 +13,12 @@

module DiameterS6a_Templates {

    //LibCommon
    import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all;
    import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;};

    //LibDiameter
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_Templates all;
    import from LibDiameter_Steps all;

    //DiameterGx
    import from DiameterGx_PIXITS all;
    import from DiameterGx_Templates all;    
    import from DiameterS6a_TypesAndValues all;
    import from DiameterS6a_PIXITS all;

    group SubFields{

@@ -32,9 +26,55 @@ module DiameterS6a_Templates {

    group HeaderFieldTemplates {

		template S6aDiameterHeader m_s6adiameterHeaderReq_dummy ( S6a_Command_Code p_cmdcode, UInt32 p_applid ) := {
			version										:= c_versionId,
			msglen										:= 0,				//Message lenght with AVPs has to be calculated
			cmdflags									:= m_cmdFlagsReq,	//RPETrrrr
			cmdcode										:= p_cmdcode,
			applid										:= p_applid,
			hopid										:= 0,
			endid										:= 0
		}
		template S6aDiameterHeader mw_s6adiameterHeaderReq_dummy ( S6a_Command_Code p_cmdcode, template (present) UInt32 p_applid ) := {
			version										:= c_versionId,
			msglen										:= ?,
			cmdflags									:= mw_cmdFlags,
			cmdcode										:= p_cmdcode,
			applid										:= p_applid,
			hopid										:= ?,
			endid										:= ?
            }
        group DummyAVPHeaders{
            template RAT_Type_AVP m_rATType_dummy := {
                aVP_Header								:= m_aVP_HeaderVid_Mbit1 ( c_rAT_Type_AVP_Code, 4, c_vendId3gpp ),
                aVP_Data								:= PX_RAT_TYPE
            }

            template ULR_Flags_AVP m_ulrFlags_dummy := {
                aVP_Header								:= m_aVP_HeaderVid_Mbit1 ( c_ulr_Flags_AVP_Code, 4, c_vendId3gpp ),
                aVP_Data								:= PX_ULR_FLAGS
            }

            template Visited_PLMN_Id_AVP m_visitedPLMNId_dummy := {
                aVP_Header								:= m_aVP_HeaderVid_Mbit1 ( c_visited_PLMN_Id_AVP_Code, 4, c_vendId3gpp ),
                aVP_Data								:= PX_VISITED_PLMN_ID
            }

            template Req_EUTRAN_Auth_Info_AVP m_reqEUTRANAuthInfo_dummy := {
                aVP_Header								:= m_aVP_HeaderVid_Mbit1 ( c_requested_EUTRAN_Authentication_Info_AVP_Code, 4, c_vendId3gpp ),
                number_Of_Requested_Vectors				:= omit,
                immediate_Response_Preferred			:= omit,
                re_synchronization_Info					:= omit,
				aVP_Type								:= omit
			}

            template Req_UTRAN_GERAN_Auth_Info_AVP m_reqUTRANGERANAuthInfo_dummy := {
                aVP_Header								:= m_aVP_HeaderVid_Mbit1 ( c_requested_UTRAN_GERAN_Authentication_Info_AVP_Code, 4, c_vendId3gpp ),
                number_Of_Requested_Vectors				:= omit,
                immediate_Response_Preferred			:= omit,
                re_synchronization_Info					:= omit,
				aVP_Type								:= omit
			}
        } //end group DummyAVPHeaders

        group SpecificAVPHeaders {
@@ -50,20 +90,68 @@ module DiameterS6a_Templates {
        
    } //end group HeaderFieldTemplates

    /** Message templates for RAR, RAA, CCR, CCA.... methods  */
    /** Message templates for ULR, ULA, AIR, AIA.... methods  */
	group S6aMessageTemplates {

		group S6aDummy_templates {

			group S6aDummy_request_templates_send {
				template ULR_MSG m_S6a_ULR_dummy := {
					header								:= m_s6adiameterHeaderReq_dummy ( ULx_E, c_applId_S6a ),
					session_Id							:= m_sessionId_dummy,
                    uLR_Body							:= m_S6a_ULR_Body_dummy
				}
				template ULR_Body_AVP m_S6a_ULR_Body_dummy := {
					vendor_Specific_Application_Id		:= omit,
                    auth_Session_State					:= m_auth_Session_State_dummy,
                	origin_Host							:= m_originHost_dummy,
                	origin_Realm						:= m_originRealm_dummy,
                	destination_Host					:= omit,
                	destination_Realm					:= m_destinationRealm_dummy,
                    user_Name							:= m_user_Name_dummy,
					supported_Features					:= omit,
                	terminal_Information				:= omit,
                	rat_Type							:= m_rATType_dummy,
                	ulr_Flags							:= m_ulrFlags_dummy,
                	ue_SRVCC_Capability					:= omit,
                	visited_PLMN_Id						:= m_visitedPLMNId_dummy,
                	sgsn_Number							:= omit,
               	 	homogeneous_Support					:= omit,
                	gmlc_Address						:= omit,
                	active_APN							:= omit,
					proxy_Info							:= omit,
					route_Record						:= omit,
					aVP_Type							:= omit
				}

				template AIR_MSG m_S6a_AIR_dummy := {
                	header								:= m_s6adiameterHeaderReq_dummy ( AIx_E, c_applId_S6a ),
					session_Id							:= m_sessionId_dummy,
                    aIR_Body							:= m_S6a_AIR_Body_dummy
				}
				template AIR_Body_AVP m_S6a_AIR_Body_dummy := {
					vendor_Specific_Application_Id		:= omit,
                    auth_Session_State					:= m_auth_Session_State_dummy,
                	origin_Host							:= m_originHost_dummy,
                	origin_Realm						:= m_originRealm_dummy,
                	destination_Host					:= omit,
                	destination_Realm					:= m_destinationRealm_dummy,
                    user_Name							:= m_user_Name_dummy,
					supported_Features					:= omit,
                	req_EUTRAN_Auth_Info				:= m_reqEUTRANAuthInfo_dummy,
                	req_UTRAN_GERAN_Auth_Info			:= m_reqUTRANGERANAuthInfo_dummy,
                	visited_PLMN_Id						:= m_visitedPLMNId_dummy,
					proxy_Info							:= omit,
					route_Record						:= omit,
					aVP_Type							:= omit
			}
          } // end group S6aDummy_request_templates_send

          group S6aDummy_request_templates_receive {
              
              template ULR_MSG mw_uLR_dummy := 
              {
                  header := ?,							// TODO <ULR>  ::= < Diameter Header: 316, REQ, PXY, 16777251 >
                  session_Id := ?,						//
              	template ULR_MSG mw_uLR_dummy := {
              		header								:= mw_s6adiameterHeaderReq_dummy ( ULx_E, c_applId_S6a ),
                  	session_Id							:= ?,
                    uLR_Body							:= mw_S6a_ULR_Body_dummy
				}
				template ULR_Body_AVP mw_S6a_ULR_Body_dummy := {
                  	vendor_Specific_Application_Id		:= *,
                  	auth_Session_State					:= ?,
                  	origin_Host							:= ?,
@@ -81,11 +169,32 @@ module DiameterS6a_Templates {
                  	homogeneous_Support					:= *,
                  	gmlc_Address						:= *,
                  	active_APN							:= *,
                  aVP_Type						:= *,
                  	proxy_Info							:= *,
                  route_Record					:= *
                  	route_Record						:= *,
                  	aVP_Type							:= *
              }    

				template AIR_MSG mw_S6a_AIR_dummy := {
                	header								:= mw_s6adiameterHeaderReq_dummy ( AIx_E, c_applId_S6a ),
					session_Id							:= ?,
                    aIR_Body							:= mw_S6a_AIR_Body_dummy
				}
				template AIR_Body_AVP mw_S6a_AIR_Body_dummy := {
					vendor_Specific_Application_Id		:= *,
                    auth_Session_State					:= ?,
                	origin_Host							:= ?,
                	origin_Realm						:= ?,
                	destination_Host					:= *,
                	destination_Realm					:= ?,
                    user_Name							:= ?,
					supported_Features					:= *,
                	req_EUTRAN_Auth_Info				:= ?,
                	req_UTRAN_GERAN_Auth_Info			:= ?,
                	visited_PLMN_Id						:= ?,
					proxy_Info							:= *,
					route_Record						:= *,
					aVP_Type							:= *
			}
          }//end group S6aDummy_request_templates_receive

          group S6aDummy_answer_templates_send {
+143 −68

File changed.

Preview size limit exceeded, changes collapsed.