Commit 3cf7a31b authored by pintar's avatar pintar
Browse files

New module for templates introduced to prepare templates for this project. One...

New module for templates introduced to prepare templates for this project. One template for isc interface was moved in this module.
parent 695aae17
Loading
Loading
Loading
Loading
+114 −0
Original line number Diff line number Diff line
/*
 *	@author 	STF467
 *  @version    $Id: AtsIms_Templates.ttcn 176 2014-01-17 10:43:55Z pintar $
 *	@desc		This module provides the templates used by the ATSIMS
 */

module AtsIms_Templates
{	
    
    //LibSip
    import from LibSip_SIPTypesAndValues all;
    import from LibSip_Templates all;
  
    group HeaderTemplates 
    {				
        template Contact mw_Contact_AdSpecU_SipUrl(template SipUrl p_sipUrl) :=
        {
          fieldName := CONTACT_E,
          contactBody :=
          {
            contactAddresses :=
            {
              {
                addressField := {
                    addrSpecUnion := p_sipUrl
                },
                contactParams := *
              }
            }
          } 
        }
        				
        template Contact mw_Contact_NameAd_SipUrl(template SipUrl p_sipUrl) :=
        {
          fieldName := CONTACT_E,
          contactBody :=
          {
            contactAddresses :=
            {
              {
                addressField := {
                    nameAddr := {displayName := *, addrSpec := p_sipUrl}
                },
                contactParams := *
              }
            }
          } 
        }

        template From mw_From_NameAd_SipUrl(template SipUrl p_sipUrl) := {
          fieldName := FROM_E,
          addressField := { nameAddr := {displayName := *, addrSpec := p_sipUrl}},
          fromParams:= *
        }

        template From mw_From_AdSpecU_SipUrl(template SipUrl p_sipUrl) := {
          fieldName := FROM_E,
          addressField := {addrSpecUnion := p_sipUrl},
          fromParams:= *
        }
    
    }//end group HeaderTemplates
    
    group MessageTemplates {
        group modified_templates {
            group request_sent {
	  
                template BYE_Request m_BYE_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_BYE_Request_Base
                    :=
                    {
                      msgHeader :=
                      {
                        route := p_route,
                        recordRoute := p_recordRoute 
                      }
                    }
            }//end group request_sent	
            
            group request_receive { 

		
                template REGISTER_Request mw_REGISTER_Request_ISC 
                   (template SipUrl p_sipUrl,
                    template From p_from,
                    template Contact p_contact,  
                    template PAccessNetworkInfo p_access, 
                    template PChargingFunctionAddresses p_pCharFunAddr, 
                    template PChargingVector p_pCharVector, 
                    template PVisitedNetworkID p_visited )
                  modifies mw_REGISTER_Request_Base :=
                {
                  requestLine	:=
                  {
                      requestUri := p_sipUrl,
                      sipVersion := c_sipNameVersion
                  },
                  msgHeader := { 
                      fromField := p_from,
                      contact := p_contact,
                      pAccessNetworkInfo := p_access,
                      pChargingFunctionAddresses := p_pCharFunAddr,
                      pChargingVector := p_pCharVector,  
                      pVisitedNetworkID  := p_visited
                  }
            
                }
            }//end group request_receive
        }//end group modified_templates
    }//end group MessageTemplates
    
} // end module AtsIms_Templates
 No newline at end of file