32 #ifndef OPAL_IAX2_FRAME_H
33 #define OPAL_IAX2_FRAME_H
46 #include <ptlib/sockets.h>
70 class IAX2Transmitter;
142 virtual void PrintOn(ostream & strm)
const;
145 static DWORD
CalcTimeStamp(
const PTimeInterval & callStartTick);
339 virtual void PrintOn(ostream & strm)
const;
456 {
return PString(
" subclass=") + PString(
subClass); }
512 virtual void PrintOn(ostream & strm)
const;
630 PString subClassValue
693 PINDEX usersTimeStamp = 0);
947 PINDEX subClassValue,
1009 unsigned int & preferred);
1016 virtual void PrintOn(ostream & strm)
const;
1053 const PString& textValue
1161 #ifdef DOC_PLUS_PLUS //This makes emacs bracket matching code happy.
1205 virtual PINDEX
GetSize() { PWaitAndSignal m(
mutex);
return PAbstractList::GetSize(); }
1234 #endif // OPAL_IAX2_FRAME_H
void SetRetransmissionRequired()
PBoolean Read1Byte(BYTE &res)
virtual BYTE GetFullFrameType()
Definition: frame.h:773
PString connectionToken
Definition: frame.h:298
void AlterTimeStamp(PINDEX newValue)
PBoolean Read2Bytes(PINDEX &res)
virtual PString GetSubClassName() const
void GetResendFramesDeleteOldFrames(IAX2FrameList &framesToSend)
virtual PINDEX GetEncryptionOffset()
PString GetTextString() const
static PString GetOpalNameOfCodec(PINDEX testValue)
virtual PString GetSubClassName() const
void GetRemoteCapability(unsigned int &capability, unsigned int &preferred)
IAX2FrameType GetFrameType()
Definition: frame.h:186
virtual PString GetSubClassName() const
PBoolean CanRetransmitFrame() const
Definition: frame.h:195
virtual PBoolean WriteHeader()
PBoolean IsAudio() const
Definition: frame.h:99
PINDEX DataSize()
Definition: frame.h:112
void Write4Bytes(unsigned int newVal)
IAX2Remote remote
Definition: frame.h:225
virtual PString GetSubClassName() const
IAX2FullFrameCng(const IAX2Frame &srcFrame)
PBoolean DecryptContents(IAX2Encryption &encryption)
virtual BYTE GetFullFrameType()
Definition: frame.h:658
PBoolean operator*=(IAX2FullFrame &other)
IAX2SequenceNumbers sequence
Definition: frame.h:585
PBoolean IsVideo() const
Definition: frame.h:96
virtual BYTE GetFullFrameType()
Definition: frame.h:529
PMutex mutex
Definition: frame.h:1215
virtual void PrintOn(ostream &strm) const
ProtocolSc GetSubClass() const
Definition: frame.h:982
virtual void PrintOn(ostream &strm) const
VideoSc
Definition: frame.h:765
IAX2FullFrameVideo(const IAX2Frame &srcFrame)
void ModifyFrameTimeStamp(PINDEX newTimeStamp)
IAX2MiniFrame(const IAX2Frame &srcFrame)
ConnectionRequired
Definition: frame.h:523
virtual BYTE GetFullFrameType()
Definition: frame.h:1128
IAX2FrameType
Definition: frame.h:169
virtual ~IAX2FullFrameProtocol()
static PString GetSubClassName(int testValue)
Definition: frame.h:716
virtual BYTE * GetMediaDataPointer()
virtual void PrintOn(ostream &strm) const
PTimeInterval timeOffset
Definition: frame.h:572
PINDEX GetUnReadBytes()
Definition: frame.h:132
PString GetFullFrameName() const
PBoolean IsAuthReqFrame()
ProtocolSc
Definition: frame.h:891
void GrabContents(IAX2FrameList &src)
virtual void InitialiseHeader(IAX2Processor *processor)
virtual void InitialiseHeader(IAX2Processor *)
Definition: frame.h:191
PString GetConnectionToken() const
Definition: frame.h:199
void WriteIeAsBinaryData()
PINDEX currentWriteIndex
Definition: frame.h:286
Definition: callprocessor.h:57
PBoolean canRetransmitFrame
Definition: frame.h:292
PTimeInterval retryDelta
Definition: frame.h:569
AudioSc
Definition: frame.h:724
virtual PBoolean TransmitPacket(PUDPSocket &sock)
IAX2FullFrameHtml(const IAX2Frame &srcFrame)
virtual PINDEX GetMediaDataSize()
IAX2Frame * BuildAppropriateFrameType()
virtual PString GetSubClassName() const
Definition: frame.h:455
DWORD timeStamp
Definition: frame.h:289
virtual PBoolean ProcessNetworkPacket()
virtual BYTE GetFullFrameType()
Definition: frame.h:740
PBoolean packetResent
Definition: frame.h:594
virtual PBoolean ProcessNetworkPacket()
IAX2FullFrameVoice(const IAX2Frame &srcFrame)
PBoolean deleteFrameNow
Definition: frame.h:591
PBoolean IsEmpty() const
Definition: ies.h:2176
virtual ~IAX2FullFrameSessionControl()
Definition: frame.h:833
void DeleteMatchingSendFrame(IAX2FullFrame *reply)
PBoolean callMustBeActive
Definition: frame.h:597
IAX2EndPoint & GetEndpoint()
Definition: frame.h:153
virtual PBoolean TransmitPacket(PUDPSocket &sock)
virtual BYTE * GetMediaDataPointer()
Definition: frame.h:104
void SetSubClass(PINDEX newValue)
Definition: frame.h:480
void AddNewFrame(IAX2Frame *src)
void Write1Byte(BYTE newVal)
virtual PBoolean WriteHeader()
Definition: frame.h:135
IAX2FullFrameImage(const IAX2Frame &srcFrame)
IAX2FullFrameDtmf(const IAX2Frame &srcFrame)
virtual BYTE GetFullFrameType()
Definition: frame.h:1013
DtmfSc
Definition: frame.h:638
PINDEX GetSubClass() const
Definition: frame.h:477
void SendVnakRequestedFrames(IAX2FullFrameProtocol &src)
PBoolean sendFrameNow
Definition: frame.h:588
virtual PINDEX GetMediaDataSize()
IAX2ActiveFrameList()
Definition: frame.h:1227
virtual PINDEX GetEncryptionOffset()
PBoolean SendFrameNow()
Definition: frame.h:502
virtual PBoolean IsFullFrame()
Definition: frame.h:433
IAX2FullFrameText(IAX2Processor *processor, const PString &textValue)
PBoolean IsAckFrame()
Definition: frame.h:386
virtual PString GetSubClassName() const
void UnCompressSubClass(BYTE a)
IAX2Ie * GetIeAt(PINDEX i)
Definition: frame.h:992
virtual PINDEX GetEncryptionOffset()
Definition: frame.h:532
PBYTEArray data
Definition: frame.h:271
IAX2SequenceNumbers & GetSequenceInfo()
Definition: frame.h:509
IAX2EndPoint & endpoint
Definition: frame.h:267
IAX2FullFrameProtocol(const IAX2Frame &srcFrame)
virtual PString GetSubClassName() const
void AppendIe(IAX2Ie *newElement)
Definition: frame.h:995
PINDEX retries
Definition: frame.h:575
static unsigned short OpalNameToIax2Value(const PString opalName)
virtual ~IAX2FullFrameVoice()
virtual PBoolean IsFullFrame()
Definition: frame.h:93
virtual PString GetSubClassName() const
SessionSc
Definition: frame.h:789
PBoolean isVideo
Definition: frame.h:277
ostream & operator<<(ostream &strm, OpalSilenceDetector::Mode mode)
Definition: processor.h:136
IAX2FullFrameSessionControl(const IAX2Frame &srcFrame)
IAX2Ie * GetIeAt(int i) const
PINDEX currentReadIndex
Definition: frame.h:283
IAX2IeList ieElements
Definition: frame.h:1031
IAX2Frame * GetLastFrame()
virtual void PrintOn(ostream &strm) const
virtual BYTE * GetMediaDataPointer()
void SetTimeStamp(DWORD newValue)
virtual PBoolean WriteHeader()
void ModifyFrameHeaderSequenceNumbers(PINDEX inNo, PINDEX outNo)
void SetConnectionToken(PString newToken)
Definition: frame.h:203
PBoolean GetCallTokenIe(IAX2IeCallToken &callToken)
virtual BYTE GetFullFrameType()
Definition: frame.h:1068
IAX2FrameType frameType
Definition: frame.h:229
DWORD presetTimeStamp
Definition: frame.h:302
IAX2Remote & GetRemoteInfo()
Definition: frame.h:115
void CopyDataFromIeListTo(IAX2IeData &res)
IAX2FullFrame(const IAX2Frame &srcFrame)
virtual PBoolean InformationElementsPresent()
Definition: frame.h:979
PBoolean FrameIncrementsInSeqNo()
PBoolean isAckFrame
Definition: frame.h:600
virtual PINDEX GetEntries()
Definition: frame.h:1212
const BYTE * GetDataPointer()
Definition: frame.h:118
static DWORD CalcTimeStamp(const PTimeInterval &callStartTick)
virtual BYTE GetFullFrameType()
Definition: frame.h:839
static PString GetSubClassName(unsigned short testValue)
Definition: frame.h:703
PBoolean Read4Bytes(DWORD &res)
PBoolean ReadInformationElements()
virtual PBoolean CallMustBeActive()
Definition: frame.h:166
virtual BYTE GetFullFrameType()
Definition: frame.h:1101
PBoolean ReadNetworkPacket(PUDPSocket &sock)
PBoolean DeleteFrameNow()
Definition: frame.h:506
virtual BYTE GetFullFrameType()
Definition: frame.h:1154
virtual PString GetSubClassName() const
PBoolean isAudio
Definition: frame.h:280
DWORD GetTimeStamp()
Definition: frame.h:160
PBoolean IsRegAuthFrame()
void OnTransmissionTimeout(PTimer &, INT)
PTimer transmissionTimer
Definition: frame.h:563
virtual PBoolean InformationElementsPresent()
Definition: frame.h:498
void ReportList(PString &answer)
virtual PINDEX GetMediaDataSize()
Definition: frame.h:109
PBoolean Empty()
Definition: frame.h:1184
void AppendIe(IAX2Ie *newMember)
Definition: ies.h:2179
IAX2Frame(IAX2EndPoint &_endpoint)
virtual PBoolean ProcessNetworkPacket()
PString internalText
Definition: frame.h:1076
PBoolean isFullFrame
Definition: frame.h:274
virtual void InitialiseHeader(IAX2Processor *processor)
virtual PINDEX GetSize()
Definition: frame.h:1205
RetryTime
Definition: frame.h:578
PBoolean IsCallTokenFrame()
PBoolean EncryptContents(IAX2Encryption &encData)
void BuildConnectionToken()
virtual PString GetSubClassName() const
virtual PBoolean CallMustBeActive()
Definition: frame.h:536
virtual void BuildTimeStamp(const PTimeInterval &callStartTick)
PINDEX subClass
Definition: frame.h:566
void Write2Bytes(PINDEX newVal)