#include <ies.h>
Inheritance diagram for IAX2Ie:
Each of the 45 possible Information Element types
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) |
IAX2Ie::IAX2Ie | ( | ) |
Constructor
virtual IAX2Ie::~IAX2Ie | ( | ) | [inline, virtual] |
Destructor
IAX2Ie::IAX2Ie | ( | ) |
Constructor
virtual IAX2Ie::~IAX2Ie | ( | ) | [inline, virtual] |
Destructor
static IAX2Ie* IAX2Ie::BuildInformationElement | ( | BYTE | _typeCode, | |
BYTE | length, | |||
BYTE * | srcData | |||
) | [static] |
Given an arbitrary type code, build & initialise the IAX2Ie descendant class
virtual PBoolean IAX2Ie::IsValid | ( | ) | [inline, virtual] |
returns PTrue if contains an initialised information element
virtual BYTE IAX2Ie::GetLengthOfData | ( | ) | [inline, virtual] |
return the number of bytes to hold this data element
Reimplemented in IAX2IeString, IAX2IeDateAndTime, IAX2IeBlockOfData, and IAX2IeSockaddrIn.
int IAX2Ie::GetBinarySize | ( | ) | [inline] |
return the number of bytes to hold this Information Element when stored in a packet
void IAX2Ie::PrintOn | ( | ostream & | str | ) | const |
print this class (nicely) to the designated stream
Reimplemented in IAX2IeCauseCode, IAX2IeInvalidElement, IAX2IeString, IAX2IeDateAndTime, IAX2IeBlockOfData, IAX2IeSockaddrIn, IAX2IeCalledNumber, IAX2IeCallingNumber, IAX2IeCallingAni, IAX2IeCallingName, IAX2IeCalledContext, IAX2IeUserName, IAX2IePassword, IAX2IeCapability, IAX2IeFormat, IAX2IeLanguage, IAX2IeVersion, IAX2IeAdsicpe, IAX2IeDnid, IAX2IeAuthMethods, IAX2IeChallenge, IAX2IeMd5Result, IAX2IeRsaResult, IAX2IeApparentAddr, IAX2IeRefresh, IAX2IeDpStatus, IAX2IeCallNo, IAX2IeCause, IAX2IeIaxUnknown, IAX2IeMsgCount, IAX2IeAutoAnswer, IAX2IeMusicOnHold, IAX2IeTransferId, IAX2IeRdnis, IAX2IeProvisioning, IAX2IeAesProvisioning, IAX2IeDateTime, IAX2IeDeviceType, IAX2IeServiceIdent, IAX2IeFirmwareVer, IAX2IeFwBlockDesc, IAX2IeFwBlockData, IAX2IeProvVer, IAX2IeCallingPres, IAX2IeCallingTon, IAX2IeCallingTns, IAX2IeSamplingRate, IAX2IeEncryption, IAX2IeEncKey, IAX2IeCodecPrefs, IAX2IeReceivedJitter, IAX2IeReceivedLoss, IAX2IeReceivedFrames, IAX2IeReceivedDelay, IAX2IeDroppedFrames, and IAX2IeReceivedOoo.
virtual BYTE IAX2Ie::GetKeyValue | ( | ) | const [inline, virtual] |
Get the enum value for this information element class
Reimplemented in IAX2IeCauseCode, IAX2IeCalledNumber, IAX2IeCallingNumber, IAX2IeCallingAni, IAX2IeCallingName, IAX2IeCalledContext, IAX2IeUserName, IAX2IePassword, IAX2IeCapability, IAX2IeFormat, IAX2IeLanguage, IAX2IeVersion, IAX2IeAdsicpe, IAX2IeDnid, IAX2IeAuthMethods, IAX2IeChallenge, IAX2IeMd5Result, IAX2IeRsaResult, IAX2IeApparentAddr, IAX2IeRefresh, IAX2IeDpStatus, IAX2IeCallNo, IAX2IeCause, IAX2IeIaxUnknown, IAX2IeMsgCount, IAX2IeAutoAnswer, IAX2IeMusicOnHold, IAX2IeTransferId, IAX2IeRdnis, IAX2IeProvisioning, IAX2IeAesProvisioning, IAX2IeDateTime, IAX2IeDeviceType, IAX2IeServiceIdent, IAX2IeFirmwareVer, IAX2IeFwBlockDesc, IAX2IeFwBlockData, IAX2IeProvVer, IAX2IeCallingPres, IAX2IeCallingTon, IAX2IeCallingTns, IAX2IeSamplingRate, IAX2IeEncryption, IAX2IeEncKey, IAX2IeCodecPrefs, IAX2IeReceivedJitter, IAX2IeReceivedLoss, IAX2IeReceivedFrames, IAX2IeReceivedDelay, IAX2IeDroppedFrames, and IAX2IeReceivedOoo.
void IAX2Ie::SetData | ( | int & | ) | [inline] |
Take the supplied data and copy contents into this IE
int IAX2Ie::ReadData | ( | ) | [inline] |
Read the value of the stored data for this class
Reimplemented in IAX2IeString, IAX2IeDateAndTime, IAX2IeBlockOfData, and IAX2IeSockaddrIn.
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.
virtual void IAX2Ie::StoreDataIn | ( | IAX2IeData & | ) | [inline, virtual] |
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 IAX2IeCauseCode, IAX2IeCalledNumber, IAX2IeCallingNumber, IAX2IeCallingAni, IAX2IeCallingName, IAX2IeCalledContext, IAX2IeUserName, IAX2IePassword, IAX2IeCapability, IAX2IeFormat, IAX2IeLanguage, IAX2IeVersion, IAX2IeAdsicpe, IAX2IeDnid, IAX2IeAuthMethods, IAX2IeChallenge, IAX2IeMd5Result, IAX2IeRsaResult, IAX2IeApparentAddr, IAX2IeRefresh, IAX2IeDpStatus, IAX2IeCallNo, IAX2IeCause, IAX2IeIaxUnknown, IAX2IeMsgCount, IAX2IeAutoAnswer, IAX2IeMusicOnHold, IAX2IeTransferId, IAX2IeRdnis, IAX2IeProvisioning, IAX2IeAesProvisioning, IAX2IeDateTime, IAX2IeDeviceType, IAX2IeServiceIdent, IAX2IeFirmwareVer, IAX2IeFwBlockDesc, IAX2IeFwBlockData, IAX2IeProvVer, IAX2IeCallingPres, IAX2IeCallingTon, IAX2IeCallingTns, IAX2IeSamplingRate, IAX2IeEncryption, IAX2IeEncKey, IAX2IeCodecPrefs, IAX2IeReceivedJitter, IAX2IeReceivedLoss, IAX2IeReceivedFrames, IAX2IeReceivedDelay, IAX2IeDroppedFrames, and IAX2IeReceivedOoo.
virtual void IAX2Ie::WriteBinary | ( | BYTE * | ) | [inline, protected, virtual] |
Take the data value for this particular IAX2Ie and copy into the memory region.
Reimplemented in IAX2IeInvalidElement, IAX2IeNone, IAX2IeByte, IAX2IeChar, IAX2IeShort, IAX2IeInt, IAX2IeUShort, IAX2IeUInt, IAX2IeString, IAX2IeDateAndTime, IAX2IeBlockOfData, and IAX2IeSockaddrIn.
PBoolean IAX2Ie::validData [protected] |
A flag indicating if the data was read from the supplied bytes correctly, or if this structure is yet to be initialised