亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? h323.h

?? radius協議源碼÷The Radius Stack will connect to a Radius Server. This stack implementation is built upo
?? H
?? 第 1 頁 / 共 5 頁
字號:
/**This class represents a particular H323 connection between two endpoints.   There are at least two threads in use, this one to look after the   signalling channel, an another to look after the control channel. There   would then be additional threads created for each data channel created by   the control channel protocol thread. */class H323Connection : public PObject{  PCLASSINFO(H323Connection, PObject);  public:  /**@name Construction */  //@{    /**Create a new connection.     */    H323Connection(      H323EndPoint & endpoint,   /// H323 End Point object      unsigned callReference     /// Call reference     );    /**Destroy the connection     */    ~H323Connection();    /**Lock connection.       When the H323EndPoint::FindConnectionWithLock() function is used to gain       access to a connection object, this is called to prevent it from being       closed and deleted by the background threads.     */    void Lock() { inUseFlag.Wait(); }    /**Unlock connection.       If the H323EndPoint::FindConnectionWithLock() function is used to gain       access to a connection object, this MUST be called to allow it to       subsequently be closed and disposed of.     */    void Unlock() { inUseFlag.Signal(); }    /**Determine if the call has been established.       This can be used in combination with the GetCallEndReason() function       to determine the three main phases of a call, call setup, call       established and call cleared.      */    BOOL IsEstablished() const { return connectionState == EstablishedConnection; }    /**Call clearance reasons.       NOTE: if anything is added to this, you also need to add the field to       the tables in h323.cxx and h323pdu.cxx.      */    enum CallEndReason {      EndedByLocalUser,         /// Local endpoint application cleared call      EndedByNoAccept,          /// Local endpoint did not accept call OnIncomingCall()=FALSE      EndedByAnswerDenied,      /// Local endpoint declined to answer call      EndedByRemoteUser,        /// Remote endpoint application cleared call      EndedByRefusal,           /// Remote endpoint refused call      EndedByNoAnswer,          /// Remote endpoint did not answer in required time      EndedByCallerAbort,       /// Remote endpoint stopped calling      EndedByTransportFail,     /// Transport error cleared call      EndedByConnectFail,       /// Transport connection failed to establish call      EndedByGatekeeper,        /// Gatekeeper has cleared call      EndedByNoUser,            /// Call failed as could not find user (in GK)      EndedByNoBandwidth,       /// Call failed as could not get enough bandwidth      EndedByCapabilityExchange,/// Could not find common capabilities      EndedByCallForwarded,     /// Call was forwarded using FACILITY message      NumCallEndReasons    };    /**Get the call clearand reason for this connection shutting down.       Note that this function is only generally useful in the       H323EndPoint::OnConnectionCleared() function. This is due to the       connection not being cleared before that, and the object not even       exiting after that.       If the call is still active then this will return NumCallEndReasons.      */    CallEndReason GetCallEndReason() const { return callEndReason; }    /**Set the call clearance reason.       An application should have no cause to use this function. It is present       for the H323EndPoint::ClearCall() function to set the clearance reason.      */    void SetCallEndReason(      CallEndReason reason   /// Reason for clearance of connection.    );    /**Clear a current connection.       This hangs up the connection to a remote endpoint. It actually just       calls the endpoint version of the ClearCall() function to avoid       possible multithreading race conditions.      */    BOOL ClearCall(      CallEndReason reason = EndedByLocalUser /// Reason for call clearing    );    /**Clean up the call clearance of the connection.       This function will do any internal cleaning up and waiting on background       threads that may be using the connection object. After this returns it       is then safe to delete the object.       An application will not typically use this function as it is used by the       H323EndPoint during a clear call.      */    virtual void CleanUpOnCallEnd();  //@}  /**@name Signalling Channel */  //@{    /**Attach a transport to this connection as the signalling channel.      */    void AttachSignalChannel(      H323Transport * channel  /// Transport for the PDU's    );    /**Write a PDU to the signalling channel.      */    BOOL WriteSignalPDU(      H323SignalPDU & pdu       /// PDU to write.    );    /* Handle reading PDU's from the signalling channel.     */    void HandleSignallingChannel();    /* Handle PDU from the signalling channel.     */    virtual BOOL HandleSignalPDU(      H323SignalPDU & pdu       /// PDU to handle.    );    /* Handle Control PDU tunnelled in the signalling channel.     */    virtual void HandleTunnelPDU(      const H323SignalPDU & pdu,    /// PDU to handle.      H323SignalPDU * reply         /// Optional PDU to piggy back replies    );    /**Handle an incoming Q931 setup PDU.       The default behaviour is to do the handshaking operation calling a few       virtuals at certain moments in the sequence.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.     */    virtual BOOL OnReceivedSignalSetup(      const H323SignalPDU & pdu   /// Received setup PDU    );    /**Handle an incoming Q931 call proceeding PDU.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour checks for hH245Address field and if present       starts the separate H245 channel, if successful or not present it       returns TRUE.     */    virtual BOOL OnReceivedCallProceeding(      const H323SignalPDU & pdu   /// Received call proceeding PDU    );    /**Handle an incoming Q931 alerting PDU.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour obtains the display name and calls OnAlerting().     */    virtual BOOL OnReceivedAlerting(      const H323SignalPDU & pdu   /// Received connect PDU    );    /**Handle an incoming Q931 connect PDU.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour checks for hH245Address field and if present       starts the separate H245 channel, if successful it returns TRUE.       If not present and there is no H245Tunneling then it returns FALSE.     */    virtual BOOL OnReceivedSignalConnect(      const H323SignalPDU & pdu   /// Received connect PDU    );    /**Handle an incoming Q931 facility PDU.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour checks for hH245Address field and if present       starts the separate H245 channel, if successful or not present it       returns TRUE.     */    virtual BOOL OnReceivedFacility(      const H323SignalPDU & pdu   /// Received connect PDU    );    /**Handle an incoming Q931 Status Enquiry PDU.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour sends a Q931 Status PDU back.     */    virtual BOOL OnReceivedStatusEnquiry(      const H323SignalPDU & pdu   /// Received connect PDU    );    /**This function is called from the HandleSignallingChannel() function       for unhandled PDU types.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent. The default behaviour returns TRUE.     */    virtual BOOL OnUnknownSignalPDU(      const H323SignalPDU & pdu  /// Received PDU    );    /**Call back for incoming call.       This function is called from the OnReceivedSignalSetup() function       before it sends the Alerting PDU. It gives an opportunity for an       application to alter the reply before transmission to the other       endpoint.       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour calls the endpoint function of the same name.     */    virtual BOOL OnIncomingCall(      const H323SignalPDU & setupPDU,   /// Received setup PDU      H323SignalPDU & alertingPDU       /// Alerting PDU to send    );    /**Forward incoming call to specified address.       This would typically be called from within the OnIncomingCall()       function when an application wishes to redirct an unwanted incoming       call.       The return value is TRUE if the call is to be forwarded, FALSE       otherwise. Note that if the call is forwarded the current connection is       cleared with teh ended call code of EndedByCallForwarded.      */    virtual BOOL ForwardCall(      const PString & forwardParty   /// Party to forward call to.    );    enum AnswerCallResponse {      AnswerCallNow,      // Answer the call continuing with the connection.      AnswerCallDenied,   // Refuse the call sending a release complete.      AnswerCallPending,  // Send an Alerting PDU and wait for AnsweringCall()      AnswerCallDeferred, // As for AnswerCallPending but does not send Alerting PDU      NumAnswerCallResponses    };    /**Call back for answering an incoming call.       This function is used for an application to control the answering of       incoming calls. It is usually used to indicate the immediate action to       be taken in answering the call.       It is called from the OnReceivedSignalSetup() function before it sends       the Alerting or Connect PDUs. It also gives an opportunity for an       application to alter the Connect PDU reply before transmission to the       remote endpoint.       If AnswerCallNow is returned then the H.323 protocol proceeds with the       connection. If AnswerCallDenied is returned the connection is aborted       and a Release Complete PDU is sent. If AnswerCallPending is returned       then the Alerting PDU is sent and the protocol negotiations are paused       until the AnsweringCall() function is called. Finally, if       AnswerCallDeferred is returned then no Alerting PDU is sent, but the       system still waits as in the AnswerCallPending response.       Note this function should not block for any length of time. If the       decision to answer the call may take some time eg waiting for a user to       pick up the phone, then AnswerCallPending or AnswerCallDeferred should       be returned.       The default behaviour calls the endpoint function of the same name       which in turn will return AnswerCallNow.     */    virtual AnswerCallResponse OnAnswerCall(      const PString & callerName,       /// Name of caller      const H323SignalPDU & setupPDU,   /// Received setup PDU      H323SignalPDU & connectPDU        /// Connect PDU to send.     );    /**Indicate the result of answering an incoming call.       This should only be called if the OnAnswerCall() callback function has       returned a AnswerCallPending or AnswerCallDeferred response.       Note sending further AnswerCallPending responses via this function will       have the result of an Alerting PDU being sent to the remote endpoint.       In this way multiple Alerting PDUs may be sent.       Sending a AnswerCallDeferred response would have no effect.      */    void AnsweringCall(      AnswerCallResponse response /// Answer response to incoming call    );    /**Send first PDU in signalling channel.       This function does the signalling handshaking for establishing a       connection to a remote endpoint. The transport (TCP/IP) for the       signalling channel is assumed to be already created. This function       will then do the SetRemoteAddress() and Connect() calls o establish       the transport.       Returns the error code for the call failure reason or NumCallEndReasons       if the call was successful to that point in the protocol.     */    virtual CallEndReason SendSignalSetup(      const PString & alias,                /// Name of remote party      const H323TransportAddress & address  /// Address of destination    );    /**Adjust setup PDU being sent on initialisation of signal channel.       This function is called from the SendSignalSetup() function before it       sends the Setup PDU. It gives an opportunity for an application to       alter the request before transmission to the other endpoint.       The default behaviour simply returns TRUE. Note that this is usually       overridden by the transport dependent descendent class, eg the       H323ConnectionTCP descendent fills in the destCallSignalAddress field       with the TCP/IP data. Therefore if you override this in your       application make sure you call the ancestor function.     */    virtual BOOL OnSendSignalSetup(      H323SignalPDU & setupPDU   /// Setup PDU to send    );    /**Call back for remote party being alerted.       This function is called from the SendSignalSetup() function after it       receives the optional Alerting PDU from the remote endpoint. That is       when the remote "phone" is "ringing".       If FALSE is returned the connection is aborted and a Release Complete       PDU is sent.       The default behaviour calls the endpoint function of the same name.     */    virtual BOOL OnAlerting(      const H323SignalPDU & alertingPDU,  /// Received Alerting PDU      const PString & user                /// Username of remote endpoint    );    /**This function is called from the SendSignalSetup() function after it       receives the Connect PDU from the remote endpoint, but before it       attempts to open the control channel.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久国产大片| 精品精品国产高清一毛片一天堂| 国产精品网站在线播放| 狠狠色丁香婷综合久久| 久久久综合激的五月天| 久久成人久久鬼色| 久久九九久久九九| www.日韩av| 亚洲一二三四在线观看| 欧美喷潮久久久xxxxx| 日韩高清一区在线| 久久久久久久久97黄色工厂| 国产福利一区二区三区视频| 国产精品久久免费看| 欧美大尺度电影在线| 久久se精品一区精品二区| 国产亚洲短视频| aa级大片欧美| 丝袜诱惑制服诱惑色一区在线观看 | 欧美性猛交xxxxxx富婆| 亚洲欧美视频在线观看视频| 在线国产电影不卡| 日韩不卡手机在线v区| 欧美videossexotv100| 国产成人亚洲精品狼色在线 | 欧美人与禽zozo性伦| 久久99国产精品免费网站| 久久久蜜臀国产一区二区| 99久久久精品| 视频一区中文字幕| 国产日本欧美一区二区| 91国产丝袜在线播放| 麻豆国产一区二区| 国产精品拍天天在线| 欧美日韩视频不卡| 粉嫩嫩av羞羞动漫久久久| 亚洲国产欧美在线| 久久你懂得1024| 国产99久久久久| 欧洲精品一区二区| 日韩av网站免费在线| 欧美激情一区在线| 欧美欧美午夜aⅴ在线观看| 国产精品一区二区视频| 亚洲国产毛片aaaaa无费看 | 色哟哟在线观看一区二区三区| 日韩高清一区二区| 亚洲桃色在线一区| 久久一夜天堂av一区二区三区 | 亚洲婷婷综合久久一本伊一区| 欧美一级日韩一级| 欧美午夜寂寞影院| 粉嫩一区二区三区在线看| 奇米影视7777精品一区二区| 亚洲人成小说网站色在线| 久久天天做天天爱综合色| 欧美日韩电影在线播放| 99久久国产综合精品麻豆| 不卡免费追剧大全电视剧网站| 三级不卡在线观看| 色综合久久99| 国产又黄又大久久| 亚洲成人免费看| 亚洲欧美日韩综合aⅴ视频| 久久久久国产精品麻豆 | 欧美日韩1234| 色欧美片视频在线观看| 成人av免费观看| 国产成人自拍网| 国产在线精品不卡| 蜜桃精品视频在线| 美女视频黄a大片欧美| 爽爽淫人综合网网站| 亚洲国产日韩精品| 亚洲黄色小视频| 亚洲欧美韩国综合色| 中文字幕高清一区| 中文字幕不卡在线观看| 国产女人18毛片水真多成人如厕| 337p粉嫩大胆色噜噜噜噜亚洲| 91精品国产麻豆| 欧美一级高清片在线观看| 欧美美女网站色| 国产区在线观看成人精品| 99久久精品99国产精品| 国产成人三级在线观看| 国内久久精品视频| 精久久久久久久久久久| 韩国欧美国产一区| 国产一区二区不卡| 粉嫩av亚洲一区二区图片| 国产精品1区2区3区| 粉嫩在线一区二区三区视频| 成人深夜视频在线观看| 91视频观看视频| 91久久国产最好的精华液| 欧美午夜精品一区二区蜜桃| 欧美高清你懂得| 日韩精品一区二区三区在线| 精品福利av导航| 国产精品国产三级国产a| 亚洲免费视频中文字幕| 午夜精品成人在线视频| 免费av网站大全久久| 国产精品一线二线三线| av毛片久久久久**hd| 在线观看av一区二区| 这里只有精品99re| 亚洲影视资源网| 天天色综合成人网| 黑人精品欧美一区二区蜜桃 | 国产欧美综合色| 亚洲欧美国产77777| 日本免费新一区视频| 国产91精品欧美| 在线观看国产91| 亚洲精品一区二区三区在线观看| 国产精品人成在线观看免费| 亚洲情趣在线观看| 美女一区二区三区| aaa亚洲精品| 91精品国产综合久久精品| 久久午夜国产精品| 亚洲精品午夜久久久| 卡一卡二国产精品 | 中文字幕综合网| 日韩精品乱码免费| 成人免费视频免费观看| 欧美精品乱人伦久久久久久| 国产清纯美女被跳蛋高潮一区二区久久w | 老司机免费视频一区二区 | 亚洲一区二区免费视频| 国内精品在线播放| 欧美色区777第一页| 久久精品水蜜桃av综合天堂| 亚洲成人www| 成人黄色a**站在线观看| 欧美精品在线观看播放| 国产精品久久久久国产精品日日| 蜜臀av一区二区在线观看| 99久久er热在这里只有精品15| 日韩一区二区三区在线视频| 亚洲欧洲精品天堂一级| 久久国产精品第一页| 欧美日韩色一区| 亚洲精品国产a| 成人看片黄a免费看在线| 日韩视频一区二区| 天堂影院一区二区| 色拍拍在线精品视频8848| 国产精品私人自拍| 国产福利精品一区二区| 日韩欧美视频一区| 午夜免费久久看| 91久久久免费一区二区| 亚洲图片另类小说| 欧美日韩电影在线播放| 亚洲一级电影视频| 丁香婷婷综合激情五月色| 在线播放91灌醉迷j高跟美女| 国产精品免费免费| 国产福利电影一区二区三区| 日韩欧美国产综合| 美女视频黄 久久| 日韩一区二区在线观看视频| 偷拍一区二区三区四区| 欧美日韩电影在线| 日本免费新一区视频| 欧美美女喷水视频| 日韩国产一二三区| 91精品国产综合久久久久久久| 亚洲不卡在线观看| 在线综合+亚洲+欧美中文字幕| 亚洲.国产.中文慕字在线| 在线视频中文字幕一区二区| 亚洲美女视频在线| 欧美偷拍一区二区| 亚洲妇熟xx妇色黄| 欧美一区二区视频在线观看2020| 首页国产欧美久久| 日韩午夜电影av| 国产中文字幕一区| 国产日韩视频一区二区三区| 日韩精彩视频在线观看| 91精品国产91热久久久做人人| 午夜激情综合网| 欧美一级欧美三级在线观看| 另类调教123区| 久久精品一区二区三区不卡牛牛| 国产传媒一区在线| 综合久久综合久久| 欧美日韩一区二区三区在线看| 五月婷婷久久综合| 26uuu亚洲| 成人av一区二区三区| 亚洲综合免费观看高清完整版在线| 91蝌蚪porny成人天涯| 视频一区在线播放| 久久精品欧美一区二区三区麻豆| 成人av免费在线观看|