aboutsummaryrefslogtreecommitdiffstats
path: root/channels/h323/ast_h323.h
diff options
context:
space:
mode:
authorjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2003-12-23 23:01:24 +0000
committerjeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b>2003-12-23 23:01:24 +0000
commit6d2031189f19dc12b128a92aba9a0b780272cda9 (patch)
tree309f8ed3e5ffa455a4ea37f97df51b24ae902f26 /channels/h323/ast_h323.h
parentc6fd62914a1d8601d2ac0c4dca81ca25f6146559 (diff)
Apply massive patch from PCadach. If things are broken blame him. Bug#469
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1877 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323/ast_h323.h')
-rwxr-xr-xchannels/h323/ast_h323.h67
1 files changed, 55 insertions, 12 deletions
diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h
index 5c0c2b4a9..6b05a9fd8 100755
--- a/channels/h323/ast_h323.h
+++ b/channels/h323/ast_h323.h
@@ -88,7 +88,7 @@ class H323_G7231Capability : public H323AudioCapability
H245_AudioCapability & pdu, /// PDU to set information on
unsigned packetSize /// Packet size to use in capability
) const;
-
+
BOOL OnReceivedPDU(
const H245_AudioCapability & pdu, /// PDU to get information from
unsigned & packetSize /// Packet size to use in capability
@@ -198,7 +198,7 @@ class MyH323EndPoint : public H323EndPoint {
public:
- int MakeCall(const PString &, PString &, unsigned int *, unsigned int, char *);
+ int MakeCall(const PString &, PString &, unsigned int *, call_options_t *);
BOOL ClearCall(const PString &);
void OnClosedLogicalChannel(H323Connection &, const H323Channel &);
@@ -213,9 +213,8 @@ class MyH323EndPoint : public H323EndPoint {
PStringArray SupportedPrefixes;
- void SetEndpointTypeInfo( H225_EndpointType & info ) const;
- void SetGateway(void);
-
+ void SetEndpointTypeInfo( H225_EndpointType & info ) const;
+ void SetGateway(void);
};
@@ -225,6 +224,7 @@ class MyH323Connection : public H323Connection {
public:
MyH323Connection(MyH323EndPoint &, unsigned, unsigned);
+ MyH323Connection(MyH323EndPoint &, unsigned, unsigned, call_options_t *);
~MyH323Connection();
H323Channel * CreateRealTimeLogicalChannel(const H323Capability &, H323Channel::Directions, unsigned,
@@ -241,6 +241,9 @@ class MyH323Connection : public H323Connection {
void SendUserInputTone(char, unsigned);
void OnUserInputTone(char, unsigned, unsigned, unsigned);
void OnUserInputString(const PString &value);
+ BOOL OnReceivedProgress(const H323SignalPDU &);
+ /* Set up H.323 caller id */
+ void SetCID(const char *callerid);
PString sourceAliases;
PString destAliases;
@@ -248,11 +251,53 @@ class MyH323Connection : public H323Connection {
PString destE164;
PIPSocket::Address externalIpAddress; // IP address of media server
- PIPSocket::Address remoteIpAddress; // IP Address of remote endpoint
- WORD externalPort; // local media server Data port (control is dataPort+1)
- WORD remotePort; // remote endpoint Data port (control is dataPort+1)
- WORD sessionId;
- BOOL bridging; // Used to help determine which IP to use
+ PIPSocket::Address remoteIpAddress; // IP Address of remote endpoint
+ WORD externalPort; // local media server Data port (control is dataPort+1)
+ WORD remotePort; // remote endpoint Data port (control is dataPort+1)
+ WORD sessionId;
+ BOOL bridging; // Used to help determine which IP to use
+ unsigned progressSetup; // ProgressIndicator IE value for SETUP message
+ unsigned progressAlert; // ProgressIndicator IE value for ALERT message
+};
+
+class MyH323_ExternalRTPChannel : public H323_ExternalRTPChannel
+{
+ PCLASSINFO(MyH323_ExternalRTPChannel, H323_ExternalRTPChannel);
+
+public:
+ /**@name Construction */
+ //@{
+ /**Create a new channel.
+ */
+ MyH323_ExternalRTPChannel(
+ H323Connection & connection, /// Connection to endpoint for channel
+ const H323Capability & capability, /// Capability channel is using
+ Directions direction, /// Direction of channel
+ unsigned sessionID /// Session ID for channel
+ );
+ /**Create a new channel.
+ */
+ MyH323_ExternalRTPChannel(
+ H323Connection & connection, /// Connection to endpoint for channel
+ const H323Capability & capability, /// Capability channel is using
+ Directions direction, /// Direction of channel
+ unsigned sessionID, /// Session ID for channel
+ const H323TransportAddress & data, /// Data address
+ const H323TransportAddress & control/// Control address
+ );
+ /**Create a new channel.
+ */
+ MyH323_ExternalRTPChannel(
+ H323Connection & connection, /// Connection to endpoint for channel
+ const H323Capability & capability, /// Capability channel is using
+ Directions direction, /// Direction of channel
+ unsigned sessionID, /// Session ID for channel
+ const PIPSocket::Address & ip, /// IP address of media server
+ WORD dataPort /// Data port (control is dataPort+1)
+ );
+ //@}
+// BOOL OnReceivedAckPDU(const H245_H2250LogicalChannelAckParameters & param);
+ BOOL Start(void);
};
@@ -348,5 +393,3 @@ class ClearCallThread : public PThread {
protected:
PString token;
};
-
-