⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h323rtp.h

📁 mgcp协议源代码。支持多种编码:g711
💻 H
字号:
/* * h323rtp.h * * H.323 RTP protocol handler * * Open H323 Library * * Copyright (c) 1998-2000 Equivalence Pty. Ltd. * * The contents of this file are subject to the Mozilla Public License * Version 1.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and limitations * under the License. * * The Original Code is Open H323 Library. * * The Initial Developer of the Original Code is Equivalence Pty. Ltd. * * Portions of this code were written with the assisance of funding from * Vovida Networks, Inc. http://www.vovida.com. * * Contributor(s): ______________________________________. * * $Log: h323rtp.h,v $ * Revision 1.4  2000/05/18 11:53:34  robertj * Changes to support doc++ documentation generation. * * Revision 1.3  2000/05/02 04:32:24  robertj * Fixed copyright notice comment. * * Revision 1.2  2000/04/05 03:17:31  robertj * Added more RTP statistics gathering and H.245 round trip delay calculation. * * Revision 1.1  1999/12/23 23:02:35  robertj * File reorganision for separating RTP from H.323 and creation of LID for VPB support. * */#ifndef __H323RTP_H#define __H323RTP_H#include "rtp.h"class H225_RTPSession;class H245_H2250LogicalChannelParameters;class H245_H2250LogicalChannelAckParameters;class H323Connection;/**This class is for encpsulating the IETF Real Time Protocol interface. */class H323_RTP_Session : public RTP_UserData{  PCLASSINFO(H323_RTP_Session, RTP_UserData);  /**@name Overrides from RTP_UserData */  //@{    /**Callback from the RTP session for transmit statistics monitoring.       This is called every RTP_Session::senderReportInterval packets on the       transmitter indicating that the statistics have been updated.       The default behaviour calls H323Connection::OnRTPStatistics().      */    virtual void OnTxStatistics(      const RTP_Session & session   /// Session with statistics    ) const;    /**Callback from the RTP session for receive statistics monitoring.       This is called every RTP_Session::receiverReportInterval packets on the       receiver indicating that the statistics have been updated.       The default behaviour calls H323Connection::OnRTPStatistics().      */    virtual void OnRxStatistics(      const RTP_Session & session   /// Session with statistics    ) const;  //@}  /**@name Operations */  //@{    /**Fill out the OpenLogicalChannel PDU for the particular channel type.     */    virtual BOOL OnSendingPDU(      H245_H2250LogicalChannelParameters & param, /// Open PDU to send.      BOOL includeMediaChannel                    /// Include media channel field    ) const = 0;    /**This is called when request to create a channel is received from a       remote machine and is about to be acknowledged.     */    virtual void OnSendingAckPDU(      H245_H2250LogicalChannelAckParameters & param  /// Acknowledgement PDU    ) const = 0;    /**This is called after a request to create a channel occurs from the       local machine via the H245LogicalChannelDict::Open() function, and       the request has been acknowledged by the remote endpoint.     */    virtual BOOL OnReceivedPDU(      const H245_H2250LogicalChannelParameters & param, /// Acknowledgement PDU      unsigned & errorCode                              /// Error on failure    ) = 0;    /**This is called after a request to create a channel occurs from the       local machine via the H245LogicalChannelDict::Open() function, and       the request has been acknowledged by the remote endpoint.     */    virtual BOOL OnReceivedAckPDU(      const H245_H2250LogicalChannelAckParameters & param  /// Acknowledgement PDU    ) = 0;    /**This is called when a gatekeeper wants to get status information from       the endpoint.       The default behaviour fills in the session ID's and SSRC parameters       but does not do anything with the transport fields.     */    virtual void OnSendRasInfo(      H225_RTPSession & info  /// RTP session info PDU    ) = 0;  //@}  protected:  /**@name Construction */  //@{    /**Create a new channel.     */    H323_RTP_Session(      const H323Connection & connection  /// Owner of the RTP session    );  //@}    const H323Connection & connection; /// Owner of the RTP session};/**This class is for the IETF Real Time Protocol interface on UDP/IP. */class H323_RTP_UDP : public H323_RTP_Session{  PCLASSINFO(H323_RTP_UDP, H323_RTP_Session);  public:  /**@name Construction */  //@{    /**Create a new RTP session H323 info.     */    H323_RTP_UDP(      const H323Connection & connection, /// Owner of the RTP session      RTP_UDP & rtp                      /// RTP session    );  //@}  /**@name Operations */  //@{    /**Fill out the OpenLogicalChannel PDU for the particular channel type.     */    virtual BOOL OnSendingPDU(      H245_H2250LogicalChannelParameters & param, /// Open PDU to send.      BOOL includeMediaChannel                    /// Include media channel field    ) const;    /**This is called when request to create a channel is received from a       remote machine and is about to be acknowledged.     */    virtual void OnSendingAckPDU(      H245_H2250LogicalChannelAckParameters & param  /// Acknowledgement PDU    ) const;    /**This is called after a request to create a channel occurs from the       local machine via the H245LogicalChannelDict::Open() function, and       the request has been acknowledged by the remote endpoint.       The default behaviour sets the remote ports to send UDP packets to.     */    virtual BOOL OnReceivedPDU(      const H245_H2250LogicalChannelParameters & param, /// Acknowledgement PDU      unsigned & errorCode                              /// Error on failure    );    /**This is called after a request to create a channel occurs from the       local machine via the H245LogicalChannelDict::Open() function, and       the request has been acknowledged by the remote endpoint.       The default behaviour sets the remote ports to send UDP packets to.     */    virtual BOOL OnReceivedAckPDU(      const H245_H2250LogicalChannelAckParameters & param  /// Acknowledgement PDU    );    /**This is called when a gatekeeper wants to get status information from       the endpoint.       The default behaviour calls the ancestor functon and then fills in the        transport fields.     */    virtual void OnSendRasInfo(      H225_RTPSession & info  /// RTP session info PDU    );  //@}  protected:    RTP_UDP & rtp;};#endif // __H323RTP_H/////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -