OPAL  Version 3.18.8
IAX2FullFrameSessionControl Class Reference

#include <frame.h>

Inheritance diagram for IAX2FullFrameSessionControl:
Collaboration diagram for IAX2FullFrameSessionControl:

Public Types

enum  SessionSc {
  hangup = 1, ring = 2, ringing = 3, answer = 4,
  busy = 5, tkoffhk = 6, offhook = 7, congestion = 8,
  flashhook = 9, wink = 10, option = 11, keyRadio = 12,
  unkeyRadio = 13, callProgress = 14, callProceeding = 15, callOnHold = 16,
  callHoldRelease = 17, stopSounds = 255
}
 
- Public Types inherited from IAX2FullFrame
enum  ConnectionRequired { callActive, callIrrelevant }
 
- Public Types inherited from IAX2Frame
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

 IAX2FullFrameSessionControl (const IAX2Frame &srcFrame)
 
 IAX2FullFrameSessionControl (const IAX2FullFrame &srcFrame)
 
 IAX2FullFrameSessionControl (IAX2Processor *processor, PINDEX subClassValue)
 
 IAX2FullFrameSessionControl (IAX2Processor *processor, SessionSc subClassValue)
 
virtual ~IAX2FullFrameSessionControl ()
 
virtual PString GetSubClassName () const
 
virtual BYTE GetFullFrameType ()
 
- Public Member Functions inherited from IAX2FullFrame
 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 ()
 
IAX2SequenceNumbersGetSequenceInfo ()
 
virtual void PrintOn (ostream &strm) const
 
void MarkAsResent ()
 
PBoolean operator*= (IAX2FullFrame &other)
 
virtual PINDEX GetEncryptionOffset ()
 
- Public Member Functions inherited from IAX2Frame
 IAX2Frame (IAX2EndPoint &_endpoint)
 
virtual ~IAX2Frame ()
 
PBoolean ReadNetworkPacket (PUDPSocket &sock)
 
PBoolean IsVideo () const
 
PBoolean IsAudio () const
 
PINDEX DataSize ()
 
IAX2RemoteGetRemoteInfo ()
 
const BYTE * GetDataPointer ()
 
IAX2FrameBuildAppropriateFrameType (IAX2Encryption &encryptionInfo)
 
IAX2FrameBuildAppropriateFrameType ()
 
PINDEX GetUnReadBytes ()
 
virtual void BuildTimeStamp (const PTimeInterval &callStartTick)
 
IAX2EndPointGetEndpoint ()
 
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)
 

Additional Inherited Members

- Static Public Member Functions inherited from IAX2Frame
static DWORD CalcTimeStamp (const PTimeInterval &callStartTick)
 
- Protected Types inherited from IAX2FullFrame
enum  RetryTime { minRetryTime = 1000, maxRetryTime = 010000, maxRetries = 3 }
 
- Protected Member Functions inherited from IAX2FullFrame
virtual PBoolean CallMustBeActive ()
 
void UnCompressSubClass (BYTE a)
 
int CompressSubClass ()
 
void ClearListFlags ()
 
virtual void InitialiseHeader (IAX2Processor *processor)
 
void OnTransmissionTimeout (PTimer &, INT)
 
- Protected Member Functions inherited from IAX2Frame
PBoolean DecryptContents (IAX2Encryption &encryption)
 
PBoolean Read1Byte (BYTE &res)
 
PBoolean Read2Bytes (PINDEX &res)
 
PBoolean Read2Bytes (WORD &res)
 
PBoolean Read4Bytes (DWORD &res)
 
void Write1Byte (BYTE newVal)
 
void Write1Byte (PINDEX newVal)
 
void Write2Bytes (PINDEX newVal)
 
void Write4Bytes (unsigned int newVal)
 
void ZeroAllValues ()
 
- Protected Attributes inherited from IAX2FullFrame
PTimer transmissionTimer
 
int subClass
 
PTimeInterval retryDelta
 
PTimeInterval timeOffset
 
PINDEX retries
 
IAX2SequenceNumbers sequence
 
PBoolean sendFrameNow
 
PBoolean deleteFrameNow
 
PBoolean packetResent
 
PBoolean callMustBeActive
 
PBoolean isAckFrame
 
- Protected Attributes inherited from IAX2Frame
IAX2Remote remote
 
IAX2FrameType frameType
 
IAX2EndPointendpoint
 
PBYTEArray data
 
PBoolean isFullFrame
 
PBoolean isVideo
 
PBoolean isAudio
 
PINDEX currentReadIndex
 
PINDEX currentWriteIndex
 
DWORD timeStamp
 
PBoolean canRetransmitFrame
 
PString connectionToken
 
DWORD presetTimeStamp
 

Detailed Description

Used for sending Control Frames. These are used to manipulate the session.

Asterisk calls these AST_FRAME_CONTROLs

No data is carried in the data section

Member Enumeration Documentation

enum comtaining the possible subclass value for these Session Control frames

Enumerator
hangup 

Other end has hungup

ring 

Local ring

ringing 

Remote end is ringing

answer 

Remote end has answered

busy 

Remote end is busy

tkoffhk 

Make it go off hook

offhook 

Line is off hook

congestion 

Congestion (circuits busy)

flashhook 

Flash hook

wink 

Wink

option 

Set a low-level option

keyRadio 

Key Radio

unkeyRadio 

Un-Key Radio

callProgress 

Indicate PROGRESS

callProceeding 

Indicate CALL PROCEEDING

callOnHold 

Call has been placed on hold

callHoldRelease 

Call is no longer on hold

stopSounds 

Indicates the transition from ringback to bidirectional audio

Constructor & Destructor Documentation

IAX2FullFrameSessionControl::IAX2FullFrameSessionControl ( const IAX2Frame srcFrame)

Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet

IAX2FullFrameSessionControl::IAX2FullFrameSessionControl ( const IAX2FullFrame srcFrame)

Construction from a supplied dataframe. In this case, this class is filled from an incoming data packet

IAX2FullFrameSessionControl::IAX2FullFrameSessionControl ( IAX2Processor processor,
PINDEX  subClassValue 
)

Construction from a Connection class. Classes generated from this are then on sent to a remote endpoint.

Parameters
processorIax Processor from which this frame originates
subClassValueIAX protocol command for remote end to process
IAX2FullFrameSessionControl::IAX2FullFrameSessionControl ( IAX2Processor processor,
SessionSc  subClassValue 
)

Construction from a Connection class. Classes generated from this are then on sent to a remote endpoint.

Parameters
processorIax Processor from which this frame originates
subClassValueIAX protocol command for remote end to process
virtual IAX2FullFrameSessionControl::~IAX2FullFrameSessionControl ( )
inlinevirtual

Declare an empty destructor

Member Function Documentation

virtual BYTE IAX2FullFrameSessionControl::GetFullFrameType ( )
inlinevirtual

Return the IAX2FullFrame type represented here (voice, protocol, session etc

Reimplemented from IAX2FullFrame.

References IAX2Frame::controlType.

virtual PString IAX2FullFrameSessionControl::GetSubClassName ( ) const
virtual

Get text description of the subclass contents

Reimplemented from IAX2FullFrame.


The documentation for this class was generated from the following file: