OPAL Version 3.10.4

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

specialprocessor.h
Go to the documentation of this file.
1 /*
2 * Inter Asterisk Exchange 2
3 *
4 * The entity which receives all manages weirdo iax2 packets that are
5 * sent outside of a regular call.
6 *
7 * Open Phone Abstraction Library (OPAL)
8 *
9 * Copyright (c) 2006 Stephen Cook
10 *
11 * The contents of this file are subject to the Mozilla Public License
12 * Version 1.0 (the "License"); you may not use this file except in
13 * compliance with the License. You may obtain a copy of the License at
14 * http://www.mozilla.org/MPL/
15 *
16 * Software distributed under the License is distributed on an "AS IS"
17 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
18 * the License for the specific language governing rights and limitations
19 * under the License.
20 *
21 * The Original Code is Open Phone Abstraction Library.
22 *
23 * The Initial Developer of the Original Code is Indranet Technologies Ltd
24 *
25 * The author of this code is Stephen Cook
26 *
27 * $Revision: 24178 $
28 * $Author: rjongbloed $
29 * $Date: 2010-04-05 19:10:56 -0500 (Mon, 05 Apr 2010) $
30 */
31
32 #ifndef OPAL_IAX2_SPECIALPROCESSOR_H
33 #define OPAL_IAX2_SPECIALPROCESSOR_H
34
35 #ifndef _PTLIB_H
36 #include <ptlib.h>
37 #endif
38
39 #include <opal/buildopts.h>
40
41 #if OPAL_IAX2
42
43 #include <opal/connection.h>
44
45 #include <iax2/processor.h>
46 #include <iax2/frame.h>
47 #include <iax2/iedata.h>
48 #include <iax2/remote.h>
49 #include <iax2/safestrings.h>
50 #include <iax2/sound.h>
51
56 class IAX2SpecialProcessor : public IAX2Processor
57 {
58 PCLASSINFO(IAX2SpecialProcessor, IAX2Processor);
59
60 public:
62 IAX2SpecialProcessor(IAX2EndPoint & ep);
63
65 virtual ~IAX2SpecialProcessor();
66
67 protected:
69 virtual void ProcessLists();
70
72 virtual void ProcessFullFrame(IAX2FullFrame & fullFrame);
73
75 virtual void ProcessNetworkFrame(IAX2MiniFrame * src);
76
78 virtual void PrintOn(ostream & strm) const;
79
81 virtual void OnNoResponseTimeout();
82
85 virtual PBoolean ProcessNetworkFrame(IAX2FullFrameProtocol * src);
86
88 void ProcessIaxCmdPoke(IAX2FullFrameProtocol * src);
89
96 virtual PBoolean IncomingMessageOutOfOrder(IAX2FullFrame *)
97 { return false; }
98
99
100 };
101
102
103 #endif // OPAL_IAX2
104
105 #endif // OPAL_IAX2_SPECIALPROCESSOR_H