Commit 13ffcba3 authored by juvancic's avatar juvancic
Browse files

Merge branch 'STF574' of https://forge.etsi.org/rep/vxlte/vxlte-iop into STF574

new conf
parents 77b12ab4 dc2aeb3a
Loading
Loading
Loading
Loading
+184 −24
Original line number Diff line number Diff line
@@ -86,39 +86,165 @@ module AtsImsIot_Diameter_Templates {
            
            template QoS_Information_AVP mw_qoS_Information :=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier_AVP          := *,
                Max_Requested_Bandwidth_UL_AVP    := *,
                Max_Requested_Bandwidth_DL_AVP    := *,
                Guaranteed_Bitrate_UL_AVP         := *,
                Guaranteed_Bitrate_DL_AVP         := *,
                Bearer_Identifier_AVP             := ?,
                Allocation_Retention_Priority_AVP := *,
                APN_Aggregate_Max_Bitrate_UL_AVP  := ?,
                APN_Aggregate_Max_Bitrate_DL_AVP  := ?,
                AVP_Type                          := *
                aVP_Header                    := ?,
                qoS_Class_Identifier          := *,
                max_Requested_Bandwidth_UL    := *,
                max_Requested_Bandwidth_DL    := *,
                guaranteed_Bitrate_UL         := *,
                guaranteed_Bitrate_DL         := *,
                bearer_Identifier             := ?,
                allocation_Retention_Priority := *,
                aPN_Aggregate_Max_Bitrate_UL  := ?,
                aPN_Aggregate_Max_Bitrate_DL  := ?,
                aVP_Type                      := *
            }
            
            template QoS_Information_AVP mw_qoS_Information_Audio :=
            {
            	aVP_Header                    := ?,
                qoS_Class_Identifier          := mw_QoS_Class_Identifier(QCI_1_E),
                max_Requested_Bandwidth_UL    := ?,
                max_Requested_Bandwidth_DL    := ?,
                guaranteed_Bitrate_UL         := ?,
                guaranteed_Bitrate_DL         := ?,
                bearer_Identifier             := *,
                allocation_Retention_Priority := ?,
                aPN_Aggregate_Max_Bitrate_UL  := *,
                aPN_Aggregate_Max_Bitrate_DL  := *,
                aVP_Type                      := *
            }
            
            template QoS_Information_AVP mw_qoS_Information_Video :=
            {
                aVP_Header                    := ?,
                qoS_Class_Identifier          := mw_QoS_Class_Identifier(QCI_2_E),
                max_Requested_Bandwidth_UL    := ?,
                max_Requested_Bandwidth_DL    := ?,
                guaranteed_Bitrate_UL         := ?,
                guaranteed_Bitrate_DL         := ?,
                bearer_Identifier             := *,
                allocation_Retention_Priority := ?,
                aPN_Aggregate_Max_Bitrate_UL  := *,
                aPN_Aggregate_Max_Bitrate_DL  := *,
                aVP_Type                      := *
            }
            
            template Default_EPS_Bearer_QoS_AVP mw_default_EPS_Bearer_QoS_Class_5 :=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier_AVP          := mw_QoS_Class_Identifier,
                Allocation_Retention_Priority_AVP := mw_allocation_Retention_Priority,
                AVP_Type                          := *
                aVP_Header                        := ?,
                qoS_Class_Identifier              := mw_QoS_Class_Identifier(QCI_5_E),
                allocation_Retention_Priority     := mw_allocation_Retention_Priority,
                aVP_Type                          := *
            }
            
            template Allocation_Retention_Priority_AVP mw_allocation_Retention_Priority :=
            {
                AVP_Header                        := ?,
                Priority_Level_AVP                := ?,
                Pre_emption_Capability_AVP        := ?,
                Pre_emption_Vulnerability_AVP     := ?
                aVP_Header                        := ?,
                priority_Level                    := ?,
                pre_emption_Capability            := ?,
                pre_emption_Vulnerability         := ?
            }
            
            template QoS_Class_Identifier_AVP mw_QoS_Class_Identifier(template QoS_Class_Identifier p_avp_Data) :=
            {
                aVP_Header            := ?,
                aVP_Data              := p_avp_Data
            }

            template Bearer_Usage_AVP mw_bearer_Usage(Bearer_Usage p_avpData) :=
            {
                aVP_Header := ?,
                aVP_Data   := p_avpData
            }

            template Subscription_Id_AVP mw_subscription_Id(template Subscription_Id_Type_AVP p_typeAVP):=
            {
                aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_subscription_Id_AVP_Code),
                subscription_Id_Type := p_typeAVP,
                subscription_Id_Data := ?
            }

            template QoS_Class_Identifier_AVP mw_QoS_Class_Identifier :=
            template Subscription_Id_Type_AVP mw_subscription_Id_Type(template Subscription_Id_Ty_Type p_avpData):=
            {
                AVP_Header                        := ?,
                QoS_Class_Identifier              := QCI_5_E
                aVP_Header := mw_aVP_Header_Vbit0Mbit1(c_subscription_Id_Type_AVP_Code),
                aVP_Data := p_avpData
            }

            template Charging_Rule_Install_AVP mw_chrgRuleInstall :=
            {
                aVP_Header := mw_aVP_Header_VMbit1(c_charging_Rule_Install_AVP_Code),
                charging_Rule_Definition := {mw_chrgRuleDefinition_RuleName_Flows_FlowStatus},
                charging_Rule_Name := *,
                charging_Rule_Base_Name := *,
                bearer_Identifier := *,
                rule_Activation_Time := *,
                rule_DeActivation_Time := *,
                resource_Allocation_Notification := *,
                charging_Correlation_Indicator := *,
                aVP_Type := *
            }

            template Charging_Rule_Install_AVP mw_chrgRuleInstall_Qos :=
            {
                aVP_Header := mw_aVP_Header_VMbit1(c_charging_Rule_Install_AVP_Code),
                charging_Rule_Definition := {mw_chrgRuleDefinition_RuleName_Flows_FlowStatus_Qos},
                charging_Rule_Name := *,
                charging_Rule_Base_Name := *,
                bearer_Identifier := *,
                rule_Activation_Time := *,
                rule_DeActivation_Time := *,
                resource_Allocation_Notification := *,
                charging_Correlation_Indicator := *,
                aVP_Type := *
            }

            template Charging_Rule_Remove_AVP mw_chrgRuleRemove_Name :=
            {
                aVP_Header := mw_aVP_Header_VMbit1(c_charging_Rule_Remove_AVP_Code),
                charging_Rule_Name := ?,
                charging_Rule_Base_Name := *,
                aVP_Type := *
            }

            template Charging_Rule_Definition_AVP mw_chrgRuleDefinition_RuleName_Flows_FlowStatus :=
            {
                aVP_Header := mw_aVP_Header_VMbit1(c_charging_Rule_Definition_AVP_Code),
                charging_Rule_Name := ?,
                service_Identifier := *,
                rating_Group := *,
                flow_Information := *,
                flow_Status := mw_flowStatus(ENABLED_E),
                qoS_Information := *,
                reporting_Level := *,
                online := *,
                offline := *,
                metering_Method := *,
                precedence := *,
                aF_Charging_Identifier := *,
                flows := {mw_flows},
                monitoring_Key := *,
                aF_Signalling_Protocol := *,
                sponsor_Identity := *,
                application_Service_Provider_Identity := *,
                aVP_Type := *
            }

            template Charging_Rule_Definition_AVP mw_chrgRuleDefinition_RuleName_Flows_FlowStatus_Qos modifies mw_chrgRuleDefinition_RuleName_Flows_FlowStatus:=
            {
                flow_Information := ?,
                flow_Status := ?,
                qoS_Information := (mw_qoS_Information_Audio,mw_qoS_Information_Video)
            }
            
            template Flows_AVP mw_flows :=
            {
                aVP_Header := ?,//<AVP header: 510 ....>
                media_component_number := 
                    {aVP_Header := ?,//<AVP header: 518 ....>
                     aVP_Data   := 0
                    },//Media_Component_Number_AVP    
                flow_Number := *,
                final_unit_action := *
             }
            
        } //end group GxHeaderFields
@@ -173,6 +299,34 @@ module AtsImsIot_Diameter_Templates {
                    }
                }
                
                template CCR_MSG mw_CCR_SubscriberIMSI_qosInformation_class5(CC_Request_Ty_Type p_avpData) modifies mw_CCR_dummy := {
                    cCR_Body :={
                        cC_Request_Type        := mw_cC_Request_Type(p_avpData),
                        subscription_Id        := {mw_subscription_Id(mw_subscription_Id_Type(END_USER_IMSI_E))},
                        iP_CAN_Type            := ?,
                        rat_Type               := ?,
                        called_Station_Id      := ?,
                        pDN_Connection_ID      := ?,
                        framed_IP_Address      := ?,
                        //framed_IPv6_Prefix     := *,
                        bearer_Usage           := mw_bearer_Usage(IMS_SIGNALLING_E),
                        qoS_Information        := mw_qoS_Information,
                        default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
                    }
                }

                template RAR_MSG mw_RAR_ChargingRuleInstall(template Charging_Rule_Install_AVP p_Charging_Rule_Install) modifies mw_RAR_dummy := {
                    rAR_Body :={
                        charging_Rule_Install := {p_Charging_Rule_Install}
                    }
                }

                template RAR_MSG mw_RAR_ChargingRuleRemove modifies mw_RAR_dummy := {
                    rAR_Body :={
                        charging_Rule_Remove := {mw_chrgRuleRemove_Name}
                    }
                }
            
            }// end group GxRequestMessageTemplates
            group GxAnswertMessageTemplates{
                
@@ -189,6 +343,12 @@ module AtsImsIot_Diameter_Templates {
                        default_EPS_Bearer_QoS := mw_default_EPS_Bearer_QoS_Class_5
                    }
                }
                
                template RAA_MSG mw_RAA_resultCode modifies mw_RAA_dummy := {
                    rAA_Body :={
                        result_Code := mw_resultCode(mw_resultCode_diameterSuccess)
                    }
                }
            }// end group GxRequestMessageTemplates
        }//end group GxMessageTemplates
    } // end group DiameterTemplates
+666 −0

File changed.

Preview size limit exceeded, changes collapsed.

+1027 −3

File changed.

Preview size limit exceeded, changes collapsed.

+330 −4
Original line number Diff line number Diff line
@@ -57,11 +57,30 @@ module AtsImsIot_Templates_IC
	};
	
	import from AtsImsIot_Templates {
	       template mdw_2XX_Base, mw_180Ringing_Base, mw_200OK_Base, mw_PChargingVector, mw_SIP_URI_Base, mw_TEL_URI_Base
	       template mdw_2XX_Base, mw_180Ringing_Base, mw_200OK_Base, mw_PChargingVector, mw_SIP_URI_Base, mw_TEL_URI_Base, 
	                mw_credentialIntegrityNo, mw_401Unauthorized_Base, mw_WwwAuthenticate, mw_PathDef, mw_ServiceRoute, mdw_4XX_Base
	};
	
	group g_IBCF {

    group g_IBCF_GC{
    	
		/**
		* 
		* @desc Message Request containing a message body greater than 1500 bytes.
        * @remark source template mdw_TP_IMS_4002_01
		*/
		template MESSAGE_Request mdw_TP_IC_IBCF_GC_01(template CallId p_callId) modifies mw_MESSAGE_Request_Base := {
			msgHeader := {
				contact := *
			},
			messageBody := {
				textplain := pattern "?#(1500,)" 
			}
		}    	    	
    	
    } // group g_IBCF_GC

	group g_IBCF_INVITE {

		/**
@@ -155,6 +174,19 @@ module AtsImsIot_Templates_IC
		  }
		}

		/**
		  * @desc INVITE Request checking TP_IC_IBCF_INVITE_05
		  * @remark source template mdw_TP_IMS_5097_02_ic and mdw_TP_IMS_5044_01_ic
		  */
		template INVITE_Request mdw_TP_IC_IBCF_INVITE_05 (
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mw_INVITE_Request_Base := {
		  msgHeader := {
	        fromField := mw_From (p_eutAUri),
	        toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)                   
		  }
		}
    
	} // end group g_IBCF_INVITE

@@ -206,7 +238,7 @@ module AtsImsIot_Templates_IC
		  * @desc 180 Ringing Response checking TP_IBCF_180RESP_01 on MW
		  * @remark source template mdw_TP_IMS_5115_01_ic
		  */
		template Response mdw_TP_IBCF_180RESP_01 
		template Response mdw_TP_IC_IBCF_180RESP_01 
		 modifies mw_180Ringing_Base := {
		  msgHeader := {
			pChargingVector :=  mw_PChargingVector({ 
@@ -235,7 +267,7 @@ module AtsImsIot_Templates_IC
    
		/**
		  * 
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_01 on MW
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_01
		  * @remark source template mdw_TP_IMS_5115_03_ic
		  */
		template Response mdw_TP_IC_IBCF_1XXRESP_01(
@@ -256,6 +288,33 @@ module AtsImsIot_Templates_IC
		  }
		}   

		/**
		  * 
		  * @desc 180 Ringing Response checking TP_IC_IBCF_1XXRESP_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_1XXRESP_02(
		    template SipUrl p_eutAUri, 
		    template charstring p_EUTB_PublicId,
			template SipUrl p_SIP_URI,
		    template RecordRoute p_recordRoute)
		 modifies mw_180Ringing_Base := {
		  msgHeader := {
            fromField := mw_From (p_eutAUri),
            toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),                   
			pPreferredID := omit,
			pAssertedID := {
				fieldName := P_ASSERTED_ID_E,
				pAssertedIDValueList := {
					*, 
					{ nameAddr := mw_NameAddr(p_SIP_URI)}, 
					*
				}
			},
            recordRoute := p_recordRoute
		  }
		} 
    
	} // end group g_IBCF_1XXRESP

	group g_IBCF_2XXRESP {
@@ -328,8 +387,133 @@ module AtsImsIot_Templates_IC
			}   
		}

		/**
		  * 
		  * @desc checking TP_IC_IBCF_2XXRESP_05
		  * @remark source template mw_TP_IMS_5121_02_ic
		  */
		template Response mw_TP_IC_IBCF_2XXRESP_05 (template SipUrl p_eutAUri, 
				template charstring p_EUTB_PublicId,
				template SipUrl p_SIP_URI,
				template RecordRoute p_recordRoute) modifies mdw_2XX_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),                   
				pPreferredID := omit,
				pAssertedID := {
					fieldName := P_ASSERTED_ID_E,
					pAssertedIDValueList := {
						*, 
						{ nameAddr := mw_NameAddr(p_SIP_URI)}, 
						*
					}
				},
				recordRoute := p_recordRoute
			}   
		}
    
	} // end group g_IBCF_2XXRESP

	group g_IBCF_4XX {
    
		/**
		  * 
		  * @desc 487 Ringing Response checking TP_IC_IBCF_487INVITE_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_487INVITE_02(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mdw_4XX_Base := {
          statusLine := {c_sipNameVersion, 487, ?},
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
		  }
		}

		/**
		  * 
		  * @desc 487 Ringing Response checking TP_IC_IBCF_487INVITE_02
		  * @remark source template mdw_TP_IC_IBCF_1XXRESP_01
		  */
		template Response mdw_TP_IC_IBCF_486INVITE_02(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId)
		 modifies mdw_4XX_Base := {
		  statusLine := {c_sipNameVersion, 486, ?},
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
		  }
		}   
    
	} // end group g_IBCF_4XX

	group g_IBCF_200OK {
    
		/**
		 * 
		 * @desc 200 OK  message for TP_IC_IBCF_REGISTER_02
          * @remark source template mdw_TP_IMS_5092_01_ic
		 */
		template Response mdw_TP_IC_IBCF_REGISTER200OK_02 (charstring p_EUTHostname, template SipUrl p_eutBUri) modifies mw_200OK_Base := {
			msgHeader := {
				path := mw_PathDef (p_EUTHostname), 
				pAssociatedURI := {
					fieldName := P_ASSOCIATED_URI_E, 
					nameAddrList := ?
				},
				pChargingVector :=  mw_PChargingVector({  // @TODO indicating operator_identifier of IMS_? (IUT_?)?
								{id := "term-ioi", paramValue := ?}, 
								*
				}),
				serviceRoute := mw_ServiceRoute (p_eutBUri),
				contact := {
					fieldName := CONTACT_E,
					contactBody := {
						contactAddresses := ?
					}
				} 
			}
		}
		
		template(present) Response mw_Response_Base_ToFrom(
			template(present) StatusLine p_statusLine := ?,
			template CallId p_callId,
			template CSeq p_cSeq,
			template SipUrl p_eutAUri, 
            template charstring p_EUTB_PublicId			
		) modifies mw_Response_Dummy := {
			statusLine := p_statusLine,
			msgHeader := {
				callId := p_callId,
				contentLength := *,
				cSeq := p_cSeq,
                fromField := mw_From (p_eutAUri),
                toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				maxForwards := *,
				via := ?
			}
		}		    
    
	} // end group g_IBCF_200OK 

	group g_IBCF_401 {
    
		/**
		  * 
		  * @desc 401 Unauthorized   message checking f_mtc_check_TP_IC_IBCF_REGISTER_01.
          * @remark source template mdw_TP_IMS_5089_01_ic
		  */
		 template Response mdw_TP_IC_IBCF_REGISTER401_01 modifies mw_401Unauthorized_Base := {
		   msgHeader := {
			 wwwAuthenticate := mw_WwwAuthenticate
		   }
		 }
    
    
	} // end group g_IBCF_401 

	group g_IBCF_ACK {
    
@@ -352,6 +536,19 @@ module AtsImsIot_Templates_IC
			}
		}

		/**
		  * 
		  * @desc ACK Request checking TP_IC_IBCF_4XXINVITE_ACK_01
		  */
		template ACK_Request mdw_TP_IC_IBCF_4XXINVITE_ACK_01(template CallId p_callId,
		                                                     template SipUrl p_eutAUri, 
		                                                     template charstring p_EUTB_PublicId)
		modifies mw_ACK_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?)
			}
		}    
    
	} // end group g_IBCF_ACK   

@@ -378,6 +575,135 @@ module AtsImsIot_Templates_IC

	} // end group g_IBCF_BYE

	group g_IBCF_CANCEL {
    
		/**
		  * 
		  * @desc CANCEL Request checking TP_IC_IBCF_CANCEL_01
		  * @remark source template mdw_TP_IMS_5107_03_ic
		  */
		template CANCEL_Request mdw_TP_IC_IBCF_CANCEL_01 (
		  template CallId p_callId, template SipUrl p_SCSCF_SIP_URI,
		  template SipUrl p_eutAUri, template charstring p_EUTB_PublicId) 
		modifies mw_CANCEL_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				route := (
					omit, 
						{
						fieldName := ROUTE_E,
						routeBody := {
							*, 
							complement(mw_routeBody(p_SCSCF_SIP_URI)),
							*
						}
					}
				)
			}
		}

	} // end group g_IBCF_CANCEL

	group g_IBCF_SUBSCRIBE {
    
		/**
		  * 
		  * @desc SUBSCRIBE Request checking TP_IC_IBCF_SUBSCRIBE_01
		  * @remark source template mdw_TP_IMS_5044_01_ic
		  */
		template SUBSCRIBE_Request mdw_TP_IC_IBCF_SUBSCRIBE_01(
			template SipUrl p_subscribe_uri,
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId
		) modifies mw_SUBSCRIBE_Request_Base := {
      
		  requestLine := {
			method := SUBSCRIBE_E,
			requestUri := p_subscribe_uri, // @TODO
			sipVersion := c_sipNameVersion
		  },
		  msgHeader := {
			fromField := mw_From (p_eutAUri),
			toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
			event := m_Event_reg,
			expires := ?, // checked outside the template
			pAssertedID := mw_PAssertedID(mw_PAssertedIDValue(p_eutAUri)),
			pChargingVector :=  mw_PChargingVector({
				{id := "icid-value", paramValue := *}, 
				*
			  })
		  }
		}

	} // end group g_IBCF_SUBSCRIBE

	group g_IBCF_NOTIFY {
    
		/**
		  * 
		  * @desc NOTIFY Request checking mdw_TP_IC_IBCF_NOTIFY_01
		  * @remark source template mdw_TP_IMS_5094_01_IMS_ic
		  */
		template NOTIFY_Request mdw_TP_IC_IBCF_NOTIFY_01(template CallId p_callId, template SipUrl p_PCSCF_SIP_URI) modifies mw_NOTIFY_Request_Base := { 
			requestLine := { requestUri := p_PCSCF_SIP_URI }, 
			msgHeader := { 
				event := {
					fieldName := EVENT_E, 
					eventType := pattern "*reg*",
					eventParams := *},
//					pChargingVector :=  mw_PChargingVector({
//						{id := "icid-value", paramValue := *}, 
//						*
//					}),
				route := ? }, // TODO route header indicating the original Route_header from SUBSCRIBE (SUBSCRIBE not defined in the test description) 
			messageBody := ? // TODO 
		}

	} // end group g_IBCF_NOTIFY

	group g_IBCF_REGISTER {
    
		/**
		* 
		* @desc REGISTER Request checking TP_IC_IBCF_REGISTER_01.
        * @remark source template mdw_TP_IMS_5089_01_ic_when
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_01 modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				authorization := mw_Authorization(mw_credentialIntegrityNo) 
			}
		}

		/**
		* 
		* @desc REGISTER Request checking TP_IMS_5092_01.
        * @remark source template mdw_TP_IMS_5092_01_ic_when
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_02 modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				authorization := mw_Authorization(mw_credentialIntegrityNo) 
			}
		}

		/**
		* 
		* @desc REGISTER Request checking TP_IC_IBCF_REGISTER_03.
		* @remark TODO: template may be moved to LibSip_Templates
		*/
		template REGISTER_Request mdw_TP_IC_IBCF_REGISTER_EXPIRES_03(
			template SipUrl p_eutAUri, 
			template charstring p_EUTB_PublicId
		    ) modifies mw_REGISTER_Request_Base := {
			msgHeader := {
				fromField := mw_From (p_eutAUri),
				toField := mw_To_NameAddr_SipUrl ({quotedString:=p_EUTB_PublicId}, ?, ?),
				expires := mw_Expires("0")
			   	}
		}

	} // end group g_IBCF_REGISTER

	} // end group g_IBCF


Compare 45bea252 to fd3b61df
Original line number Diff line number Diff line
Subproject commit 45bea252dd3e62acc56db4e863d9fb6a96b4ee6f
Subproject commit fd3b61dfd76385d9bc8a51c518649644418ce36e
Loading