Commit a0df75d2 authored by pintar's avatar pintar
Browse files

new XML definitions(new or adapted templates)

parent d5a98559
Loading
Loading
Loading
Loading
+345 −239
Original line number Diff line number Diff line
@@ -24,6 +24,52 @@ module LibIms_Templates
	
	import from LibIms_PIXITS all;
	
    //LibXMLTypes
    import from ietf_params_xml_ns_resource_lists language "XSD" all
    with {
        extension "File:../xsd/ResourceList.xsd"
    }
	
    import from org_etsi_uri__ngn_params_xml_simservs_xcap language "XSD" all
    with {
        extension "File:../xsd/SupplementaryServices.xsd"
    }
	
    import from org_etsi_uri__ngn_params_xml_simservs_mcid language "XSD" all
    with {
        extension "File:../xsd/MCID.xsd"
    }
	
    import from Ims_3gpp language "XSD" all
    with {
        extension "File:../xsd/Ims_3gpp.xsd"
    }
    
    import from ietf_params_xml_ns_conference_info language "XSD" all
    with {
        extension "File:../xsd/CONF.xsd"
    }
    
    import from org_etsi_uri__ngn_params_xml_simservs_pstn language "XSD" all
    with {
        extension "File:../xsd/PSTN.xsd"
    }
    
    import from ietf_params_xml_ns_common_policy language "XSD" all
    with {
        extension "File:../xsd/common-policy.xsd"
    }
    
    import from org_etsi_uri__ngn_params_xml_comm_div_info language "XSD" all
    with {
        extension "File:../xsd/CDIVN.xsd"
    }
    
    
    
    
    
	
	template charstring m_international_number_format := pattern  "\\+\d+";//pattern  "\+\d+";

	template NameAddr mw_SipUrl_SUTinterface(charstring p_host, integer p_port) := 
@@ -420,17 +466,17 @@ group MessageBodyTemplates {
	
group XMLTemplates {
	
	template XmlBody m_XmlBody_ACR_ICB(template Incoming_communication_barring p_icb) :=
	{
		icb := p_icb
	};
//	template XmlBody m_XmlBody_ACR_ICB(template Incoming_communication_barring p_icb) :=
//	{
//		icb := p_icb
//	};
	
	template XmlBody m_XmlBody_ACR_OCB(template Outgoing_communication_barring p_ocb) :=
	{
		ocb := p_ocb
	};
//	template XmlBody m_XmlBody_ACR_OCB(template Outgoing_communication_barring p_ocb) :=
//	{
//		ocb := p_ocb
//	};
	
	template XmlBody m_XmlBody_ConfInfo(template Conference_info p_confInfo) :=
	template XmlBody m_XmlBody_ConfInfo(template Conference_type p_confInfo) :=
	{
		conferenceInfo := p_confInfo
	};
@@ -450,12 +496,46 @@ group XMLTemplates {
		pstnTransit := p_pstn
	};
	
	template XmlBody m_XmlBody_CDIVN(template Comm_div_info p_cdivn) :=
    template XmlBody m_XmlBody_simservs(template Simservs p_simservs) :=
    {
        simservs := p_simservs
    };
	
    template XmlBody m_XmlBody_ACR_ICB(template Incoming_communication_barring p_icb) :=
    {
        simservs := {
            anyAttributes := omit,
            choice := {
                {
                    incoming_communication_barring := p_icb
                }   
            }  
        }
    };
	
    template XmlBody m_XmlBody_ACR_OCB(template Outgoing_communication_barring p_ocb) :=
    {
        simservs := {
            anyAttributes := omit,
            choice := {
                {
                    outgoing_communication_barring := p_ocb
                }   
            }  
        }
    };
	
	template XmlBody m_XmlBody_CDIVN(template Comm_div_info_type p_cdivn) :=
	{
		cdivn := p_cdivn
	};
	
	template XmlBody mw_XmlBody_ConfInfo(template Conference_info p_confInfo) :=
//	template XmlBody m_XmlBody_CDIVN(template Comm_div_info p_cdivn) :=
//	{
//		cdivn := p_cdivn
//	};
		
	template XmlBody mw_XmlBody_ConfInfo(template Conference_type p_confInfo) :=
	{
		conferenceInfo := p_confInfo
	};
@@ -475,11 +555,16 @@ group XMLTemplates {
		pstnTransit := p_pstn
	};
	
	template XmlBody mw_XmlBody_CDIVN(template Comm_div_info p_cdivn) :=
	template XmlBody mw_XmlBody_CDIVN(template Comm_div_info_type p_cdivn) :=
	{
		cdivn := p_cdivn
	};
	
    template XmlBody mw_XmlBody_simservs(template Simservs p_simservs) :=
    {
        simservs := p_simservs
    };
	
	template XmlBody mw_XmlBody_ResourceLists(template Resource_lists p_resourceLists) :=
	{
		resourceLists := p_resourceLists
@@ -491,14 +576,14 @@ group ACR_CBTemplates {
	
	template Incoming_communication_barring	m_ICB(RuleType p_ruleType) :=
	{
		ruleset_icb := {
		ruleset := {
			rule:= {p_ruleType}
		}
	}
	
	template Outgoing_communication_barring	m_OCB(RuleType p_ruleType) :=
	{
		ruleset_ocb := {
		ruleset := {
			rule:= {p_ruleType}
		}
	}
@@ -507,18 +592,19 @@ group ACR_CBTemplates {
	{
		id := "rule66",
		conditions := p_condition,
		actions := {bool := false},
		actions := {elem:={{boolean := false}}},
		transformations := omit
	}

	template ConditionsType m_conditionsType_identity(template charstring p_id, template charstring p_scheme) := {
		choice := {{
		content := {{
			identity := {{
				choice := {{
				content := {{
            		one := {
            			id := p_id,
            			scheme := p_scheme,
            			any_1 := omit
            			//scheme := p_scheme,
            			//any_1 := omit
                        elem := {charstring := p_scheme}
            		}
				}}
			}}
@@ -575,56 +661,56 @@ group MCIDTemplates {
 template Mcid m_mcid_request_mcidIndicatorTrue :=
 {
  choice := {
   request := {McidRequestIndicator := bit2str('1'B),
      HoldingIndicator := bit2str('0'B)}
   request := {mcidRequestIndicator := bit2str('1'B),
      			holdingIndicator := bit2str('0'B)}
  }
 }
	
 template Mcid m_mcid_request_mcidIndicatorTrue_holdIndTrue :=
 {
  choice := {
   request := {McidRequestIndicator := bit2str('1'B),
			   HoldingIndicator := bit2str('1'B)}
   request := {mcidRequestIndicator := bit2str('1'B),
			   holdingIndicator := bit2str('1'B)}
  }
 }
	
 template Mcid m_mcid_response_mcidIndicatorTrue :=
 {
  choice := {
   response := {McidResponseIndicator := bit2str('1'B),
       HoldingProvidedIndicator := bit2str('0'B)}
   response := {mcidResponseIndicator := bit2str('1'B),
       			holdingProvidedIndicator := bit2str('0'B)}
  }
 }
	
 template Mcid mw_mcid_request_mcidIndicatorTrue :=
 {
  choice := {
   request := {McidRequestIndicator := bit2str('1'B),
      HoldingIndicator := ?}
   request := {mcidRequestIndicator := bit2str('1'B),
      			holdingIndicator := ?}
  }
 }
	
 template Mcid mw_mcid_response_mcidIndicatorTrue :=
 {
  choice := {
   response := {McidResponseIndicator := bit2str('1'B),
       HoldingProvidedIndicator := ?}
   response := {mcidResponseIndicator := bit2str('1'B),
       			holdingProvidedIndicator := ?}
  }
 }
	
 template Mcid mw_mcid_response_mcidIndicatorTrue_holdProvIndFalse :=
 {
  choice := {
   response := {McidResponseIndicator := bit2str('1'B),
   		HoldingProvidedIndicator := bit2str('0'B)}
   response := {mcidResponseIndicator := bit2str('1'B),
   				holdingProvidedIndicator := bit2str('0'B)}
  }
 }
	
 template Mcid mw_mcid_response_mcidIndicatorTrue_holdProvIndTrue :=
 {
  choice := {
   response := {McidResponseIndicator := bit2str('1'B),
		HoldingProvidedIndicator := bit2str('1'B)}
   response := {mcidResponseIndicator := bit2str('1'B),
				holdingProvidedIndicator := bit2str('1'B)}
  }
 }

@@ -640,11 +726,11 @@ group PSTNTemplates {
										 template ProgressIndicatorType p_pi,
										 template DisplayType p_d) :=
	{
			BearerInfomationElement := {p_bct, p_bct2},
			HighLayerCompatibility := {p_hlc, p_hlc2},
			LowLayerCompatibility := p_llc,
			ProgressIndicator := {p_pi},
			Display := {p_d}
			bearerInfomationElement := {p_bct, p_bct2},
			highLayerCompatibility := {p_hlc, p_hlc2},
			lowLayerCompatibility := p_llc,
			progressIndicator := {p_pi},
			display_ := {p_d}
	}

	template PSTN_transit m_PSTN_transit_2PI(template BearerCapabilityType p_bct,
@@ -656,11 +742,11 @@ group PSTNTemplates {
											template ProgressIndicatorType p_pi2,
											template DisplayType p_d) :=
	{
			BearerInfomationElement := {p_bct, p_bct2},
			HighLayerCompatibility := {p_hlc, p_hlc2},
			LowLayerCompatibility := p_llc,
			ProgressIndicator := {p_pi, p_pi2},
			Display := {p_d}
			bearerInfomationElement := {p_bct, p_bct2},
			highLayerCompatibility := {p_hlc, p_hlc2},
			lowLayerCompatibility := p_llc,
			progressIndicator := {p_pi, p_pi2},
			display_ := {p_d}
	}

	template PSTN_transit m_PSTN_transit_3PI(template BearerCapabilityType p_bct,
@@ -673,159 +759,160 @@ group PSTNTemplates {
											template ProgressIndicatorType p_pi3,
											template DisplayType p_d) :=
	{
			BearerInfomationElement := {p_bct, p_bct2},
			HighLayerCompatibility := {p_hlc, p_hlc2},
			LowLayerCompatibility := p_llc,
			ProgressIndicator := {p_pi, p_pi2, p_pi3},
			Display := {p_d}
			bearerInfomationElement := {p_bct, p_bct2},
			highLayerCompatibility := {p_hlc, p_hlc2},
			lowLayerCompatibility := p_llc,
			progressIndicator := {p_pi, p_pi2, p_pi3},
			display_ := {p_d}
	}
		
	template PSTN_transit mw_PSTN_transit_bc(template BearerCapabilityType p_bct,
											 template BearerCapabilityType p_bct2) :=
	{
			BearerInfomationElement := {p_bct, p_bct2},
			HighLayerCompatibility := {*, *},
			LowLayerCompatibility := *,
			ProgressIndicator := {*},
			Display := {*}
			bearerInfomationElement := {p_bct, p_bct2},
			highLayerCompatibility := {*, *},
			lowLayerCompatibility := *,
			progressIndicator := {*},
			display_ := {*}
	}											 
											 
	
	template BearerCapabilityType m_BearerCapabilityType (Bit5 p_InfoTrfCap):= {
			BCoctet3 	:= {CodingStandard := bit2str('00'B),						//Coding standard = CCITT standardized coding
							InformationTransferCapability := bit2str(p_InfoTrfCap)},//Information transfer capability
			BCoctet4 	:= {TransferMode := bit2str('00'B),							//Coding standard = CCITT standardized coding
							InformationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			BCoctet4_1 	:= omit,
			BCoctet5  	:= omit,
			BCoctet5a  	:= omit,
			BCoctet5bV110  := omit,
			BCoctet5bV120  := omit,
			BCoctet5c 	:= omit,
			BCoctet5d 	:= omit,
			BCoctet6  	:= omit,
			BCoctet7  	:= omit,
			BCoctet7a  	:= omit,
			BCoctet7b  	:= omit 
			bCoctet3 	:= {codingStandard := bit2str('00'B),						//Coding standard = CCITT standardized coding
                			informationTransferCabability := bit2str(p_InfoTrfCap)},//Information transfer capability
			bCoctet4 	:= {transferMode := bit2str('00'B),							//Coding standard = CCITT standardized coding
							informationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			bCoctet4_1 	:= omit,
			bCoctet5  	:= omit,
			bCoctet5a  	:= omit,
			bCoctet5bV110  := omit,
			bCoctet5bV120  := omit,
			bCoctet5c 	:= omit,
			bCoctet5d 	:= omit,
			bCoctet6  	:= omit,
			bCoctet7  	:= omit,
			bCoctet7a  	:= omit,
			bCoctet7b  	:= omit 
	}	
	
	template ProgressIndicatorType m_ProgressIndicatorType (Bit7 p_progDesc) := {
			ProgressOctet3 := {CodingStandard := bit2str('00'B),
							   Location := bit2str('0000'B)
        	progressOctet3 := {codingStandard := bit2str('00'B),
							   location := bit2str('0000'B)
							  },
			ProgressOctet4 := {ProgressDescription := bit2str(p_progDesc)}
			progressOctet4 := {progressDescription := bit2str(p_progDesc)}
	}
	
	template LowLayerCompatibilityType m_LowLayerCompatibilityType (Bit5 p_InfoTrfCap) := {
			LLOctet3 := {CodingStandard := bit2str('00'B),						 //Coding standard = CCITT standardized coding
						 InformationTransferCapability := bit2str(p_InfoTrfCap)},//Information transfer capability
			LLOctet3a := omit,
			LLOctet4 := {TransferMode := bit2str('00'B),						//Coding standard = CCITT standardized coding
						 InformationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			LLOctet4_1 := omit,
			LLOctet5 := omit,
			LLOctet5a := omit,
			LLOctet5bV110 := omit,
			LLOctet5bV120 := omit,
			LLOctet5c := omit,
			LLOctet5d := omit,
			LLOctet6 := omit,
			LLOctet6aHDLC := omit,
			LLOctet6aUserSpecific := omit,
			LLOctet6b := omit,
			LLOctet7 := omit,
			LLOctet7aUserSpecific := omit,
			LLOctet7aX25 := omit,
			LLOctet7bX25 := omit,
			LLOctet7c := omit,
			LLOctet7aTR9577 := omit,
			LLOctet7bTR9577 := omit 
			lLOctet3 := {codingStandard := bit2str('00'B),						 //Coding standard = CCITT standardized coding
						 informationTransferCapability := bit2str(p_InfoTrfCap)},//Information transfer capability
			lLOctet3a := omit,
			lLOctet4 := {transferMode := bit2str('00'B),						//Coding standard = CCITT standardized coding
						 informationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			lLOctet4_1 := omit,
			lLOctet5 := omit,
			lLOctet5a := omit,
			lLOctet5bV110 := omit,
			lLOctet5bV120 := omit,
			lLOctet5c := omit,
			lLOctet5d := omit,
			lLOctet6 := omit,
			lLOctet6aHDLC := omit,
			lLOctet6aUserSpecific := omit,
			lLOctet6b := omit,
			lLOctet7 := {layer3Identification := bit2str('10'B),		//TODO check valueand if parameter is mandatory
                		userInfoLayer3Protocol := bit2str('10000'B)},	//TODO check value and if parameter is mandatory
			lLOctet7aUserSpecific := omit,
			lLOctet7aX25 := omit,
			lLOctet7bX25 := omit,
			lLOctet7c := omit,
			lLOctet7aTR9577 := omit,
			lLOctet7bTR9577 := omit 
	}
	
	template HighLayerCompatibilityType m_HighLayerCompatibilityType 
		(Bit7 p_HLOctet4):= {
			HLOctet3 := {
				CodingStandard :=bit2str('00'B),
				Interpretation :=bit2str('100'B),
				PresentationMethod := bit2str('01'B)
			hLOctet3 := {
				codingStandard :=bit2str('00'B),
				interpretation :=bit2str('100'B),
				presentationMethod := bit2str('01'B)
			},
			HLOctet4 := {
				HighLayerCharacteristics := bit2str(p_HLOctet4)
			hLOctet4 := {
				highLayerCharacteristics := bit2str(p_HLOctet4)
			},
			HLOctet4aMaintenance := omit,
			HLOctet4Audio := omit
			hLOctet4aMaintenance := omit,
			hLOctet4Audio := omit
	}

	template BearerCapabilityType mw_BearerCapabilityType (template BCOctet3Type p_BCOctet3Type, template BCOctet4Type p_BCOctet4Type):= {
			BCoctet3 	:= p_BCOctet3Type,
			BCoctet4 	:= p_BCOctet4Type,
			BCoctet4_1 	:= * ,
			BCoctet5  	:= * ,
			BCoctet5a  	:= * ,
			BCoctet5bV110  := * ,
			BCoctet5bV120  := * ,
			BCoctet5c 	:= * ,
			BCoctet5d 	:= * ,
			BCoctet6  	:= * ,
			BCoctet7  	:= * ,
			BCoctet7a  	:= * ,
			BCoctet7b  	:= * 
			bCoctet3 	:= p_BCOctet3Type,
			bCoctet4 	:= p_BCOctet4Type,
			bCoctet4_1 	:= * ,
			bCoctet5  	:= * ,
			bCoctet5a  	:= * ,
			bCoctet5bV110  := * ,
			bCoctet5bV120  := * ,
			bCoctet5c 	:= * ,
			bCoctet5d 	:= * ,
			bCoctet6  	:= * ,
			bCoctet7  	:= * ,
			bCoctet7a  	:= * ,
			bCoctet7b  	:= * 
	}	

	template BearerCapabilityType mw_BearerCapabilityType_TrfCap  (Bit5 p_InfoTrfCap):= {
    		BCoctet3 	:= {CodingStandard := bit2str('00'B),						//Coding standard = CCITT standardized coding
    						InformationTransferCapability := bit2str(p_InfoTrfCap)},//Information transfer capability
    		BCoctet4 	:= {TransferMode := bit2str('00'B),							//Coding standard = CCITT standardized coding
    						InformationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			BCoctet4_1 	:= * ,
			BCoctet5  	:= * ,
			BCoctet5a  	:= * ,
			BCoctet5bV110  := * ,
			BCoctet5bV120  := * ,
			BCoctet5c 	:= * ,
			BCoctet5d 	:= * ,
			BCoctet6  	:= * ,
			BCoctet7  	:= * ,
			BCoctet7a  	:= * ,
			BCoctet7b  	:= * 
    		bCoctet3 	:= {codingStandard := bit2str('00'B),						//Coding standard = CCITT standardized coding
    						informationTransferCabability := bit2str(p_InfoTrfCap)},//Information transfer capability
    		bCoctet4 	:= {transferMode := bit2str('00'B),							//Coding standard = CCITT standardized coding
    						informationTransferRate := bit2str('10000'B)},			//Information transfer rate = 64 kbit/s
			bCoctet4_1 	:= * ,
			bCoctet5  	:= * ,
			bCoctet5a  	:= * ,
			bCoctet5bV110  := * ,
			bCoctet5bV120  := * ,
			bCoctet5c 	:= * ,
			bCoctet5d 	:= * ,
			bCoctet6  	:= * ,
			bCoctet7  	:= * ,
			bCoctet7a  	:= * ,
			bCoctet7b  	:= * 
	}	

	template ProgressIndicatorType mw_ProgressIndicatorType (template ProgressOctet3Type p_ProgressOctet3Type, template ProgressOctet4Type p_ProgressOctet4Type) := {
			ProgressOctet3 := p_ProgressOctet3Type,
			ProgressOctet4 := p_ProgressOctet4Type
			progressOctet3 := p_ProgressOctet3Type,
			progressOctet4 := p_ProgressOctet4Type
	}
	
	template LowLayerCompatibilityType mw_LowLayerCompatibilityType 
		(template LLOctet3Type p_LLOctet3, template LLOctet4Type p_LLOctet4, template LLOctet7Type p_LLOctet7) := {
			LLOctet3 := p_LLOctet3,
			LLOctet3a := * ,
			LLOctet4 := p_LLOctet4,
			LLOctet4_1 := * ,
			LLOctet5 := * ,
			LLOctet5a := * ,
			LLOctet5bV110 := * ,
			LLOctet5bV120 := * ,
			LLOctet5c := * ,
			LLOctet5d := * ,
			LLOctet6 := * ,
			LLOctet6aHDLC := * ,
			LLOctet6aUserSpecific := * ,
			LLOctet6b := * ,
			LLOctet7 := p_LLOctet7,
			LLOctet7aUserSpecific := * ,
			LLOctet7aX25 := * ,
			LLOctet7bX25 := * ,
			LLOctet7c := * ,
			LLOctet7aTR9577 := * ,
			LLOctet7bTR9577 := * 
			lLOctet3 := p_LLOctet3,
			lLOctet3a := * ,
			lLOctet4 := p_LLOctet4,
			lLOctet4_1 := * ,
			lLOctet5 := * ,
			lLOctet5a := * ,
			lLOctet5bV110 := * ,
			lLOctet5bV120 := * ,
			lLOctet5c := * ,
			lLOctet5d := * ,
			lLOctet6 := * ,
			lLOctet6aHDLC := * ,
			lLOctet6aUserSpecific := * ,
			lLOctet6b := * ,
			lLOctet7 := p_LLOctet7,
			lLOctet7aUserSpecific := * ,
			lLOctet7aX25 := * ,
			lLOctet7bX25 := * ,
			lLOctet7c := * ,
			lLOctet7aTR9577 := * ,
			lLOctet7bTR9577 := * 
	}
	
	template HighLayerCompatibilityType mw_HighLayerCompatibilityType 
		(template HLOctet3Type p_HLOctet3, template HLOctet4Type p_HLOctet4):= {
			HLOctet3 := p_HLOctet3,
			HLOctet4 := p_HLOctet4,
			HLOctet4aMaintenance := *,
			HLOctet4Audio := *
			hLOctet3 := p_HLOctet3,
			hLOctet4 := p_HLOctet4,
			hLOctet4aMaintenance := *,
			hLOctet4Audio := *
	}

} //end group PSTNTemplates		
@@ -833,8 +920,8 @@ group PSTNTemplates {
group CDIVNTemplates {
	
	/* general CDIVN subscription */
	template Comm_div_info m_CDIVN_sub := {
		entity := ?,
	template Comm_div_info_type m_CDIVN_sub := {
		entity := "comm-div-info",
		comm_div_subs_info := {
			anyAttributes := omit,
			comm_div_selection_criteria := {
@@ -844,78 +931,97 @@ group CDIVNTemplates {
				diverted_to_user_selection_criteria := omit,
				diversion_time_selection_criteria := omit,
				diversion_reason_selection_criteria := omit,
				any_1 := omit
				elem := omit
			},
			comm_div_ntfy_trigger_criteria := omit,
			comm_div_info_selection_criteria := omit,
			any_1 := omit
			elem := omit
		},
		comm_div_ntfy_info := omit,
		any_1 := omit
		elem := omit
	}


} // end grouup CDIVNTemplates

group ResourceListsTemplates {
	

    template Resource_lists m_ResourceList_2Users(
        EntryType p_user1, 
        EntryType p_user2
	) := {
		list := {
    ) :=
    {
        sequence := {
            {
                list := {
                    name := omit,
                    anyAttributes := omit,
                    display_name := omit,
				seq_1 := {
                    sequence_list := {
                        {
						list := omit,
						external_ := omit,
						entry := p_user1,
						entry_Ref := omit
                            choice := {
                                entry := p_user1
                            }
                        },
                        {
						list := omit,
						external_ := omit,
						entry := p_user2,
						entry_Ref := omit
                            choice := {
                                entry := p_user2
                            }
                        }
                    },
				any_1 := omit
                    elem := omit
                }
            }
        }
    }
	
	template EntryType m_EntryUser(SipUrl p_user) := {
		display_name := omit,
		
		uri :=
			p_user.userInfo.userOrTelephoneSubscriber & "@" &
			p_user.hostPort.host,
		any_1 := omit,
		anyAttributes := omit
		anyAttributes := omit,
        display_name := omit,
        elem := omit
	}
}// end grouup ResourceListsTemplates

group Ims3gppTemplates {
	template Ims_3gpp mw_Ims_3gpp_CW := {
    
    //TODO:check commented and below templates when test will be validated
    template TIMS3GPP mw_Ims_3gpp_CW := {
        version := 1.0,
        anyAttributes := ?,
		choice_1 := {
        choice := {
            alternative_service := {
				anyAttributes := ?,
				type_ := ?,
				reason := ?,
				action_ := {
					anyAttributes := ?,
					emergency_registration := *,
					call_waiting_indication := {},
					any_1 := *
				},
				any_1 := *
			}
		},
		any_1 := *
	}
                anyAttributes := *, 
                type_ := *, 
                reason := *, 
                elem := *
            }
        },
        elem := *
    }
//	template TIMS3GPP mw_Ims_3gpp_CW := {
//		version := 1.0,
//		anyAttributes := ?,
//		choice_1 := {
//			alternative_service := {
//				anyAttributes := ?,
//				type_ := ?,
//				reason := ?,
//				action_ := {
//					anyAttributes := ?,
//					emergency_registration := *,
//					call_waiting_indication := {},
//					any_1 := *
//				},
//				any_1 := *
//			}
//		},
//		any_1 := *
//	}
} // end group Ims3gpp

group CONFTemplates {
@@ -924,7 +1030,7 @@ group CONFTemplates {
	
	template anyAttributes m_emptyAnyAttributes:={}
	
	template Media_type m_mediatype_status(template Media_status_type p_status):= {
	template ietf_params_xml_ns_conference_info.Media_type m_mediatype_status(template Media_status_type p_status):= {
		id:="1",
		anyAttributes:=omit,//m_emptyAnyAttributes,
		display_text :=omit,
@@ -932,10 +1038,10 @@ group CONFTemplates {
		label_ :=omit,
		src_id:=omit,
		status:= p_status,
		any_1:=omit
		elem:=omit
	}
	
	template Endpoint_type m_endpoint(template charstring p_Uri,template Endpoint_status_type p_epStatus,template Joining_type p_joinMethod, template Disconnection_type p_discMethod, template Media_type p_mediastatus):= {
	template Endpoint_type m_endpoint(template charstring p_Uri,template Endpoint_status_type p_epStatus,template Joining_type p_joinMethod, template Disconnection_type p_discMethod, template ietf_params_xml_ns_conference_info.Media_type p_mediastatus):= {
		entity:=p_Uri,
		state:=full,
		anyAttributes:=omit,//m_emptyAnyAttributes,
@@ -948,7 +1054,7 @@ group CONFTemplates {
		disconnection_info:=omit,
		media:={p_mediastatus},// optional, 
		call_info:=omit,
		any_1:=omit
		elem:=omit
	}
	
	template User_type m_1user (template charstring p_Uri,template Endpoint_type p_endpoint) := {
@@ -961,21 +1067,21 @@ group CONFTemplates {
		languages :=omit,
		cascaded_focus :=omit,
		endpoint:={p_endpoint},// optional,
		any_1:=omit
		elem:=omit
	}
	
	template Users_type m_users_1user_full(template User_type p_user):={
			state:=full,
		    anyAttributes := omit,//m_emptyAnyAttributes,
		    user:={p_user},
		    any_1:=omit
		    elem:=omit
	}
	
	template Users_type m_users_2user_full(template User_type p_user1,template User_type p_user2):={
			state:=full,
			anyAttributes := omit,//m_emptyAnyAttributes,
			user:={p_user1,p_user2},
			any_1:=omit
			elem:=omit
	}
	
	template Conference_state_type m_conference_state(template unsignedInt p_nUsers, template booleanXSD p_active, template booleanXSD p_locked) := {
@@ -983,10 +1089,10 @@ group CONFTemplates {
    	user_count:=p_nUsers,
    	active:=p_active,
    	locked:=p_locked,
    	any_1 := omit
    	elem := omit
	}

	template Conference_info m_ci_cUri_cState_userEntity(template charstring p_cUri, template Conference_state_type p_cState, template Users_type p_users ) := {
    template Conference_type m_ci_cUri_cState_userEntity(template charstring p_cUri, template Conference_state_type p_cState, template Users_type p_users ) := {
        entity := p_cUri,
        state := full,
        version := 1,
@@ -997,10 +1103,10 @@ group CONFTemplates {
        users := p_users,
        sidebars_by_ref := omit,
        sidebars_by_val := omit,
		any_1 := omit
        elem := omit
    }
	
 template Conference_info mw_conferenceInfo_active := {
 template Conference_type mw_conferenceInfo_active := {
	 entity := ?,
	 state := *,
	 version := *,
@@ -1035,17 +1141,17 @@ group CONFTemplates {
						 disconnection_info := *,
						 media := *,
						 call_info := *,
						 any_1 := *
						 elem := *
					 }
				 },
				 any_1 := *
				 elem := *
			 }
		 },
		 any_1 := omit
		 elem := omit
	 },
	 sidebars_by_ref := *,
	 sidebars_by_val := *,
	 any_1 := *
	 elem := *
 }
}