Commit bf730c51 authored by schmitting's avatar schmitting
Browse files

Rx validation against PTInovacao finished

parent bca8757e
Loading
Loading
Loading
Loading
+19 −5
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@ module DiameterRx_PIXITS
    
    
                    Ref: TS 129 214 5-4, table 5-4-1
                    Ref: TS 129 214 5-4, table 5-4-1
        */
        */
    	modulepar octetstring PX_UE1_framedIpAddress := 'ffffffff'O;
    	modulepar octetstring PX_UE1_framedIpAddress := '0a0a0a0a'O;
    		
    		
        /** @desc	octetstring ,  PIXIT item A-1/7
        /** @desc	octetstring ,  PIXIT item A-1/7
                    (This is an operator option, not a protocol option), 
                    (This is an operator option, not a protocol option), 
@@ -83,7 +83,7 @@ module DiameterRx_PIXITS
    
    
                    Ref: TS 129 214 5-4, table 5-4-1
                    Ref: TS 129 214 5-4, table 5-4-1
        */
        */
        modulepar octetstring PX_UE2_framedIpAddress := 'ffffffff'O;
        modulepar octetstring PX_UE2_framedIpAddress := '0a0a0a0a'O;
    	
    	
        /** @desc	octetstring,  PIXIT item A-1/8
        /** @desc	octetstring,  PIXIT item A-1/8
          			(This is an operator option, not a protocol option), 
          			(This is an operator option, not a protocol option), 
@@ -98,7 +98,7 @@ module DiameterRx_PIXITS
    
    
                    Ref: TS 129 214 5-4, table 5-4-1
                    Ref: TS 129 214 5-4, table 5-4-1
        */
        */
        modulepar octetstring PX_UE1_framedIp6Address := 'ffffffff'O;
        modulepar octetstring PX_UE1_framedIp6Address := '0a0a0a0a'O;
    	
    	
        /** @desc	octetstring,  PIXIT item A-1/8
        /** @desc	octetstring,  PIXIT item A-1/8
                    (This is an operator option, not a protocol option), 
                    (This is an operator option, not a protocol option), 
@@ -113,7 +113,7 @@ module DiameterRx_PIXITS
    
    
                    Ref: TS 129 214 5-4, table 5-4-1
                    Ref: TS 129 214 5-4, table 5-4-1
        */
        */
        modulepar octetstring PX_UE2_framedIp6Address := 'ffffffff'O;
        modulepar octetstring PX_UE2_framedIp6Address := '0a0a0a0a'O;
    
    
    
    
    	
    	
@@ -212,7 +212,21 @@ module DiameterRx_PIXITS
       The Media Component Number in type IPv6Addr format
       The Media Component Number in type IPv6Addr format
    
    
        */        
        */        
        modulepar UInt32 PX_MediaComponentNr := 0
        modulepar UInt32 PX_MediaComponentNr := 0;
        
        /** @desc	charstring, PIXIT item A-1/17 
                     
       The Sponsor Identity in type charstring format
    
        */        
        modulepar charstring PX_SPONSOR_ID := "Google";
        
        /** @desc	charstring, PIXIT item A-1/18 
                     
       The Application Service Provider Identity in type charstring format
    
        */        
        modulepar charstring PX_APPLICATION_SERVICE_PROVIDER_ID := "GoogleCall";
        
        
	} //end group DiameterCommonRxData
	} //end group DiameterCommonRxData


+10 −6
Original line number Original line Diff line number Diff line
@@ -831,7 +831,7 @@ module DiameterRx_Rx_TCFunctions {
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(ENABLED_E)),
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(ENABLED_E)),
                    							m_mspIdentifier, // MPS_Identifier_AVP
                    							m_mspIdentifier, // MPS_Identifier_AVP
                    							m_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), // Service_Info_Status_AVP
                    							m_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), // Service_Info_Status_AVP
                    							m_sponsoredConnectivityData_SI_ASPI_GSU(m_sponsorIdentity("1234"),m_applicationServiceProviderIdentity("1234"),m_grantedServiceUnit), // Sponsored_Connectivity_Data_AVP
                    							m_sponsoredConnectivityData_SI_ASPI_GSU(m_sponsorIdentity(PX_SPONSOR_ID),m_applicationServiceProviderIdentity(PX_APPLICATION_SERVICE_PROVIDER_ID),m_grantedServiceUnit), // Sponsored_Connectivity_Data_AVP
                    							{m_specificAction(USAGE_REPORT_E)} // Setof_Specific_Action_AVP
                    							{m_specificAction(USAGE_REPORT_E)} // Setof_Specific_Action_AVP
                    							)                    							
                    							)                    							
                    			);
                    			);
@@ -861,6 +861,8 @@ module DiameterRx_Rx_TCFunctions {
												vc_originRealm,
												vc_originRealm,
                    							vc_destinationRealm,
                    							vc_destinationRealm,
   												vc_destinationHost,
   												vc_destinationHost,
                                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                    							m_sponsoredConnectivityData_SI_ASPI(m_sponsorIdentity("1234"),m_applicationServiceProviderIdentity("1234")) // Sponsored_Connectivity_Data_AVP
                    							m_sponsoredConnectivityData_SI_ASPI(m_sponsorIdentity("1234"),m_applicationServiceProviderIdentity("1234")) // Sponsored_Connectivity_Data_AVP
                    							)                    							
                    							)                    							
                    			);
                    			);
@@ -897,7 +899,7 @@ module DiameterRx_Rx_TCFunctions {
   												vc_destinationHost,
   												vc_destinationHost,
												f_framedIpAddress4_send(PX_UE1_framedIpAddress),
												f_framedIpAddress4_send(PX_UE1_framedIpAddress),
												f_framedIpAddress6_send(PX_UE1_framedIp6Address), 
												f_framedIpAddress6_send(PX_UE1_framedIp6Address), 
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(ENABLED_E))));
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(DISABLED_E))));
                    
                    
                    f_awaiting_AAA(mw_AAA_modified_ResultCode_ANCA(?, ?, ?,
                    f_awaiting_AAA(mw_AAA_modified_ResultCode_ANCA(?, ?, ?,
																   mw_resultCode
																   mw_resultCode
@@ -938,7 +940,7 @@ module DiameterRx_Rx_TCFunctions {
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(ENABLED_E)),
                    							m_mediaComponentDescription_flowStatus(m_flowStatus(ENABLED_E)),
                    							m_mspIdentifier, // MPS_Identifier_AVP
                    							m_mspIdentifier, // MPS_Identifier_AVP
                    							m_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), // Service_Info_Status_AVP
                    							m_serviceInfoStatus(FINAL_SERVICE_INFORMATION_E), // Service_Info_Status_AVP
                    							m_sponsoredConnectivityData_SI_ASPI_GSU(m_sponsorIdentity("1234"),m_applicationServiceProviderIdentity("1234"),m_grantedServiceUnit), // Sponsored_Connectivity_Data_AVP
                    							m_sponsoredConnectivityData_SI_ASPI_GSU(m_sponsorIdentity(PX_SPONSOR_ID),m_applicationServiceProviderIdentity(PX_APPLICATION_SERVICE_PROVIDER_ID),m_grantedServiceUnit), // Sponsored_Connectivity_Data_AVP
                    							{m_specificAction(USAGE_REPORT_E)} // Setof_Specific_Action_AVP
                    							{m_specificAction(USAGE_REPORT_E)} // Setof_Specific_Action_AVP
                    							)                    							
                    							)                    							
                    			);
                    			);
@@ -972,7 +974,7 @@ module DiameterRx_Rx_TCFunctions {
                    
                    
                    f_awaiting_RAR(mw_RAR_specificAction(INDICATION_OF_FAILED_RESOURCES_ALLOCATION_E));
                    f_awaiting_RAR(mw_RAR_specificAction(INDICATION_OF_FAILED_RESOURCES_ALLOCATION_E));
				
				
                    f_send_RAA(m_RAA_basic(vc_sessionId, vc_originHost, vc_originRealm));
                    f_send_RAA(m_RAA(vc_sessionId, vc_originHost, vc_originRealm));
                    
                    
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync
                    f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict()); // sync


@@ -1026,14 +1028,16 @@ module DiameterRx_Rx_TCFunctions {
                                                vc_originRealm,
                                                vc_originRealm,
                                                vc_destinationRealm,
                                                vc_destinationRealm,
                                                vc_destinationHost,
                                                vc_destinationHost,
                                                m_sponsoredConnectivityData_SI_ASPI(m_sponsorIdentity("1234"),m_applicationServiceProviderIdentity("1234")) // Sponsored_Connectivity_Data_AVP
                                                f_framedIpAddress4_send(PX_UE1_framedIpAddress),
                                                f_framedIpAddress6_send(PX_UE1_framedIp6Address),
                                                m_sponsoredConnectivityData_SI_ASPI(m_sponsorIdentity(PX_SPONSOR_ID),m_applicationServiceProviderIdentity(PX_APPLICATION_SERVICE_PROVIDER_ID)) // Sponsored_Connectivity_Data_AVP
                                                )                    							
                                                )                    							
                                );
                                );
                    
                    
                    f_awaiting_AAA(mw_AAA_modified_ResultCode_ANCA(?, ?, ?,
                    f_awaiting_AAA(mw_AAA_modified_ResultCode_ANCA(?, ?, ?,
                                                                   mw_resultCode
                                                                   mw_resultCode
                                                                   (mw_resultCode_diameterSuccess)
                                                                   (mw_resultCode_diameterSuccess)
                                                                   , ?)); // ANCA-AVP present
                                                                   , *)); // ANCA-AVP present
                    
                    
					f_send_STR(m_STR_basic(vc_sessionId, vc_originHost, // Tester initiates termination
					f_send_STR(m_STR_basic(vc_sessionId, vc_originHost, // Tester initiates termination
										   vc_originRealm, vc_destinationRealm,
										   vc_originRealm, vc_destinationRealm,
+31 −11
Original line number Original line Diff line number Diff line
@@ -96,8 +96,8 @@ module DiameterRx_Templates {
    
    
        template Media_Sub_Component_AVP m_mediaSubComponentUN (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType ) := {
        template Media_Sub_Component_AVP m_mediaSubComponentUN (template UInt32 p_flowNumber, template Flow_Usage_Type p_flowUsageType ) := {
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
                                            12 // flow_Number
                                            16 // flow_Number 12+4 for vendorId
                                            + 12, // flow_Usage
                                            + 16, // flow_Usage 12+4 for vendorId
                                            c_vendId3gpp),
                                            c_vendId3gpp),
             flow_Number := {aVP_Header := m_aVP_HeaderVid_Mbit1(c_flow_Number_AVP_Code,4, c_vendId3gpp), aVP_Data := p_flowNumber},
             flow_Number := {aVP_Header := m_aVP_HeaderVid_Mbit1(c_flow_Number_AVP_Code,4, c_vendId3gpp), aVP_Data := p_flowNumber},
             flow_Description := omit,
             flow_Description := omit,
@@ -117,10 +117,10 @@ module DiameterRx_Templates {
                 template(value) Flow_Status_AVP p_FlowStatus,
                 template(value) Flow_Status_AVP p_FlowStatus,
                 template(value) AF_Signalling_Protocol_AVP p_afSignallingProtocol) := {
                 template(value) AF_Signalling_Protocol_AVP p_afSignallingProtocol) := {
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
                                12 // flow_Number
                                16 // flow_Number 12+4 for vendorId
                                + f_getByteAlignedLength(p_flowDescription1.aVP_Header.aVP_len)
                                + f_getByteAlignedLength(p_flowDescription1.aVP_Header.aVP_len)
                                + f_getByteAlignedLength(p_flowDescription2.aVP_Header.aVP_len)
                                + f_getByteAlignedLength(p_flowDescription2.aVP_Header.aVP_len)
                                + 12 // flow_Usage
                                + 16 // flow_Usage 12+4 for vendorId
                                + f_getByteAlignedLength(p_FlowStatus.aVP_Header.aVP_len)
                                + f_getByteAlignedLength(p_FlowStatus.aVP_Header.aVP_len)
                                + f_getByteAlignedLength(p_afSignallingProtocol.aVP_Header.aVP_len),
                                + f_getByteAlignedLength(p_afSignallingProtocol.aVP_Header.aVP_len),
                                c_vendId3gpp),
                                c_vendId3gpp),
@@ -136,7 +136,7 @@ module DiameterRx_Templates {
			
			
        template Media_Sub_Component_AVP m_mediaSubComponentN (template UInt32 p_flowNumber) := {
        template Media_Sub_Component_AVP m_mediaSubComponentN (template UInt32 p_flowNumber) := {
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
             aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Sub_Component_AVP_Code,
                                            12, // flow_Number
                                            16, // flow_Number 12+4 for vendorId
                                            c_vendId3gpp),
                                            c_vendId3gpp),
             flow_Number := {aVP_Header := m_aVP_HeaderVid_Mbit1(c_flow_Number_AVP_Code,4, c_vendId3gpp), aVP_Data := p_flowNumber},
             flow_Number := {aVP_Header := m_aVP_HeaderVid_Mbit1(c_flow_Number_AVP_Code,4, c_vendId3gpp), aVP_Data := p_flowNumber},
             flow_Description := omit,
             flow_Description := omit,
@@ -197,9 +197,9 @@ module DiameterRx_Templates {


        template Granted_Service_Unit_AVP m_grantedServiceUnit := {
        template Granted_Service_Unit_AVP m_grantedServiceUnit := {
			//	Ref: RFC4006 8.17.  Granted-Service-Unit AVP
			//	Ref: RFC4006 8.17.  Granted-Service-Unit AVP
             	aVP_Header := m_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code,0, omit),
             	aVP_Header := m_aVP_HeaderVid_Mbit1(c_granted_Service_Unit_AVP_Code,12, omit),
            	tariff_Time_Change  := omit,
            	tariff_Time_Change  := omit,
				cC_Time  := omit,
				cC_Time  := m_cC_Time(1),
				cC_Money  := omit,
				cC_Money  := omit,
				cC_Total_Octets  := omit,
				cC_Total_Octets  := omit,
				cC_Input_Octets  := omit,
				cC_Input_Octets  := omit,
@@ -208,6 +208,12 @@ module DiameterRx_Templates {
				aVP_Type := omit				
				aVP_Type := omit				
			}
			}
	    
	    
        template CC_Time_AVP m_cC_Time(UInt32 p_avpData) := 
        {
            aVP_Header := m_aVP_HeaderVid_Mbit1(c_cC_Time_AVP_Code,4, omit),
            aVP_Data := p_avpData
        }



	    
	    
	} //end group SubFields
	} //end group SubFields
@@ -218,7 +224,7 @@ module DiameterRx_Templates {
            
            
            template Media_Component_Description_AVP m_mediaComponentDescription_dummy :=
            template Media_Component_Description_AVP m_mediaComponentDescription_dummy :=
    		{
    		{
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Component_Description_AVP_Code, 12, c_vendId3gpp), // considers lengths: media_Component_Nr
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Component_Description_AVP_Code, 16, c_vendId3gpp), // considers lengths: media_Component_Nr
    			media_Component_Nr := {
    			media_Component_Nr := {
    			    aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Component_Number_AVP_Code, 4, c_vendId3gpp),
    			    aVP_Header := m_aVP_HeaderVid_Mbit1(c_media_Component_Number_AVP_Code, 4, c_vendId3gpp),
    				aVP_Data := PX_MediaComponentNr
    				aVP_Data := PX_MediaComponentNr
@@ -331,7 +337,7 @@ module DiameterRx_Templates {
            
            
            template Framed_IP_Address_AVP m_framedIpAddress(template (value) octetstring p_avpData) :=
            template Framed_IP_Address_AVP m_framedIpAddress(template (value) octetstring p_avpData) :=
            { 
            { 
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_framed_IP_Address_AVP_Code, lengthof(p_avpData), c_vendId3gpp),
                aVP_Header := m_aVP_HeaderVid_Mbit1(c_framed_IP_Address_AVP_Code, lengthof(p_avpData), omit),
                aVP_Data := p_avpData
                aVP_Data := p_avpData
            }
            }
    		
    		
@@ -675,9 +681,18 @@ module DiameterRx_Templates {
            template ASA_MSG m_ASA_basic(template (value) Session_Id_AVP p_sessionId,
            template ASA_MSG m_ASA_basic(template (value) Session_Id_AVP p_sessionId,
										 template (value) Origin_Host_AVP p_originHost,
										 template (value) Origin_Host_AVP p_originHost,
                                         template (value) Origin_Realm_AVP p_originRealm) modifies m_ASA_dummy := {
                                         template (value) Origin_Realm_AVP p_originRealm) modifies m_ASA_dummy := {
                header := m_diameterHeaderAns_dummy(ASA_E, c_applIdRx),
                session_Id := p_sessionId,
                session_Id := p_sessionId,
                origin_Host := p_originHost,
                origin_Host := p_originHost,
                origin_Realm := p_originRealm
                origin_Realm := p_originRealm,
                result_Code := m_resultCode(m_resultCode_diameterSuccess)
            }

            template RAA_MSG m_RAA(template (value) Session_Id_AVP p_sessionId,
                                   template (value) Origin_Host_AVP p_originHost,
                                   template (value) Origin_Realm_AVP p_originRealm) modifies m_RAA_basic := {

                header := m_diameterHeaderAns_dummy(RAA_E, c_applIdRx)
            }
            }
            
            
			template STA_MSG m_STA_basic(template (value) Session_Id_AVP p_sessionId,
			template STA_MSG m_STA_basic(template (value) Session_Id_AVP p_sessionId,
@@ -814,10 +829,14 @@ module DiameterRx_Templates {
                                        template Origin_Realm_AVP p_originRealm,
                                        template Origin_Realm_AVP p_originRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Realm_AVP p_destinationRealm,
                                        template Destination_Host_AVP p_destinationHost,
                                        template Destination_Host_AVP p_destinationHost,
                                        template Framed_IP_Address_AVP p_framedIpAddress,
                                        template Framed_IPv6_Prefix_AVP p_framedIp6Address,
                                        template Sponsored_Connectivity_Data_AVP p_sponsored_Connectivity_Data                                    
                                        template Sponsored_Connectivity_Data_AVP p_sponsored_Connectivity_Data                                    
                                        )
                                        )
                  modifies m_AAR_basic := 
                  modifies m_AAR_basic := 
              {
              {
                  framed_IP_Address := p_framedIpAddress,
                  framed_IPv6_Address := p_framedIp6Address,
                  sponsored_Connectivity_Data := p_sponsored_Connectivity_Data
                  sponsored_Connectivity_Data := p_sponsored_Connectivity_Data
              }               
              }               


@@ -899,6 +918,7 @@ module DiameterRx_Templates {
            
            


            template RAR_MSG mw_RAR_specificAction(template Specific_Action_Type p_avpData) modifies mw_RAR_dummy := {
            template RAR_MSG mw_RAR_specificAction(template Specific_Action_Type p_avpData) modifies mw_RAR_dummy := {
              re_Auth_Request_Type := *, //at that time not required  within ETSI TS 129 214 or 3GPP 29 214
              specific_action := mw_specificAction(p_avpData)
              specific_action := mw_specificAction(p_avpData)
            }
            }