|
Basic operations |
| enum | Phases {
UninitialisedPhase,
SetUpPhase,
AlertingPhase,
ConnectedPhase,
EstablishedPhase,
ReleasingPhase,
ReleasedPhase,
NumPhases
} |
| Phases | GetPhase () const |
| CallEndReason | GetCallEndReason () const |
| virtual void | SetCallEndReason (CallEndReason reason) |
| void | ClearCall (CallEndReason reason=EndedByLocalUser) |
| virtual void | ClearCallSynchronous (PSyncPoint *sync, CallEndReason reason=EndedByLocalUser) |
| unsigned | GetQ931Cause () const |
| void | SetQ931Cause (unsigned v) |
| virtual void | TransferConnection (const PString &remoteParty, const PString &callIdentity=PString::Empty()) |
| virtual void | HoldConnection () |
| virtual void | RetrieveConnection () |
| virtual BOOL | IsConnectionOnHold () |
User input |
| enum | SendUserInputModes {
SendUserInputAsQ931,
SendUserInputAsString,
SendUserInputAsTone,
SendUserInputAsInlineRFC2833,
SendUserInputAsSeparateRFC2833,
SendUserInputAsProtocolDefault,
NumSendUserInputModes
} |
| virtual void | SetSendUserInputMode (SendUserInputModes mode) |
| virtual SendUserInputModes | GetSendUserInputMode () const |
| virtual SendUserInputModes | GetRealSendUserInputMode () const |
| virtual BOOL | SendUserInputString (const PString &value) |
| virtual BOOL | SendUserInputTone (char tone, unsigned duration=0) |
| 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="#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30) |
| virtual BOOL | PromptUserInput (BOOL play) |
Public Types |
| enum | CallEndReason {
EndedByLocalUser,
EndedByNoAccept,
EndedByAnswerDenied,
EndedByRemoteUser,
EndedByRefusal,
EndedByNoAnswer,
EndedByCallerAbort,
EndedByTransportFail,
EndedByConnectFail,
EndedByGatekeeper,
EndedByNoUser,
EndedByNoBandwidth,
EndedByCapabilityExchange,
EndedByCallForwarded,
EndedBySecurityDenial,
EndedByLocalBusy,
EndedByLocalCongestion,
EndedByRemoteBusy,
EndedByRemoteCongestion,
EndedByUnreachable,
EndedByNoEndPoint,
EndedByHostOffline,
EndedByTemporaryFailure,
EndedByQ931Cause,
EndedByDurationLimit,
EndedByInvalidConferenceID,
NumCallEndReasons
} |
| enum | AnswerCallResponse {
AnswerCallNow,
AnswerCallDenied,
AnswerCallPending,
AnswerCallDeferred,
AnswerCallAlertWithMedia,
AnswerCallDeferredWithMedia,
AnswerCallProgress,
NumAnswerCallResponses
} |
Public Methods |
| const RTP_DataFrame::PayloadMapType & | GetRTPPayloadMap () const |
| PMutex & | GetMediaStreamMutex () |
|
| | OpalConnection (OpalCall &call, OpalEndPoint &endpoint, const PString &token) |
| | ~OpalConnection () |
|
| void | PrintOn (ostream &strm) const |
|
| virtual BOOL | OnIncomingConnection () |
| virtual BOOL | SetUpConnection ()=0 |
| virtual BOOL | OnSetUpConnection () |
| virtual void | OnAlerting () |
| virtual BOOL | SetAlerting (const PString &calleeName, BOOL withMedia)=0 |
| virtual AnswerCallResponse | OnAnswerCall (const PString &callerName) |
| virtual void | AnsweringCall (AnswerCallResponse response) |
| virtual void | OnConnected () |
| virtual BOOL | SetConnected ()=0 |
| virtual void | OnEstablished () |
| virtual void | Release (CallEndReason reason=EndedByLocalUser) |
| virtual void | OnReleased () |
|
| virtual PString | GetDestinationAddress () |
| virtual BOOL | ForwardCall (const PString &forwardParty) |
|
| virtual OpalMediaFormatList | GetMediaFormats () const=0 |
| virtual void | AdjustMediaFormats (OpalMediaFormatList &mediaFormats) const |
| virtual BOOL | OpenSourceMediaStream (const OpalMediaFormatList &mediaFormats, unsigned sessionID) |
| virtual OpalMediaStream * | OpenSinkMediaStream (OpalMediaStream &source) |
| virtual void | StartMediaStreams () |
| virtual void | CloseMediaStreams () |
| virtual void | RemoveMediaStreams () |
| virtual void | PauseMediaStreams (BOOL paused) |
| virtual OpalMediaStream * | CreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, BOOL isSource) |
| virtual BOOL | OnOpenMediaStream (OpalMediaStream &stream) |
| virtual void | OnClosedMediaStream (const OpalMediaStream &stream) |
| virtual void | OnPatchMediaStream (BOOL isSource, OpalMediaPatch &patch) |
| OpalMediaStream * | GetMediaStream (unsigned sessionId, BOOL source) const |
| virtual BOOL | IsMediaBypassPossible (unsigned sessionID) const |
| virtual BOOL | GetMediaInformation (unsigned sessionID, MediaInformation &info) const |
| virtual void | AddVideoMediaFormats (OpalMediaFormatList &mediaFormats) const |
| virtual BOOL | CreateVideoInputDevice (const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, BOOL &autoDelete) |
| virtual BOOL | CreateVideoOutputDevice (const OpalMediaFormat &mediaFormat, BOOL preview, PVideoOutputDevice *&device, BOOL &autoDelete) |
|
| virtual RTP_Session * | GetSession (unsigned sessionID) const |
| virtual RTP_Session * | UseSession (const OpalTransport &transport, unsigned sessionID, RTP_QOS *rtpqos=NULL) |
| virtual void | ReleaseSession (unsigned sessionID) |
| virtual RTP_Session * | CreateSession (const OpalTransport &transport, unsigned sessionID, RTP_QOS *rtpqos) |
|
| unsigned | GetBandwidthAvailable () const |
| virtual BOOL | SetBandwidthAvailable (unsigned newBandwidth, BOOL force=FALSE) |
| virtual unsigned | GetBandwidthUsed () const |
| virtual BOOL | SetBandwidthUsed (unsigned releasedBandwidth, unsigned requiredBandwidth) |
|
| virtual OpalT120Protocol * | CreateT120ProtocolHandler () |
| virtual OpalT38Protocol * | CreateT38ProtocolHandler () |
| virtual OpalH224Handler * | CreateH224ProtocolHandler (unsigned sessionID) |
| virtual OpalH281Handler * | CreateH281ProtocolHandler (OpalH224Handler &h224Handler) |
| OpalH224Handler * | GetH224Handler () const |
|
| OpalEndPoint & | GetEndPoint () const |
| OpalCall & | GetCall () const |
| const PString & | GetToken () const |
| BOOL | IsOriginating () const |
| PTime | GetSetupUpTime () const |
| PTime | GetAlertingTime () const |
| PTime | GetConnectionStartTime () const |
| PTime | GetConnectionEndTime () const |
| const PString & | GetLocalPartyName () const |
| virtual void | SetLocalPartyName (const PString &name) |
| const PString & | GetDisplayName () const |
| void | SetDisplayName (const PString &name) |
| const PString & | GetRemotePartyName () const |
| const PString & | GetRemoteApplication () const |
| const PString & | GetRemotePartyNumber () const |
| const PString & | GetRemotePartyAddress () const |
| virtual const PString | GetRemotePartyCallbackURL () const |
| virtual const PString & | GetCalledDestinationNumber () const |
| virtual const PString & | GetCalledDestinationName () const |
| unsigned | GetMinAudioJitterDelay () const |
| unsigned | GetMaxAudioJitterDelay () const |
| void | SetAudioJitterDelay (unsigned minDelay, unsigned maxDelay) |
| OpalSilenceDetector * | GetSilenceDetector () const |
| OpalEchoCanceler * | GetEchoCanceler () const |
| virtual const OpalGloballyUniqueID & | GetIdentifier () const |
| virtual OpalTransport & | GetTransport () const |
| | PDICTIONARY (MediaAddressesDict, POrdinalKey, OpalTransportAddress) |
| MediaAddressesDict & | GetMediaTransportAddresses () |
Protected Methods |
| | PDECLARE_NOTIFIER (OpalRFC2833Info, OpalConnection, OnUserInputInlineRFC2833) |
| | PDECLARE_NOTIFIER (RTP_DataFrame, OpalConnection, OnUserInputInBandDTMF) |
| | PDECLARE_NOTIFIER (PThread, OpalConnection, OnReleaseThreadMain) |
| void | SetPhase (Phases phaseToSet) |
Protected Attributes |
| OpalCall & | ownerCall |
| OpalEndPoint & | endpoint |
| Phases | phase |
| PString | callToken |
| OpalGloballyUniqueID | callIdentifier |
| BOOL | originating |
| PTime | setupTime |
| PTime | alertingTime |
| PTime | connectedTime |
| PTime | callEndTime |
| PString | localPartyName |
| PString | displayName |
| PString | remotePartyName |
| PString | remoteApplication |
| PString | remotePartyNumber |
| PString | remotePartyAddress |
| CallEndReason | callEndReason |
| PString | calledDestinationNumber |
| PString | calledDestinationName |
| SendUserInputModes | sendUserInputMode |
| PString | userInputString |
| PMutex | userInputMutex |
| PSyncPoint | userInputAvailable |
| BOOL | detectInBandDTMF |
| unsigned | q931Cause |
| OpalSilenceDetector * | silenceDetector |
| OpalEchoCanceler * | echoCanceler |
| OpalRFC2833Proto * | rfc2833Handler |
| OpalT120Protocol * | t120handler |
| OpalT38Protocol * | t38handler |
| OpalH224Handler * | h224Handler |
| MediaAddressesDict | mediaTransportAddresses |
| PMutex | mediaStreamMutex |
| OpalMediaStreamList | mediaStreams |
| RTP_SessionManager | rtpSessions |
| unsigned | minAudioJitterDelay |
| unsigned | maxAudioJitterDelay |
| unsigned | bandwidthAvailable |
| RTP_DataFrame::PayloadMapType | rtpPayloadMap |
| PDTMFDecoder | dtmfDecoder |
The connection is also in charge of creating media streams. It may do this in respose to an explicit call to OpenMediaStream or implicitly due to requests in the underlying protocol.
When media streams are created they must make requests for bandwidth which is managed by the connection.