32 #ifndef OPAL_OPAL_CALL_H
33 #define OPAL_OPAL_CALL_H
45 #include <ptlib/safecoll.h>
141 PSyncPoint * sync = NULL
228 const PString & caller
298 PSafetyMode mode = PSafeReference
304 template <
class ConnClass>
307 PSafetyMode mode = PSafeReadWrite
310 PSafePtr<ConnClass> connection;
311 for (PSafePtr<OpalConnection> iterConn(
connectionsActive, PSafeReference); iterConn != NULL; ++iterConn) {
312 if ((connection = PSafePtrCast<OpalConnection, ConnClass>(iterConn)) != NULL && count-- == 0) {
313 if (!connection.SetSafetyMode(mode))
314 connection.SetNULL();
372 const PString & address,
417 unsigned sessionID = 0,
474 const PString & value
542 const PFilePath & filename,
558 const PString & streamId,
565 const PString & streamId
571 const PString & streamId,
579 const PString & streamId,
583 #endif // OPAL_HAS_MIXER
591 PSafePtr<OpalConnection> & connection,
623 #endif // OPAL_OPAL_CALL_H
virtual void OnProceeding(OpalConnection &connection)
virtual bool OnStartRecording(const PString &streamId, const OpalMediaFormat &format)
PString m_partyA
Definition: call.h:600
Definition: endpoint.h:67
OpalRecordManager * m_recordManager
Definition: call.h:613
virtual OpalConnection::AnswerCallResponse OnAnswerCall(OpalConnection &connection, const PString &caller)
bool isClearing
Definition: call.h:604
const PString & GetPartyB() const
Definition: call.h:513
virtual PBoolean OnSetUp(OpalConnection &connection)
bool Transfer(const PString &address, OpalConnection *connection=NULL)
virtual void CloseMediaStreams()
const PString & GetToken() const
Definition: call.h:500
std::list< PSyncPoint * > m_endCallSyncPoint
Definition: call.h:608
void SetPartyB(const PString &b)
Definition: call.h:520
bool EnumerateConnections(PSafePtr< OpalConnection > &connection, PSafetyMode mode, const OpalConnection *skipConnection=NULL) const
bool IsNetworkOriginated() const
OpalConnection(OpalCall &call, OpalEndPoint &endpoint, const PString &token, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
virtual void OnRTPStatistics(const OpalConnection &connection, const RTP_Session &session)
PSafePtr< OpalConnection > GetOtherPartyConnection(const OpalConnection &connection) const
virtual void AdjustMediaFormats(bool local, const OpalConnection &connection, OpalMediaFormatList &mediaFormats) const
virtual PBoolean OnConnected(OpalConnection &connection)
bool StartRecording(const PFilePath &filename, const OpalRecordManager::Options &options=false)
PSafeList< OpalConnection > connectionsActive
Definition: call.h:610
AnswerCallResponse
Definition: connection.h:417
Definition: connection.h:462
PSafePtr< OpalConnection > GetConnection(PINDEX idx, PSafetyMode mode=PSafeReference)
Definition: call.h:296
PString GetCallEndReasonText() const
Definition: call.h:121
OpalCall(OpalManager &manager)
PString myToken
Definition: call.h:598
PString GetCallEndReasonText() const
Definition: connection.h:569
virtual bool OpenSourceMediaStreams(OpalConnection &connection, const OpalMediaType &mediaType, unsigned sessionID=0, const OpalMediaFormat &preselectedFormat=OpalMediaFormat(), OpalVideoFormat::ContentRole contentRole=OpalVideoFormat::eNoRole)
virtual void OnEstablishedCall()
virtual void StartMediaStreams()
PBoolean IsEstablished() const
Definition: call.h:97
const PString & GetPartyA() const
Definition: call.h:506
virtual OpalMediaFormatList GetMediaFormats(const OpalConnection &connection)
void PrintOn(ostream &strm) const
virtual void OnRecordAudio(const PString &streamId, const RTP_DataFrame &frame)
OpalManager & manager
Definition: call.h:596
virtual PBoolean OnEstablished(OpalConnection &connection)
virtual PBoolean OnAlerting(OpalConnection &connection)
void Clear(OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
Definition: connection.h:396
bool isEstablished
Definition: call.h:603
PString m_partyB
Definition: call.h:601
virtual void OnUserInputString(OpalConnection &connection, const PString &value)
OpalConnection::CallEndReason GetCallEndReason() const
Definition: call.h:117
Definition: recording.h:46
Definition: connection.h:353
virtual void OnRecordVideo(const PString &streamId, const RTP_DataFrame &frame)
virtual void OnHold(OpalConnection &connection, bool fromRemote, bool onHold)
PAtomicBoolean m_isCleared
Definition: call.h:605
const PTime & GetStartTime() const
Definition: call.h:532
virtual PBoolean IsMediaBypassPossible(const OpalConnection &connection, unsigned sessionID) const
OpalManager & GetManager() const
Definition: call.h:496
virtual void OnUserInputTone(OpalConnection &connection, char tone, int duration)
virtual void OnReleased(OpalConnection &connection)
void SetCallEndReason(OpalConnection::CallEndReason reason)
virtual void OnNewConnection(OpalConnection &connection)
PTime startTime
Definition: call.h:602
virtual void OnStopRecording(const PString &streamId)
PSafePtr< ConnClass > GetConnectionAs(PINDEX count=0, PSafetyMode mode=PSafeReadWrite)
Definition: call.h:305
OpalConnection::CallEndReason callEndReason
Definition: call.h:607
Definition: connection.h:362
virtual bool SelectMediaFormats(const OpalMediaType &mediaType, const OpalMediaFormatList &srcFormats, const OpalMediaFormatList &dstFormats, const OpalMediaFormatList &allFormats, OpalMediaFormat &srcFormat, OpalMediaFormat &dstFormat) const
Definition: recording.h:80