32 #ifndef OPAL_OPAL_ENDPOINT_H
33 #define OPAL_OPAL_ENDPOINT_H
82 const PCaselessString & prefix,
121 const PStringArray & interfaces
185 PBoolean excludeLocalHost =
true,
252 const PString & party,
253 void * userData = NULL,
254 unsigned int options = 0,
345 const PString & caller
418 const PString & remoteParty
470 const PStringToString & info
483 const PString & token,
485 PSyncPoint * sync = NULL
493 const PString & token,
495 PSyncPoint * sync = NULL
514 const PString & token,
515 PSafetyMode mode = PSafeReadWrite
524 template <
class ConnClass>
526 const PString & token,
527 PSafetyMode mode = PSafeReadWrite
530 PSafePtr<ConnClass> connection = PSafePtrCast<OpalConnection, ConnClass>(
GetConnectionWithLock(token, mode));
531 if (connection == NULL) {
534 connection = PSafePtrCast<OpalConnection, ConnClass>(call->GetConnection(0, mode));
535 if (connection == NULL)
536 connection = PSafePtrCast<OpalConnection, ConnClass>(call->GetConnection(1, mode));
553 const PString & token
620 PVideoInputDevice * & device,
621 PBoolean & autoDelete
631 PVideoOutputDevice * & device,
632 PBoolean & autoDelete
645 const PString & value
664 const char * terminators =
"#\r\n",
665 unsigned lastDigitTimeout = 4,
666 unsigned firstDigitTimeout = 30
680 const PString & type,
681 const PString & body,
683 PString & conversationId
709 const PString & party,
711 const PString & extraInfo
803 PString GetSSLCertificate()
const;
824 virtual void DeleteObject(PObject *
object)
const;
837 P_REMOVE_VIRTUAL_VOID(
OnMessageReceived(
const PURL&,
const PString&,
const PURL&,
const PString&,
const PString&,
const PString&));
843 const PString & number,
848 #endif // OPAL_OPAL_ENDPOINT_H
void PrintOn(ostream &strm) const
virtual OpalMediaFormatList GetMediaFormats() const =0
Definition: endpoint.h:67
virtual void OnClosedMediaStream(const OpalMediaStream &stream)
virtual void OnProceeding(OpalConnection &connection)
WORD defaultSignalPort
Definition: endpoint.h:810
bool OpalIsE164(const PString &number, bool strict=false)
Test for if string is a valid E.164 number.
virtual void OnNewConnection(OpalCall &call, OpalConnection &connection)
virtual PBoolean CreateVideoOutputDevice(const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PBoolean preview, PVideoOutputDevice *&device, PBoolean &autoDelete)
virtual void OnUserInputString(OpalConnection &connection, const PString &value)
void SetDefaultDisplayName(const PString &name)
Definition: endpoint.h:765
PStringList GetAllConnections()
PBoolean RemoveListener(OpalListener *listener)
virtual PString ReadUserInput(OpalConnection &connection, const char *terminators="#\r\n", unsigned lastDigitTimeout=4, unsigned firstDigitTimeout=30)
const OpalConnection::StringOptions & GetDefaultStringOptions() const
Definition: endpoint.h:781
unsigned initialBandwidth
Definition: endpoint.h:816
virtual void OnUserInputTone(OpalConnection &connection, char tone, int duration)
Definition: transports.h:703
virtual PBoolean OnForwarded(OpalConnection &connection, const PString &remoteParty)
PString defaultDisplayName
Definition: endpoint.h:814
void SetProductInfo(const OpalProductInfo &info)
Definition: endpoint.h:745
PMutex inUseFlag
Definition: endpoint.h:828
void SetDefaultStringOption(const PCaselessString &key, const PString &data)
Definition: endpoint.h:789
PBoolean StartListener(const OpalTransportAddress &iface)
void SetSendUserInputMode(OpalConnection::SendUserInputModes mode)
Definition: endpoint.h:797
PBoolean HasAttribute(Attributes opt) const
Definition: endpoint.h:733
virtual PBoolean HasConnection(const PString &token)
virtual void OnEstablished(OpalConnection &connection)
virtual OpalConnection::AnswerCallResponse OnAnswerCall(OpalConnection &connection, const PString &caller)
OpalEndPoint::ConnectionDict connectionsActive
PBoolean StartListeners(const PStringArray &interfaces)
Definition: transports.h:351
Definition: endpoint.h:822
OpalConnection::StringOptions m_defaultStringOptions
Definition: endpoint.h:817
unsigned attributeBits
Definition: endpoint.h:809
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)=0
virtual PBoolean ClearCallSynchronous(const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
virtual void Release(CallEndReason reason=EndedByLocalUser, bool synchronous=false)
OpalConnection * AddConnection(OpalConnection *connection)
OpalTransportAddressArray GetInterfaceAddresses(PBoolean excludeLocalHost=true, const OpalTransport *associatedTransport=NULL)
SendUserInputModes
Definition: connection.h:1311
PCaselessString prefixName
Definition: endpoint.h:808
virtual void OnMessageReceived(const OpalIM &message)
AnswerCallResponse
Definition: connection.h:417
PBoolean StopListener(const OpalTransportAddress &iface)
Definition: connection.h:462
virtual void OnHold(OpalConnection &connection, bool fromRemote, bool onHold)
OpalEndPoint(OpalManager &manager, const PCaselessString &prefix, unsigned attributes)
MessageWaitingType
Message waiting sub-types.
Definition: manager.h:886
void SetInitialBandwidth(unsigned bandwidth)
Definition: endpoint.h:773
virtual PBoolean OnIncomingConnection(OpalConnection &connection, unsigned options, OpalConnection::StringOptions *stringOptions)
PINDEX m_maxSizeUDP
Definition: endpoint.h:811
virtual PBoolean CreateVideoInputDevice(const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, PBoolean &autoDelete)
Attributes
Definition: endpoint.h:71
bool FindListenerForProtocol(const char *proto, OpalTransportAddress &addr)
const PString & GetDefaultLocalPartyName() const
Definition: endpoint.h:751
Definition: endpoint.h:73
PINDEX GetConnectionCount() const
Definition: endpoint.h:548
virtual PBoolean ClearCall(const PString &token, OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PSyncPoint *sync=NULL)
virtual void OnReleased(OpalConnection &connection)
PSafePtr< ConnClass > GetConnectionWithLockAs(const PString &token, PSafetyMode mode=PSafeReadWrite)
Definition: endpoint.h:525
OpalManager & GetManager() const
Definition: endpoint.h:725
virtual void OnAlerting(OpalConnection &connection)
void SetDefaultStringOptions(const OpalConnection::StringOptions &opts)
Definition: endpoint.h:785
OpalManager & manager
Definition: endpoint.h:807
virtual void DestroyConnection(OpalConnection *connection)
OpalListener * FindListener(const OpalTransportAddress &iface)
OpalConnection::SendUserInputModes defaultSendUserInputMode
Definition: endpoint.h:818
OpalTransportAddressArray(const OpalTransportAddress &address)
Definition: transports.h:305
Definition: endpoint.h:72
Definition: connection.h:396
PSafePtr< OpalCall > FindCallWithLock(const PString &token, PSafetyMode mode=PSafeReadWrite)
Definition: manager.h:192
OpalListenerList listeners
Definition: endpoint.h:820
virtual bool OnTransferNotify(OpalConnection &connection, const PStringToString &info)
PString defaultLocalPartyName
Definition: endpoint.h:813
PDECLARE_NOTIFIER(PThread, OpalEndPoint, ListenerCallback)
virtual void OnConnected(OpalConnection &connection)
virtual void AdjustMediaFormats(bool local, const OpalConnection &connection, OpalMediaFormatList &mediaFormats) const
OpalProductInfo productInfo
Definition: endpoint.h:812
unsigned GetInitialBandwidth() const
Definition: endpoint.h:769
virtual void ClearAllCalls(OpalConnection::CallEndReason reason=OpalConnection::EndedByLocalUser, PBoolean wait=true)
virtual PBoolean Message(const PString &to, const PString &body)
virtual PBoolean OnOpenMediaStream(OpalConnection &connection, OpalMediaStream &stream)
Definition: connection.h:353
WORD GetDefaultSignalPort() const
Definition: endpoint.h:737
virtual PBoolean GarbageCollection()
virtual PBoolean OnSetUpConnection(OpalConnection &connection)
const OpalProductInfo & GetProductInfo() const
Definition: endpoint.h:741
Definition: transports.h:149
OpalConnection::SendUserInputModes GetSendUserInputMode() const
Definition: endpoint.h:793
virtual void OnMWIReceived(const PString &party, OpalManager::MessageWaitingType type, const PString &extraInfo)
virtual void SetDefaultLocalPartyName(const PString &name)
Definition: endpoint.h:755
virtual PString GetDefaultTransport() const
const PString & GetDefaultDisplayName() const
Definition: endpoint.h:761
virtual PStringArray GetDefaultListeners() const
const PString & GetPrefixName() const
Definition: endpoint.h:729
PSafePtr< OpalConnection > GetConnectionWithLock(const PString &token, PSafetyMode mode=PSafeReadWrite)
Definition: endpoint.h:513
Definition: connection.h:362
Definition: connection.h:312
const OpalListenerList & GetListeners() const
Definition: endpoint.h:777
virtual PBoolean NewIncomingConnection(OpalTransport *transport)