ootypes.h

来自「一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话」· C头文件 代码 · 共 257 行

H
257
字号
/* * Copyright (C) 2004-2005 by Objective Systems, Inc. * * This software is furnished under an open source license and may be  * used and copied only in accordance with the terms of this license.  * The text of the license may generally be found in the root  * directory of this installation in the COPYING file.  It  * can also be viewed online at the following URL: * *   http://www.obj-sys.com/open/license.html * * Any redistributions of this file including modified versions must  * maintain this copyright notice. * *****************************************************************************//*! \mainpage  * <H1>ooH323c Stack Functions</H1> * * The <B>Objective Open H.323 for C (ooH323c)</B> protocol stack is an  * open source applications program interface (API) for building H.323 based  * applications.   The stack implements Q.931/H.225 call signaling procedures,  * H.245 logical channel operations, and Registration, Admission, and Status  * (RAS) messaging for Gatekeeper communications. * * The categories of user functions provided are as follows: * <UL> * <LI>Stack command functions.  These are high level functions used to  * initiate common H.323 telephony operations (for example, to make a  * call).</LI> * <LI>Gatekeeper functions.  These are high level functions for  * managing communications with a gatekeeper using RAS messages.</LI> * <LI>H.323 endpoint management functions.  These are function for  * used for managing the global H.323 endpoint.</LI> * <LI>Call management functions.  These are functions used to manage  * active calls within the stack.</LI> * <LI>Capability management functions.  These functions are used for  * negotiating capabilities between two different terminals.</LI> * <LI>H.225 and H.245 message handling functions.  Functions for  * creating and handling H.323 standard ASN.1 messages.</LI> * <LI>Q.931 functions.  Functions for the execution of various  * standard Q.931 operations.</LI> * <LI>TCP/IP and UDP socket communication functions.  Low-level  * functions for writing data to and receiving data from sockets.</LI> * </UL> */ /** * @file ootypes.h  * This file contains definitions of common constants and data structures. */#ifndef _OOTYPES_H_#define _OOTYPES_H_#include "ooSocket.h"#include "MULTIMEDIA-SYSTEM-CONTROL.h"#include "H323-MESSAGES.h"#include "ooasn1.h"#ifdef HAVE_CONFIG_H#include "config.h"#endif#define OOH323C_VERSION "v0.8"#ifndef EXTERN#ifdef MAKE_DLL#define EXTERN __declspec(dllexport)#else#define EXTERN#endif /* MAKE_DLL */#endif /* EXTERN *//**  * @defgroup ootypes Common type and constant definitions. * @{ *//* Function return codes */#define OO_FAILED	-1#define OO_OK		0/* TODO: States for both local and remote initiation should be maintained   separately *//** * States defined for master/slave determination procedure. */typedef enum OOMasterSlaveState {   OO_MasterSlave_Idle,   OO_MasterSlave_DetermineSent,    OO_MasterSlave_AckReceived,   OO_MasterSlave_Master,   OO_MasterSlave_Slave} OOMasterSlaveState;/**  * States defined for the capability exchange procedure.  */typedef enum {   OO_LocalTermCapExchange_Idle,    OO_LocalTermCapSetSent,    OO_LocalTermCapSetAckRecvd,    OO_RemoteTermCapExchange_Idle,    OO_RemoteTermCapSetRecvd,    OO_RemoteTermCapSetAckSent} OOCapExchangeState;/**  * Call clear reason codes. */typedef enum OOCallClearReason {   OO_REASON_UNKNOWN=0,    OO_REASON_INVALIDMESSAGE,   OO_REASON_TRANSPORTFAILURE,    OO_REASON_NOROUTE,   OO_REASON_NOUSER,   OO_REASON_NOBW,   OO_REASON_GK_NOCALLEDUSER,   OO_REASON_GK_NOCALLERUSER,   OO_REASON_GK_NORESOURCES,   OO_REASON_GK_UNREACHABLE,   OO_REASON_GK_CLEARED,   OO_REASON_NOCOMMON_CAPABILITIES,   OO_REASON_REMOTE_FWDED,      OO_REASON_LOCAL_FWDED,   OO_REASON_REMOTE_CLEARED,    OO_REASON_LOCAL_CLEARED,    OO_REASON_REMOTE_BUSY,   OO_REASON_LOCAL_BUSY,   OO_REASON_REMOTE_NOANSWER,   OO_REASON_LOCAL_NOTANSWERED,   OO_REASON_REMOTE_REJECTED,   OO_REASON_LOCAL_REJECTED,   OO_REASON_REMOTE_CONGESTED,   OO_REASON_LOCAL_CONGESTED} OOCallClearReason;/** Terminal type of the endpoint. Default is 60. */#define OOTERMTYPE 60/** Maximum length of an IP address (xxx.xxx.xxx.xxx). */#define MAX_IP_LENGTH 15/** Maximum length of a log file message */#define MAXLOGMSGLEN 2048/** Number of times to retry a failed operation. */#define DEFAULT_MAX_RETRIES 3/**   Various message types for H225 and H245 messages*/#define OO_MSGTYPE_MIN                     101#define OOQ931MSG                          101#define OOH245MSG                          102#define OOSetup                            103#define OOCallProceeding                   104#define OOAlert                            105#define OOConnect                          106#define OOReleaseComplete                  107#define OOFacility                         108#define OOInformationMessage               109#define OOMasterSlaveDetermination         110#define OOMasterSlaveAck                   111#define OOMasterSlaveReject                112#define OOMasterSlaveRelease               113#define OOTerminalCapabilitySet            114#define OOTerminalCapabilitySetAck         115#define OOTerminalCapabilitySetReject      116#define OOTerminalCapabilitySetRelease     117#define OOOpenLogicalChannel               118#define OOOpenLogicalChannelAck            119#define OOOpenLogicalChannelReject         120#define OOOpenLogicalChannelRelease        121#define OOOpenLogicalChannelConfirm        122#define OOCloseLogicalChannel              123#define OOCloseLogicalChannelAck           124#define OORequestChannelClose              125#define OORequestChannelCloseAck           126#define OORequestChannelCloseReject        127#define OORequestChannelCloseRelease       128#define OOEndSessionCommand                129#define OOUserInputIndication              130#define OO_MSGTYPE_MAX                     130/* Timer types */#define OO_CALLESTB_TIMER  (1<<0)#define OO_MSD_TIMER       (1<<1)#define OO_TCS_TIMER       (1<<2)#define OO_OLC_TIMER       (1<<3)#define OO_CLC_TIMER       (1<<4)#define OO_RCC_TIMER       (1<<5)#define OO_SESSION_TIMER   (1<<6)#define OO_H245CONNECT_TIMER (1<<7)/** Maximum length for received messages */#define MAXMSGLEN 4096/** Maximum length of a filename */#define MAXFILENAME 256/** * Endpoint call modes. The call mode of the endpoint dictates what type * of channels are created for the calls placed by the endpoint or received * by the endpoint. */typedef enum OOCallMode {   OO_CALLMODE_AUDIOCALL,   /*!< Audio call */   OO_CALLMODE_AUDIORX,     /*!< Audio call - receive only */   OO_CALLMODE_AUDIOTX,     /*!< Audio call - transmit only */   OO_CALLMODE_VIDEOCALL,   /*!< Video call */   OO_CALLMODE_FAX          /*!< Fax transmission */} OOCallMode;/* * Flag macros - these operate on bit mask flags using mask values *//** This macro sets a flag within a bit mask */#define OO_SETFLAG(flags,mask) (flags |= mask)/** This macro clears a flag within a bit mask */#define OO_CLRFLAG(flags,mask) (flags &= ~mask)/** This macro tests a flag with a bit mask */#define OO_TESTFLAG(flags,mask) ((flags & mask) != 0)/*TODO: Should add caller-id, callername etc. So that they can be changed per  call basis*//** * This structure defines options that can be set at the level of an  * individual call. They override options set in the H.323 endpoint  * structure. */typedef struct ooCallOptions {   OOBOOL fastStart;    /*!< Use FastStart signaling */   OOBOOL tunneling;    /*!< Use H.245 tunneling */   OOBOOL disableGk;    /*!< Disable use of gatekeeper */   OOCallMode callMode; /*!< Type of channel to setup with FastStart */}ooCallOptions; struct OOH323CallData;typedef struct ooTimerCallback{   struct OOH323CallData* call;   ASN1UINT    timerType;   ASN1UINT    channelNumber;} ooTimerCallback;/** * @} */#endif

⌨️ 快捷键说明

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