28 #ifndef OPAL_OPAL_MANAGER_H
29 #define OPAL_OPAL_MANAGER_H
45 #include <ptclib/pstun.h>
46 #include <ptclib/url.h>
47 #include <ptclib/pxml.h>
48 #include <ptclib/threadpool.h>
52 #include <ptlib/videoio.h>
59 class PSSLCertificate;
63 #define OPAL_SCRIPT_CALL_TABLE_NAME "OpalCall"
178 const PString & prefix = PString::Empty()
185 const PString & prefix
194 const PString & prefix
200 const PString & prefix
201 )
const {
return dynamic_cast<T *
>(
FindEndPoint(prefix)); }
230 #if OPAL_HAS_PRESENCE
239 virtual PSafePtr<OpalPresentity> AddPresentity(
240 const PString & presentity
245 virtual PSafePtr<OpalPresentity> GetPresentity(
246 const PString & presentity,
247 PSafetyMode mode = PSafeReference
252 virtual PStringList GetPresentities()
const;
256 virtual bool RemovePresentity(
257 const PString & presentity
260 #endif // OPAL_HAS_PRESENCE
282 const PString & partyA,
283 const PString & partyB,
284 void * userData = NULL,
285 unsigned options = 0,
289 const PString & partyA,
290 const PString & partyB,
292 void * userData = NULL,
293 unsigned options = 0,
314 const char * mixerURI = NULL,
315 const char * localURI = NULL
317 #endif // OPAL_HAS_MIXER
325 const PString & token
326 ) {
return m_activeCalls.Find(token, PSafeReference) != NULL; }
345 const PString & token,
346 PSafetyMode mode = PSafeReadWrite
394 const PString & token
407 const PString & token,
409 PSyncPoint * sync = NULL
420 const PString & token,
493 RouteEntry(
const PString & partyA,
const PString & partyB,
const PString & dest);
497 void PrintOn(ostream & strm)
const;
500 bool IsMatch(
const PString & search)
const;
641 const PStringArray & specs
649 const RouteTable & table
664 const PString & source,
665 const PString & destination,
676 PStringSet & routesTried,
677 const PString & a_party,
678 const PString & b_party,
724 const PString & party,
725 void * userData = NULL,
726 unsigned int options = 0,
838 virtual OpalConnection::AnswerCallResponse
OnAnswerCall(
840 const PString & caller
913 const PString & remoteParty
963 const PStringToString & info
1002 MediaTransferForward,
1005 MediaTransferTranscode
1123 const PString & token1,
1124 const PString & token2,
1126 unsigned sessionID = 0,
1133 unsigned sessionID = 0
1151 const PString & reason
1160 PVideoInputDevice * & device,
1161 PBoolean & autoDelete
1171 PVideoOutputDevice * & device,
1172 PBoolean & autoDelete
1179 const PVideoDevice::OpenArgs & args,
1180 PVideoInputDevice * & device,
1181 PBoolean & autoDelete
1189 const PVideoDevice::OpenArgs & args,
1190 PVideoOutputDevice * & device,
1191 PBoolean & autoDelete
1193 #endif // OPAL_VIDEO
1204 PBoolean requiresPatchThread =
true
1256 const PString & value
1283 const char * terminators =
"YX#\r\n",
1284 unsigned lastDigitTimeout = 4,
1285 unsigned firstDigitTimeout = 30
1302 const PString & callToken,
1303 const PFilePath & filename,
1310 const PString & callToken
1318 const PString & callToken
1351 const PString & body
1357 const PString & type,
1358 const PString & body,
1360 PString & conversationId
1415 const PString & party,
1417 const PString & extraInfo
1436 const PString & name = PString::Empty()
1450 const PString & uri,
1463 const PString & newChairURI,
1484 virtual bool ApplySSLCredentials(
1486 PSSLContext & context,
1492 const PString & GetSSLCertificateAuthorityFiles()
const {
return m_caFiles; }
1496 void SetSSLCertificateAuthorityFiles(
const PString & files) { m_caFiles = files; }
1500 const PString & GetSSLCertificateFile()
const {
return m_certificateFile; }
1504 void SetSSLCertificateFile(
const PString & file) { m_certificateFile = file; }
1508 const PString & GetSSLPrivateKeyFile()
const {
return m_privateKeyFile; }
1512 void SetSSLPrivateKeyFile(
const PString & file) { m_privateKeyFile = file; }
1516 void SetSSLAutoCreateCertificate(
bool yes) { m_autoCreateCertificate = yes; }
1520 bool GetSSLAutoCreateCertificate()
const {
return m_autoCreateCertificate; }
1531 const PIPSocket::Address & remoteAddress
1553 const PIPSocket::Address & localAddr,
1554 const PIPSocket::Address & peerAddr,
1555 const PIPSocket::Address & signalAddr,
1566 PIPSocket::Address & localAddress,
1567 const PIPSocket::Address & remoteAddress
1573 PNatMethods & GetNatMethods()
const {
return *m_natMethods; }
1578 const PString & method,
1579 const PString & server,
1581 unsigned priority = 0,
1582 const PString & iface = PString::Empty()
1587 PString GetNATServer(
1588 const PString & method = PString::Empty()
1592 void SetTranslationAddress(
const PString & addr) { SetNATServer(PNatMethod_Fixed::MethodName(), addr); }
1594 PNatMethod::NatTypes SetSTUNServer(
const PString & addr)
1595 {
return SetNATServer(PSTUNClient::MethodName(), addr) ? GetNatMethods().GetMethodByName(PSTUNClient::MethodName())->GetNatType() : PNatMethod::UnknownNat; }
1597 #endif // OPAL_PTLIB_NAT
1609 void SetTCPPorts(
unsigned tcpBase,
unsigned tcpMax);
1627 void SetUDPPorts(
unsigned udpBase,
unsigned udpMax);
1714 bool updateAll =
true
1724 const PString & name,
1725 bool updateAll =
true
1735 const PString & name,
1736 bool updateAll =
true
1812 const PStringArray & order
1828 const PStringArray & mask
1844 virtual void SetEchoCancelParams(
1845 const OpalEchoCanceler::Params & params
1846 ) { m_echoCancelParams = params; }
1850 const OpalEchoCanceler::Params & GetEchoCancelParams()
const {
return m_echoCancelParams; }
1860 const PVideoDevice::OpenArgs & deviceArgs,
1861 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1867 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1878 const PVideoDevice::OpenArgs & deviceArgs,
1879 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1886 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1897 const PVideoDevice::OpenArgs & deviceArgs,
1898 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1905 OpalVideoFormat::ContentRole role = OpalVideoFormat::eNoRole
1926 const PTimeInterval & newInterval
1936 const PTimeInterval & newInterval
1946 const PTimeInterval & newInterval
1956 const PTimeInterval & newInterval
1966 const PTimeInterval & newInterval
1972 const PTimeInterval & GetICETimeout()
const {
return m_iceTimeout; }
1977 const PTimeInterval & newInterval
1978 ) { m_iceTimeout = newInterval; }
1988 const PTimeInterval & newInterval
1994 const PTimeInterval & GetDTLSTimeout()
const {
return m_dtlsTimeout; }
1998 void SetDTLSTimeout(
1999 const PTimeInterval & newInterval
2000 ) { m_dtlsTimeout = newInterval; }
2010 const PString & server
2059 PScriptLanguage * GetScript()
const {
return m_script; }
2064 const PString & script,
2065 const char * language =
"Lua"
2067 #endif // OPAL_SCRIPT
2101 PTimeInterval m_iceTimeout;
2105 PTimeInterval m_dtlsTimeout;
2111 OpalEchoCanceler::Params m_echoCancelParams;
2124 PFilePath m_certificateFile;
2125 PFilePath m_privateKeyFile;
2126 bool m_autoCreateCertificate;
2130 PNatMethods * m_natMethods;
2131 PDECLARE_InterfaceNotifier(
OpalManager, OnInterfaceChange);
2132 PInterfaceMonitor::Notifier m_onInterfaceChange;
2145 class CallDict :
public PSafeDictionary<PString, OpalCall>
2153 #if OPAL_HAS_PRESENCE
2154 PSafeDictionary<PString, OpalPresentity> m_presentities;
2155 #endif // OPAL_HAS_PRESENCE
2173 PScriptLanguage * m_script;
2182 P_REMOVE_VIRTUAL_VOID(
OnMessageReceived(
const PURL&,
const PString&,
const PURL&,
const PString&,
const PString&,
const PString&));
2186 P_REMOVE_VIRTUAL(PNatMethod *, GetNatMethod(
const PIPSocket::Address &)
const, NULL);
2198 #endif // OPAL_OPAL_MANAGER_H
const PIPSocket::PortRange & GetUDPPortRange() const
Definition: manager.h:1632
Definition: silencedetect.h:54
PStringSet m_roles
Role for user, e.g. "participant".
Definition: manager.h:115
virtual void OnApplyStringOptions(OpalConnection &connection, OpalConnection::StringOptions &stringOptions)
void SetTxMediaTimeout(const PTimeInterval &newInterval)
Definition: manager.h:1935
virtual bool OnLocalIncomingCall(OpalLocalConnection &connection)
bool m_active
Conference is active and can accept incoming connections.
Definition: manager.h:91
Definition: manager.h:150
virtual PBoolean StartRecording(const PString &callToken, const PFilePath &filename, const OpalRecordManager::Options &options=false)
Definition: endpoint.h:65
virtual void OnClearedCall(OpalCall &call)
void SetAutoStartTransmitVideo(bool can)
Definition: manager.h:1769
PINDEX GetCallCount() const
Definition: manager.h:330
virtual void OnConnected(OpalConnection &connection)
PString m_defaultUserName
Definition: manager.h:2082
bool SetMediaPassThrough(const PString &token1, const PString &token2, bool bypass, unsigned sessionID=0, bool network=true)
CallDict(OpalManager &mgr)
Definition: manager.h:2148
void SetNoMediaTimeout(const PTimeInterval &newInterval)
Definition: manager.h:1925
MediaQoSMap m_mediaQoS
Definition: manager.h:2085
virtual PSafePtr< OpalCall > SetUpCall(const PString &partyA, const PString &partyB, void *userData=NULL, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
const PIPSocket::QoS & GetMediaQoS(const OpalMediaType &type) const
PTimeInterval m_signalingTimeout
Definition: manager.h:2097
bool CanAutoStartReceiveVideo() const
Definition: manager.h:1757
void SetUDPPorts(unsigned udpBase, unsigned udpMax)
PINDEX GetMaxRtpPacketSize() const
Definition: manager.h:1693
virtual void OnConversation(const OpalIMContext::ConversationInfo &info)
const PString & GetDestination() const
Definition: manager.h:504
const PString & GetDefaultILSServer() const
Definition: manager.h:2005
const PVideoDevice::OpenArgs & GetVideoInputDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1866
virtual PBoolean AddRouteEntry(const PString &spec)
const PVideoDevice::OpenArgs & GetVideoOutputDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1904
virtual void OnMessageDisposition(const OpalIMContext::DispositionInfo &info)
void SetStaleReceiverTimeout(const PTimeInterval &newInterval)
Definition: manager.h:1987
PIPSocket::PortRange & GetUDPPortRange()
Definition: manager.h:1631
PArray< PString > GetAllCalls() const
Definition: manager.h:334
Definition: localep.h:469
virtual void OnHold(OpalConnection &connection, bool fromRemote, bool onHold)
const PStringArray & GetMediaFormatMask() const
Definition: manager.h:1820
void SetTCPPorts(unsigned tcpBase, unsigned tcpMax)
std::map< OpalMediaType, PIPSocket::QoS > MediaQoSMap
Definition: manager.h:2076
Definition: manager.h:489
virtual PBoolean ClearCallSynchronous(const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser)
PVideoDevice::OpenArgs m_videoOutputDevice[OpalVideoFormat::NumContentRole]
Definition: manager.h:2117
const PIPSocket::PortRange & GetRtpIpPortRange() const
Definition: manager.h:1649
PSafePtr< OpalCall > FindCallWithLock(const PString &token, PSafetyMode mode=PSafeReadWrite) const
Definition: manager.h:344
virtual void SetSilenceDetectParams(const OpalSilenceDetector::Params ¶ms)
Definition: manager.h:1833
Definition: manager.h:1397
virtual bool IsRecording(const PString &callToken)
PTimeInterval m_txMediaTimeout
Definition: manager.h:2096
void SetProductInfo(const OpalProductInfo &info, bool updateAll=true)
atomic< unsigned > lastCallTokenID
Definition: manager.h:2143
bool IsMatch(const PString &search) const
void SetRtpIpPorts(unsigned udpBase, unsigned udpMax)
atomic< PINDEX > m_clearingAllCallsCount
Definition: manager.h:2157
const PTimeInterval & GetNatKeepAliveTime() const
Definition: manager.h:1961
PDECLARE_NOTIFIER(PThread, OpalManager, GarbageMain)
virtual void ClearAllCalls(OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PBoolean wait=true)
void SetAutoStartReceiveVideo(bool can)
Definition: manager.h:1761
Definition: manager.h:1400
void DetachEndPoint(const PString &prefix)
virtual void OnFailedMediaStream(OpalConnection &connection, bool fromRemote, const PString &reason)
PString m_purpose
Definition: manager.h:98
virtual bool OnLocalRTP(OpalConnection &connection1, OpalConnection &connection2, unsigned sessionID, bool opened) const
void SetSignalingTimeout(const PTimeInterval &newInterval)
Definition: manager.h:1945
virtual bool OnRouteConnection(PStringSet &routesTried, const PString &a_party, const PString &b_party, OpalCall &call, unsigned options, OpalConnection::StringOptions *stringOptions)
PString m_destination
URL we map above to, with macro substitutions.
Definition: manager.h:509
OpalSilenceDetector::Params m_silenceDetectParams
Definition: manager.h:2109
const PString & GetPartyB() const
Definition: manager.h:503
virtual void OnMWIReceived(const PString &party, MessageWaitingType type, const PString &extraInfo)
virtual bool OnChangedPresentationRole(OpalConnection &connection, const PString &newChairURI, bool request)
PString m_keywords
Space separated list of keywords for conference.
Definition: manager.h:90
virtual void OnStartMediaPatch(OpalConnection &connection, OpalMediaPatch &patch)
virtual PString GetNextToken(char prefix)
PObject * Clone() const
Definition: manager.h:496
PTimeInterval m_transportIdleTime
Definition: manager.h:2098
RouteEntry(const PString &partyA, const PString &partyB, const PString &dest)
const PString & GetDefaultDisplayName() const
Definition: manager.h:1730
virtual void OnUserInputTone(OpalConnection &connection, char tone, int duration)
OpalProductInfo m_productInfo
Definition: manager.h:2080
void SetMaxRtpPayloadSize(PINDEX size, bool mtu=false)
Definition: manager.h:1685
PString m_uri
URI that the user used to access this conference.
Definition: manager.h:113
unsigned m_minJitterDelay
Minimum delay in milliseconds.
Definition: jitter.h:57
virtual PBoolean IsLocalAddress(const PIPSocket::Address &remoteAddress) const
PINDEX m_rtpPacketSizeMax
Definition: manager.h:2090
PString m_displayText
Human readable form of resource.
Definition: manager.h:97
Definition: manager.h:1395
void SetDefaultConnectionOptions(const OpalConnection::StringOptions &stringOptions)
Definition: manager.h:1743
virtual PStringList GetNetworkURIs(const PString &name) const
virtual void DeleteObject(PObject *object) const
PIPSocket::PortRange m_udpPorts
Definition: manager.h:2120
virtual void OnUserInputString(OpalConnection &connection, const PString &value)
virtual PBoolean CreateVideoInputDevice(const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, PBoolean &autoDelete)
bool m_disableDetectInBandDTMF
Definition: manager.h:2094
void InternalClearAllCalls(OpalConnection::CallEndReason reason, bool wait, bool first)
PString m_subject
Subject for conference.
Definition: manager.h:88
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)
URIs m_serviceURI
Definition: manager.h:105
virtual void OnStopMediaPatch(OpalConnection &connection, OpalMediaPatch &patch)
const OpalProductInfo & GetProductInfo() const
Definition: manager.h:1708
OpalCall * InternalCreateCall(void *userData=NULL)
PIPSocket::PortRange & GetTCPPortRange()
Definition: manager.h:1613
virtual void OnConferenceStatusChanged(OpalEndPoint &endpoint, const PString &uri, OpalConferenceState::ChangeType change)
virtual PBoolean IsCallEstablished(const PString &token)
PINDEX m_rtpPayloadSizeMax
Definition: manager.h:2089
const PStringArray & GetMediaFormatOrder() const
Definition: manager.h:1807
Definition: manager.h:1399
void SetMediaFormatOrder(const PStringArray &order)
virtual void OnAlerting(OpalConnection &connection, bool withMedia)
Definition: connection.h:530
const PVideoDevice::OpenArgs & GetVideoPreviewDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1885
WORD GetUDPPortBase() const
Definition: manager.h:1618
PIPSocket::PortRange m_rtpIpPorts
Definition: manager.h:2120
PTimeInterval m_staleReceiverTimeout
Definition: manager.h:2103
virtual PBoolean Message(OpalIM &message)
Send an Instant Message to a remote party. Backward compatible to old API.
OpalCall(OpalManager &manager)
void SetTransportIdleTime(const PTimeInterval &newInterval)
Definition: manager.h:1955
WORD GetTCPPortBase() const
Definition: manager.h:1601
virtual void OnProceeding(OpalConnection &connection)
P_DECLARE_TRACED_ENUM(MediaTransferMode, MediaTransferBypass, MediaTransferForward, MediaTransferTranscode)
How to handle media between two "network" connections.
MessageWaitingType
Message waiting sub-types.
Definition: manager.h:1394
PIPSocket::PortRange m_tcpPorts
Definition: manager.h:2120
virtual void OnClosedMediaStream(const OpalMediaStream &stream)
Definition: manager.h:1396
virtual bool OnTransferNotify(OpalConnection &connection, const PStringToString &info)
virtual bool OnLocalOutgoingCall(const OpalLocalConnection &connection)
virtual PString ReadUserInput(OpalConnection &connection, const char *terminators="YX#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30)
virtual PBoolean ClearCall(const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
PSyncPoint m_garbageCollectExit
Definition: manager.h:2163
void SetDefaultUserName(const PString &name, bool updateAll=true)
PStringArray m_mediaFormatMask
Definition: manager.h:2093
void SetNatKeepAliveTime(const PTimeInterval &newInterval)
Definition: manager.h:1965
T * FindEndPointAs(const PString &prefix) const
Definition: manager.h:199
PDECLARE_READ_WRITE_MUTEX(m_endpointsMutex)
PTimeInterval m_noMediaTimeout
Definition: manager.h:2095
const PTimeInterval & GetNoMediaTimeout() const
Definition: manager.h:1921
virtual OpalMediaPatch * CreateMediaPatch(OpalMediaStream &source, PBoolean requiresPatchThread=true)
virtual PBoolean OnIncomingConnection(OpalConnection &connection, unsigned options, OpalConnection::StringOptions *stringOptions)
PARRAY(RouteTable, RouteEntry)
virtual PBoolean SetVideoPreviewDevice(const PVideoDevice::OpenArgs &deviceArgs, OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole)
PRegularExpression m_regex
Compiled Regular expression from pattern.
Definition: manager.h:510
WORD GetTCPPortMax() const
Definition: manager.h:1605
virtual OpalMediaFormatList GetCommonMediaFormats(bool transportable, bool pcmAudio) const
PVideoDevice::OpenArgs m_videoInputDevice[OpalVideoFormat::NumContentRole]
Definition: manager.h:2115
virtual PBoolean IsRTPNATEnabled(OpalConnection &connection, const PIPSocket::Address &localAddr, const PIPSocket::Address &peerAddr, const PIPSocket::Address &signalAddr, PBoolean incoming)
PIPSocket::PortRange & GetRtpIpPortRange()
Definition: manager.h:1648
bool CanAutoStartTransmitVideo() const
Definition: manager.h:1765
PList< OpalEndPoint > m_endpointList
Definition: manager.h:2140
Definition: manager.h:1398
const PIPSocket::PortRange & GetTCPPortRange() const
Definition: manager.h:1614
virtual void OnMessageReceived(const OpalIM &message)
Definition: rtp_session.h:90
WORD GetRtpIpPortMax() const
Definition: manager.h:1640
PSafeThreadPool m_decoupledEventPool
Definition: manager.h:2170
Definition: manager.h:1401
const OpalSilenceDetector::Params & GetSilenceDetectParams() const
Definition: manager.h:1839
PString m_ilsServer
Definition: manager.h:2107
PString m_uri
URI for access/service in conference.
Definition: manager.h:96
virtual PBoolean OnForwarded(OpalConnection &connection, const PString &remoteParty)
virtual bool GetMediaTransportAddresses(const OpalConnection &provider, const OpalConnection &consumer, unsigned sessionId, const OpalMediaType &mediaType, OpalTransportAddressArray &transports) const
void SetAudioJitterDelay(unsigned minDelay, unsigned maxDelay)
void OpalGetVersion(PProcess::VersionInfo version)
PBoolean DetectInBandDTMFDisabled() const
Definition: manager.h:1910
std::map< PString, OpalEndPoint * > m_endpointMap
Definition: manager.h:2141
const OpalJitterBuffer::Params & GetJitterParameters() const
Definition: manager.h:1775
WORD GetUDPPortMax() const
Definition: manager.h:1622
unsigned m_maxUsers
Maximum users that can join the conference.
Definition: manager.h:109
ChangeType
Definition: manager.h:76
void SetMediaQoS(const OpalMediaType &type, const PIPSocket::QoS &qos)
virtual OpalConnection::AnswerCallResponse OnAnswerCall(OpalConnection &connection, const PString &caller)
OpalConferenceState()
Definition: manager.h:70
void QueueDecoupledEvent(PSafeWork *work, const char *group=NULL)
Definition: manager.h:2074
Users m_users
Definition: manager.h:118
virtual void OnEstablished(OpalConnection &connection)
virtual void DestroyCall(OpalCall *call)
virtual MediaTransferMode GetMediaTransferMode(const OpalConnection &provider, const OpalConnection &consumer, const OpalMediaType &mediaType) const
virtual PBoolean CreateVideoOutputDevice(const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PBoolean preview, PVideoOutputDevice *&device, PBoolean &autoDelete)
PStringList GetPrefixNames(const OpalEndPoint *endpoint=NULL) const
PINDEX GetMaxRtpPayloadSize() const
Definition: manager.h:1679
void SetDefaultILSServer(const PString &server)
Definition: manager.h:2009
void AttachEndPoint(OpalEndPoint *endpoint, const PString &prefix=PString::Empty())
virtual PBoolean SetVideoOutputDevice(const PVideoDevice::OpenArgs &deviceArgs, OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole)
PStringArray m_mediaFormatOrder
Definition: manager.h:2092
PTime m_garbageCollectChangeTime
Definition: manager.h:2164
Definition: connection.h:462
void SetDefaultDisplayName(const PString &name, bool updateAll=true)
OpalManager::CallDict m_activeCalls
const PString & GetPartyA() const
Definition: manager.h:502
void SetJitterParameters(const OpalJitterBuffer::Params ¶ms)
Definition: manager.h:1779
PVideoDevice::OpenArgs m_videoPreviewDevice[OpalVideoFormat::NumContentRole]
Definition: manager.h:2116
PString m_partyB
URL caller want to conect to.
Definition: manager.h:508
virtual void OnEstablishedCall(OpalCall &call)
virtual bool OnMediaFailed(OpalConnection &connection, unsigned sessionId)
OpalEndPoint * FindEndPoint(const PString &prefix) const
virtual void OnCompositionIndication(const OpalIMContext::CompositionInfo &info)
RouteTable m_routeTable
Definition: manager.h:2135
PTimeInterval m_natKeepAliveTime
Definition: manager.h:2099
const PTimeInterval & GetTransportIdleTime() const
Definition: manager.h:1951
void PrintOn(ostream &strm) const
WORD GetRtpIpPortBase() const
Definition: manager.h:1636
virtual void OnNewConnection(OpalConnection &connection)
virtual PBoolean OnOpenMediaStream(OpalConnection &connection, OpalMediaStream &stream)
OpalManager & manager
Definition: manager.h:2150
PString m_displayText
Human readable text for conference name.
Definition: manager.h:87
virtual PString ApplyRouteTable(const PString &source, const PString &destination, PINDEX &entry)
Definition: manager.h:2145
virtual PBoolean TranslateIPAddress(PIPSocket::Address &localAddress, const PIPSocket::Address &remoteAddress)
virtual bool SetVideoInputDevice(const PVideoDevice::OpenArgs &deviceArgs, OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole)
BYTE GetMediaTypeOfService() const
Definition: connection.h:415
std::list< OpalConferenceState > OpalConferenceStates
Definition: manager.h:131
URIs m_accessURI
All URIs that can access the conference.
Definition: manager.h:104
PString m_internalURI
Internal URI, e.g. mcu:5e6f7347-dcd6-e011-9853-0026b9b946a5.
Definition: manager.h:85
void SetMediaFormatMask(const PStringArray &mask)
PList< OpalEndPoint > GetEndPoints() const
PString m_displayText
Human readable form of users connection.
Definition: manager.h:114
std::vector< User > Users
Definition: manager.h:117
OpalConnection::StringOptions m_defaultConnectionOptions
Definition: manager.h:2087
virtual bool StopRecording(const PString &callToken)
virtual PBoolean HasCall(const PString &token)
Definition: manager.h:324
PDECLARE_MUTEX(m_routeMutex)
const PTimeInterval & GetTxMediaTimeout() const
Definition: manager.h:1931
Definition: transports.h:326
void SetMediaTypeOfService(unsigned tos)
unsigned GetMaxAudioJitterDelay() const
Definition: manager.h:1789
PString m_defaultDisplayName
Definition: manager.h:2083
const PString & GetDefaultUserName() const
Definition: manager.h:1719
PBoolean SetRouteTable(const PStringArray &specs)
Definition: manager.h:111
friend ostream & operator<<(ostream &strm, ChangeType type)
PString m_partyA
URL of caller.
Definition: manager.h:507
unsigned GetMinAudioJitterDelay() const
Definition: manager.h:1784
PSyncPoint m_allCallsCleared
Definition: manager.h:2159
void DisableDetectInBandDTMF(PBoolean mode)
Definition: manager.h:1915
const RouteTable & GetRouteTable() const
Definition: manager.h:654
virtual bool SetUpConference(OpalCall &call, const char *mixerURI=NULL, const char *localURI=NULL)
const PTimeInterval & GetStaleReceiverTimeout() const
Definition: manager.h:1983
virtual void AdjustMediaFormats(bool local, const OpalConnection &connection, OpalMediaFormatList &mediaFormats) const
const PTimeInterval & GetSignalingTimeout() const
Definition: manager.h:1941
Definition: recording.h:84
virtual void OnReleased(OpalConnection &connection)
Definition: connection.h:358
unsigned m_maxJitterDelay
Maximum delay in milliseconds.
Definition: jitter.h:58
virtual bool GetConferenceStates(OpalConferenceStates &states, const PString &name=PString::Empty()) const
PString m_notes
Free text about conference.
Definition: manager.h:89
PThread * m_garbageCollector
Definition: manager.h:2162
void SetMaxRtpPacketSize(PINDEX size)
Definition: manager.h:1698
virtual OpalCall * CreateCall(void *userData)
bool m_locked
Conference cannot accept new participants.
Definition: manager.h:92
OpalJitterBuffer::Params m_jitterParams
Definition: manager.h:2091
std::vector< URI > URIs
Definition: manager.h:102