Commit f7921447 authored by schmitting's avatar schmitting
Browse files

Changed during "Validation" session in week 10/2013

parent 388c242d
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -55,12 +55,9 @@ module LibDiameter_Interface
      var template Result_Code_AVP vc_resultCode;
      var template Media_Component_Description_AVP vc_mediaComponentDescription;
        
      // indicators set/used parameter status or state handling in default
      var boolean 		vc_ignore_CER_before_sync_establishement		:= true; 	// disable ignore CER when it is received in preamble
        
      //general timers
      timer tc_wait  := 135.0;  //define PIXIT if needed
      timer tc_msg_wait  := 5.0;
      timer tc_wait  := 5.0;  // define PIXIT if needed
      timer tc_delay := 1.0;  // delay next Request
  		
      // variables for storing default references
	  var default 	vc_default_diameter;
+129 −70

File changed.

Preview size limit exceeded, changes collapsed.

+83 −72
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ module LibDiameter_Templates {
	//LibCommon    
    import from LibCommon_DataStrings {type Bit1, Bit4, Bit5, Bit8;}//all;
    import from LibCommon_BasicTypesAndValues {type UInt8, UInt32;};
    import from LibCommon_TextStrings { const c_NUL;};
    
    //LibDiameter
    import from LibDiameter_TypesAndValues all;
    import from LibDiameter_PIXITS all;
@@ -212,7 +212,7 @@ module LibDiameter_Templates {
                endid := 0
            }
            
            template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template (present) UInt32 p_applid) := {
            template DiameterHeader mw_diameterHeaderAns_dummy(Command_Code p_cmdcode, template UInt32 p_applid) := {
                version := c_versionId,
                msglen := ?,					//Message lenght with AVPs has to be calculated
                cmdflags := mw_cmdFlags,		//RPETrrrr 
@@ -250,10 +250,10 @@ module LibDiameter_Templates {
                aVP_vid := *
        	}

            template AVP_Header m_aVP_Header(AVP_Code p_avpCode) := {
            template AVP_Header m_aVP_Header(AVP_Code p_avpCode, AVP_Length p_dataLen:=0) := {
                aVP_Code := p_avpCode,
                aVP_flags := m_avpFlags,
                aVP_len := 8,
                aVP_len := 8 + p_dataLen,
                aVP_vid := omit
        	}

@@ -294,82 +294,82 @@ module LibDiameter_Templates {
        group DummyAVPHeaders{  
            
            template Host_IP_Address_AVP m_hostIPAddress_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP),
				aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP,6),
				aVP_Data := {addressFamily := int2oct(1,2), ipAddress := {ipv4 := {127, 0, 0, 0}}}
			}        
            
            template Origin_Host_AVP m_originHost_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP),
                aVP_Data := ""
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP, 3),
                aVP_Data := "abc"
            }
            
            template Origin_Realm_AVP m_originRealm_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP),
                aVP_Data := ""
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Realm_AVP, 3),
                aVP_Data := "abc"
            }
            
            template Vendor_Id_AVP m_vendorId_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP),
                aVP_Header := m_aVP_Header(c_vendIdVendor_Id_AVP, 4),
                aVP_Data := 0
            }

            template Product_Name_AVP m_productName_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP),
                aVP_Data := ""
                aVP_Header := m_aVP_Header(c_vendIdProduct_Name_AVP, 3),
                aVP_Data := "abc"
            }
            
            template Disconnect_Cause_AVP m_disconnectCause_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP),
                aVP_Header := m_aVP_Header(c_vendIdDisconnect_Cause_AVP, 4),
                aVP_Data := REBOOTING_E
            }
            
            template Result_Code_AVP m_resultCode_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP),
                aVP_Header := m_aVP_Header(c_vendIdResult_Code_AVP, 4),
                aVP_Data := DIAMETER_DUMMY_E
            }
    
            template Destination_Host_AVP m_destinationHost_dummy := 
            {
                aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP),
                aVP_Data := ""
                aVP_Header := m_aVP_Header(c_vendIdDestination_Host_AVP, 3),
                aVP_Data := "abc"
            }
         
            template Destination_Realm_AVP m_destinationRealm_dummy := 
            {
                aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP),
                aVP_Data := ""
                aVP_Header := m_aVP_Header(c_vendIdDestination_Realm_AVP, 3),
                aVP_Data := "abc"
            }
            
            template Termination_Cause_AVP m_terminationCause_dummy := 
            {
                aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP),
                aVP_Header := m_aVP_Header(c_vendIdTermination_Cause_AVP, 4),
                aVP_Data := DIAMETER_LOGOUT_E
            }
            
            template Session_Id_AVP m_sessionId_dummy := 
            {
				aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP),
                aVP_Data := ""
				aVP_Header := m_aVP_Header(c_vendIdSession_Id_AVP, 3),
                aVP_Data := "abc"
            }
            
            template Auth_Application_Id_AVP m_authApplicationId_dummy := 
            {
                aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP),
                aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4),
                aVP_Data := 0
            }
            
            template Accounting_Record_Type_AVP m_accounting_Record_Type_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP),
				aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Type_AVP,4),
				aVP_Data := EVENT_RECORD_E
            }
            
            template Accounting_Record_Number_AVP m_accounting_Record_Number_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP),
				aVP_Header := m_aVP_Header(c_vendIdAccounting_Record_Number_AVP,4),
				aVP_Data := 0
            }
            
            template Auth_Session_State_AVP m_auth_Session_State_dummy := {
            	aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP),
            	aVP_Header := m_aVP_Header(c_vendIdAuth_Session_State_AVP,4),
            	aVP_Data := STATE_MAINTAINED_E
			}
			
@@ -384,31 +384,32 @@ module LibDiameter_Templates {
//            }
            
            template SIP_AOR_AVP m_sIP_AOR_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP),
                aVP_Header := m_aVP_Header(c_vendIdSIP_AOR_AVP,6),
                aVP_Data := {
                    scheme := "aaa://",
                    hostPort := {"", omit},
                    scheme := "sip",
                    userInfo := {"dbo"},
                    hostPort := omit,
                    urlParameters := omit
                }
            }
            
            template SIP_Visited_Network_Id_AVP m_sIP_Visited_Network_Id_dummy := {
            	aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP),
            	aVP_Data := ""
            	aVP_Header := m_aVP_Header(c_vendIdSIP_Visited_Network_Id_AVP,6),
            	aVP_Data := "abcabc"
			}
            
            template SIP_User_Authorization_Type_AVP m_sIP_User_Authorization_Type_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP),
                aVP_Header := m_aVP_Header(c_vendIdSIP_User_Authorization_Type_AVP,4),
                aVP_Data := REGISTRATION_E
			}
			
			template SIP_User_Data_Already_Available_AVP m_sIP_User_Data_Already_Available_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP),
                aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Already_Available_AVP,4),
                aVP_Data := USER_DATA_NOT_AVAILABLE_E
            }
            
            template SIP_Server_Assignment_Type_AVP m_sIP_Server_Assignment_Type_dummy := {
            	aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP),
            	aVP_Header := m_aVP_Header(c_vendIdSIP_Server_Assignment_Type_AVP,4),
            	aVP_Data := NO_ASSIGNMENT_E
            }
            
@@ -416,11 +417,11 @@ module LibDiameter_Templates {
            {
            	aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_AVP),
            	sIP_User_Data_Type := {
            		aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP),
            		aVP_Data := ""
            		aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Type_AVP,3),
            		aVP_Data := "abc"
            	},
            	sIP_User_Data_Contents := {
             		aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP),
             		aVP_Header := m_aVP_Header(c_vendIdSIP_User_Data_Contents_AVP,1),
            		aVP_Data := '00'O
            	},
            	aVP_Type := omit
@@ -434,25 +435,25 @@ module LibDiameter_Templates {
            }
            
            template SIP_Method_AVP m_sIP_Method_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP),
				aVP_Data := ""
				aVP_Header := m_aVP_Header(c_vendIdSIP_Method_AVP,3),
				aVP_Data := "sip"
            }
            
            template SIP_Deregistration_Reason_AVP m_sIP_Deregistration_Reason_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP),
				aVP_Header := m_aVP_Header(c_vendIdSIP_Deregistration_Reason_AVP,8),
				sIP_Reason_Code_AVP := m_sIP_Reason_Code_dummy,
				sIP_Reason_Info_AVP := omit,
				aVP_Type := omit
            }
            
            template SIP_Reason_Code_AVP m_sIP_Reason_Code_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP),
				aVP_Header := m_aVP_Header(c_vendIdSIP_Reason_Code_AVP,4),
				aVP_Data := PERMANENT_TERMINATION_E
            }
            
            template User_Name_AVP m_user_Name_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP),
				aVP_Data := ""
				aVP_Header := m_aVP_Header(c_vendIdUser_Name_AVP,3),
				aVP_Data := "dbo"
            }
            
            template User_Identity_AVP m_user_Identity_dummy := {
@@ -463,22 +464,22 @@ module LibDiameter_Templates {
            }
            
            template User_Data_AVP m_user_Data_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP),
				aVP_Header := m_aVP_Header(c_vendIdUser_Data_AVP, 1),
				aVP_Data := '00'O
            }
            
            template CC_Request_Type_AVP m_cC_Request_Type_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP),
				aVP_Header := m_aVP_Header(c_vendIdCC_Request_Type_AVP,4),
				aVP_Data := INITIAL_REQUEST_E
            }
            
            template CC_Request_Number_AVP m_cC_Request_Number_dummy := {
				aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP),
				aVP_Header := m_aVP_Header(c_vendIdCC_Request_Number_AVP,4),
				aVP_Data := 0
            }
            
            template Data_Reference_AVP m_data_Reference_dummy := {
            	aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP),
            	aVP_Header := m_aVP_Header(c_vendIdData_Reference_AVP, 4),
            	aVP_Data := REPOSITORY_DATA_E
            }
            
@@ -493,6 +494,12 @@ module LibDiameter_Templates {

        group SpecificAVPHeaders {
            
            template Auth_Application_Id_AVP m_authApplicationId := 
            {
                aVP_Header := m_aVP_Header(c_vendIdAuth_Application_Id_AVP, 4),
                aVP_Data := c_applIdRx
            }
            
            template Host_IP_Address_AVP m_hostIPAddress(Address p_avpData) := {
                aVP_Header := m_aVP_HeaderVid(c_vendIdHost_IP_Address_AVP, f_IPAdressLength(), omit),
                aVP_Data := p_avpData
@@ -500,7 +507,7 @@ module LibDiameter_Templates {
            
            template Origin_Host_AVP m_originHost(charstring p_avpData) := {
				aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Host_AVP, lengthof(p_avpData), omit),
				aVP_Data := f_paddedBytes_string(p_avpData)
				aVP_Data := p_avpData
			}          
                    
            template Result_Code_AVP mw_resultCode(template (present)/*integer*/Result_Code_Type p_avpData) := {
@@ -535,12 +542,17 @@ module LibDiameter_Templates {
			template Origin_Realm_AVP m_originRealm(template(value) charstring p_avpData) := 
			{
				aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Realm_AVP, lengthof(p_avpData), omit),
				aVP_Data := f_paddedBytes_string(p_avpData)
				aVP_Data := p_avpData
			}
            
            template Product_Name_AVP m_productName(template(value) universal charstring p_avpData) := {
                aVP_Header := m_aVP_HeaderVid(c_vendIdProduct_Name_AVP, lengthof(p_avpData), omit),
                aVP_Data := f_paddedBytes_string(p_avpData)
                aVP_Data := p_avpData
            }
            
            template Vendor_Id_AVP m_supportedVendorId(template(value) UInt32 p_avpData) := {
                aVP_Header := m_aVP_HeaderVid(c_vendIdSupported_Vendor_Id_AVP, 4, omit),
                aVP_Data := p_avpData
            }
            
            template Vendor_Id_AVP m_vendorId(template(value) UInt32 p_avpData) := {
@@ -548,6 +560,13 @@ module LibDiameter_Templates {
                aVP_Data := p_avpData
            }
            
            template Vendor_Specific_Appl_Id_AVP m_vendor_Specific_Appl_Id := {
            	aVP_Header := m_aVP_HeaderVid(c_vendIdVendor_Specific_Appl_Id_AVP, 24, omit),
            	vendor_Id := {m_vendorId(c_vendId3gpp)},
            	auth_Application_Id := {m_authApplicationId},
            	acct_Application_Id := omit
            }

            template Disconnect_Cause_AVP m_disconnectCause(Disconnect_Cause_Type p_aVP_Data) := {
                aVP_Header := m_aVP_HeaderVid(c_vendIdDisconnect_Cause_AVP, 4, omit ),
                aVP_Data := p_aVP_Data
@@ -902,7 +921,7 @@ module LibDiameter_Templates {
				auth_Session_State := m_auth_Session_State_dummy,
				origin_Host := m_originHost_dummy,
				origin_Realm := m_originRealm_dummy,
				destination_Host := m_destinationRealm_dummy,
				destination_Host := m_destinationHost_dummy,
				sIP_Deregistration_Reason := m_sIP_Deregistration_Reason_dummy,
				destination_Realm := m_destinationRealm_dummy,
				user_Name := omit,
@@ -1385,7 +1404,7 @@ module LibDiameter_Templates {
                            
              template AAA_MSG m_AAA_dummy := 
              {
                  header := m_diameterHeaderReq_dummy(AAA_E, c_applIdCommonMsg),
                  header := m_diameterHeaderAns_dummy(AAA_E, c_applIdCommonMsg),
                  session_Id := m_sessionId_dummy,
                  result_Code := omit,
                  origin_Host := m_originHost_dummy,
@@ -2141,7 +2160,10 @@ module LibDiameter_Templates {
				origin_Realm := p_originRealm,
				host_IP_Address := {m_hostIPAddress(p_address)},
				vendor_Id := m_vendorId(c_vendId3gpp),
				product_Name := m_productName("ETSI")
				product_Name := m_productName("ETSI"),
                supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
                vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id},
                auth_Application_Id := {m_authApplicationId}
			}

            template DWR_MSG m_DWR_basic(template (present) Origin_Host_AVP p_originHost,
@@ -2171,8 +2193,12 @@ module LibDiameter_Templates {
                origin_Realm := p_originRealm,
                host_IP_Address := {m_hostIPAddress(p_address)},
                vendor_Id := m_vendorId(c_vendId3gpp),
                product_Name := m_productName("ETSI")
                product_Name := m_productName("ETSI"),
                supported_Vendor_Id := {m_supportedVendorId(c_vendId3gpp)},
                vendor_Specific_Application_Id := {m_vendor_Specific_Appl_Id},
                auth_Application_Id := {m_authApplicationId}
            }
            
            template DWA_MSG m_DWA_basic(template Origin_Host_AVP p_originHost,
                                         template Origin_Realm_AVP p_originRealm) modifies m_DWA_dummy := {
                result_Code := m_resultCode(m_resultCode_diameterSuccess),                                           
@@ -2207,25 +2233,10 @@ module LibDiameter_Templates {
        function f_IPAdressLength ()
        	return integer
        {if (PX_IPv6)
        	{return(18) }//16 for IPv6 + 2 for IP familly
        	else {return(6) }// 4 for IPv4 + 2 for IP family
        	{return(16+2) } //+2 address family
        	else {return(4+2) }
        }
    
        function f_paddedBytes_string(in charstring p_char) return charstring {
            var integer v_string_length := lengthof(p_char);
            var charstring v_additionalPaddedString;

        	select(v_string_length mod 4){
                case (0) {v_additionalPaddedString:=""}
                case (1) {v_additionalPaddedString:=c_NUL & c_NUL & c_NUL}
                case (2) {v_additionalPaddedString:=c_NUL & c_NUL}
                case (3) {v_additionalPaddedString:=c_NUL}
        	}
	
            return p_char & v_additionalPaddedString;						
		
        } // end function f_paddedBytes_string
    
    }//end group FunctionsForTemplates  
    
}//end module LibDiameter_Templates
 No newline at end of file