33 #ifndef OPAL_IAX2_REMOTE_H
34 #define OPAL_IAX2_REMOTE_H
44 #include <ptlib/sockets.h>
46 #if OPAL_PTLIB_SSL_AES
47 #include <openssl/aes.h>
80 virtual void PrintOn(ostream & strm)
const;
180 virtual void PrintOn(ostream & strm)
const;
184 virtual Comparison
Compare(
const PObject & obj)
const;
211 PINDEX GetFirstValue();
217 virtual void PrintOn(ostream & strm)
const;
310 virtual void PrintOn(ostream & strm)
const;
370 #if OPAL_PTLIB_SSL_AES
372 AES_KEY *AesEncryptKey();
375 AES_KEY *AesDecryptKey();
392 #if OPAL_PTLIB_SSL_AES
394 AES_KEY aesEncryptKey;
397 AES_KEY aesDecryptKey;
406 #endif // OPAL_IAX2_REMOTE_H
void SetDestCallNumber(PINDEX newVal)
void CopyContents(IAX2SequenceNumbers &src)
IAX2FrameIdValue(PINDEX timeStamp, PINDEX seqVal)
PINDEX GetSequenceVal() const
PBoolean IsSequenceNosZero()
PBoolean encryptionEnabled
Definition: remote.h:390
PBoolean IsEncrypted() const
void SetRemotePort(PINDEX newVal)
Definition: remote.h:111
PBoolean operator!=(IAX2Remote &other)
PString BuildOurConnectionToken()
we have already seen this frame...
Definition: remote.h:239
virtual void PrintOn(ostream &strm) const
void SetInOutSeqNo(PINDEX inVal, PINDEX outVal)
const PString & EncryptionKey() const
PString BuildConnectionToken()
IncomingOrder
Definition: remote.h:236
PIPSocket::Address remoteAddress
Definition: remote.h:141
PMutex mutex
Definition: remote.h:334
void SetSourceCallNumber(PINDEX newVal)
Definition: remote.h:114
PBoolean operator==(IAX2Remote &other)
PString challengeKey
Definition: remote.h:387
PINDEX RemotePort()
Definition: remote.h:99
void SetAckSequenceInfo(IAX2SequenceNumbers &other)
PINDEX DestCallNumber()
Definition: remote.h:72
void RemoveOldContiguousValues()
void SetRemoteAddress(PIPSocket::Address &newVal)
Definition: remote.h:105
void Assign(IAX2Remote &)
PINDEX lastSentTimeStamp
Definition: remote.h:337
PINDEX destCallNumber
Definition: remote.h:138
IAX2SequenceNumbers()
Definition: remote.h:245
void SetOutSeqNo(PINDEX newVal)
there is a missing frame, a VNAK condition
Definition: remote.h:238
IAX2PacketIdList receivedLog
Definition: remote.h:340
virtual void PrintOn(ostream &strm) const
PBoolean IsFirstReply()
Definition: remote.h:314
const PString & ChallengeKey() const
PINDEX sourceCallNumber
Definition: remote.h:135
PINDEX outSeqNo
Definition: remote.h:331
PINDEX remotePort
Definition: remote.h:144
PIPSocket::Address RemoteAddress()
Definition: remote.h:88
PINDEX SourceCallNumber()
Definition: remote.h:77
virtual Comparison Compare(const PObject &obj) const
PBoolean operator*=(IAX2Remote &other)
sequenceDefines
Definition: remote.h:323
PUInt64 value
Definition: remote.h:190
void SetRemoteAddress(int newVal)
Definition: remote.h:108
void AddWrapAroundValue(PINDEX newOffset)
PBoolean operator!=(IAX2SequenceNumbers &other)
void SetEncryptionOn(PBoolean newState=true)
PBoolean operator==(IAX2SequenceNumbers &other)
void SetChallengeKey(PString &newKey)
PBoolean IsFirstReplyFrame()
virtual ~IAX2SequenceNumbers()
Definition: remote.h:249
void SetInSeqNo(PINDEX newVal)
virtual ~IAX2Remote()
Definition: remote.h:68
perfect sequence number
Definition: remote.h:237
void WrapAroundFrameSequence(IAX2SequenceNumbers &src)
void MassageSequenceForSending(IAX2FullFrame &src)
void SetEncryptionKey(PString &newKey)
PINDEX GetPlainSequence() const
PINDEX inSeqNo
Definition: remote.h:328
PString encryptionKey
Definition: remote.h:384
PINDEX GetTimeStamp() const
IncomingOrder IncomingMessageInOrder(IAX2FullFrame &src)
virtual void PrintOn(ostream &strm) const