LibIms_Templates.ttcn 132 KB
Newer Older
schmitting's avatar
schmitting committed
            hLOctet3 := {
                codingStandard :=bit2str('00'B),
                interpretation :=bit2str('100'B),
                presentationMethod := bit2str('01'B)
            },
            hLOctet4 := {
                highLayerCharacteristics := bit2str(p_HLOctet4)
            },
            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  	:= * 
    }	

    template BearerCapabilityType mw_BearerCapabilityType_TrfCap  (Bit5 p_InfoTrfCap):= {
            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
    }
	
    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 := * 
    }
	
    template HighLayerCompatibilityType mw_HighLayerCompatibilityType 
        (template HLOctet3Type p_HLOctet3, template HLOctet4Type p_HLOctet4):= {
            hLOctet3 := p_HLOctet3,
            hLOctet4 := p_HLOctet4,
            hLOctet4aMaintenance := *,
            hLOctet4Audio := *
    }
rennoch's avatar
rennoch committed
} //end group PSTNTemplates		

group CDIVNTemplates {
	
schmitting's avatar
schmitting committed
    /* general CDIVN subscription */
    template Comm_div_info_type m_CDIVN_sub := {
        entity := "comm-div-info",
        comm_div_subs_info := {
schmitting's avatar
schmitting committed
            comm_div_selection_criteria := {
schmitting's avatar
schmitting committed
                originating_user_selection_criteria := omit,
                diverting_user_selection_criteria := omit,
                diverted_to_user_selection_criteria := omit,
                diversion_time_selection_criteria := omit,
                diversion_reason_selection_criteria := omit,
                elem_list := {}
            },
            comm_div_ntfy_trigger_criteria := omit,
            comm_div_info_selection_criteria := omit,
            elem_list := {}
        },
        comm_div_ntfy_info := omit,
        elem_list := {}
    }
rennoch's avatar
rennoch committed

} // end grouup CDIVNTemplates
poglitsch's avatar
poglitsch committed

group ResourceListsTemplates {
	

    template Resource_lists m_ResourceList_2Users(
schmitting's avatar
schmitting committed
        template EntryType p_user1, 
        template EntryType p_user2
schmitting's avatar
schmitting committed
        sequence_list := {
            {
                list := {
                    name := omit,
                    display_name := omit,
                    sequence_list := {
                        {
                            choice := {
                                entry := p_user1
                            }
                        },
                        {
                            choice := {
                                entry := p_user2
                            }
                        }
                    },
schmitting's avatar
schmitting committed
                    elem_list := {}
schmitting's avatar
schmitting committed
    template EntryType m_EntryUser(SipUrl p_user) := {
schmitting's avatar
schmitting committed
        uri :=
            p_user.components.sip.userInfo.userOrTelephoneSubscriber & "@" &
            p_user.components.sip.hostPort.host,
        display_name := omit,
schmitting's avatar
schmitting committed
        elem_list := {}
    }
poglitsch's avatar
poglitsch committed
}// end grouup ResourceListsTemplates
poglitsch's avatar
poglitsch committed
group Ims3gppTemplates {
    
    //TODO:check commented and below templates when test will be validated
    template TIMS3GPP mw_Ims_3gpp_CW := {
        version := 1.0,
        choice := {
            alternative_service := {
                type_ := ?, 
                reason := ?, 
schmitting's avatar
schmitting committed
                elem_list := ?
schmitting's avatar
schmitting committed
        elem_list := ?
    }
//  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 := *
//  }
poglitsch's avatar
poglitsch committed
} // end group Ims3gpp

poglitsch's avatar
poglitsch committed
group CONFTemplates {
schmitting's avatar
schmitting committed
    template booleanXSD boolXSD_true:={bool:=true}
    template booleanXSD boolXSD_false:={bool:=false}
	
    template anyAttributes m_emptyAnyAttributes:={}
	
    template urn_ietf_params_xml_ns_conference_info.Media_type m_mediatype_status(template Media_status_type p_status):= {
        id:="1",
schmitting's avatar
schmitting committed
        display_text :=omit,
        type_ :=omit,
        label_ :=omit,
        src_id:=omit,
        status:= p_status,
        elem_list:={}
    }
	
    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 urn_ietf_params_xml_ns_conference_info.Media_type p_mediastatus):= {
        entity:=p_Uri,
        state:=full,
schmitting's avatar
schmitting committed
        display_text:=omit,
        referred:=omit,
        status:=p_epStatus,
        joining_method:=p_joinMethod,
        joining_info:=omit,
        disconnection_method:=omit,
        disconnection_info:=omit,
        media_list:={p_mediastatus},// optional, 
        call_info:=omit,
        elem_list:={}
    }
	
    template User_type m_1user (template charstring p_Uri,template Endpoint_type p_endpoint) := {
        entity:=p_Uri,
        state:=full,
schmitting's avatar
schmitting committed
        display_text:=omit,
        associated_aors:=omit,
        roles:=omit,
        languages :=omit,
        cascaded_focus :=omit,
        endpoint_list:={p_endpoint},// optional,
        elem_list:={}
    }
	
    template Users_type m_users_1user_full(template User_type p_user):={
            state:=full,
schmitting's avatar
schmitting committed
            user_list:={p_user},
            elem_list:={}
    }
	
    template Users_type m_users_2user_full(template User_type p_user1,template User_type p_user2):={
            state:=full,
schmitting's avatar
schmitting committed
            user_list:={p_user1,p_user2},
            elem_list:={}
    }
	
    template Conference_state_type m_conference_state(template unsignedInt p_nUsers, boolean p_active, boolean p_locked) := {
schmitting's avatar
schmitting committed
        user_count:=p_nUsers,
        active:=p_active,
        locked:=p_locked,
        elem_list:= {}
    }

    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,
        conference_description := omit,
        host_info := omit,
        conference_state := p_cState,
        users := p_users,
        sidebars_by_ref := omit,
        sidebars_by_val := omit,
schmitting's avatar
schmitting committed
        elem_list := {}
rennoch's avatar
rennoch committed
	
 template Conference_type mw_conferenceInfo_active := {
schmitting's avatar
schmitting committed
     entity := ?,
     state := *,
     version := *,
schmitting's avatar
schmitting committed
     conference_description := *,
     host_info := *,
     conference_state := ?,
     users := {
         state := ?,
schmitting's avatar
schmitting committed
         user_list := {
             {
                 entity := *,
                 state := *,
schmitting's avatar
schmitting committed
                 display_text := *,
                 associated_aors := *,
                 roles := *,
                 languages := *,
                 cascaded_focus := *,
                 endpoint_list := {
                     {
                         entity := *,
                         state := *,
schmitting's avatar
schmitting committed
                         display_text := *,
                         referred := *,
                         status := connected,
                         joining_method := dialed_in,
                         joining_info := *,
                         disconnection_method := *,
                         disconnection_info := *,
                         media_list := *,
                         call_info := *,
                         elem_list := ?
                     }
                 },
                 elem_list := ?
             }
         },
         elem_list := {}
     },
     sidebars_by_ref := *,
     sidebars_by_val := *,
     elem_list := ?
rennoch's avatar
rennoch committed
	
} // end group MessageBodyTemplates
		
group MessageTemplates {

group modified_templates {

group request_send {
    	
    template ACK_Request m_ACK_Request_AS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
        From p_from, To p_to, Via p_via, template Route p_route, template RecordRoute p_recordRoute ) modifies m_ACK_Request_Base :=
    {
        msgHeader :=
        {
            route := p_route,
            recordRoute := p_recordRoute 
        }
    }		
schmitting's avatar
schmitting committed
    template ACK_Request m_ACK_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
        From p_from, To p_to, Via p_via, template Route p_route) modifies m_ACK_Request_Base :=
    {
        msgHeader :=
        {
            route := p_route
        }
    }
poglitsch's avatar
poglitsch committed
	
	template ACK_Request m_ACK_Request_sdp_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq,
	From p_from, To p_to, Via p_via,template MessageBody p_mb, template Route p_route)
	  modifies m_ACK_Request_Base
	  :=
	  {
		msgHeader :=
		{
			contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
			contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
		    route		:= p_route
		},
		messageBody := p_mb
	  }
	  
schmitting's avatar
schmitting committed
    template BYE_Request m_BYE_Request_IMS
        ( SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
        Via p_via, template Route p_route)
        modifies m_BYE_Request_Base
poglitsch's avatar
poglitsch committed
        :=
        {
          msgHeader :=
          {
schmitting's avatar
schmitting committed
            route := p_route 
poglitsch's avatar
poglitsch committed
          }
        }
	
schmitting's avatar
schmitting committed
    template BYE_Request m_BYE_Request_Reason_IMS
        ( SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
        Via p_via, template Route p_route, charstring p_cause)
        modifies m_BYE_Request_Base
        :=
        {
            msgHeader :=
            {
                reason := mw_Reason(p_cause),
                route := p_route
            }
        }
poglitsch's avatar
poglitsch committed
	
schmitting's avatar
schmitting committed
    template BYE_Request m_BYE_Request_UserToUser_IMS
        ( SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
        Via p_via, template Route p_route, template charstring p_U2UData)
        modifies m_BYE_Request_Base
poglitsch's avatar
poglitsch committed
        :=
        {
schmitting's avatar
schmitting committed
            msgHeader :=
            {
                route := p_route,
                userToUser := m_UserToUserData(p_U2UData)
            }
        }
	
    template BYE_Request m_BYE_Request_UE
        ( SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
        Via p_via, template Route p_route)
        modifies m_BYE_Request_Base
        :=
        {
          msgHeader :=
          {
            pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
            //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation
            route := p_route 
          }
        }
	
    template CANCEL_Request m_CANCEL_Request_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, 
        Via p_via, template Route p_route) modifies m_CANCEL_Request_Base :=
    {
        msgHeader :=
        {
            route := p_route
        }
    }
	
    template CANCEL_Request m_CANCEL_Request_Reason_IMS (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, 
        Via p_via, template Route p_route, integer p_cause) modifies m_CANCEL_Request_Base :=
    {
        msgHeader :=
        {
            reason := m_Reason(p_cause),
            route := p_route
        }
    }
	
    template CANCEL_Request m_CANCEL_Request_UE (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to, 
        Via p_via, template Route p_route) modifies m_CANCEL_Request_Base :=
    {
        msgHeader :=
        {
            route := p_route
        }
    }
	
    /*
        * 
        * @desc INFO message
    *
    */	
    template INFO_Request m_INFO_Request_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, template MessageBody p_mb )
    modifies m_INFO_Request_Base
    :=
    {
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication}
        },
        messageBody := p_mb
    }			
	
    /*
    * 
    * @desc INFO message
    *
    */	
    template INFO_Request m_INFO_Request_Mime_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, template MessageBody p_mb )
    modifies m_INFO_Request_Base
    :=
    {
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_mimeMultipart}
        },
        messageBody := p_mb
    }			
	
    template INFO_Request m_INFO_Request_Xml_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, template MessageBody p_mb )
    modifies m_INFO_Request_Base
    :=
    {
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_xmlAplication}
        },
        messageBody := p_mb
    }	
	
    template INVITE_Request m_INVITE_Request_UE
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route,  template Supported p_supported, template MessageBody p_mb )
    modifies m_INVITE_Request_Base
    :=
    {
      msgHeader :=
      {
        contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
        contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
        pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
        require := p_require,
        route := p_route,
        //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
        supported := p_supported
      },
      messageBody := p_mb
    }
	
    template INVITE_Request m_INVITE_Request_noBody_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
          Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported )
        modifies m_INVITE_Request_Base
        :=
        {
          msgHeader :=
          {
            pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
            require := p_require,
            route := p_route,
            //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
            supported := p_supported
          }
        }
	
        template INVITE_Request m_INVITE_Request_Allow_UE
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route,  template Supported p_supported, template MessageBody p_mb, template LibSip_SIPTypesAndValues.Allow p_allow)
    modifies m_INVITE_Request_UE
    :=
    {
      msgHeader :=
      {
        allow := p_allow
      }
    }
	
    template INVITE_Request m_INVITE_Request_noBody_Allow_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
          Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported, template LibSip_SIPTypesAndValues.Allow p_allow)
        modifies m_INVITE_Request_noBody_UE
        :=
        {
          msgHeader :=
poglitsch's avatar
poglitsch committed
          {
            allow := p_allow
          }
        }
poglitsch's avatar
poglitsch committed
		
schmitting's avatar
schmitting committed
    /*
     * 
     * @desc INVITE message exchanged at Mw
     *
     */	
    template INVITE_Request m_INVITE_Request_IMS (
        SipUrl p_requestUri, 
        CallId p_callId, 
        CSeq p_cSeq, 
        From p_from, 
        To p_to,
        Via p_via, 
        Contact p_contact, 
        template Require p_require,
        template Route p_route, 
        template RecordRoute p_recordRoute,  
        template Supported p_supported, 
        template PChargingVector p_pChargingVector, 
        template MessageBody p_mb 
    ) modifies m_INVITE_Request_Base := {
      msgHeader := {
        contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
        contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
        require := p_require,
        pChargingVector := p_pChargingVector,
        recordRoute := p_recordRoute,
        route := p_route,
        supported := p_supported
      },
      messageBody := p_mb
    }	
	
    /*
    * 
    * @desc INVITE message exchanged at Mw
    *
    */	
    template INVITE_Request m_INVITE_Request_HistoryInfo_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, Contact p_contact, template Require p_require,
            template Route p_route, template RecordRoute p_recordRoute,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb,
            template HistoryInfo p_historyInfo)
    modifies m_INVITE_Request_IMS
    :=
    {
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            historyInfo := p_historyInfo
        }
    }
	
    /*
    * 
    * @desc INVITE message exchanged at Mw
    *
    */	
    template INVITE_Request m_INVITE_Request_Mime_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb )
    modifies m_INVITE_Request_IMS
    :=
    {
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_mimeMultipart}
        }
    }
pintar's avatar
pintar committed
		
    /*
     * 
     * @desc INVITE message exchanged at Mw
     *
     */	
    template INVITE_Request m_INVITE_Request_IMS_noBody
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute,  template Supported p_supported, template PChargingVector p_pChargingVector)
    modifies m_INVITE_Request_Base
    :=
    {
      msgHeader :=
      {
        require := p_require,
        pChargingVector := p_pChargingVector,
        recordRoute := p_recordRoute,
        route := p_route,
        supported := p_supported
      }
    }			
schmitting's avatar
schmitting committed
    /*
    * 
    * @desc INVITE message exchanged at Mw
    *
    */	
    template INVITE_Request m_INVITE_Request_Mime_PAsserted_Privacy_IMS
rennoch's avatar
rennoch committed
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
schmitting's avatar
schmitting committed
            Via p_via, Contact p_contact, template Require p_require,
            template Route p_route, template RecordRoute p_recordRoute,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb,
            template PAssertedID p_pAssertedID, template Privacy p_privacy )
rennoch's avatar
rennoch committed
    modifies m_INVITE_Request_IMS
    :=
    {
schmitting's avatar
schmitting committed
        msgHeader :=
        {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_mimeMultipart},
            pAssertedID := p_pAssertedID,
            privacy := p_privacy
        }
schmitting's avatar
schmitting committed
    /*
    * 
    * @desc INVITE message exchanged at Mw
    *
    */	
    template INVITE_Request m_INVITE_Request_PAsserted_AcceptContact_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
schmitting's avatar
schmitting committed
            Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute, template AcceptContact p_acceptContact, template PAssertedID p_pAssertedID, template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb )
    modifies m_INVITE_Request_Base
    :=
    {
        msgHeader :=
schmitting's avatar
schmitting committed
        {
            acceptContact := p_acceptContact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
schmitting's avatar
schmitting committed
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            require := p_require,
            pAssertedID := p_pAssertedID,
            pChargingVector := p_pChargingVector,
            recordRoute := p_recordRoute,
            route := p_route,
            supported := p_supported
        },
        messageBody := p_mb
schmitting's avatar
schmitting committed
    }	
schmitting's avatar
schmitting committed
    /*
    * 
    * @desc INVITE message exchanged at Mw
    *
    */	
    template INVITE_Request m_INVITE_Request_PAsserted_Privacy_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute, template PAssertedID p_pAssertedID, template Privacy p_privacy, template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb )
    modifies m_INVITE_Request_Base
    :=
schmitting's avatar
schmitting committed
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            require := p_require,
            pAssertedID := p_pAssertedID,
            pChargingVector := p_pChargingVector,
            privacy := p_privacy,
            recordRoute := p_recordRoute,
            route := p_route,
            supported := p_supported
        },
        messageBody := p_mb
    }	
schmitting's avatar
schmitting committed
    /*
     * 
     * @desc INVITE message exchanged at Mw
     *
     */	
    template INVITE_Request m_INVITE_Request_PAssertedService_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb, template PAssertedService p_pAssertedService)
    modifies m_INVITE_Request_Base
    :=
    {
      msgHeader :=
      {
        contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
        contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
        require := p_require,
        pChargingVector := p_pChargingVector,
        route := p_route,
        supported := p_supported,
        pAssertedService := p_pAssertedService
      },
      messageBody := p_mb
    }		
schmitting's avatar
schmitting committed
    /*
     * 
     * @desc INVITE message exchanged at Mw
     *
     */	
    template INVITE_Request m_INVITE_Request_PEarlyMedia_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb )
    modifies m_INVITE_Request_Base
    :=
    {
      msgHeader :=
      {
        contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
        contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
        require := p_require,
        pChargingVector := p_pChargingVector,
        pEarlyMedia := m_pEarlyMedia_sup, 
        recordRoute := p_recordRoute,
        route := p_route,
        supported := p_supported
      },
      messageBody := p_mb
    }	

    template INVITE_Request m_INVITE_Request_PPreferred_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
          Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported, template MessageBody p_mb,template PPreferredID p_pPreferredID )
        modifies m_INVITE_Request_UE
        :=
        {
          msgHeader :=
          {
            pPreferredID := p_pPreferredID
          }
        }	

    template INVITE_Request m_INVITE_Request_PPreferred_Privacy_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
                Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported, template MessageBody p_mb,template PPreferredID p_pPreferredID, template Privacy p_privacy)
        modifies m_INVITE_Request_UE
        :=
        {
                msgHeader :=
                {
            pPreferredID := p_pPreferredID,
            privacy := p_privacy
                }
        }

    template INVITE_Request m_INVITE_Request_SessionExpires_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
          Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported, template MessageBody p_mb, template SessionExpires p_se)
        modifies m_INVITE_Request_Base
        :=
        {
          msgHeader :=
          {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
            require := p_require,
            route := p_route,
            //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
            supported := p_supported,
            sessionExpires := p_se
          },
          messageBody := p_mb
        }
	
    template INVITE_Request m_INVITE_Request_minSE_UE
        (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
          Via p_via, Contact p_contact, template Require p_require,
        template Route p_route,  template Supported p_supported, template MessageBody p_mb, template MinSE p_minSE)
        modifies m_INVITE_Request_Base
        :=
        {
          msgHeader :=
          {
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
            require := p_require,
            route := p_route,
            //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
            supported := p_supported,
            minSE := p_minSE
          },
          messageBody := p_mb
        }
	
    /*
     * 
     * @desc INVITE message exchanged at Mw
     *
     */	
    template INVITE_Request m_INVITE_Request_minSE_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
      Via p_via, Contact p_contact, template Require p_require,
    template Route p_route,  template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb, template MinSE p_minSE)
    modifies m_INVITE_Request_Base
    :=
    {
      msgHeader :=
      {
        contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
        contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
        require := p_require,
        pChargingVector := p_pChargingVector,
        route := p_route,
        supported := p_supported,
            minSE := p_minSE
      },
      messageBody := p_mb
    }
		
    template INVITE_Request m_INVITE_Request_User2UserData_IMS
    (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
            Via p_via, Contact p_contact, template Require p_require,
    template Route p_route, template RecordRoute p_recordRoute, template Supported p_supported, template PChargingVector p_pChargingVector, template MessageBody p_mb, template charstring p_U2UData)
    modifies m_INVITE_Request_IMS
    :=
    {
        msgHeader :=
        {
            userToUser := m_UserToUserData(valueof(p_U2UData))
        }
    }
	
    template MESSAGE_Request m_MESSAGE_Request_MBody_UE
           (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
             Via p_via, template Require p_require,
           template Route p_route,  template Supported p_supported, template MessageBody p_messageBody)
           modifies m_MESSAGE_Request_Base
           :=
           {
             msgHeader :=
             {
                contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(m_MBody_longPlainText))},
                contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_plainText},
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                require := p_require,
                route := p_route,
                //securityVerify := p_securityVerify,//TODO check when information will be known regarding security assosiation 
                supported := p_supported
             },
             messageBody := p_messageBody
    }
    
    template MESSAGE_Request m_MESSAGE_Request_NoBody_UE
            (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
              Via p_via, template Require p_require,
            template Route p_route,  template Supported p_supported)
            modifies m_MESSAGE_Request_Base
            :=
            {
              msgHeader :=
              {
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                require := p_require,
                route := p_route,
                supported := p_supported
              },
              messageBody := omit
            }
	
    template MESSAGE_Request m_MESSAGE_Request_PCharging_UE
            (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
              Via p_via, template Require p_require,
            template Route p_route,  template Supported p_supported)
            modifies m_MESSAGE_Request_Base
            :=
            {
              msgHeader :=
              {
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
                pChargingVector := m_pChargingVector_origIoi_fixedValue(PX_IMS_SUT_UE1_HOME_DOMAIN),
                require := p_require,
                route := p_route,
                supported := p_supported
              },
              messageBody := omit
            }
	
    template MESSAGE_Request m_MESSAGE_Request_PCharging_IMS
            (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
              Via p_via, template Require p_require,
            template Route p_route,  template Supported p_supported, 
            template PChargingVector p_pChargingVector)
            modifies m_MESSAGE_Request_Base
            :=
            {
              msgHeader :=
              {
                pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
                pChargingVector := p_pChargingVector,
                require := p_require,
                route := p_route,
                supported := p_supported
              },
              messageBody := omit
            }

    template MESSAGE_Request m_MESSAGE_Request_PMediaAuth_UE
            (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
              Via p_via, template Require p_require,
            template Route p_route,  template Supported p_supported)
            modifies m_MESSAGE_Request_Base
            :=
            {
              msgHeader :=
              {
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                pMediaAuthorization := m_pMediaAuthorization_fixedValue,
                require := p_require,
                route := p_route,
                supported := p_supported
              },
              messageBody := omit
            }

    template MESSAGE_Request m_MESSAGE_Request_PPreferred_UE
            (SipUrl p_requestUri, CallId p_callId, CSeq p_cSeq, From p_from, To p_to,
              Via p_via, template Require p_require,
            template Route p_route,  template Supported p_supported, template PPreferredID p_pPreferredID)
            modifies m_MESSAGE_Request_Base
            :=
            {
              msgHeader :=
              {
                pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a,
                pPreferredID := p_pPreferredID,
                require := p_require,
                route := p_route,
                supported := p_supported
              },
              messageBody := omit
            }