28 #ifndef OPAL_IAX2_PROCESSOR_H
29 #define OPAL_IAX2_PROCESSOR_H
49 class IAX2ThreadHelper;
102 virtual void PrintOn(ostream & strm)
const;
154 virtual void PrintOn(ostream & strm)
const = 0;
389 void OnNoResponseTimeoutStart(PTimer &, INT);
391 PDECLARE_NOTIFIER(PTimer,
IAX2Processor, OnNoResponseTimeoutStart);
407 #endif // OPAL_IAX2_PROCESSOR_H
virtual PBoolean IncomingMessageOutOfOrder(IAX2FullFrame *ff)=0
virtual void ProcessIaxCmdPong(IAX2FullFrameProtocol *src)
void IncomingEthernetFrame(IAX2Frame *frame)
void CleanPendingLists()
Definition: processor.h:236
ResponseToAck GetResponse()
Definition: processor.h:96
void Assign(IAX2FullFrame *f, ResponseToAck _response)
virtual void ProcessIaxCmdLagRp(IAX2FullFrameProtocol *src)
SafeString callToken
Definition: processor.h:259
void TransmitFrameToRemoteEndpoint(IAX2Frame *src)
ResponseToAck
Definition: processor.h:79
virtual void PrintOn(ostream &strm) const =0
void SendAckFrame(IAX2FullFrame *inReplyTo)
void StartNoResponseTimer(PINDEX msToWait=60000)
Definition: processor.h:83
IAX2Encryption & GetEncryptionInfo()
Definition: processor.h:147
virtual void ProcessNetworkFrame(IAX2MiniFrame *src)=0
PBoolean Authenticate(IAX2FullFrameProtocol *reply, PString &password)
Definition: safestrings.h:103
IAX2SequenceNumbers sequence
Definition: processor.h:252
virtual void OnNoResponseTimeout()=0
DefinedNoResponseTimePeriod
Definition: processor.h:266
virtual void ProcessIaxCmdPing(IAX2FullFrameProtocol *src)
IAX2Remote remote
Definition: processor.h:223
void StopNoResponseTimer()
Definition: processor.h:230
void SendUnsupportedFrame(IAX2FullFrame *inReplyTo)
DWORD currentSoundTimeStamp
Definition: processor.h:401
IAX2EndPoint & GetEndPoint()
Definition: processor.h:157
const PTimeInterval & GetCallStartTick()
Definition: processor.h:177
virtual void ProcessLists()=0
Definition: processor.h:80
virtual void ProcessIaxCmdVnak(IAX2FullFrameProtocol *src)
IAX2EndPoint & endpoint
Definition: processor.h:215
IAX2Remote & GetRemoteInfo()
Definition: processor.h:174
void SetSpecialPackets(PBoolean newValue)
Definition: processor.h:190
atomic< uint32_t > controlFramesSent
Definition: processor.h:313
atomic< uint32_t > controlFramesRcvd
Definition: processor.h:316
PBoolean specialPackets
Definition: processor.h:273
PTimeInterval callStartTick
Definition: processor.h:220
void IncControlFramesRcvd()
Definition: processor.h:322
PTimer noResponseTimer
Definition: processor.h:233
PBoolean IsHandlingSpecialPackets()
Definition: processor.h:273
Definition: processor.h:132
void ReportLists(PString &answer)
void TransmitFrameNow(IAX2Frame *src)
PString GetResponseAsString() const
Definition: processor.h:267
Definition: processor.h:82
IAX2Encryption encryption
Definition: processor.h:249
PBoolean MatchingAckPacket(IAX2FullFrame *f)
void SetCallToken(const PString &newToken)
void IncControlFramesSent()
Definition: processor.h:319
IAX2SequenceNumbers & GetSequenceInfo()
Definition: processor.h:144
virtual void ProcessFullFrame(IAX2FullFrame &fullFrame)=0
PBoolean ProcessOneIncomingEthernetFrame()
void SendVnakFrame(IAX2FullFrame *inReplyTo)
virtual void PrintOn(ostream &strm) const
IAX2IeData ieData
Definition: processor.h:366
PBoolean endThread
Definition: processor.h:246
IAX2Processor(IAX2EndPoint &ep)
IAX2WaitingForAck nextTask
Definition: processor.h:240
Definition: processor.h:81
IAX2ActiveFrameList frameList
Definition: processor.h:255
PSyncPoint activate
Definition: processor.h:243
PBoolean IsStatusQueryEthernetFrame(IAX2Frame *frame)
Definition: processor.h:73
virtual void ProcessIaxCmdLagRq(IAX2FullFrameProtocol *src)