32 #ifndef OPAL_SIP_SIPCON_H
33 #define OPAL_SIP_SIPCON_H
65 #define OPAL_OPT_OFFER_SDP_PTIME "Offer-SDP-PTime"
70 #define OPAL_OPT_REFER_SUB "Refer-Sub"
77 #define OPAL_OPT_PRACK_MODE "PRACK-Mode"
82 #define OPAL_OPT_INITIAL_OFFER "Initial-Offer"
99 #define OPAL_OPT_SYMMETRIC_HOLD_PRODUCT "Symmetric-Hold-Product"
111 #define OPAL_OPT_EXTERNAL_SDP "External-SDP"
113 #define SIP_HEADER_PREFIX "SIP-Header:"
114 #define SIP_HEADER_REPLACES SIP_HEADER_PREFIX"Replaces"
115 #define SIP_HEADER_REFERRED_BY SIP_HEADER_PREFIX"Referred-By"
116 #define SIP_HEADER_CONTACT SIP_HEADER_PREFIX"Contact"
118 #define OPAL_SIP_REFERRED_CONNECTION "Referred-Connection"
138 const PString & token,
141 unsigned int options = 0,
258 const PString & remoteParty
292 const PString & calleeName,
358 const PString & forwardParty
375 const PString & value
444 const PString & eventName
618 virtual bool TransmitExternalIM(
637 bool offerCurrentOnly
644 bool offerOpenMediaStreamOnly
653 unsigned sessionIndex,
663 bool & multipleFormats
667 const unsigned rtpSessionId,
695 unsigned eventCode = 0
810 virtual void OnTxStatistics(
820 virtual void OnRxStatistics(
829 virtual void OnRxIntraFrameRequest(
836 virtual void OnTxIntraFrameRequest(
851 #endif // OPAL_SIP_SIPCON_H
virtual void OnReceivedACK(SIP_PDU &pdu)
bool SendOPTIONS(const SIPOptions::Params ¶ms, SIP_PDU *reply=NULL)
SIPConnection & connection
Definition: sipcon.h:845
Definition: rtpconn.h:247
time_t m_sdpSessionId
Definition: sipcon.h:722
virtual unsigned GetAllowedMethods() const
PRACKMode
Mode for reliable provisional responses.
Definition: sipcon.h:570
PString m_alertInfo
Definition: sipcon.h:731
virtual void OnReceivedRinging(SIP_PDU &pdu)
virtual void OnReceivedSessionProgress(SIP_PDU &pdu)
virtual void OnReceivedCANCEL(SIP_PDU &pdu)
std::map< std::string, SIP_PDU * > m_responses
Definition: sipcon.h:766
virtual void OnReceivedNOTIFY(SIP_PDU &pdu)
bool m_prackEnabled
Definition: sipcon.h:739
TypeOfINVITE CheckINVITE(const SIP_PDU &pdu) const
Indicate if this is a duplicate or multi-path INVITE.
enum SIPConnection::@39 releaseMethod
std::map< SIP_PDU::Methods, unsigned > m_lastRxCSeq
Definition: sipcon.h:736
virtual bool OnSendOfferSDP(OpalRTPSessionManager &rtpSessions, SDPSessionDescription &sdpOut, bool offerCurrentOnly)
bool SendINFO(const SIPInfo::Params ¶ms, SIP_PDU *reply=NULL)
virtual void OnReceivedResponse(SIPTransaction &transaction, SIP_PDU &response)
unsigned m_authenticateErrors
Definition: sipcon.h:733
HoldState m_holdToRemote
Definition: sipcon.h:714
Definition: transports.h:703
Definition: rtpconn.h:159
virtual PBoolean SetAlerting(const PString &calleeName, PBoolean withMedia)
virtual void OnReceivedBYE(SIP_PDU &pdu)
void NotifyDialogState(SIPDialogNotification::States state, SIPDialogNotification::Events eventType=SIPDialogNotification::NoEvent, unsigned eventCode=0)
virtual void OnApplyStringOptions()
Call back for connection to act on changed string options.
bool m_needReINVITE
Definition: sipcon.h:724
virtual PString GetCalledPartyURL()
virtual bool SetAlertingType(const PString &info)
StatusCodes
Definition: sippdu.h:518
SIPConnection(OpalCall &call, SIPEndPoint &endpoint, const PString &token, const SIPURL &address, OpalTransport *transport, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)
PRACKMode GetPRACKMode() const
Definition: sipcon.h:585
virtual bool OnMediaCommand(OpalMediaStream &stream, const OpalMediaCommand &command)
virtual void OnReceivedOPTIONS(SIP_PDU &pdu)
virtual PString GetPrefixName() const
P_REMOVE_VIRTUAL_VOID(OnMessageReceived(const SIPURL &, const SIP_PDU &))
OpalTransportAddress GetDefaultSDPConnectAddress(WORD port=0) const
OpalTransport & GetTransport() const
Definition: sipcon.h:561
bool deleteTransport
Definition: sipcon.h:702
virtual void OnReceivedMESSAGE(SIP_PDU &pdu)
virtual void OnPauseMediaStream(OpalMediaStream &strm, bool paused)
TypeOfINVITE
Definition: sipcon.h:526
int m_appearanceCode
Definition: sipcon.h:730
virtual bool IsNetworkConnection() const
Definition: sipcon.h:160
SIPEndPoint & GetEndPoint() const
Definition: sipcon.h:564
States
Definition: handlers.h:499
virtual void OnReceivedOK(SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedINFO(SIP_PDU &pdu)
virtual void AdjustInviteResponse(SIP_PDU &response)
PSafeList< SIPTransaction > pendingInvitations
Definition: sipcon.h:748
PSafePtr< OpalSIPIMContext > m_imContext
Definition: sipcon.h:769
unsigned m_allowedMethods
Definition: sipcon.h:703
virtual bool OnSendAnswerSDPSession(const SDPSessionDescription &sdpIn, unsigned sessionIndex, SDPSessionDescription &sdpOut)
SendUserInputModes
Definition: connection.h:1311
virtual void OnReceivedPING(SIP_PDU &pdu)
std::queue< SIP_PDU > m_responsePackets
Definition: sipcon.h:741
Definition: connection.h:462
virtual void OnReceivedReINVITE(SIP_PDU &pdu)
Definition: sippdu.h:1358
virtual PBoolean ForwardCall(const PString &forwardParty)
unsigned m_prackSequenceNumber
Definition: sipcon.h:740
virtual bool TransferConnection(const PString &remoteParty)
bool SetRemoteMediaFormats(SDPSessionDescription *sdp)
virtual PString GetCallInfo() const
SIPDialogContext & GetDialog()
Definition: sipcon.h:565
PString GetLocalPartyURL() const
unsigned m_responseRetryCount
Definition: sipcon.h:744
virtual PString GetAlertingType() const
virtual OpalMediaStreamPtr OpenMediaStream(const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
virtual PString GetIdentifier() const
SIPURL m_ciscoRemotePartyID
Definition: sipcon.h:718
SIPAuthentication * GetAuthenticator() const
Definition: sipcon.h:567
virtual PBoolean SendInviteResponse(SIP_PDU::StatusCodes code, const SDPSessionDescription *sdp=NULL)
virtual void OnReceivedPRACK(SIP_PDU &pdu)
PTime originalInviteTime
Definition: sipcon.h:721
void UpdateRemoteAddresses()
virtual void OnReceivedResponseToINVITE(SIPTransaction &transaction, SIP_PDU &response)
virtual void OnStartTransaction(SIPTransaction &transaction)
SIPAuthentication * m_authentication
Definition: sipcon.h:732
bool StartPendingReINVITE()
bool SendReINVITE(PTRACE_PARAM(const char *msg))
virtual bool IsOnHold(bool fromRemote)
virtual OpalMediaFormatList GetMediaFormats() const
PHTTPClientAuthentication SIPAuthentication
Definition: sippdu.h:471
virtual PBoolean SetUpConnection()
virtual bool CloseMediaStream(OpalMediaStream &stream)
PTimer m_responseRetryTimer
Definition: sipcon.h:743
bool m_referInProgress
Definition: sipcon.h:746
PRACKMode m_prackMode
Definition: sipcon.h:738
PSafeList< SIPTransaction > forkedInvitations
Definition: sipcon.h:747
virtual OpalMediaSession * SetUpMediaSession(const unsigned rtpSessionId, const OpalMediaType &mediaType, const SDPMediaDescription &mediaDescription, OpalTransportAddress &localAddress, bool &remoteChanged)
PBoolean SendUserInputTone(char tone, unsigned duration)
SIPURL m_contactAddress
Definition: sipcon.h:717
virtual PString GetDestinationAddress()
bool m_resolveMultipleFormatReINVITE
Definition: sipcon.h:726
virtual bool OnReceivedAnswerSDPSession(SDPSessionDescription &sdp, unsigned sessionId, bool &multipleFormats)
SIP_PDU * originalInvite
Definition: sipcon.h:720
virtual void OnCreatingINVITE(SIPInvite &pdu)
unsigned m_sdpVersion
Definition: sipcon.h:723
PTimer m_responseFailTimer
Definition: sipcon.h:742
virtual void OnReceivedINVITE(SIP_PDU &pdu)
virtual void OnAllowedEventNotify(const PString &eventName)
const SIPDialogContext & GetDialog() const
Definition: sipcon.h:566
OpalMediaFormatList m_remoteFormatList
Definition: sipcon.h:762
virtual bool OnSendOfferSDPSession(const OpalMediaType &mediaType, unsigned sessionID, OpalRTPSessionManager &rtpSessions, SDPSessionDescription &sdpOut, bool offerOpenMediaStreamOnly)
virtual bool SendInviteOK()
bool m_holdFromRemote
Definition: sipcon.h:715
PString m_forwardParty
Definition: sipcon.h:716
OpalTransport * transport
Definition: sipcon.h:701
SIPDialogContext m_dialog
Definition: sipcon.h:728
virtual PBoolean SendUserInputString(const PString &value)
virtual bool Hold(bool fromRemote, bool placeOnHold)
bool SetTransport(const SIPURL &destination)
virtual void OnReceivedTrying(SIPTransaction &transaction, SIP_PDU &response)
virtual PBoolean OnMediaControlXML(SIP_PDU &pdu)
PDECLARE_NOTIFIER(PTimer, SIPConnection, OnSessionTimeout)
virtual void OnReleased()
PTimer sessionTimer
Definition: sipcon.h:734
PStringList m_allowedEvents
Definition: sipcon.h:704
HoldState
Definition: sipcon.h:706
bool m_switchedToT38
Definition: sipcon.h:752
#define OpalGloballyUniqueID
Definition: guid.h:42
Definition: transports.h:149
bool m_symmetricOpenStream
Definition: sipcon.h:727
virtual void OnReceivedREFER(SIP_PDU &pdu)
OpalGloballyUniqueID m_dialogNotifyId
Definition: sipcon.h:729
OpalMediaFormatList m_answerFormatList
Definition: sipcon.h:763
Definition: handlers.h:515
PSafeList< SIPTransaction > m_pendingTransactions
Definition: sipcon.h:749
virtual void OnReceivedPDU(SIP_PDU &pdu)
virtual void OnRTPStatistics(const RTP_Session &session) const
virtual PBoolean OnReceivedAuthenticationRequired(SIPTransaction &transaction, SIP_PDU &response)
virtual void OnReceivedRedirection(SIP_PDU &pdu)
virtual SendUserInputModes GetRealSendUserInputMode() const
Definition: sippdu.h:1397
virtual bool GarbageCollection()
enum SIPConnection::@40 m_receivedUserInputMethod
bool m_handlingINVITE
Definition: sipcon.h:725
SIPEndPoint & endpoint
Definition: sipcon.h:700
virtual bool OnSendAnswerSDP(OpalRTPSessionManager &rtpSessions, SDPSessionDescription &sdpOut)
virtual void OnTransactionFailed(SIPTransaction &transaction)
virtual PBoolean SetConnected()
virtual void OnReceivedAnswerSDP(SIP_PDU &pdu)
void OnUserInputInlineRFC2833(OpalRFC2833Info &info, INT type)
Events
Definition: handlers.h:514