4 * A simple H.323 "net telephone" application.
6 * Copyright (c) 2000 Equivalence Pty. Ltd.
8 * The contents of this file are subject to the Mozilla Public License
9 * Version 1.0 (the "License"); you may not use this file except in
10 * compliance with the License. You may obtain a copy of the License at
11 * http://www.mozilla.org/MPL/
13 * Software distributed under the License is distributed on an "AS IS"
14 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
15 * the License for the specific language governing rights and limitations
18 * The Original Code is Portable Windows Library.
20 * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
22 * Contributor(s): ______________________________________.
25 * Revision 1.8 2001/11/01 01:35:25 robertj
26 * Added default Fast Start disabled and H.245 tunneling disable flags
27 * to the endpoint instance.
29 * Revision 1.7 2001/08/06 03:18:35 robertj
30 * Fission of h323.h to h323ep.h & h323con.h, h323.h now just includes files.
31 * Improved access to H.235 secure RAS functionality.
32 * Changes to H.323 secure RAS contexts to help use with gk server.
34 * Revision 1.6 2001/08/03 11:56:26 robertj
35 * Added conditional compile for H.235 stuff.
37 * Revision 1.5 2001/03/21 04:52:40 robertj
38 * Added H.235 security to gatekeepers, thanks Fürbass Franz!
40 * Revision 1.4 2001/03/20 23:42:55 robertj
41 * Used the new PTrace::Initialise function for starting trace code.
43 * Revision 1.3 2000/07/31 14:08:09 robertj
44 * Added fast start and H.245 tunneling flags to the H323Connection constructor so can
45 * disabled these features in easier manner to overriding virtuals.
47 * Revision 1.2 2000/06/07 05:47:56 robertj
48 * Added call forwarding.
50 * Revision 1.1 2000/05/11 04:05:57 robertj
51 * Simple sample program.
55 #ifndef _SimpleH323_MAIN_H
56 #define _SimpleH323_MAIN_H
61 class SimpleH323EndPoint : public H323EndPoint
63 PCLASSINFO(SimpleH323EndPoint, H323EndPoint);
67 ~SimpleH323EndPoint();
69 // overrides from H323EndPoint
70 virtual H323Connection * CreateConnection(unsigned callReference);
71 virtual BOOL OnIncomingCall(H323Connection &, const H323SignalPDU &, H323SignalPDU &);
72 virtual H323Connection::AnswerCallResponse OnAnswerCall(H323Connection &, const PString &, const H323SignalPDU &, H323SignalPDU &);
73 virtual BOOL OnConnectionForwarded(H323Connection &, const PString &, const H323SignalPDU &);
74 virtual void OnConnectionEstablished(H323Connection & connection, const PString & token);
75 virtual void OnConnectionCleared(H323Connection & connection, const PString & clearedCallToken);
76 virtual BOOL OpenAudioChannel(H323Connection &, BOOL, unsigned, H323AudioCodec &);
79 BOOL Initialise(PArgList &);
80 BOOL SetSoundDevice(PArgList &, const char *, PSoundChannel::Directions);
82 PString currentCallToken;
86 PString busyForwardParty;
90 class SimpleH323Connection : public H323Connection
92 PCLASSINFO(SimpleH323Connection, H323Connection);
95 SimpleH323Connection(SimpleH323EndPoint &, unsigned);
97 virtual BOOL OnStartLogicalChannel(H323Channel &);
98 virtual void OnUserInputString(const PString &);
105 class SimpleH323Process : public PProcess
107 PCLASSINFO(SimpleH323Process, PProcess)
111 ~SimpleH323Process();
116 SimpleH323EndPoint * endpoint;
120 #endif // _SimpleH323_MAIN_H
123 // End of File ///////////////////////////////////////////////////////////////