OPAL
Version 3.10.10
|
#include <sipcon.h>
Public Member Functions | |
OpalTransportAddress | GetDefaultSDPConnectAddress (WORD port=0) const |
OpalTransport & | GetTransport () const |
bool | SetTransport (const SIPURL &destination) |
SIPEndPoint & | GetEndPoint () const |
SIPDialogContext & | GetDialog () |
const SIPDialogContext & | GetDialog () const |
SIPAuthentication * | GetAuthenticator () const |
PRACKMode | GetPRACKMode () const |
virtual unsigned | GetAllowedMethods () const |
virtual PBoolean | OnMediaControlXML (SIP_PDU &pdu) |
virtual bool | OnMediaCommand (OpalMediaStream &stream, const OpalMediaCommand &command) |
virtual void | OnStartTransaction (SIPTransaction &transaction) |
virtual void | OnReceivedMESSAGE (SIP_PDU &pdu) |
P_REMOVE_VIRTUAL_VOID (OnMessageReceived(const SIPURL &, const SIP_PDU &)) | |
P_REMOVE_VIRTUAL_VOID (OnMessageReceived(const SIP_PDU &)) | |
PString | GetLocalPartyURL () const |
Construction | |
SIPConnection (OpalCall &call, SIPEndPoint &endpoint, const PString &token, const SIPURL &address, OpalTransport *transport, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL) | |
~SIPConnection () | |
Overrides from OpalConnection | |
virtual bool | IsNetworkConnection () const |
virtual PString | GetPrefixName () const |
virtual PString | GetIdentifier () const |
virtual void | OnApplyStringOptions () |
Call back for connection to act on changed string options. More... | |
virtual PBoolean | SetUpConnection () |
virtual PString | GetDestinationAddress () |
virtual PString | GetCalledPartyURL () |
virtual PString | GetAlertingType () const |
virtual bool | SetAlertingType (const PString &info) |
virtual PString | GetCallInfo () const |
virtual bool | TransferConnection (const PString &remoteParty) |
virtual bool | Hold (bool fromRemote, bool placeOnHold) |
virtual bool | IsOnHold (bool fromRemote) |
virtual PBoolean | SetAlerting (const PString &calleeName, PBoolean withMedia) |
virtual PBoolean | SetConnected () |
virtual OpalMediaFormatList | GetMediaFormats () const |
virtual OpalMediaStreamPtr | OpenMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource) |
virtual bool | CloseMediaStream (OpalMediaStream &stream) |
virtual void | OnPauseMediaStream (OpalMediaStream &strm, bool paused) |
virtual void | OnReleased () |
virtual PBoolean | ForwardCall (const PString &forwardParty) |
virtual SendUserInputModes | GetRealSendUserInputMode () const |
virtual PBoolean | SendUserInputString (const PString &value) |
PBoolean | SendUserInputTone (char tone, unsigned duration) |
virtual void | OnRTPStatistics (const RTP_Session &session) const |
![]() | |
virtual void | AttachRFC2833HandlerToPatch (PBoolean isSource, OpalMediaPatch &patch) |
virtual void | SessionFailing (RTP_Session &session) |
OpalRTPConnection (OpalCall &call, OpalRTPEndPoint &endpoint, const PString &token, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL) | |
~OpalRTPConnection () | |
virtual unsigned | GetNextSessionID (const OpalMediaType &mediaType, bool isSource) |
virtual RTP_Session * | GetSession (unsigned sessionID) const |
virtual OpalMediaSession * | GetMediaSession (unsigned sessionID) const |
virtual RTP_Session * | UseSession (const OpalTransport &transport, unsigned sessionID, const OpalMediaType &mediatype, RTP_QOS *rtpqos=NULL) |
virtual void | CloseSession (unsigned sessionID) |
virtual RTP_Session * | CreateSession (const OpalTransport &transport, unsigned sessionID, const OpalMediaType &mediaType, RTP_QOS *rtpqos) |
virtual RTP_UDP * | CreateRTPSession (unsigned sessionId, const OpalMediaType &mediaType, bool remoteIsNat) |
virtual bool | ChangeSessionID (unsigned fromSessionID, unsigned toSessionID) |
virtual PBoolean | RemoteIsNAT () const |
virtual PBoolean | IsRTPNATEnabled (const PIPSocket::Address &localAddr, const PIPSocket::Address &peerAddr, const PIPSocket::Address &signalAddr, PBoolean incoming) |
virtual PBoolean | GetMediaInformation (unsigned sessionID, MediaInformation &info) const |
virtual PBoolean | IsMediaBypassPossible (unsigned sessionID) const |
virtual OpalMediaStream * | CreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource) |
virtual void | AdjustMediaFormats (bool local, const OpalConnection *otherConnection, OpalMediaFormatList &mediaFormats) const |
virtual void | OnPatchMediaStream (PBoolean isSource, OpalMediaPatch &patch) |
![]() | |
const StringOptions & | GetStringOptions () const |
Get the string options associated with this connection. More... | |
void | SetStringOptions (const StringOptions &options, bool overwrite) |
Set the string options associated with this connection. More... | |
virtual void | EnableRecording () |
virtual void | DisableRecording () |
OpalConnection (OpalCall &call, OpalEndPoint &endpoint, const PString &token, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL) | |
~OpalConnection () | |
void | PrintOn (ostream &strm) const |
virtual PBoolean | OnIncomingConnection (unsigned int options, OpalConnection::StringOptions *stringOptions) |
virtual PBoolean | OnSetUpConnection () |
virtual void | OnProceeding () |
virtual void | OnAlerting () |
virtual AnswerCallResponse | OnAnswerCall (const PString &callerName) |
virtual void | AnsweringCall (AnswerCallResponse response) |
virtual void | OnConnected () |
virtual void | OnEstablished () |
virtual bool | OnTransferNotify (const PStringToString &info, const OpalConnection *transferringConnection) |
virtual void | Release (CallEndReason reason=EndedByLocalUser, bool synchronous=false) |
PSafePtr< OpalConnection > | GetOtherPartyConnection () const |
template<class cls > | |
PSafePtr< cls > | GetOtherPartyConnectionAs () const |
virtual OpalMediaFormatList | GetLocalMediaFormats () |
virtual OpalMediaType::AutoStartMode | GetAutoStart (const OpalMediaType &mediaType) const |
virtual void | AutoStartMediaStreams (bool force=false) |
virtual bool | SwitchFaxMediaStreams (bool toT38) |
virtual void | OnSwitchedFaxMediaStreams (bool toT38, bool success) |
virtual bool | OnSwitchingFaxMediaStreams (bool toT38) |
virtual bool | CloseMediaStream (unsigned sessionId, bool source) |
bool | RemoveMediaStream (OpalMediaStream &strm) |
virtual void | StartMediaStreams () |
virtual void | CloseMediaStreams () |
virtual void | PauseMediaStreams (bool paused) |
OpalMediaStreamPtr | GetMediaStream (const PString &streamID, bool source) const |
OpalMediaStreamPtr | GetMediaStream (unsigned sessionId, bool source) const |
OpalMediaStreamPtr | GetMediaStream (const OpalMediaType &mediaType, bool source, OpalMediaStreamPtr previous=NULL) const |
virtual PBoolean | OnOpenMediaStream (OpalMediaStream &stream) |
virtual void | OnClosedMediaStream (const OpalMediaStream &stream) |
virtual void | OnStartMediaPatch (OpalMediaPatch &patch) |
virtual void | OnStopMediaPatch (OpalMediaPatch &patch) |
virtual PBoolean | CreateVideoInputDevice (const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, PBoolean &autoDelete) |
virtual PBoolean | CreateVideoOutputDevice (const OpalMediaFormat &mediaFormat, PBoolean preview, PVideoOutputDevice *&device, PBoolean &autoDelete) |
virtual bool | SendVideoUpdatePicture (unsigned sessionID=0, bool force=false) const |
virtual PBoolean | SetAudioVolume (PBoolean source, unsigned percentage) |
virtual PBoolean | GetAudioVolume (PBoolean source, unsigned &percentage) |
virtual bool | SetAudioMute (bool source, bool mute) |
virtual bool | GetAudioMute (bool source, bool &mute) |
virtual unsigned | GetAudioSignalLevel (PBoolean source) |
unsigned | GetBandwidthAvailable () const |
virtual PBoolean | SetBandwidthAvailable (unsigned newBandwidth, PBoolean force=false) |
virtual unsigned | GetBandwidthUsed () const |
virtual PBoolean | SetBandwidthUsed (unsigned releasedBandwidth, unsigned requiredBandwidth) |
OpalEndPoint & | GetEndPoint () const |
OpalCall & | GetCall () const |
const PString & | GetToken () const |
PBoolean | IsOriginating () const |
const PTime & | GetPhaseTime (Phases phase) const |
const PTime & | GetSetupUpTime () const |
const PTime & | GetAlertingTime () const |
const PTime & | GetConnectionStartTime () const |
const PTime & | GetConnectionEndTime () const |
const OpalProductInfo & | GetProductInfo () const |
void | SetProductInfo (const OpalProductInfo &info) |
const PString & | GetLocalPartyName () const |
virtual void | SetLocalPartyName (const PString &name) |
const PString & | GetDisplayName () const |
void | SetDisplayName (const PString &name) |
virtual bool | IsPresentationBlocked () const |
const PString & | GetRemotePartyName () const |
void | SetRemotePartyName (const PString &name) |
const PString & | GetRemotePartyNumber () const |
const PString & | GetRemotePartyAddress () const |
void | SetRemotePartyAddress (const PString &addr) |
virtual PString | GetRemotePartyURL () const |
const PString & | GetRedirectingParty () const |
void | SetRedirectingParty (const PString &party) |
const PString | GetRemotePartyCallbackURL () const |
PCaselessString | GetRemoteApplication () const |
const OpalProductInfo & | GetRemoteProductInfo () const |
const PString & | GetCalledPartyName () const |
const PString & | GetCalledPartyNumber () const |
void | CopyPartyNames (const OpalConnection &other) |
unsigned | GetMinAudioJitterDelay () const |
unsigned | GetMaxAudioJitterDelay () const |
void | SetAudioJitterDelay (unsigned minDelay, unsigned maxDelay) |
OpalSilenceDetector * | GetSilenceDetector () const |
virtual PINDEX | GetMaxRtpPayloadSize () const |
PDICTIONARY (MediaAddressesDict, POrdinalKey, OpalTransportAddress) | |
MediaAddressesDict & | GetMediaTransportAddresses () |
unsigned | GetVideoUpdateRequestsSent () const |
__inline Phases | GetPhase () const |
__inline bool | IsEstablished () const |
Return true if connection is in the established phase. More... | |
__inline bool | IsReleased () const |
Return true if connection is in the established phase. More... | |
void | SetPhase (Phases phaseToSet) |
CallEndReason | GetCallEndReason () const |
PString | GetCallEndReasonText () const |
virtual void | SetCallEndReason (CallEndReason reason) |
void | ClearCall (CallEndReason reason=EndedByLocalUser, PSyncPoint *sync=NULL) |
virtual void | ClearCallSynchronous (PSyncPoint *sync, CallEndReason reason=EndedByLocalUser) |
unsigned | GetQ931Cause () const |
void | SetQ931Cause (unsigned v) |
virtual void | OnHold (bool fromRemote, bool onHold) |
virtual void | SetSendUserInputMode (SendUserInputModes mode) |
virtual SendUserInputModes | GetSendUserInputMode () const |
virtual void | OnUserInputString (const PString &value) |
virtual void | OnUserInputTone (char tone, unsigned duration) |
void | SendUserInputHookFlash (unsigned duration=500) |
virtual PString | GetUserInput (unsigned timeout=30) |
virtual void | SetUserInput (const PString &input) |
virtual PString | ReadUserInput (const char *terminators="#\", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30) |
virtual PBoolean | PromptUserInput (PBoolean play) |
Protected Types | |
enum | HoldState { eHoldOff, eRetrieveInProgress, eHoldOn, eHoldInProgress } |
enum | { ReleaseWithBYE, ReleaseWithCANCEL, ReleaseWithResponse, ReleaseWithNothing } |
enum | { UserInputMethodUnknown, ReceivedRFC2833, ReceivedINFO } |
![]() | |
enum | { e_NotSwitchingFaxMediaStreams, e_SwitchingToFaxMediaStreams, e_SwitchingFromFaxMediaStreams } |
Static Protected Member Functions | |
static PBoolean | WriteINVITE (OpalTransport &transport, void *param) |
Friends | |
class | SIPInvite |
class | SIPTransaction |
class | SIP_RTP_Session |
Protocol handling functions | |
enum | TypeOfINVITE { IsNewINVITE, IsDuplicateINVITE, IsReINVITE, IsLoopedINVITE } |
virtual void | OnTransactionFailed (SIPTransaction &transaction) |
virtual void | OnReceivedPDU (SIP_PDU &pdu) |
virtual void | OnReceivedINVITE (SIP_PDU &pdu) |
virtual void | OnReceivedReINVITE (SIP_PDU &pdu) |
virtual void | OnReceivedACK (SIP_PDU &pdu) |
virtual void | OnReceivedOPTIONS (SIP_PDU &pdu) |
virtual void | OnReceivedNOTIFY (SIP_PDU &pdu) |
virtual void | OnAllowedEventNotify (const PString &eventName) |
virtual void | OnReceivedREFER (SIP_PDU &pdu) |
virtual void | OnReceivedINFO (SIP_PDU &pdu) |
virtual void | OnReceivedPING (SIP_PDU &pdu) |
virtual void | OnReceivedPRACK (SIP_PDU &pdu) |
virtual void | OnReceivedBYE (SIP_PDU &pdu) |
virtual void | OnReceivedCANCEL (SIP_PDU &pdu) |
virtual void | OnReceivedResponseToINVITE (SIPTransaction &transaction, SIP_PDU &response) |
virtual void | OnReceivedResponse (SIPTransaction &transaction, SIP_PDU &response) |
virtual void | OnReceivedTrying (SIPTransaction &transaction, SIP_PDU &response) |
virtual void | OnReceivedRinging (SIP_PDU &pdu) |
virtual void | OnReceivedSessionProgress (SIP_PDU &pdu) |
virtual PBoolean | OnReceivedAuthenticationRequired (SIPTransaction &transaction, SIP_PDU &response) |
virtual void | OnReceivedRedirection (SIP_PDU &pdu) |
virtual void | OnReceivedOK (SIPTransaction &transaction, SIP_PDU &response) |
virtual void | OnCreatingINVITE (SIPInvite &pdu) |
TypeOfINVITE | CheckINVITE (const SIP_PDU &pdu) const |
Indicate if this is a duplicate or multi-path INVITE. More... | |
bool | SendOPTIONS (const SIPOptions::Params ¶ms, SIP_PDU *reply=NULL) |
bool | SendINFO (const SIPInfo::Params ¶ms, SIP_PDU *reply=NULL) |
Additional Inherited Members | |
![]() | |
static PString | GetCallEndReasonText (CallEndReason reason) |
static void | SetCallEndReasonText (CallEndReasonCodes reasonCode, const PString &newText) |
Session Initiation Protocol connection.
|
protected |
|
protected |
Mode for reliable provisional responses.
SIPConnection::SIPConnection | ( | OpalCall & | call, |
SIPEndPoint & | endpoint, | ||
const PString & | token, | ||
const SIPURL & | address, | ||
OpalTransport * | transport, | ||
unsigned int | options = 0 , |
||
OpalConnection::StringOptions * | stringOptions = NULL |
||
) |
Create a new connection.
call | Owner call for connection |
endpoint | Owner endpoint for connection |
token | token to identify the connection |
address | Destination address for outgoing call |
transport | Transport INVITE came in on |
options | Connection options |
stringOptions | complex string options |
SIPConnection::~SIPConnection | ( | ) |
Destroy connection.
|
protectedvirtual |
TypeOfINVITE SIPConnection::CheckINVITE | ( | const SIP_PDU & | pdu | ) | const |
Indicate if this is a duplicate or multi-path INVITE.
|
virtual |
Request close of a specific media stream. Note that this is usually asymchronous, the OnClosedMediaStream() function is called when the stream is really closed.
stream | Stream to close |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Forward incoming connection to the specified address. This would typically be called from within the OnIncomingConnection() function when an application wishes to redirect an unwanted incoming call.
The return value is true if the call is to be forwarded, false otherwise. Note that if the call is forwarded, the current connection is cleared with the ended call code set to EndedByCallForwarded.
forwardParty | Party to forward call to. |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
protectedvirtual |
Execute garbage collection for endpoint. Returns true if all garbage has been collected. Default behaviour deletes the objects in the connectionsActive list.
Reimplemented from OpalConnection.
Referenced by GetPRACKMode().
|
virtual |
Get alerting type information of an incoming call. The type of "distinctive ringing" for the call. The string is protocol dependent, so the caller would need to be aware of the type of call being made. Some protocols may ignore the field completely.
For SIP this corresponds to the string contained in the "Alert-Info" header field of the INVITE. This is typically a URI for the ring file.
For H.323 this must be a string representation of an integer from 0 to 7 which will be contained in the Q.931 SIGNAL (0x34) Information Element.
Default behaviour returns an empty string.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Return a bit mask of the allowed SIP methods.
Referenced by GetPRACKMode().
|
inline |
References m_authentication.
|
virtual |
Get the fulll URL being indicated by the remote for incoming calls. This may not have any relation to the local name of the endpoint.
The default behaviour returns GetDestinationAddress() normalised to a URL. The remote may provide a full URL, if it does not then the prefix for the endpoint is prepended to the destination address.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Get call information of an incoming call. This is protocol dependent information provided about the call. The details are outside the scope of this help.
For SIP this corresponds to the string contained in the "Call-Info" header field of the INVITE.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
OpalTransportAddress SIPConnection::GetDefaultSDPConnectAddress | ( | WORD | port = 0 | ) | const |
|
virtual |
Get the destination address of an incoming connection. This will, for example, collect a phone number from a POTS line, or get the fields from the H.225 SETUP pdu in a H.323 connection.
The default behaviour for sip returns the request URI in the INVITE.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
inline |
References m_dialog.
|
inline |
References m_dialog.
|
inline |
References endpoint.
|
virtual |
Get the protocol-specific unique identifier for this connection.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
|
virtual |
Get the data formats this endpoint is capable of operating in.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
inline |
Get active PRACK mode. See PRACKMode enum for details.
References GarbageCollection(), GetAllowedMethods(), GetLocalPartyURL(), m_prackMode, OnMediaCommand(), OnMediaControlXML(), OnReceivedAnswerSDP(), OnReceivedAnswerSDPSession(), OnReceivedMESSAGE(), OnSendAnswerSDP(), OnSendAnswerSDPSession(), OnSendOfferSDP(), OnSendOfferSDPSession(), OnStartTransaction(), OnUserInputInlineRFC2833(), P_REMOVE_VIRTUAL_VOID(), PDECLARE_NOTIFIER(), SendReINVITE(), SetUpMediaSession(), and StartPendingReINVITE().
|
virtual |
Get this connections protocol prefix for URLs.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Get the real user input indication transmission mode. This will return the user input mode that will actually be used for transmissions. It will be the value of GetSendUserInputMode() provided the remote endpoint is capable of that mode.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
inlinevirtual |
Reimplemented from OpalConnection.
References SetTransport(), and transport.
|
virtual |
Put the current connection on hold, suspending all media streams. The fromRemote
parameter indicates if we a putting the remote on hold (false) or it is a request for the remote to put us on hold (true).
The /p placeOnHold parameter indicates of teh command/request is for going on hold or retrieving from hold.
fromRemote | Flag for if remote has us on hold, or we have them |
placeOnHold | Flag for setting on or off hold |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
inlinevirtual |
Get indication of connection being to a "network". This indicates the if the connection may be regarded as a "network" connection. The distinction is about if there is a concept of a "remote" party being connected to and is best described by example: sip, h323, iax and pstn are all "network" connections as they connect to something "remote". While pc, pots and ivr are not as the entity being connected to is intrinsically local.
Implements OpalConnection.
References CloseMediaStream(), ForwardCall(), GetAlertingType(), GetCalledPartyURL(), GetCallInfo(), GetDestinationAddress(), GetIdentifier(), GetMediaFormats(), GetPrefixName(), GetRealSendUserInputMode(), Hold(), IsOnHold(), OnAllowedEventNotify(), OnApplyStringOptions(), OnCreatingINVITE(), OnPauseMediaStream(), OnReceivedACK(), OnReceivedAuthenticationRequired(), OnReceivedBYE(), OnReceivedCANCEL(), OnReceivedINFO(), OnReceivedINVITE(), OnReceivedNOTIFY(), OnReceivedOK(), OnReceivedOPTIONS(), OnReceivedPDU(), OnReceivedPING(), OnReceivedPRACK(), OnReceivedRedirection(), OnReceivedREFER(), OnReceivedReINVITE(), OnReceivedResponse(), OnReceivedResponseToINVITE(), OnReceivedRinging(), OnReceivedSessionProgress(), OnReceivedTrying(), OnReleased(), OnRTPStatistics(), OnTransactionFailed(), OpenMediaStream(), SendUserInputString(), SendUserInputTone(), SetAlerting(), SetAlertingType(), SetConnected(), SetUpConnection(), and TransferConnection().
|
virtual |
Return true if the current connection is on hold. The fromRemote
parameter indicates if we are testing if the remote system has us on hold, or we have them on hold.
fromRemote | Flag for if remote has us on hold, or we have them |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
protected |
|
virtual |
Callback function on receipt of an allowed NOTIFY message. Allowed events are determined by the m_allowedEvents member variable.
eventName | Name of event |
Referenced by IsNetworkConnection().
|
virtual |
Call back for connection to act on changed string options.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Handle a sending INVITE request
Referenced by IsNetworkConnection().
|
virtual |
Callback for media commands. Calls the SendIntraFrameRequest on the rtp session
stream | Stream command executed on |
command | Media command being executed |
Reimplemented from OpalRTPConnection.
Referenced by GetPRACKMode().
|
virtual |
Call when SIP INFO of type application/media_control+xml is received.
Return false if default reponse of Failure_UnsupportedMediaType is to be returned
Referenced by GetPRACKMode().
|
virtual |
Pause media streams for connection.
strm | Media stream paused/un-paused |
paused | Flag for pausing/un-pausing |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming ACK PDU
Referenced by IsNetworkConnection().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
virtual |
Handle an incoming Proxy Authentication Required response PDU Returns: true if handled, if false is returned connection is released.
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming BYE PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming CANCEL PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming INFO PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming INVITE request
Referenced by IsNetworkConnection().
|
virtual |
Referenced by GetPRACKMode().
|
virtual |
Handle an incoming NOTIFY PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming OK response PDU. This actually gets any PDU of the class 2xx not just 200.
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming OPTIONS PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming SIP PDU that has been full decoded
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming PING PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming PRACK PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming redirect response PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming REFER PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming Re-INVITE request
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming response PDU.
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming response PDU to our INVITE. Note this is called before th ACK is sent and thus should do as little as possible. All the hard work (SDP processing etc) should be in the usual OnReceivedResponse().
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming Ringing response PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming Session Progress response PDU
Referenced by IsNetworkConnection().
|
virtual |
Handle an incoming Trying response PDU
Referenced by IsNetworkConnection().
|
virtual |
Clean up the termination of the connection. This function can do any internal cleaning up and waiting on background threads that may be using the connection object.
Note that there is not a one to one relationship with the OnEstablishedConnection() function. This function may be called without that function being called. For example if SetUpConnection() was used but the call never completed.
Classes that override this function should make sure they call the ancestor version for correct operation.
An application will not typically call this function as it is used by the OpalManager during a release of the connection.
The default behaviour calls the OpalEndPoint function of the same name.
Reimplemented from OpalRTPConnection.
Referenced by IsNetworkConnection().
|
virtual |
Callback from the RTP session for statistics monitoring. This is called every so many packets on the transmitter and receiver threads of the RTP session indicating that the statistics have been updated.
The default behaviour does nothing.
session | Session with statistics |
Referenced by IsNetworkConnection().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
virtual |
Referenced by GetPRACKMode().
|
virtual |
Handle the fail of a transaction we initiated.
Referenced by IsNetworkConnection().
|
protected |
Referenced by GetPRACKMode().
|
virtual |
Open source or sink media stream for session.
mediaFormat | Media format to open |
sessionID | Session to start stream on |
isSource | Stream is a source/sink |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
Referenced by GetPRACKMode().
SIPConnection::P_REMOVE_VIRTUAL_VOID | ( | OnMessageReceived(const SIP_PDU &) | ) |
|
protected |
Referenced by GetPRACKMode().
|
protected |
|
protected |
bool SIPConnection::SendINFO | ( | const SIPInfo::Params & | params, |
SIP_PDU * | reply = NULL |
||
) |
Send an INFO command within this calls dialog. Note if reply
is non-NULL, this function will block until the transaction completes. Care must be executed in this case that no deadlocks occur.
params | Parameters for OPTIONS command |
reply | Reply to message |
|
protectedvirtual |
|
protectedvirtual |
bool SIPConnection::SendOPTIONS | ( | const SIPOptions::Params & | params, |
SIP_PDU * | reply = NULL |
||
) |
Send an OPTIONS command within this calls dialog. Note if reply
is non-NULL, this function will block until the transaction completes. Care must be executed in this case that no deadlocks occur.
params | Parameters for OPTIONS command |
reply | Reply to message |
|
protected |
Referenced by GetPRACKMode().
|
virtual |
Send a user input indication to the remote endpoint. This is for sending arbitrary strings as user indications.
The default behaviour is to call SendUserInputTone() for each character in the string.
value | String value of indication |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Send a user input indication to the remote endpoint. This sends DTMF emulation user input. If something more sophisticated than the simple tones that can be sent using the SendUserInput() function.
A duration of zero indicates that no duration is to be indicated. A non-zero logical channel indicates that the tone is to be syncronised with the logical channel at the rtpTimestamp value specified.
The tone parameter must be one of "0123456789#*ABCD!" where '!' indicates a hook flash. If tone is a ' ' character then a signalUpdate PDU is sent that updates the last tone indication sent. See the H.245 specifcation for more details on this.
The default behaviour sends the tone using RFC2833.
Reimplemented from OpalRTPConnection.
Referenced by IsNetworkConnection().
|
virtual |
Indicate to remote endpoint an alert is in progress. If this is an incoming connection and the AnswerCallResponse is in a AnswerCallDeferred or AnswerCallPending state, then this function is used to indicate to that endpoint that an alert is in progress. This is usually due to another connection which is in the call (the B party) has received an OnAlerting() indicating that its remote endpoint is "ringing".
The default behaviour does nothing.
calleeName | Name of endpoint being alerted. |
withMedia | Flag to alert with/without media |
Implements OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Set alerting type information for outgoing call. The type of "distinctive ringing" for the call. The string is protocol dependent, so the caller would need to be aware of the type of call being made. Some protocols may ignore the field completely.
For SIP this corresponds to the string contained in the "Alert-Info" header field of the INVITE. This is typically a URI for the ring file.
For H.323 this must be a string representation of an integer from 0 to 7 which will be contained in the Q.931 SIGNAL (0x34) Information Element.
Default behaviour returns false.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
virtual |
Indicate to remote endpoint we are connected.
The default behaviour does nothing.
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
protected |
bool SIPConnection::SetTransport | ( | const SIPURL & | destination | ) |
Referenced by GetTransport().
|
virtual |
Start an outgoing connection. This function will initiate the connection to the remote entity, for example in H.323 it sends a SETUP, in SIP it sends an INVITE etc.
The default behaviour is .
Implements OpalConnection.
Referenced by IsNetworkConnection().
|
protectedvirtual |
Referenced by GetPRACKMode().
|
protected |
Referenced by GetPRACKMode().
|
virtual |
Initiate the transfer of an existing call (connection) to a new remote party.
A REFER command is sent to the remote endpoint to cause it to move the call it has with this endpoint to a new address. This call will, in the end, be cleared. The OnTransferNotify() function can be used to monitor the progress of the transfer in case it fails.
If remoteParty is a valid call token, then this is short hand for the REFER to the remote endpoint of this call to do an INVITE with Replaces header to the remote party of the supplied tokens call. This is used for consultation transfer where A calls B, B holds A, B calls C, B transfers A to C. The last step is a REFER to A with call details of C that are extracted from the B to C call leg. This short cut is possible because A nd C may be other endpoints but both B's are in this instance of OPAL.
In the end, both calls are cleared. The OnTransferNotify() function can be used to monitor the progress of the transfer in case it fails.
remoteParty | Remote party to transfer the existing call to |
Reimplemented from OpalConnection.
Referenced by IsNetworkConnection().
|
protected |
|
staticprotected |
|
protected |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
Referenced by GetEndPoint().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetAuthenticator().
|
protected |
|
protected |
|
protected |
Referenced by GetDialog().
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by GetPRACKMode().
|
protected |
enum { ... } SIPConnection::m_receivedUserInputMethod |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
enum { ... } SIPConnection::releaseMethod |
|
protected |
|
protected |
Referenced by GetTransport().