OPAL
Version 3.18.8
|
#include <ies.h>
Public Member Functions | |
construction/destruction | |
IAX2Ie () | |
virtual | ~IAX2Ie () |
Protected Member Functions | |
virtual void | WriteBinary (BYTE *) |
Protected Attributes | |
PBoolean | validData |
Worker methods | |
virtual PBoolean | IsValid () |
virtual BYTE | GetLengthOfData () const |
int | GetBinarySize () const |
virtual void | PrintOn (ostream &str) const |
virtual BYTE | GetKeyValue () const |
void | SetData (int &) |
int | ReadData () |
void | WriteBinary (void *data, PINDEX &writeIndex) |
virtual void | StoreDataIn (IAX2IeData &) |
static IAX2Ie * | BuildInformationElement (BYTE _typeCode, BYTE length, BYTE *srcData) |
Ie class is for handling information elements
Each of the 45 possible Information Element types
Enumerator | |
---|---|
ie_calledNumber |
Number or extension that is being being called (string) |
ie_callingNumber |
The number of the node initating the call r (string) |
ie_callingAni |
The ANI (calling number) to use for billing (string) |
ie_callingName |
The callers name (string) |
ie_calledContext |
The context we are calling to (string) |
ie_userName |
UserName (peer or user) to use in the authentication process (string) |
ie_password |
Password - which is used in the authentication process (string) |
ie_capability |
Bitmask of the codecs sending end supports or senders capability (unsigned int) |
ie_format |
Bitmask of the desired codec (unsigned int) |
ie_language |
Sending ends preferred language string) |
ie_version |
Sending ends protocol version - typically 2. (short) |
ie_adsicpe |
CPE ADSI capability (short) |
ie_dnid |
Originally dialed DNID (string) |
ie_authMethods |
Bitmask of the available Authentication method(s) (short) |
ie_challenge |
The challenge data used in MD5/RSA authentication (string) |
ie_md5Result |
MD5 challenge (authentication process) result (string) |
ie_rsaResult |
RSA challenge (authentication process) result (string) |
ie_apparentAddr |
The peer's apparent address. (struct sockaddr_in) |
ie_refresh |
The frequency of on with to refresh registration, in units of seconds (short) |
ie_dpStatus |
The dialplan status (short) |
ie_callNo |
Call number of the peer (short) |
ie_cause |
Description of why hangup or authentication or other failure happened (string) |
ie_iaxUnknown |
An IAX command that is unknown (byte) |
ie_msgCount |
A report on the number of messages waiting (short) |
ie_autoAnswer |
auto-answering is requested (no type required, as this is a request) |
ie_musicOnHold |
Demand for music on hold combined with QUELCH (string or none) |
ie_transferId |
Identifier for a Transfer Request (int) |
ie_rdnis |
DNIS of the referring agent (string) |
ie_provisioning |
Info to be used for provisioning (binary data) |
ie_aesProvisioning |
Info for provisioning AES (binary data) |
ie_dateTime |
Date and Time (which is stored in binary format defined in IAX2IeDateTime) |
ie_deviceType |
The type of device (string) |
ie_serviceIdent |
The Identifier for service (string) |
ie_firmwareVer |
The version of firmware (unsigned 32 bit number) |
ie_fwBlockDesc |
The description for a block of firmware (unsigned 32 bit number ) |
ie_fwBlockData |
Binary data for a block of fw () |
ie_provVer |
The version of provisiong (unsigned 32 bit number) |
ie_callingPres |
Presentation of calling (unsigned 8 bit) |
ie_callingTon |
Type of number calling (unsigned 8 bit) |
ie_callingTns |
Transit Network Select for calling (unsigned 16 bit) |
ie_samplingRate |
Bitmask of supported Rate of sampling . Sampling defaults to 8000 hz, (unsigned 16) |
ie_causeCode |
Code value which describes why the registration failed, or call hungup etc (unsigned 8 bit) |
ie_encryption |
The method for encrption the remote code wants to use (U16) |
ie_encKey |
the Key for ncryption (raw binary data) |
ie_codecPrefs |
The codec we would prefer to use (unsigned 8 bit) |
ie_recJitter |
From rfc 1889, the received jitter (unsigned 32 bit number) |
ie_recLoss |
The received loss rate, where the high byte is the loss packt, low 24 bits loss count, from rfc1889 (unsigned 32 bit) |
ie_recPackets |
Recevied number of frames (total frames received) (unsigned 32 bit) |
ie_recDelay |
Received frame largest playout delay (in ms) (unsigned 16 bit) |
ie_recDropped |
The number of dropped received frames by the jitter buf, so it is a measure of the number of late frames (unsigned 32 bit) |
ie_recOoo |
The number of received frames which were Out Of Order (unsigned 32 number) |
ie_variable |
do remote variables |
ie_ospToken |
OSP token |
ie_callToken |
For security - do Call number tests |
ie_capability2 |
Do the Actual codec capability - u8 version + integer array |
ie_format2 |
Desired codec format - u8 version + integer array |
ie_countEntries |
Report on how many different ie types there are |
IAX2Ie::IAX2Ie | ( | ) |
Constructor
|
inlinevirtual |
Destructor
|
static |
Given an arbitrary type code, build & initialise the IAX2Ie descendant class
|
inline |
return the number of bytes to hold this Information Element when stored in a packet
References GetLengthOfData().
|
inlinevirtual |
Get the enum value for this information element class
Reimplemented in IAX2IeCallToken, IAX2IeReceivedOoo, IAX2IeDroppedFrames, IAX2IeReceivedDelay, IAX2IeReceivedFrames, IAX2IeReceivedLoss, IAX2IeReceivedJitter, IAX2IeCodecPrefs, IAX2IeEncKey, IAX2IeEncryption, IAX2IeSamplingRate, IAX2IeCallingTns, IAX2IeCallingTon, IAX2IeCallingPres, IAX2IeProvVer, IAX2IeFwBlockData, IAX2IeFwBlockDesc, IAX2IeFirmwareVer, IAX2IeServiceIdent, IAX2IeDeviceType, IAX2IeDateTime, IAX2IeAesProvisioning, IAX2IeProvisioning, IAX2IeRdnis, IAX2IeTransferId, IAX2IeMusicOnHold, IAX2IeAutoAnswer, IAX2IeMsgCount, IAX2IeIaxUnknown, IAX2IeCause, IAX2IeCallNo, IAX2IeDpStatus, IAX2IeRefresh, IAX2IeApparentAddr, IAX2IeRsaResult, IAX2IeMd5Result, IAX2IeChallenge, IAX2IeAuthMethods, IAX2IeDnid, IAX2IeAdsicpe, IAX2IeVersion, IAX2IeLanguage, IAX2IeFormat, IAX2IeCapability, IAX2IePassword, IAX2IeUserName, IAX2IeCalledContext, IAX2IeCallingName, IAX2IeCallingAni, IAX2IeCallingNumber, IAX2IeCalledNumber, and IAX2IeCauseCode.
|
inlinevirtual |
return the number of bytes to hold this data element
Reimplemented in IAX2IeSockaddrIn, IAX2IeBlockOfData, IAX2IeDateAndTime, IAX2IeBinary, and IAX2IeString.
Referenced by GetBinarySize().
|
inlinevirtual |
returns true if contains an initialised information element
References validData.
Referenced by IAX2IeAuthMethods::IsMd5Authentication(), IAX2IeAuthMethods::IsPlainTextAuthentication(), and IAX2IeAuthMethods::IsRsaAuthentication().
|
virtual |
print this class (nicely) to the designated stream
Reimplemented in IAX2IeCallToken, IAX2IeReceivedOoo, IAX2IeDroppedFrames, IAX2IeReceivedDelay, IAX2IeReceivedFrames, IAX2IeReceivedLoss, IAX2IeReceivedJitter, IAX2IeCodecPrefs, IAX2IeEncKey, IAX2IeEncryption, IAX2IeSamplingRate, IAX2IeCallingTns, IAX2IeCallingTon, IAX2IeCallingPres, IAX2IeProvVer, IAX2IeFwBlockData, IAX2IeFwBlockDesc, IAX2IeFirmwareVer, IAX2IeServiceIdent, IAX2IeDeviceType, IAX2IeDateTime, IAX2IeAesProvisioning, IAX2IeProvisioning, IAX2IeRdnis, IAX2IeTransferId, IAX2IeMusicOnHold, IAX2IeAutoAnswer, IAX2IeMsgCount, IAX2IeIaxUnknown, IAX2IeCause, IAX2IeCallNo, IAX2IeDpStatus, IAX2IeRefresh, IAX2IeApparentAddr, IAX2IeRsaResult, IAX2IeMd5Result, IAX2IeChallenge, IAX2IeAuthMethods, IAX2IeDnid, IAX2IeAdsicpe, IAX2IeVersion, IAX2IeLanguage, IAX2IeFormat, IAX2IeCapability, IAX2IePassword, IAX2IeUserName, IAX2IeCalledContext, IAX2IeCallingName, IAX2IeCallingAni, IAX2IeCallingNumber, IAX2IeCalledNumber, IAX2IeSockaddrIn, IAX2IeBlockOfData, IAX2IeDateAndTime, IAX2IeBinary, IAX2IeString, IAX2IeInvalidElement, and IAX2IeCauseCode.
|
inline |
Read the value of the stored data for this class
|
inline |
Take the supplied data and copy contents into this IE
Referenced by IAX2IeAuthMethods::IAX2IeAuthMethods().
|
inlinevirtual |
Take the data from this IAX2Ie, and copy it into the IAX2IeData structure. This is done on processing an incoming frame which contains IAX2Ie in the data section.
Reimplemented in IAX2IeCallToken, IAX2IeReceivedOoo, IAX2IeDroppedFrames, IAX2IeReceivedDelay, IAX2IeReceivedFrames, IAX2IeReceivedLoss, IAX2IeReceivedJitter, IAX2IeCodecPrefs, IAX2IeEncKey, IAX2IeEncryption, IAX2IeSamplingRate, IAX2IeCallingTns, IAX2IeCallingTon, IAX2IeCallingPres, IAX2IeProvVer, IAX2IeFwBlockData, IAX2IeFwBlockDesc, IAX2IeFirmwareVer, IAX2IeServiceIdent, IAX2IeDeviceType, IAX2IeDateTime, IAX2IeAesProvisioning, IAX2IeProvisioning, IAX2IeRdnis, IAX2IeTransferId, IAX2IeMusicOnHold, IAX2IeAutoAnswer, IAX2IeMsgCount, IAX2IeIaxUnknown, IAX2IeCause, IAX2IeCallNo, IAX2IeDpStatus, IAX2IeRefresh, IAX2IeApparentAddr, IAX2IeRsaResult, IAX2IeMd5Result, IAX2IeChallenge, IAX2IeAuthMethods, IAX2IeDnid, IAX2IeAdsicpe, IAX2IeVersion, IAX2IeLanguage, IAX2IeFormat, IAX2IeCapability, IAX2IePassword, IAX2IeUserName, IAX2IeCalledContext, IAX2IeCallingName, IAX2IeCallingAni, IAX2IeCallingNumber, IAX2IeCalledNumber, and IAX2IeCauseCode.
void IAX2Ie::WriteBinary | ( | void * | data, |
PINDEX & | writeIndex | ||
) |
Take the data from this IAX2Ie and copy into the memory region. When finished, increment the writeIndex appropriately.
|
inlineprotectedvirtual |
Take the data value for this particular IAX2Ie and copy into the memory region.
Reimplemented in IAX2IeSockaddrIn, IAX2IeBlockOfData, IAX2IeDateAndTime, IAX2IeBinary, IAX2IeString, IAX2IeUInt, IAX2IeUShort, IAX2IeInt, IAX2IeShort, IAX2IeChar, IAX2IeByte, IAX2IeNone, and IAX2IeInvalidElement.
|
protected |
A flag indicating if the data was read from the supplied bytes correctly, or if this structure is yet to be initialised
Referenced by IAX2IeVersion::IAX2IeVersion(), IsValid(), IAX2IeDateAndTime::SetData(), IAX2IeBlockOfData::SetData(), and IAX2IeSockaddrIn::SetData().