00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00021 #ifndef _OOLOGCHAN_H_
00022 #define _OOLOGCHAN_H_
00023
00024 #include "ootypes.h"
00025 #include "ooCapability.h"
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029
00034 struct ooH323EpCapability;
00035 struct OOH323CallData;
00036
00040 typedef enum {
00041 OO_LOGICAL_CHAN_UNKNOWN,
00042 OO_LOGICALCHAN_IDLE,
00043 OO_LOGICALCHAN_PROPOSED,
00044 OO_LOGICALCHAN_ESTABLISHED
00045 } OOLogicalChannelState;
00046
00050 typedef struct OOLogicalChannel {
00051 int channelNo;
00052 int sessionID;
00053 enum OOCapType type;
00054 char dir[10];
00055 char remoteIP[20];
00056 int remoteMediaPort;
00057 int remoteMediaControlPort;
00058 int localRtpPort;
00059 int localRtcpPort;
00060 char localIP[20];
00061 OOLogicalChannelState state;
00062 struct ooH323EpCapability *chanCap;
00063 struct OOLogicalChannel *next;
00064 } OOLogicalChannel;
00065
00066 #define ooLogicalChannel OOLogicalChannel
00067
00080 EXTERN ooLogicalChannel* ooAddNewLogicalChannel
00081 (struct OOH323CallData *call, int channelNo, int sessionID,
00082 char *dir, ooH323EpCapability *epCap);
00083
00094 EXTERN ooLogicalChannel* ooFindLogicalChannelByLogicalChannelNo
00095 (struct OOH323CallData *call, int channelNo);
00096
00107 EXTERN int ooOnLogicalChannelEstablished
00108 (struct OOH323CallData *call, OOLogicalChannel * pChannel);
00109
00122 EXTERN ooLogicalChannel* ooGetLogicalChannel
00123 (struct OOH323CallData *call, int sessionID, char *dir);
00124
00134 EXTERN int ooRemoveLogicalChannel (struct OOH323CallData *call, int ChannelNo);
00135
00145 EXTERN int ooClearLogicalChannel (struct OOH323CallData *call, int channelNo);
00146
00154 EXTERN int ooClearAllLogicalChannels (struct OOH323CallData *call);
00155
00165 EXTERN OOLogicalChannel * ooFindLogicalChannelByOLC
00166 (struct OOH323CallData *call, H245OpenLogicalChannel *olc);
00167
00179 EXTERN OOLogicalChannel * ooFindLogicalChannel
00180 (struct OOH323CallData* call, int sessionID, char *dir, H245DataType* dataType);
00181
00186 #ifdef __cplusplus
00187 }
00188 #endif
00189
00190 #endif