Commit 490728ec authored by pintar's avatar pintar
Browse files

CER message for preamble and basic and Rx Diameter distinction

parent 8f6190af
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -45,13 +45,18 @@ module LibDiameter_Interface
      var template Session_Id_AVP vc_sessionId;
      var template Origin_Host_AVP vc_originHost;
      var template Origin_Realm_AVP vc_originRealm;
      var Address vc_hostIPAddress;		//Address of CER for hostIPAddress AVP
      
      var template Destination_Host_AVP vc_destinationHost;
      var template Destination_Realm_AVP vc_destinationRealm;
      var template Auth_Application_Id_AVP vc_authApplicationId;
      
      var template Termination_Cause_AVP vc_terminationCause;
      var template Result_Code_AVP vc_resultCode;
      var template Media_Component_Description_AVP vc_mediaComponentDescription;
      
      
      
	    
      //TODO general timers have to be defined
      timer tc_wait  := 5.0;  //TODO define PIXIT if needed
  		
+5 −0
Original line number Diff line number Diff line
@@ -19,6 +19,11 @@ module LibDiameter_PIXITS
      */
      modulepar boolean	PX_DIAM_LLP_ENABLED := false;
	
      /** @desc	boolean (This is an operator option, not a protocol option), 
                  True, if IPv6 addresses are used
      */
      modulepar boolean PX_IPv6 	:= true;

	} //group Diameter_PIXITparameters
  
} // end module DiameterSip_PIXITS
 No newline at end of file
+9 −4
Original line number Diff line number Diff line
@@ -132,7 +132,6 @@ group AwaitingMessage {
        vc_sessionId := vc_recvDiamMsg.aAR_MSG.session_Id;
        vc_originHost := vc_recvDiamMsg.aAR_MSG.origin_Host;
        vc_originRealm := vc_recvDiamMsg.aAR_MSG.origin_Realm;
        vc_authApplicationId := vc_recvDiamMsg.aAR_MSG.auth_Application_Id;
        
    }
    
@@ -599,6 +598,12 @@ group GlobalSteps {
                  
            } // end function f_Diameter_Set_Headers
            
            function f_IPAdresss (IPv4Addr p_ipv4,IPv6Addr p_ipv6)
            	return template Address
        	{if (PX_IPv6)
        	    {return( {ipv6:= p_ipv6  }  ) }
        	    else {return( {ipv4:= p_ipv4 }   )}
        	}      

}// end group GlobalSteps

@@ -677,7 +682,7 @@ group Preambles {
        function f_preambleDiameterBase()runs on DiameterComponent
        {
            //TODO define templates
//            f_send_CER(m_CER);
            f_send_CER(m_CER_basic(vc_originHost, vc_originRealm, vc_hostIPAddress));
//            f_awaiting_CEA(mw_CEA);
            f_send_DWR(m_DWR_basic(vc_originHost, vc_originRealm));
            f_awaiting_DWA(mw_DWA_dummy);
+36 −3
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@ module LibDiameter_Templates {
    
    //LibDiameter
    import from LibDiameter_TypesAndValues all;
//    import from AtsCommon_PIXITS all;
    import from LibDiameter_PIXITS all;
    
    group LowerLayerPrimitives {
        
@@ -246,6 +246,11 @@ module LibDiameter_Templates {
        
        group DummyAVPHeaders{  
            
            template Host_IP_Address_AVP m_hostIPAddress_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdHost_IP_Address_AVP),
                aVP_Data := {ipv4 := {0,0,0,0}} 
            }        
            
            template Origin_Host_AVP m_originHost_dummy := {
                aVP_Header := m_aVP_Header(c_vendIdOrigin_Host_AVP),
                aVP_Data := ""
@@ -280,6 +285,11 @@ module LibDiameter_Templates {

        group SpecificAVPHeaders {
            
            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
            }
            
            template Origin_Host_AVP m_originHost(charstring p_avpData) := {
				aVP_Header := m_aVP_HeaderVid(c_vendIdOrigin_Host_AVP, lengthof(p_avpData), omit),
				aVP_Data := p_avpData
@@ -469,6 +479,18 @@ module LibDiameter_Templates {
          
        group basic_request_templates_send {
            
            
              
            template CER_MSG m_CER_basic(template Origin_Host_AVP p_originHost,
            							 template Origin_Realm_AVP p_originRealm,
            							 Address p_address) modifies m_CER_dummy := {
				origin_Host := p_originHost,
				origin_Realm := p_originRealm,
				host_IP_Address := {m_hostIPAddress(p_address)}
				//vendor_Id := m_vendorId_dummy,
				//product_Name := m_productName_dummy
			}

            template DWR_MSG m_DWR_basic(template Origin_Host_AVP p_originHost,
    									 template Origin_Realm_AVP p_originRealm) modifies m_DWR_dummy := {
            	origin_Host := p_originHost,
@@ -504,4 +526,15 @@ module LibDiameter_Templates {
	  } //end group modified_templates
    } //end group MessageTemplates
    
    group FunctionsForTemplates {
    	    
        function f_IPAdressLength ()
        	return integer
        {if (PX_IPv6)
        	{return(8) }
        	else {return(4) }
        }
    
    }//end group FunctionsForTemplates  
    
}//end module LibDiameter_Templates
 No newline at end of file