AtsImsIot_Templates_MM.ttcn 5.62 KB
Newer Older
/*
 *  @author     STF 574
 *  @version    $Id$
 *  @desc       This module provides TP related templates used at MM interface
 */
module AtsImsIot_Templates_MM {
    
    // 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_MM_PSAP_INVITE_01
          */
         template(present)  INVITE_Request mdw_TP_MM_PSAP_INVITE_01 (template (present) SipUrl p_IBCF_SIP_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_IBCF_SIP_URI)),
                     *
                 }
             }, omit),
             recordRoute := {
                 fieldName := RECORD_ROUTE_E,
                 routeBody := {mw_routeBody(p_IBCF_SIP_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) Response mw_TP_MM_PSAP_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_MM_PSAP_100Trying_01
        
        template (present) Response mw_TP_MM_PSAP_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_MM_PSAP_180Ringing_01
        
        template (present) Response mw_TP_MM_PSAP_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_MM_PSAP_183SessionProgress_01
    
        template (present) ACK_Request mw_TP_MM_PSAP_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_MM_PSAP_ACK_01
        
} // End of module AtsImsIot_Templates_MM