Loading ttcn/LibIms_Templates.ttcn +345 −239 Original line number Diff line number Diff line Loading @@ -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) := Loading Loading @@ -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 }; Loading @@ -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 }; Loading @@ -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 Loading @@ -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} } } Loading @@ -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} } }} }} Loading Loading @@ -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)} } } Loading @@ -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, Loading @@ -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, Loading @@ -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 Loading @@ -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 := { Loading @@ -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 { Loading @@ -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, Loading @@ -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, Loading @@ -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) := { Loading @@ -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) := { Loading @@ -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, Loading @@ -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 := *, Loading Loading @@ -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 := * } } Loading Loading
ttcn/LibIms_Templates.ttcn +345 −239 Original line number Diff line number Diff line Loading @@ -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) := Loading Loading @@ -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 }; Loading @@ -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 }; Loading @@ -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 Loading @@ -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} } } Loading @@ -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} } }} }} Loading Loading @@ -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)} } } Loading @@ -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, Loading @@ -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, Loading @@ -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 Loading @@ -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 := { Loading @@ -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 { Loading @@ -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, Loading @@ -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, Loading @@ -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) := { Loading @@ -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) := { Loading @@ -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, Loading @@ -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 := *, Loading Loading @@ -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 := * } } Loading