reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
RRDecorator.hxx
Go to the documentation of this file.
1#ifndef RRDecorator_Include_Guard
2#define RRDecorator_Include_Guard
3
7
8namespace repro
9{
10class Proxy;
11
13{
14 public:
15 RRDecorator(const Proxy& proxy,
21 bool doPath=false,
22 bool isOriginalSenderBehindNAT=false);
23 virtual ~RRDecorator();
24
26
27 virtual void decorateMessage(resip::SipMessage &msg,
28 const resip::Tuple &source,
29 const resip::Tuple &destination,
30 const resip::Data& sigcompId) ;
31 virtual void rollbackMessage(resip::SipMessage& msg) ;
32 virtual MessageDecorator* clone() const ;
33
34 private:
35 void singleRecordRoute(resip::SipMessage &msg,
36 const resip::Tuple &source,
37 const resip::Tuple &destination,
38 const resip::Data& sigcompId);
39 void doubleRecordRoute(resip::SipMessage &msg,
40 const resip::Tuple &source,
41 const resip::Tuple &destination,
42 const resip::Data& sigcompId);
43 bool isTransportSwitch(const resip::Tuple& sendingFrom);
44 bool outboundFlowTokenNeeded(resip::SipMessage &msg,
45 const resip::Tuple &source,
46 const resip::Tuple &destination,
47 const resip::Data& sigcompId);
48 const Proxy& mProxy;
49 int mAddedRecordRoute;
50 bool mAlreadySingleRecordRouted;
51 bool mHasInboundFlowToken;
52 bool mForceRecordRouteEnabled;
53 bool mDoPath;
54 const bool mIsOriginalSenderBehindNAT;
55 resip::Tuple mReceivedTransportTuple;
56 resip::NameAddr mReceivedTransportRecordRoute;
57
58 //disabled
60}; // class RRDecorator
61
62} // namespace resip
63
64#endif // include guard
virtual MessageDecorator * clone() const
virtual void decorateMessage(resip::SipMessage &msg, const resip::Tuple &source, const resip::Tuple &destination, const resip::Data &sigcompId)
virtual void rollbackMessage(resip::SipMessage &msg)
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition Data.hxx:90
Represents the "name-addr" and the "addr-spec" elements in the RFC 3261 grammar.
Definition NameAddr.hxx:19
Represents a SIP message.
Represents a network address.
Definition Tuple.hxx:59
This Class is used to implement a primitive form of RPC using loose XML formatting.
void list()
Definition userAdmin.cxx:66