LibIms_Templates.ttcn 124 KB
Newer Older
schmitting's avatar
schmitting committed
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_mimeMultipart},
            maxForwards := omit,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }
	
    template Response m_Response_2xxonINVITE_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact, template RecordRoute p_recordRoute, template MessageBody p_mb) 
          modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }

    template Response m_Response_2xxonINVITE_PchargingVector (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, template Route p_route, template RecordRoute p_recordroute, template MessageBody p_mb, template Contact p_contact, template PChargingVector p_pChargingVector ) modifies m_Response_mbody :=
    {
        msgHeader :=
        {
            contact := p_contact,
            pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
            pChargingVector := p_pChargingVector

        }
    }
	
    template Response m_Response_2XXonINVITE_pPreferred_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact, template PPreferredID p_pPreferredID, template RecordRoute p_recordRoute, template MessageBody p_mb) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            pPreferredID := p_pPreferredID,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }	

	
    template Response m_Response_2XXonINVITE_pAsserted_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact, template PAssertedID p_pAssertedID, template RecordRoute p_recordRoute, template MessageBody p_mb) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            pAssertedID := p_pAssertedID,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }	

    template Response m_Response_2XXonINVITE_pAsserted_privacy_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
                From p_from, To p_to, Via p_via, Contact p_contact, template PAssertedID p_pAssertedID, template Privacy p_privacy, template RecordRoute p_recordRoute, template MessageBody p_mb) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            pAssertedID := p_pAssertedID,
            privacy := p_privacy,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }	

    template Response m_Response_2XXonINVITE_supported_privacy_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
                From p_from, To p_to, Via p_via, Contact p_contact, template Supported p_supported, template Privacy p_privacy, template RecordRoute p_recordRoute, template MessageBody p_mb) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            supported := p_supported,
            privacy := p_privacy,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }	
		
    template Response m_Response_2XXonINVITE_privacy_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact, template Privacy p_privacy, template RecordRoute p_recordRoute, template MessageBody p_mb) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            privacy := p_privacy,
            recordRoute := p_recordRoute//for INVITE response
        },
        messageBody := p_mb
    }			
schmitting's avatar
schmitting committed
    template Response m_Response_2xxonINVITE_UserToUser (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
        From p_from, To p_to, Via p_via, Contact p_contact, template RecordRoute p_recordRoute, template MessageBody p_mb, template charstring p_U2UData) 
        modifies m_Response_Base:=
pintar's avatar
pintar committed
    {
schmitting's avatar
schmitting committed
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            recordRoute := p_recordRoute,//for INVITE response
            userToUser := m_UserToUserData(valueof(p_U2UData))
pintar's avatar
pintar committed
        },
schmitting's avatar
schmitting committed
        messageBody := p_mb
pintar's avatar
pintar committed
    }
schmitting's avatar
schmitting committed

    template Response m_Response_2xxonREGISTER_IMS (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact, SipUrl p_serviceroute_sip_url, SipUrl p_passociated_uri) 
          modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            serviceRoute := {fieldName:=SERVICE_ROUTE_E,
            routeBody:={{ nameAddr:= {displayName:=omit,addrSpec:=p_serviceroute_sip_url},rrParam:=omit}}},
            pAssociatedURI := m_pAssociatedURI({displayName:=omit,addrSpec:=p_passociated_uri})		// PAssociatedURI RFC3455
rennoch's avatar
rennoch committed

schmitting's avatar
schmitting committed
    template Response m_Response_2xxonSUBSCRIBE_IMS (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact) 
          modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact
        }
    }
	
schmitting's avatar
schmitting committed
    template Response m_Response_2xxonSUBSCRIBE_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
          From p_from, To p_to, Via p_via, Contact p_contact) 
          modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_onMESSAGE_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, Contact p_contact) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_2xxonMESSAGE_PAccessNetwInfo_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            pAccessNetworkInfo := m_pAccessNetworkInfo_IEEE_11a
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_2xxonMESSAGE_PCharging_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, template PChargingVector p_pChargingVector) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
            pChargingVector := p_pChargingVector
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_2xxonMESSAGE_PCharging_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, template PChargingVector p_pChargingVector) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            pChargingFunctionAddresses := m_pChargingFunctionAddresses_fixedValue,
            pChargingVector := p_pChargingVector
        }
    }
	
    template Response m_Response_2xxonMESSAGE_PMediaAuth_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            pMediaAuthorization := m_pMediaAuthorization_fixedValue
        }
    }
	
    template Response m_Response_2xxonMESSAGE_pPreferredID_UE(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, template PPreferredID p_pPreferredID) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            pPreferredID := p_pPreferredID
        }
    }
	
    template Response m_Response_2xxonUPDATE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, Contact p_contact, template RecordRoute p_recordRoute, template MessageBody p_mb) 
    modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            contentLength	:= {fieldName := CONTENT_LENGTH_E, len:= f_MessageBodyLength(valueof(p_mb))},
            contentType := {fieldName := CONTENT_TYPE_E, mediaType :=  c_sdpAplication},
            maxForwards := omit,
            recordRoute := p_recordRoute
        },
        messageBody := p_mb
    }
schmitting's avatar
schmitting committed
	
    template Response m_Response_3XXonINVITE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
            From p_from, To p_to, Via p_via, Contact p_contact ) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            maxForwards := omit
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_4XXonINVITE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
            From p_from, To p_to, Via p_via, Contact p_contact ) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            maxForwards := omit
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_4XXonINVITE_UE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
              From p_from, To p_to, Via p_via, template Contact p_contact ) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            maxForwards := omit
        }
    }
	
    template Response m_Response_onINVITE (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
                From p_from, To p_to, Via p_via, Contact p_contact, template RecordRoute p_recordRoute) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            maxForwards := omit
        }
    }
	
    template Response m_Response_onINVITE_Reason (StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
                From p_from, To p_to, Via p_via, Contact p_contact, template RecordRoute p_recordRoute, charstring p_cause) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            contact		:= p_contact,
            maxForwards := omit,
            reason := mw_Reason(p_cause)
        }
    }
schmitting's avatar
schmitting committed
    template Response m_Response_WWWauthenticate_IMS(StatusLine p_statusLine, CallId p_callId, CSeq p_cSeq,
    From p_from, To p_to, Via p_via, template WwwAuthenticate p_wwwAuthenticate) modifies m_Response_Base:=
    {
        msgHeader :=
        {
            wwwAuthenticate := p_wwwAuthenticate
        }
    }	
	
}//end group response_send

group response_receive
{

schmitting's avatar
schmitting committed
    template Response mw_Response_200onINVITE_noPChargingVector_UE(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pChargingVector := omit
      }
    }
	
    template Response mw_Response_200onINVITE_SDP_UE(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        messageBody := {
            sdpMessageBody := ?
        }
    }

    template Response mw_Response_2xxonMESSAGE_noPCharging_UE(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pChargingFunctionAddresses := omit,
            pChargingVector := omit
      }
    }

    template Response mw_Response_2xxonMESSAGE_noPCharging_IMS(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pChargingFunctionAddresses := omit,
            pChargingVector := omit
      }
    }


    template Response mw_Response_2xxonMESSAGE_noPAccessNetworkInfo_IMS(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pAccessNetworkInfo := omit
      }
    }

    template Response mw_Response_2xxonMESSAGE_noPMediaAuthorization_IMS(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pMediaAuthorization := omit
      }
    }

    template Response mw_Response_401onREGISTER_securityServer_UE(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            securityServer := ?,
            wwwAuthenticate := ?
      }
    }

    template Response mw_Response_401onREGISTER_WWWauthenticate_IMS(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq, template WwwAuthenticate p_wwwAuthenticate) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            wwwAuthenticate := p_wwwAuthenticate
      }
    }

    template Response mw_Response_200onREGISTER_IMS(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq, template SipUrl p_ue_uri, template Contact p_contact, template SipUrl p_sut_scscf_uri) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pAssociatedURI := {fieldName := P_ASSOCIATED_URI_E, nameAddrList:={*,{nameAddr:={displayName:=*,addrSpec:=p_ue_uri},genericParams:=*},*}},
            path := ?,
            serviceRoute := {fieldName := SERVICE_ROUTE_E, routeBody := {{nameAddr:={displayName:=*,addrSpec:=p_sut_scscf_uri},rrParam:=*}}},
            pChargingFunctionAddresses := ?,
            pChargingVector := ?,
            contact := p_contact
      }
    }
	
    template Response mw_Response_PpreferredID_PassertedID(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq, template PPreferredID p_pPreferredID, template PAssertedID p_pAssertedID) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
          pAssertedID := p_pAssertedID,
          pPreferredID := p_pPreferredID
      }
    }

    template Response mw_Response_PAsserted_Privacy_History (template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq, template PAssertedID p_pAssertedID, template Privacy p_privacy, template HistoryInfo p_historyInfo) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
            pAssertedID := p_pAssertedID,
            privacy := p_privacy,
            historyInfo := p_historyInfo
        }
    }

    template Response mw_Response_PchargingVector(template StatusLine p_statusLine, template CallId p_callId,
        template CSeq p_cSeq, template PChargingVector p_chargingVector) modifies mw_Response_Base:=
    {
        statusLine := {sipVersion := c_sipNameVersion, statusCode := p_statusLine.statusCode, reasonPhrase := ?},
        msgHeader :=
        {
          pChargingVector := p_chargingVector // mw_pChargingVector(p_id,p_paramValue)
      }
    }

} // end response_receive

}//end modified_templates

}//end Message_templates

} // end module LibIms_Templates