Commit 347f61ac authored by bergengruen's avatar bergengruen
Browse files

Issue #0005849 - Update of SiLib type definitions to support IMS Rel-9 ( for ATS 34.229-3)

parent 18396e8f
Loading
Loading
Loading
Loading
+21 −7
Original line number Diff line number Diff line
@@ -14,11 +14,8 @@
 *            change requests shall be made to http://t-ort.etsi.org
 */

module LibSip_SIPTypesAndValues language "TTCN-3:2005"//MRO
module LibSip_SIPTypesAndValues language "TTCN-3:2005"
{
	// Lib Common 
	import from LibCommon_TextStrings {const c_CRLF};
	//	SipAts
	import from LibSip_SDPTypes all;
	import from LibSip_XMLTypes all;
    import from LibSip_SMSTypes all;
@@ -114,7 +111,7 @@ group SimpleConstants
	  "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"&
	  "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"&
	  "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"&
	  c_CRLF;
    oct2char('0D'O) & oct2char('0A'O); // CRLF
	  
 
      // Default SIP port number : 5060
@@ -443,6 +440,7 @@ group SubTypes{// Subtypes
		// [3325]
		P_ASSERTED_ID_E,
		P_PREFERRED_ID_E, 
        P_PREFERRED_SERVICE_E,
		       
		// [3326]
		REASON_E,
@@ -495,8 +493,9 @@ group SubTypes{// Subtypes
		
		//http://tools.ietf.org/html/draft-johnston-sipping-cc-uui-07
		//Transporting User to User Call Control Information in SIP for ISDN Interworking
		USER_TO_USER_E
        USER_TO_USER_E, 
        
        GEOLOCATION_E // draft-ietf-sipcore-location-conveyance-04
      }
      
	  // [7.1]
@@ -1208,6 +1207,12 @@ group SubTypes{// Subtypes
		  FieldName fieldName(P_PREFERRED_ID_E),
		  PPreferredIDValue_List pPreferredIDValueList
	  }
    // draft-drage-sipping-service-identification-01 (July 2007)
    type record PPreferredService {
      FieldName fieldName (P_PREFERRED_SERVICE_E),
      charstring serviceId
    }

      }//end group RFC3325HeaderFieldTypes
	  
	  group RFC3326HeaderFieldTypes
@@ -1438,6 +1443,13 @@ group SubTypes{// Subtypes
		  FieldName fieldName(P_ASSERTED_SERVICE_E),
		  PAssertedServiceValue pAssertedServiceValue
	  }
    type record Geolocation {       // draft-ietf-sipcore-location-conveyance-04 clause 4.1
      FieldName fieldName(GEOLOCATION_E),
      SipUrl    addrSpec,
      charstring  routingAllowed,
      SemicolonParam_List geolocParam optional
    }


    } // end group HeaderFieldTypes
    
@@ -1470,6 +1482,7 @@ group SubTypes{// Subtypes
		Event 				event optional, // 3265/7.2
        Expires 			expires optional,
        From				fromField,
        Geolocation         geolocation optional, //   http://tools.ietf.org/html/draft-ietf-sipcore-location-conveyance-04
		HistoryInfo 		historyInfo optional, // 4244
        InReplyTo 			inReplyTo optional, // only in requests
        MaxForwards			maxForwards optional, // mandatory in requests not required in responses!
@@ -1488,6 +1501,7 @@ group SubTypes{// Subtypes
		PEarlyMedia			pEarlyMedia	optional, // 5009
		PMediaAuthorization pMediaAuthorization optional, // 3313
		PPreferredID 		pPreferredID optional, // 3325
        PPreferredService pPreferredService optional, // draft-drage-sipping-service-identification-01 (July 2007)                     
        Priority 			priority optional,  // only in requests
		Privacy 			privacy optional, // 3323
        ProxyAuthenticate	proxyAuthenticate optional, // only in responses
+15 −42
Original line number Diff line number Diff line
@@ -23,37 +23,6 @@ module LibSip_Templates
	import from LibSip_XMLTypes all;
    import from LibSip_SMSTypes 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 Ims3gpp language "XSD" all
    with {
        extension "File:../xsd/Ims3gpp.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"
    }
	
	group ModuleParameters {
	
	    modulepar boolean MB_LENGTH_FROM_ENCVAL:=false; //* to get length of message body from ecoded value
@@ -866,16 +835,16 @@ module LibSip_Templates
			privValueList := {*,"user",*}
		};
		
		template Reason mw_Reason(integer p_cause) :=
		template Reason mw_Reason(template charstring p_cause) :=
		{		  
			fieldName := REASON_E,
			reasonValues := {m_ReasonValue(int2str(p_cause),?)}
			reasonValues := {m_ReasonValue(p_cause,?)}
		};

		template Reason mw_ReasonSIP(template integer p_cause) :=
		template Reason mw_ReasonSIP(template charstring p_cause) :=
		{		  
			fieldName := REASON_E,
			reasonValues := {m_ReasonValueSIP(int2str(p_cause),?)}
			reasonValues := {m_ReasonValueSIP(p_cause,?)}
		};
				
		template Require mw_Require_not_100rel :=
@@ -997,6 +966,7 @@ group dummy_templates {
		event := omit, //*  RFC3265
		expires := omit,
		fromField := c_empty_From,
		geolocation := omit,
		historyInfo := omit, //*  RFC4244
		inReplyTo := omit,
		maxForwards := c_maxForwards70,
@@ -1015,6 +985,7 @@ group dummy_templates {
		pEarlyMedia := omit, //*  RFC5009
		pMediaAuthorization := omit, //*  RFC3313
		pPreferredID := omit,
		pPreferredService := omit,
		priority := omit,
		privacy := omit,
		proxyAuthenticate := omit,
@@ -1087,6 +1058,7 @@ group dummy_templates {
		event := *, //*  RFC3265
		expires := *,
		fromField := ?,
		geolocation := *,
		historyInfo := *, //*  RFC4244
		inReplyTo := *,
		maxForwards := *,
@@ -1105,6 +1077,7 @@ group dummy_templates {
		pEarlyMedia := *, //*  RFC5009
		pMediaAuthorization := *, //*  RFC3313
		pPreferredID := *,
		pPreferredService := *,
		priority := *,
		privacy := *,
		proxyAuthenticate := *,
@@ -1773,7 +1746,7 @@ group base_templates{
		}
		
		template REFER_Request
		mw_REFER_Request(CallId p_callId, SipUrl p_requestUri,
		mw_REFER_Request(template CallId p_callId, SipUrl p_requestUri,
						 SipUrl p_referredBy)
		modifies mw_REFER_Request_Base := {
			requestLine := {requestUri := p_requestUri},
@@ -2019,7 +1992,7 @@ group request_send {

group request_receive {
		
	template BYE_Request mw_BYE_Request_Reason(template CallId p_callId, integer p_cause) modifies mw_BYE_Request_Base :=
	template BYE_Request mw_BYE_Request_Reason(template CallId p_callId, template charstring p_cause) modifies mw_BYE_Request_Base :=
	{
		msgHeader :=
		{
@@ -2027,7 +2000,7 @@ group request_receive {
		}
	}

	template BYE_Request mw_BYE_Request_ReasonSIP(template CallId p_callId, template integer p_cause) modifies mw_BYE_Request_Base :=
	template BYE_Request mw_BYE_Request_ReasonSIP(template CallId p_callId, template charstring p_cause) modifies mw_BYE_Request_Base :=
	{
		msgHeader :=
		{
@@ -2249,7 +2222,7 @@ group response_receive {
	}

	template Response mw_Response_Reason (template StatusLine p_statusLine, template CallId p_callId,
		template CSeq p_cSeq, integer p_cause) modifies mw_Response_Base:=
		template CSeq p_cSeq, template charstring p_cause) modifies mw_Response_Base:=
	{
		statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
		msgHeader :=
@@ -3212,9 +3185,9 @@ group TemplatePreparationFunctions {
				v_result := fx_calculateXMLBodyLen(p_mb);
			}else{
				//  assume ConferenceInfo ONLY in the XML message body
				if (ischosen(p_mb.conference_type))
				if (ischosen(p_mb.conference))
				{ 
					v_result := f_XMLBody_ConferenceInfo_Length(p_mb.conference_type);
					v_result := f_XMLBody_ConferenceInfo_Length(p_mb.conference);
				};
				
				//  assume CUG ONLY in the XML message body
+22 −6
Original line number Diff line number Diff line
@@ -22,11 +22,11 @@
 *					Terminating_identity_presentation, Uri_type, Uris_type, User_roles_type,
 *   				User_languages_type, User_type, Users_type
 *   
 *   			new group CDIV added by STF369
 *   			new group ACR_CD added by STF38
 *   			- new group CDIV added by STF369
 *   			- new group ACR_CD added by STF38
 *              - new types RegInfo and Pidf_Lo added by STF160
 */
module LibSip_XMLTypes language "TTCN-3:2009" {

import from XSDAUX all;

    import from org_w3_www__XML_1998_namespace language "XSD" all
@@ -83,19 +83,35 @@ import from XSDAUX all;
    with {
        extension "File:../xsd/xdm_commonPolicy-v1_0.xsd"
    }
    
    // RFC 3680 Registration Info
    import from ietf_params_xml_ns_reginfo language "XSD" all
    with {
        extension "File:../xsd/regInfo.xsd" 
    }
    // RFC 3863 Presence Information Data Format
    import from ietf_params_xml_ns_reginfo language "XSD" all
    with {
        extension "File:../xsd/pidf.xsd" 
    }
    // RFC 4119 Presence Information Data Format, Location Object extension 
    import from ietf_params_xml_ns_reginfo language "XSD" all
    with {
        extension "File:../xsd/pidf_lo.xsd" 
    }

    group XmlTypes {
        type union XmlBody {
            Mcid mcid,							// if there is XML Mcid
            Comm_div_info_type cdivn,			// if there is XML cdivn
            Simservs simservs,					// if there is XML simservs (Oip/r, Tip/r, Call Diversion, ICB, OCB ...)
            Conference_type conference_type,	// if there is XML conf
            Conference_type conference,	        // if there is XML conf
            Ims_cw cw,							// if there is XML cw (defined in X_3gpp_ns_cw_1_0.ttcn3view) 
            Cug cug,							// if there is XML cug (defined in org_etsi_uri__ngn_params_xml_simservs_xcap.ttcn3view) 
            TIMS3GPP ims3gpp,					// if there is XML IMS 3GPP
            PSTN_transit pstnTransit,			// if there is XML PSTN_transit
            Resource_lists resourceLists		// if there is XML Resource List data
            Resource_lists resourceLists,		// if there is XML Resource List data
            RegInfo regInfo, // if it is a registration event
            Pidf_Lo pidfLo    // if it is  a Presence Information Data Format Location Object
        }
    }
} /* end module LibSip_XMLTypes */
 No newline at end of file