AtsImsIot_Templates_MI.ttcn 8.56 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_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,
            route := ({
                fieldName := ROUTE_E,
                routeBody := {
                    *, 
                    complement(mw_routeBody(p_invite_uri)),
                    *
                }
            }, omit),
            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) 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