OPAL
Version 3.14.3
|
#include <frame.h>
Public Types | |
enum | AudioSc { g7231 = 1, gsm = 2, g711ulaw = 4, g711alaw = 8, mp3 = 0x10, adpcm = 0x20, pcm = 0x40, lpc10 = 0x80, g729 = 0x100, speex = 0x200, ilbc = 0x400, supportedCodecs = 11 } |
![]() | |
enum | ConnectionRequired { callActive, callIrrelevant } |
![]() | |
enum | IAX2FrameType { undefType = 0, dtmfType = 1, voiceType = 2, videoType = 3, controlType = 4, nullType = 5, iax2ProtocolType = 6, textType = 7, imageType = 8, htmlType = 9, cngType = 10, numFrameTypes = 11 } |
Public Member Functions | |
IAX2FullFrameVoice (const IAX2Frame &srcFrame) | |
IAX2FullFrameVoice (const IAX2FullFrame &srcFrame) | |
IAX2FullFrameVoice (IAX2CallProcessor *processor, PBYTEArray &sound, PINDEX usersTimeStamp=0) | |
virtual | ~IAX2FullFrameVoice () |
virtual PString | GetSubClassName () const |
virtual BYTE | GetFullFrameType () |
![]() | |
IAX2FullFrame (const IAX2Frame &srcFrame) | |
IAX2FullFrame (IAX2EndPoint &_endpoint) | |
virtual | ~IAX2FullFrame () |
PBoolean | IsAckFrame () |
PBoolean | IsPingFrame () |
PBoolean | IsNewFrame () |
PBoolean | IsLagRqFrame () |
PBoolean | IsLagRpFrame () |
PBoolean | IsPongFrame () |
PBoolean | IsAuthReqFrame () |
PBoolean | IsVnakFrame () |
PBoolean | IsRegReqFrame () |
PBoolean | IsRegAuthFrame () |
PBoolean | IsRegAckFrame () |
PBoolean | IsRegRelFrame () |
PBoolean | IsRegRejFrame () |
PBoolean | IsCallTokenFrame () |
PBoolean | FrameIncrementsInSeqNo () |
virtual PBoolean | IsFullFrame () |
PBoolean | IsHangupFrame () |
void | ZeroAllValues () |
virtual PBoolean | ProcessNetworkPacket () |
virtual PBoolean | TransmitPacket (PUDPSocket &sock) |
PString | GetFullFrameName () const |
void | MarkDeleteNow () |
void | MarkVnakSendNow () |
virtual BYTE * | GetMediaDataPointer () |
virtual PINDEX | GetMediaDataSize () |
PINDEX | GetSubClass () const |
void | SetSubClass (PINDEX newValue) |
virtual PBoolean | WriteHeader () |
void | ModifyFrameHeaderSequenceNumbers (PINDEX inNo, PINDEX outNo) |
void | ModifyFrameTimeStamp (PINDEX newTimeStamp) |
virtual PBoolean | InformationElementsPresent () |
PBoolean | SendFrameNow () |
PBoolean | DeleteFrameNow () |
IAX2SequenceNumbers & | GetSequenceInfo () |
virtual void | PrintOn (ostream &strm) const |
void | MarkAsResent () |
PBoolean | operator*= (IAX2FullFrame &other) |
virtual PINDEX | GetEncryptionOffset () |
![]() | |
IAX2Frame (IAX2EndPoint &_endpoint) | |
virtual | ~IAX2Frame () |
PBoolean | ReadNetworkPacket (PUDPSocket &sock) |
PBoolean | IsVideo () const |
PBoolean | IsAudio () const |
PINDEX | DataSize () |
IAX2Remote & | GetRemoteInfo () |
const BYTE * | GetDataPointer () |
IAX2Frame * | BuildAppropriateFrameType (IAX2Encryption &encryptionInfo) |
IAX2Frame * | BuildAppropriateFrameType () |
PINDEX | GetUnReadBytes () |
virtual void | BuildTimeStamp (const PTimeInterval &callStartTick) |
IAX2EndPoint & | GetEndpoint () |
PString | IdString () const |
DWORD | GetTimeStamp () |
void | SetTimeStamp (DWORD newValue) |
IAX2FrameType | GetFrameType () |
PBoolean | CanRetransmitFrame () const |
PString | GetConnectionToken () const |
void | SetConnectionToken (PString newToken) |
void | BuildConnectionToken () |
PBoolean | EncryptContents (IAX2Encryption &encData) |
Static Public Member Functions | |
static PString | GetSubClassName (unsigned testValue) |
static PString | GetOpalNameOfCodec (PINDEX testValue) |
static unsigned short | OpalNameToIax2Value (const PString opalName) |
Additional Inherited Members | |
![]() | |
enum | RetryTime { minRetryTime = 1000, maxRetryTime = 010000, maxRetries = 3 } |
![]() | |
virtual PBoolean | CallMustBeActive () |
void | UnCompressSubClass (BYTE a) |
int | CompressSubClass () |
void | ClearListFlags () |
virtual void | InitialiseHeader (IAX2Processor *processor) |
void | OnTransmissionTimeout (PTimer &, INT) |
![]() | |
PTimer | transmissionTimer |
int | subClass |
PTimeInterval | retryDelta |
PTimeInterval | timeOffset |
PINDEX | retries |
IAX2SequenceNumbers | sequence |
PBoolean | sendFrameNow |
PBoolean | deleteFrameNow |
PBoolean | packetResent |
PBoolean | callMustBeActive |
PBoolean | isAckFrame |
Used for transmitting voice packets in a relaible fashion. Typically, one is sent at the start of the call, and then at regular intervals in the call to keep the timestamps in sync.
This class has the ability to build audio codecs, and report on available formats.
The contents the data section is the compressed audio frame.
enum comtaining the possible (uncompressed) subclass value for these voice frames
IAX2FullFrameVoice::IAX2FullFrameVoice | ( | const IAX2Frame & | srcFrame | ) |
Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet
IAX2FullFrameVoice::IAX2FullFrameVoice | ( | const IAX2FullFrame & | srcFrame | ) |
Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet
IAX2FullFrameVoice::IAX2FullFrameVoice | ( | IAX2CallProcessor * | processor, |
PBYTEArray & | sound, | ||
PINDEX | usersTimeStamp = 0 |
||
) |
Construction from an encoded audio array (stored in a PBYTEArray), in preparation to sending to remote node. The constructor will not delete the supplied PBYTEArray structure.
The full frame will use the specified timeStamp, if it is > 0. If the specified timeStamp == 0, the timeStamp will be calculated from when the call started.
|
virtual |
Declare an empty destructor
|
inlinevirtual |
Return the IAX2FullFrame type represented here (voice, protocol, session etc
Reimplemented from IAX2FullFrame.
References IAX2Frame::voiceType.
|
static |
Get text description of the subclass contents, given the supplied argument. The name returned is that recoginised by the OPAL library.
|
virtual |
Get text description of the subclass contents
Reimplemented from IAX2FullFrame.
|
static |
Get text description of the subclass contents, given the supplied argument
|
static |
Turn the OPAL string (which describes the codec) into a AudioSc value. If there is no conversion found, return 0.