30 #ifndef OPAL_LIDS_LID_H
31 #define OPAL_LIDS_LID_H
60 virtual PBoolean
Open(
61 const PString & device
66 virtual PBoolean
IsOpen()
const;
70 virtual PBoolean
Close();
113 PBoolean force =
false
133 PBoolean newState =
true
148 unsigned flashTime = 200
168 DWORD * cadence = NULL
191 const unsigned * pattern = NULL,
192 unsigned frequency = 400
238 PBoolean checkForWink =
true
385 PBoolean enable =
true
499 PBoolean full =
false
525 const PString & idString
607 unsigned timeout = 3000
615 unsigned timeout = 3000
643 const PString & description
662 const unsigned * onTimes,
663 const unsigned * offTimes
724 const PString & number,
741 unsigned winkDuration
823 const PString & countryName
835 const PString & filename
850 const PString & filename
877 const PString & type,
878 void * parameters = NULL
886 const PString & descriptor,
887 void * parameters = NULL
932 const char * userToken = NULL
961 PBoolean force =
false
988 unsigned flashTime = 200
1007 DWORD * cadence = NULL
1014 DWORD * cadence = NULL
1036 const unsigned * pattern = NULL,
1037 unsigned frequency = 400
1163 PBoolean enable =
true
1249 PBoolean full =
false
1274 const PString & idString
1288 const char * digits,
1315 PBoolean removeTones
1326 unsigned timeout = 3000
1333 unsigned timeout = 3000
1367 const PString & number,
1447 #define OPAL_REGISTER_LID_FUNCTION(cls, type, param) \
1448 static class cls##_Registration : public OpalLIDRegistration { \
1450 cls##_Registration() : OpalLIDRegistration(type) { } \
1451 OpalLineInterfaceDevice * Create(void * param) const; \
1452 } instance_##cls##_Registration; \
1453 OpalLineInterfaceDevice * cls##_Registration::Create(void * param) const
1455 #ifndef OPAL_NO_PARAM
1456 #define OPAL_NO_PARAM
1459 #define OPAL_REGISTER_LID(cls, type) \
1460 OPAL_REGISTER_LID_FUNCTION(cls, type, OPAL_NO_PARAM) \
1463 #define OPAL_REGISTER_LID_PARAM(cls, type) \
1464 OPAL_REGISTER_LID_FUNCTION(cls, type, parameter) \
1465 { return new cls(parameter); }
1469 #endif // OPAL_LIDS_LID_H
virtual PBoolean SetRecordVolume(unsigned line, unsigned volume)
virtual PBoolean HasHookFlash(unsigned line)
PString m_callProgressTones[NumTones]
Definition: lid.h:908
bool m_requireTones
Require dial/ring tone to be detected.
Definition: lid.h:698
static OpalLineInterfaceDevice * CreateAndOpen(const PString &descriptor, void *parameters=NULL)
virtual PBoolean ReadBlock(unsigned line, void *buf, PINDEX count)
OpalLIDRegistration(const char *name)
virtual PBoolean EnableAudio(unsigned line, PBoolean enable=true)
virtual PBoolean SetRecordVolume(unsigned volume)
Definition: lid.h:1179
PString GetCountryCodeName() const
virtual PStringArray GetAllNames() const =0
PBoolean DisableAudio()
Definition: lid.h:1168
virtual bool UsesRTP() const
virtual PBoolean SendVisualMessageWaitingIndicator(unsigned line, PBoolean on)
DialParams()
Definition: lid.h:688
PINDEX m_writeDeblockingOffset
Definition: lid.h:906
virtual bool SetToneParameters(unsigned line, CallProgressTones tone, unsigned frequency1, unsigned frequency2, ToneMixingModes mode, PINDEX numCadences, const unsigned *onTimes, const unsigned *offTimes)
virtual char ReadDTMF(unsigned line)
PTimeInterval m_ringTick
Definition: lid.h:1398
T35CountryCodes
Definition: lid.h:745
virtual PBoolean StopWriting(unsigned line)
virtual PBoolean RecordAudioStart(unsigned line, const PString &filename)
static PStringList GetAllTypes()
virtual PBoolean WriteFrame(const void *buf, PINDEX count, PINDEX &written)
Definition: lid.h:1131
virtual PBoolean IsTonePlaying(unsigned line)
virtual PBoolean EnableAudio(PBoolean enable=true)
Definition: lid.h:1162
virtual PBoolean WaitForTone(unsigned line, CallProgressTones tone, unsigned timeout=3000)
const char * m_fullName
Definition: lid.h:802
virtual char ReadDTMF()
Definition: lid.h:1302
PBYTEArray m_writeDeblockingBuffer
Definition: lid.h:905
virtual OpalLineInterfaceDevice::CallProgressTones WaitForToneDetect(unsigned timeout=3000)
Definition: lid.h:1325
virtual CallProgressTones DialOut(unsigned line, const PString &number, const DialParams ¶ms=DialParams())
PString GetErrorText() const
virtual PBoolean SetWriteFormat(unsigned line, const OpalMediaFormat &mediaFormat)=0
virtual PBoolean GetCallerID(PString &idString, PBoolean full=false)
Definition: lid.h:1247
virtual OpalLineInterfaceDevice::CallProgressTones DialOut(const PString &number, const OpalLineInterfaceDevice::DialParams ¶ms=OpalLineInterfaceDevice::DialParams())
Definition: lid.h:1366
virtual void PrintOn(ostream &strm) const
PString m_token
Definition: lid.h:1394
virtual PBoolean SetAEC(unsigned line, AECLevels level)
virtual PBoolean SetVAD(PBoolean enable)
Definition: lid.h:1229
virtual PBoolean SetWriteFrameSize(PINDEX frameSize)
Definition: lid.h:1108
unsigned m_dialInterDigitTime
Time in msec of silence between each DTMF digit.
Definition: lid.h:702
virtual PBoolean IsTonePlaying()
Definition: lid.h:1344
virtual OpalMediaFormat GetReadFormat(unsigned line)=0
bool duplicate
Definition: lid.h:1441
virtual PBoolean ReadFrame(unsigned line, void *buf, PINDEX &count)=0
std::vector< bool > m_LineAudioEnabled
Definition: lid.h:907
virtual PBoolean SetWinkDuration(unsigned line, unsigned winkDuration)
virtual unsigned GetLineCount() const =0
virtual PBoolean ReadFrame(void *buf, PINDEX &count)
Definition: lid.h:1124
virtual PBoolean SetReadFormat(const OpalMediaFormat &mediaFormat)
Definition: lid.h:1070
virtual PBoolean IsDisconnected()
Definition: lid.h:1066
T35CountryCodes GetCountryCode() const
Definition: lid.h:783
AECLevels
Definition: lid.h:442
virtual OpalMediaFormat GetWriteFormat()
Definition: lid.h:1086
virtual PINDEX GetWriteFrameSize(unsigned line)
virtual unsigned GetAverageSignalLevel(unsigned line, PBoolean playback)
static PStringList GetAllDevices()
virtual PBoolean PlayTone(unsigned line, CallProgressTones tone)
virtual PBoolean SetVAD(unsigned line, PBoolean enable)
virtual PBoolean SetCountryCode(T35CountryCodes country)
virtual CallProgressTones IsToneDetected(unsigned line)
virtual PBoolean Ring(PINDEX nCadence, const unsigned *pattern=NULL, unsigned frequency=400)
Definition: lid.h:1034
virtual PBoolean IsLineConnected(unsigned line)
unsigned m_commaDelay
Time in msec to wait when a comma (',') is found in the dial string.
Definition: lid.h:704
unsigned m_dialToneTimeout
Time in msec to wait for a dial tone to be detected.
Definition: lid.h:699
virtual unsigned GetRingCount(DWORD *cadence=NULL)
unsigned m_dialCode
Definition: lid.h:800
virtual PBoolean SetRemoveDTMF(PBoolean removeTones)
Definition: lid.h:1314
PTimeInterval m_ringStoppedTime
Definition: lid.h:1395
virtual OpalLineInterfaceDevice::AECLevels GetAEC() const
Definition: lid.h:1211
virtual bool SetToneDescription(unsigned line, CallProgressTones tone, const PString &description)
virtual PBoolean PlayDTMF(const char *digits, DWORD onTime=OpalLineInterfaceDevice::DefaultDTMFOnTime, DWORD offTime=OpalLineInterfaceDevice::DefaultDTMFOffTime)
Definition: lid.h:1287
virtual PBoolean SetReadFrameSize(PINDEX frameSize)
Definition: lid.h:1100
unsigned m_ringCount
Definition: lid.h:1399
virtual PString GetDeviceType() const =0
virtual PBoolean IsOffHook()
Definition: lid.h:970
virtual PBoolean SendVisualMessageWaitingIndicator(PBoolean on)
Definition: lid.h:1279
virtual PBoolean Open(const PString &device)=0
int m_osError
Definition: lid.h:903
virtual PBoolean SetLineOffHook(unsigned line, PBoolean newState=true)=0
virtual PBoolean SetOnHook()
Definition: lid.h:982
virtual OpalLineInterfaceDevice * Create(void *parameters) const =0
virtual OpalMediaFormat GetReadFormat()
Definition: lid.h:1082
virtual unsigned GetWinkDuration(unsigned line)
virtual PINDEX GetWriteFrameSize()
Definition: lid.h:1120
virtual PBoolean HookFlash(unsigned line, unsigned flashTime=200)
virtual PBoolean HookFlash(unsigned flashTime=200)
Definition: lid.h:987
virtual PBoolean SetLineConnected(unsigned line)
virtual PBoolean SetPlayVolume(unsigned line, unsigned volume)
virtual PBoolean StopReading()
Definition: lid.h:1090
virtual PBoolean StopWriting()
Definition: lid.h:1094
virtual PBoolean SetPlayVolume(unsigned volume)
Definition: lid.h:1187
virtual PBoolean IsAudioEnabled(unsigned line) const
virtual PBoolean SetLineOnHook(unsigned line)
Definition: lid.h:139
virtual PBoolean GetPlayVolume(unsigned line, unsigned &volume)
PString GetToken() const
Definition: lid.h:1384
virtual OpalLineInterfaceDevice::CallProgressTones IsToneDetected()
Definition: lid.h:1321
virtual PBoolean SetCallerID(const PString &idString)
Definition: lid.h:1273
virtual PBoolean SetReadFormat(unsigned line, const OpalMediaFormat &mediaFormat)=0
virtual PBoolean GetVAD(unsigned line) const
virtual PBoolean SetAEC(OpalLineInterfaceDevice::AECLevels level)
Definition: lid.h:1216
virtual PBoolean IsLineOffHook(unsigned line)=0
PINDEX m_readDeblockingOffset
Definition: lid.h:906
virtual PBoolean PlayAudio(unsigned line, const PString &filename)
virtual PBoolean StopTone()
Definition: lid.h:1348
virtual PBoolean WriteFrame(unsigned line, const void *buf, PINDEX count, PINDEX &written)=0
unsigned m_dialDigitTime
Time in msec to play DTMF digit.
Definition: lid.h:701
unsigned m_progressTimeout
Time in msec to wait for a progress tone (ring, busy or connected) to be detected.
Definition: lid.h:703
virtual PStringList GetCountryCodeNameList() const
virtual PBoolean SetRemoveDTMF(unsigned line, PBoolean removeTones)
PLIST(H323LogicalChannelList, H323Channel)
virtual PBoolean PlayDTMF(unsigned line, const char *digits, DWORD onTime=DefaultDTMFOnTime, DWORD offTime=DefaultDTMFOffTime)
const char * m_isoName
Definition: lid.h:799
virtual PINDEX GetReadFrameSize()
Definition: lid.h:1115
virtual OpalMediaFormatList GetMediaFormats() const =0
virtual PBoolean IsTerminal()
Definition: lid.h:955
virtual PBoolean IsLineToLineDirect(unsigned line1, unsigned line2)
OpalLineInterfaceDevice()
virtual PBoolean PlayTone(OpalLineInterfaceDevice::CallProgressTones tone)
Definition: lid.h:1338
virtual PBoolean RingLine(unsigned line, PINDEX nCadence, const unsigned *pattern=NULL, unsigned frequency=400)
virtual PBoolean GetRemoveDTMF()
Definition: lid.h:1308
void SetToken(const PString &t)
Definition: lid.h:1388
virtual PBoolean GetVAD() const
Definition: lid.h:1224
virtual CallProgressTones WaitForToneDetect(unsigned line, unsigned timeout=3000)
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
virtual PBoolean IsLineDisconnected(unsigned line, PBoolean checkForWink=true)
unsigned m_lineNumber
Definition: lid.h:1393
virtual PBoolean GetCallerID(unsigned line, PString &idString, PBoolean full=false)
int GetErrorNumber() const
Definition: lid.h:864
virtual PBoolean IsConnected()
Definition: lid.h:1060
virtual PBoolean IsOpen() const
virtual unsigned GetAverageSignalLevel(PBoolean playback)
Definition: lid.h:1155
virtual PBoolean SetReadFrameSize(unsigned line, PINDEX frameSize)
T35CountryCodes m_countryCode
Definition: lid.h:904
virtual PString GetDescription() const =0
static const T35CountryInfo & GetCountryInfo(T35CountryCodes code)
virtual PBoolean StopReading(unsigned line)
virtual PBoolean SetWriteFrameSize(unsigned line, PINDEX frameSize)
virtual PBoolean StopTone(unsigned line)
virtual PBoolean HasHookFlash()
Definition: lid.h:993
OpalLineInterfaceDevice & GetDevice() const
Definition: lid.h:1376
PBoolean DisableAudio(unsigned line)
Definition: lid.h:390
virtual PBoolean WaitForTone(OpalLineInterfaceDevice::CallProgressTones tone, unsigned timeout=3000)
Definition: lid.h:1331
virtual PINDEX GetReadFrameSize(unsigned line)
virtual PBoolean IsAudioEnabled() const
Definition: lid.h:1172
OpalLine(OpalLineInterfaceDevice &device, unsigned lineNumber, const char *userToken=NULL)
virtual PBoolean SetCountryCodeName(const PString &countryName)
CallProgressTones
Definition: lid.h:582
virtual PBoolean IsLineTerminal(unsigned line)=0
OpalLineInterfaceDevice & m_device
Definition: lid.h:1392
unsigned m_dialStartDelay
Time in msec to wait between the dial tone detection and dialing the DTMF.
Definition: lid.h:700
virtual PBoolean IsLinePresent(unsigned line, PBoolean force=false)
virtual PBoolean IsRinging(DWORD *cadence=NULL)
const char * m_tone[NumTones]
Definition: lid.h:803
int m_osHandle
Definition: lid.h:902
ToneMixingModes
Definition: lid.h:646
T35CountryCodes m_t35Code
Definition: lid.h:801
virtual OpalMediaFormat GetWriteFormat(unsigned line)=0
virtual PBoolean SetOffHook()
Definition: lid.h:977
virtual PBoolean WriteBlock(unsigned line, const void *buf, PINDEX count)
PTimeInterval m_ringInterCadenceTime
Definition: lid.h:1396
virtual PBoolean IsPresent(PBoolean force=false)
Definition: lid.h:960
virtual PString GetDeviceName() const =0
virtual PBoolean GetRemoveDTMF(unsigned line)
virtual PBoolean GetRecordVolume(unsigned &volume)
Definition: lid.h:1195
virtual PBoolean WriteBlock(const void *buf, PINDEX count)
Definition: lid.h:1147
virtual PBoolean GetRecordVolume(unsigned line, unsigned &volume)
virtual PBoolean SetWriteFormat(const OpalMediaFormat &mediaFormat)
Definition: lid.h:1076
OpalLIDRegistration * link
Definition: lid.h:1440
virtual PBoolean ReadBlock(void *buf, PINDEX count)
Definition: lid.h:1140
void PrintOn(ostream &strm) const
virtual PBoolean SetLineToLineDirect(unsigned line1, unsigned line2, PBoolean connect)
virtual AECLevels GetAEC(unsigned line) const
virtual PBoolean SetConnected()
Definition: lid.h:1051
virtual PBoolean SetCallerID(unsigned line, const PString &idString)
static OpalLineInterfaceDevice * Create(const PString &type, void *parameters=NULL)
unsigned GetLineNumber() const
Definition: lid.h:1380
virtual PBoolean IsLineRinging(unsigned line, DWORD *cadence=NULL)
PBYTEArray m_readDeblockingBuffer
Definition: lid.h:905
virtual PBoolean GetPlayVolume(unsigned &volume)
Definition: lid.h:1203
virtual PBoolean RecordAudioStop(unsigned line)
virtual PBoolean StopAudio(unsigned line)
bool m_lastRingState
Definition: lid.h:1400