# IAX2SpecialProcessor Class Reference

`#include <specialprocessor.h>`

Inheritance diagram for IAX2SpecialProcessor:

[legend]
Collaboration diagram for IAX2SpecialProcessor:
[legend]

## Public Member Functions

| IAX2SpecialProcessor (IAX2EndPoint &ep)
virtual | ~IAX2SpecialProcessor ()

## Protected Member Functions

virtual void | ProcessLists ()
virtual void | ProcessFullFrame (IAX2FullFrame &fullFrame)
virtual void | ProcessNetworkFrame (IAX2MiniFrame *src)
virtual void | PrintOn (ostream &strm) const
virtual void | OnNoResponseTimeout ()
virtual PBoolean | ProcessNetworkFrame (IAX2FullFrameProtocol *src)
void | ProcessIaxCmdPoke (IAX2FullFrameProtocol *src)
virtual PBoolean | IncomingMessageOutOfOrder (IAX2FullFrame *)

## Detailed Description

This is the special processor which is created to handle the weirdo iax2 packets that are sent outside of a particular call. Examples of weirdo packets are the ping/pong/lagrq/lagrp.

## Constructor & Destructor Documentation

IAX2SpecialProcessor::IAX2SpecialProcessor | ( | IAX2EndPoint & | ep | ) |

Construct this class

virtual IAX2SpecialProcessor::~IAX2SpecialProcessor | ( |  | ) | `[virtual]`

Destructor

## Member Function Documentation

virtual PBoolean IAX2SpecialProcessor::IncomingMessageOutOfOrder | ( | IAX2FullFrame * |  | ) | `[inline, protected, virtual]`

Test the sequence number of the incoming frame. This is only valid for handling a call. If the message is outof order, the supplied fullframe is deleted.

Returns:
  false always, as the special packet handler never gets frame ordered correctly - there will always be skipped frames.

Implements IAX2Processor.

virtual void IAX2SpecialProcessor::OnNoResponseTimeout | ( |  | ) | `[protected, virtual]`

Called when there is no response to a request

Implements IAX2Processor.

virtual void IAX2SpecialProcessor::PrintOn | ( | ostream & | strm | ) | const`[protected, virtual]`

Print information about the class on to a stream

Implements IAX2Processor.

virtual void IAX2SpecialProcessor::ProcessFullFrame | ( | IAX2FullFrame & | fullFrame | ) | `[protected, virtual]`

Processes a full frame

Implements IAX2Processor.

void IAX2SpecialProcessor::ProcessIaxCmdPoke | ( | IAX2FullFrameProtocol * | src | ) | `[protected]`

Process a poke command

virtual void IAX2SpecialProcessor::ProcessLists | ( |  | ) | `[protected, virtual]`

Go through the three lists for incoming data (ethernet/sound/UI commands.

Implements IAX2Processor.

virtual PBoolean IAX2SpecialProcessor::ProcessNetworkFrame | ( | IAX2FullFrameProtocol * | src | ) | `[protected, virtual]`

Process an IAX2FullFrameProtocol. This special processor handles things relative to special needs of full frame protocols.

Reimplemented from IAX2Processor.

virtual void IAX2SpecialProcessor::ProcessNetworkFrame | ( | IAX2MiniFrame * | src | ) | `[protected, virtual]`

Processes are mini frame

Implements IAX2Processor.

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

- specialprocessor.h