1#if !defined(RESIP_SERVERINVITESESSION_HXX)
2#define RESIP_SERVERINVITESESSION_HXX
31 void provisional(
int code=180,
bool earlyFlag=
true);
43 const Contents* alternative,
bool sendOfferAtAccept);
55 virtual void end(
const Data& userReason);
66 void accept(
int statusCode=200);
82 void dispatchOfferOrEarly(
const SipMessage& msg);
84 void dispatchWaitingToOffer(
const SipMessage& msg);
85 void dispatchWaitingToRequestOffer(
const SipMessage& msg);
86 void dispatchAcceptedWaitingAnswer(
const SipMessage& msg);
87 void dispatchFirstSentOfferReliable(
const SipMessage& msg);
88 void dispatchOfferReliableProvidedAnswer(
const SipMessage& msg);
89 void dispatchFirstSentAnswerReliable(
const SipMessage& msg);
90 void dispatchNoAnswerReliableWaitingPrack(
const SipMessage& msg);
91 void dispatchSentUpdate(
const SipMessage& msg);
92 void dispatchSentUpdateGlare(
const SipMessage& msg);
93 void dispatchSentUpdateAccepted(
const SipMessage& msg);
94 void dispatchReceivedUpdate(
const SipMessage& msg);
95 void dispatchReceivedUpdateWaitingAnswer(
const SipMessage& msg);
96 void dispatchWaitingToHangup(
const SipMessage& msg);
97 void dispatchNegotiatedReliable(
const SipMessage& msg);
104 void startRetransmit1xxTimer();
105 void startResubmit1xxRelTimer();
106 void startRetransmit1xxRelTimer();
108 bool sendProvisional(
int code,
bool earlyFlag);
109 void queueResponse(
int code,
bool earlyFlag);
112 void prackCheckQueue();
113 void updateCheckQueue();
119 std::shared_ptr<SipMessage> m1xx;
120 unsigned long mCurrentRetransmit1xxSeq;
123 unsigned int mLocalRSeq;
124 std::shared_ptr<SipMessage> mUnacknowledgedReliableProvisional;
125 std::deque< std::pair<int, bool> > mQueuedResponses;
126 bool mAnswerSentReliably;
127 std::shared_ptr<SipMessage> mPrackWithOffer;
Base class for all SIP body types.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
dcm! – kill typedef std::list<DialogId> DialogIdSet;
Base class for class ClientInviteSession and class ServerInviteSession.
void redirect(const NameAddrs &contacts, int code=302)
send a 3xx
ServerInviteSession & operator=(ServerInviteSession &&)=delete
void redirectCommand(const NameAddrs &contacts, int code=302)
Provide asynchronous method access by using command.
virtual void reject(int statusCode, WarningCategory *warning=0)
Rejects an offer at the SIP level.
void accept(int statusCode=200)
accept an initial invite (2xx) - this is only applicable to the UAS
virtual void provideAnswer(const Contents &answer)
Similar to provideOffer - called to set the answer to be signaled to the peer.
ServerInviteSession(const ServerInviteSession &)=delete
ServerInviteSession(ServerInviteSession &&)=delete
void acceptCommand(int statusCode=200)
virtual void provideOffer(const Contents &offer)
Called to set the offer that will be used in the next message that sends an offer.
virtual void requestOffer()
Called to request that the far end provide an offer.
ServerInviteSession & operator=(const ServerInviteSession &)=delete
void provisionalCommand(int code=180, bool earlyFlag=true)
void provisional(int code=180, bool earlyFlag=true)
send a 1xx - provisional response.
Handle< ServerInviteSession > ServerInviteSessionHandle
ServerInviteSessionHandle getHandle()
Represents a SIP message.
Represents the "warning-value" element in the RFC 3261 grammar.
dcm! – add UnusedChecking(_enum) below;