summaryrefslogtreecommitdiff
path: root/channels/h323/ast_h323.h
diff options
context:
space:
mode:
Diffstat (limited to 'channels/h323/ast_h323.h')
-rw-r--r--channels/h323/ast_h323.h187
1 files changed, 0 insertions, 187 deletions
diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h
deleted file mode 100644
index b9e793c0f..000000000
--- a/channels/h323/ast_h323.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * ast_h323.h
- *
- * OpenH323 Channel Driver for ASTERISK PBX.
- * By Jeremy McNamara
- * For The NuFone Network
- *
- * This code has been derived from code created by
- * Michael Manousos and Mark Spencer
- *
- * This file is part of the chan_h323 driver for Asterisk
- *
- * chan_h323 is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * chan_h323 is distributed WITHOUT ANY WARRANTY; without even
- * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * Version Info: $Id$
- */
-
-#ifndef AST_H323_H
-#define AST_H323_H
-
-#include "ast_ptlib.h"
-
-#define VERSION(a,b,c) ((a)*10000+(b)*100+(c))
-
-class MyH323EndPoint : public H323EndPoint
-{
- PCLASSINFO(MyH323EndPoint, H323EndPoint);
-
-public:
- MyH323EndPoint();
- int MyMakeCall(const PString &, PString &, void *_callReference, void *_opts);
- PBoolean ClearCall(const PString &, H323Connection::CallEndReason reason);
- PBoolean ClearCall(const PString &);
-
- void OnClosedLogicalChannel(H323Connection &, const H323Channel &);
- void OnConnectionEstablished(H323Connection &, const PString &);
- void OnConnectionCleared(H323Connection &, const PString &);
- virtual H323Connection * CreateConnection(unsigned, void *, H323Transport *, H323SignalPDU *);
- void SendUserTone(const PString &, char);
- PBoolean OnConnectionForwarded(H323Connection &, const PString &, const H323SignalPDU &);
- PBoolean ForwardConnection(H323Connection &, const PString &, const H323SignalPDU &);
- void SetEndpointTypeInfo( H225_EndpointType & info ) const;
- void SetGateway(void);
- PStringArray SupportedPrefixes;
-};
-
-class MyH323Connection : public H323Connection
-{
- PCLASSINFO(MyH323Connection, H323Connection);
-
-public:
- MyH323Connection(MyH323EndPoint &, unsigned, unsigned);
- ~MyH323Connection();
- H323Channel * CreateRealTimeLogicalChannel(const H323Capability &,
- H323Channel::Directions,
- unsigned,
- const H245_H2250LogicalChannelParameters *,
- RTP_QOS *);
- H323Connection::AnswerCallResponse OnAnswerCall(const PString &,
- const H323SignalPDU &,
- H323SignalPDU &);
- void OnReceivedReleaseComplete(const H323SignalPDU &);
- PBoolean OnAlerting(const H323SignalPDU &, const PString &);
- PBoolean OnSendReleaseComplete(H323SignalPDU &);
- PBoolean OnReceivedSignalSetup(const H323SignalPDU &);
- PBoolean OnReceivedFacility(const H323SignalPDU &);
- PBoolean OnSendSignalSetup(H323SignalPDU &);
- PBoolean OnStartLogicalChannel(H323Channel &);
- PBoolean OnClosingLogicalChannel(H323Channel &);
- virtual void SendUserInputTone(char tone, unsigned duration = 0, unsigned logicalChannel = 0, unsigned rtpTimestamp = 0);
- virtual void OnUserInputTone(char, unsigned, unsigned, unsigned);
- virtual void OnUserInputString(const PString &value);
- PBoolean OnReceivedProgress(const H323SignalPDU &);
- PBoolean MySendProgress();
- void OnSendCapabilitySet(H245_TerminalCapabilitySet &);
- void OnSetLocalCapabilities();
- void SetCapabilities(int, int, void *, int);
- PBoolean OnReceivedCapabilitySet(const H323Capabilities &, const H245_MultiplexCapability *,
- H245_TerminalCapabilitySetReject &);
- void SetCause(int _cause) { cause = _cause; };
- virtual PBoolean StartControlChannel(const H225_TransportAddress & h245Address);
- void SetCallOptions(void *opts, PBoolean isIncoming);
- void SetCallDetails(void *callDetails, const H323SignalPDU &setupPDU, PBoolean isIncoming);
- virtual H323Connection::CallEndReason SendSignalSetup(const PString&, const H323TransportAddress&);
-#ifdef TUNNELLING
- virtual PBoolean HandleSignalPDU(H323SignalPDU &pdu);
- PBoolean EmbedTunneledInfo(H323SignalPDU &pdu);
-#endif
-#ifdef H323_H450
- virtual void OnReceivedLocalCallHold(int linkedId);
- virtual void OnReceivedLocalCallRetrieve(int linkedId);
-#endif
- void MyHoldCall(BOOL localHold);
-
- PString sourceAliases;
- PString destAliases;
- PString sourceE164;
- PString destE164;
- int cid_presentation;
- int cid_ton;
- PString rdnis;
- int redirect_reason;
- int transfer_capability;
-
- WORD sessionId;
- PBoolean bridging;
-#ifdef TUNNELLING
- int remoteTunnelOptions;
- int tunnelOptions;
-#endif
-
- unsigned holdHandling;
- unsigned progressSetup;
- unsigned progressAlert;
- int cause;
-
- RTP_DataFrame::PayloadTypes dtmfCodec[2];
- int dtmfMode;
-};
-
-class MyH323_ExternalRTPChannel : public H323_ExternalRTPChannel
-{
- PCLASSINFO(MyH323_ExternalRTPChannel, H323_ExternalRTPChannel);
-
-public:
- MyH323_ExternalRTPChannel(
- MyH323Connection & connection,
- const H323Capability & capability,
- Directions direction,
- unsigned sessionID);
-
- ~MyH323_ExternalRTPChannel();
-
- /* Overrides */
- PBoolean Start(void);
- PBoolean OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param);
-
-protected:
- BYTE payloadCode;
-
- PIPSocket::Address localIpAddr;
- PIPSocket::Address remoteIpAddr;
- /* Additional functions in order to have chan_h323 compile with H323Plus */
-#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
- BOOL OnReceivedAltPDU(const H245_ArrayOf_GenericInformation & alternate );
- BOOL OnSendingAltPDU(H245_ArrayOf_GenericInformation & alternate) const;
- void OnSendOpenAckAlt(H245_ArrayOf_GenericInformation & alternate) const;
- BOOL OnReceivedAckAltPDU(const H245_ArrayOf_GenericInformation & alternate);
-#endif
- WORD localPort;
- WORD remotePort;
-};
-
-#ifdef H323_H450
-
-#if VERSION(OPENH323_MAJOR, OPENH323_MINOR, OPENH323_BUILD) > VERSION(1,19,4)
-#include <h450/h450pdu.h>
-#else
-#include <h450pdu.h>
-#endif
-
-class MyH4504Handler : public H4504Handler
-{
- PCLASSINFO(MyH4504Handler, H4504Handler);
-
-public:
- MyH4504Handler(MyH323Connection &_conn, H450xDispatcher &_disp);
- virtual void OnReceivedLocalCallHold(int linkedId);
- virtual void OnReceivedLocalCallRetrieve(int linkedId);
-
-private:
- MyH323Connection *conn;
-};
-#endif
-
-#endif /* !defined AST_H323_H */