1#if defined(HAVE_CONFIG_H)
10# include <netinet/in.h>
11# include <arpa/nameser.h>
15#include <netinet/in.h>
39#define RESIPROCATE_SUBSYSTEM Subsystem::TRANSACTION
48 Message* msg = mController.mStateMacFifo.getNext();
58 InfoLog(<<
"TransactionState::process dropping message with no Via: " << sip->
brief());
76 DebugLog (<<
"Processing request from TU : " << msg->
brief());
81 DebugLog (<<
"Processing request from TU : " << msg->
brief());
84 mController.mTransportSelector.
dnsResolve(dnsRes, sip);
90 DebugLog (<<
"Processing response from TU: " << msg->
brief());
99 if (via.
exists(p_rport) && via.
param(p_rport).hasValue())
101 port = via.
param(p_rport).port();
104 mController.mTransportSelector.
transmit(sip, destination);
111 DebugLog (<<
"Processing Transport result: " << msg->
brief());
112 InfoLog (<<
"Not yet supported");
131 InfoLog (<<
"Rewriting request-uri to " << rewrite);
#define resip_assert(x)
This file needs to work for both C and C++ code.
The base-class used for message-passing.
virtual Brief brief() const
return a facet for brief encoding of message
Represents a SIP message.
bool isRequest() const
Returns true if message is a request, false otherwise.
bool hasForceTarget() const
const RequestLine & header(const RequestLineType &l) const
Returns the RequestLine. This is only valid for request messages.
bool isResponse() const
Returns true if message is a response, false otherwise.
const RequestLine & const_header(const RequestLineType &l) const
const Tuple & getSource() const
Returns the source tuple that the message was received from only makes sense for messages received fr...
bool isExternal() const
Check if SipMessage is to be treated as it came off the wire.
StatelessHandler(TransactionController &c)
StatelessMessage(TransportSelector &selector, SipMessage *msg)
void rewriteRequest(const Uri &rewrite)
void handle(DnsResult *result)
This message is used to indicate that the TransportSelector has sent a sip message using either relia...
DnsResult * createDnsResult(DnsHandler *handler)
DNS Resolution.
TransmitState transmit(SipMessage *msg, Tuple &target, SendData *sendData=0)
void dnsResolve(DnsResult *result, SipMessage *msg)
void add(Message *msg, TimeLimitFifo< Message >::DepthUsage usage)
Represents a network address.
FlowKey mFlowKey
This is a (largely) opaque key that subclasses of Transport will use to help record/find flows.
static TransportType toTransport(const Data &)
Converts a string representation of transport type, i.e.
Represents the "SIP-URI" and "SIPS-URI" elements in the RFC 3261 grammar.
Represents the "via-parm" element in the RFC 3261 grammar.
bool exists(const Param< Via > ¶mType) const
const Data & param(const ExtensionParameter ¶m) const
Const accessor for non-natively-supported parameter types.
dcm! – add UnusedChecking(_enum) below;
RequestLineType h_RequestLine