AtsImsIot_Templates_MI.ttcn 10.3 KB
Newer Older
/*
 *  @author     STF 574
 *  @version    $Id$
 *  @desc       This module provides TP related templates used at MI interface
 */
module AtsImsIot_Templates_MI {
    
    // LibCommon
    //import from LibCommon_BasicTypesAndValues all;
    //import from LibCommon_VerdictControl all;
    
    // libSip
    import from LibSip_SIPTypesAndValues all;
    import from LibSip_MessageBodyTypes all;
    import from LibSip_Templates all;
    import from LibSip_Common all;
    
    // LibIms
    import from LibIms_Templates all;
    
    //import from LibMsrp_TypesAndValues all;
    
    // LibIot
    //import from LibIot_TypesAndValues all;
    import from LibIot_PIXITS all;
    
    // AtsImsIot
    //import from AtsImsIot_TypesAndValues all;
    import from AtsImsIot_PIXITS all;
    import from AtsImsIot_Templates all;
    
    /**
    * @desc INVITE Request checking TP_MI_ECSCF_INVITE_01
    */
    template(present)  INVITE_Request mw_TP_MI_ECSCF_INVITE_01 (template (present) SipUrl p_invite_uri := ?,
                                                                template (present) From p_from := ?,
                                                                template (present) To p_to := ?)
    modifies mw_INVITE_Request_Base := {
        msgHeader := {
            fromField := p_from,
            toField := p_to,
                fieldName := ROUTE_E,
                routeBody := {
                    *, 
                    complement(mw_routeBody(p_invite_uri)),
            recordRoute := {
                fieldName := RECORD_ROUTE_E,
                routeBody := {mw_routeBody(p_invite_uri), *}             
            },        
            pChargingVector := {
                fieldName := P_CHARGING_VECTOR_E,
                chargeParams := {
                    *,
//                     {id := "icid-value", paramValue := ?},
                    *,
                    {id := "orig-ioi", paramValue := ?},
                    *,
//                     complement({id := "term-ioi", paramValue := ?}),
                    *,
                    complement({id := "access-network-charging-info", paramValue := ?}),
                    *
                }
            },
        pAccessNetworkInfo := omit
        }
    }

    template(present)  INVITE_Request mw_TP_MI_ECSCF_INVITE_02 (template (present) SipUrl p_invite_uri := ?,
                                                                template (present) From p_from := ?,
                                                                template (present) To p_to := ?)
    modifies mw_TP_MI_ECSCF_INVITE_01 := {
    }

    template(present)  INVITE_Request mw_TP_MI_ECSCF_INVITE_03 (template (present) SipUrl p_invite_uri := ?,
                                                                template (present) From p_from := ?,
                                                                template (present) To p_to := ?)
    modifies mw_TP_MI_ECSCF_INVITE_01 := {
        msgHeader := {
            recordRoute :=  {
                fieldName := RECORD_ROUTE_E,
                routeBody := {mw_routeBody(p_invite_uri), *}             
            }
        }
    }

    template (present) Response mw_TP_MI_ECSCF_100Trying_01(
                                                            template (present) CSeq p_cSeq := ?,
                                                            template (present) From p_from := ?,
                                                            template (present) To p_to := ?
                                                            ) modifies mw_100Trying_Base := {
        msgHeader := {
            cSeq      := p_cSeq,
            fromField := p_from,
            toField   := p_to
        }
    } // End of template mw_TP_MI_ECSCF_100Trying_01
    template (present) Response mw_TP_MI_ECSCF_180Ringing_01(
                                                                template (present) CSeq p_cSeq := ?,
                                                                template (present) From p_from := ?,
                                                                template (present) To p_to := ?
                                                                ) modifies mw_180Ringing_Base := {
        msgHeader := {
            cSeq      := p_cSeq,
            fromField := p_from,
            toField   := p_to
        }
    } // End of template mw_TP_MI_ECSCF_180Ringing_01
    template (present) Response mw_TP_MI_ECSCF_183SessionProgress_01(
                                                                template (present) CSeq p_cSeq := ?,
                                                                template (present) From p_from := ?,
                                                                template (present) To p_to := ?
                                                                ) modifies mw_183SessionProgress_Base := {
        msgHeader := {
            cSeq      := p_cSeq,
            fromField := p_from,
            toField   := p_to
        }
    } // End of template mw_TP_MI_ECSCF_183SessionProgress_01
    template (present) ACK_Request mw_TP_MI_ECSCF_ACK_01( // TODO To be enforced
                                                            template (present) CallId p_callId := ?,
                                                            template (present) CSeq p_cSeq := ?,
                                                            template (present) SipUrl p_ack_uri := ?,
                                                            template (present) From p_from := ?,
                                                            template (present) To p_to := ?
                                                            ) modifies mw_ACK_Request_Base := {
        requestLine := {
            method := ACK_E,
            requestUri := p_ack_uri, // @TODO
            sipVersion := c_sipNameVersion
        },
        msgHeader := {
            callId := p_callId,
            fromField := p_from,
            toField := p_to,
            route := {
                fieldName := ROUTE_E,
                routeBody := {
                    *, 
                    ?,
                    *
                }
            }
        }
    } // End of template mw_TP_MI_ECSCF_ACK_01
    template (present) BYE_Request mw_TP_MI_ECSCF_BYE_01( // TODO To be enforced
                                                        template (present) CallId p_callId := ?,
                                                        template (present) CSeq p_cSeq := ?,
                                                        template (present) SipUrl p_bye_uri := ?,
                                                        template (present) From p_from := ?,
                                                        template (present) To p_to := ?
                                                        ) modifies mw_BYE_Request_Base := {
        requestLine := {
            method := BYE_E,
            requestUri := p_bye_uri, // @TODO
            sipVersion := c_sipNameVersion
        },
        msgHeader := {
            callId := p_callId,
            fromField := p_from,
            toField := p_to,
            route := {
                fieldName := ROUTE_E,
                routeBody := {
                    *, 
                    ?,
                    *
                }
            }
        }
    } // End of template mw_TP_MW_PCSCF_BYE_01
	template(present)  INFO_Request mw_TP_MI_ECSCF_INFO_01   (
                    											template CallId p_callId := omit,
                    											template (present) SipUrl p_invite_uri := ?,
																template (present) From p_from := ?,
																template (present) To p_to := ?,
																template (present) Contact p_contact := ?,
																template (present) MessageBody p_messageBody := ?,
																template (present) PAssertedID p_pAssertedID := ?
																)modifies mw_INFO_Dummy := {

            requestLine := {
                requestUri := p_invite_uri // @TODO
            },
            msgHeader := {
				callId       := p_callId,
                contact      := p_contact,
                fromField    := p_from,
                pAssertedID  := p_pAssertedID,
                toField      := p_to
            },
            messageBody := p_messageBody
		template(present)  INFO_Request mw_TP_MI_ECSCF_NGC_INFO_01 (
                    												   template CallId p_callId := omit,
                                                                       template (present) SipUrl p_invite_uri := ?,
																	   template (present) From p_from := ?,
																	   template (present) To p_to := ?,
																	   template (present) Contact p_contact := ?,
																	   template (present) MessageBody p_messageBody := ?,
																	   template (present) PAssertedID p_pAssertedID := ?,
																	   template (present) PPreferredID p_pPreferredID := ?,
																	   template (present) Accept p_accept := ?,
																	   template (present) RecvInfo p_recvInfo := ?
																	   )
		modifies mw_TP_MI_ECSCF_INFO_01 := {
		}
    template (present) CANCEL_Request mw_TP_MI_ECSCF_CANCEL_01( // TODO To be enforced
                                                              template (present) CallId p_callId := ?,
                                                              template (present) CSeq p_cSeq := ?,
                                                              template (present) SipUrl p_bye_uri := ?,
                                                              template (present) From p_from := ?,
                                                              template (present) To p_to := ?
                                                              ) modifies mw_CANCEL_Request_Base := {
        requestLine := {
            method := CANCEL_E,
            requestUri := p_bye_uri, // @TODO
            sipVersion := c_sipNameVersion
        },
        msgHeader := {
            callId := p_callId,
            fromField := p_from,
            toField := p_to,
            route := {
                fieldName := ROUTE_E,
                routeBody := {
                    *, 
                    ?,
                    *
                }
            }
        }
    } // End of template mw_TP_MI_ECSCF_CANCEL_01

} // End of module AtsImsIot_Templates_MI