00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00022 #ifndef OO_STACKCMDS_H
00023 #define OO_STACKCMDS_H
00024
00025 #include "ootypes.h"
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030
00031 #ifndef EXTERN
00032 #if defined (MAKE_DLL)
00033 #define EXTERN __declspec(dllexport)
00034 #else
00035 #define EXTERN
00036 #endif
00037 #endif
00038
00039
00040
00049 typedef enum OOStkCmdStat{
00050 OO_STKCMD_SUCCESS,
00051 OO_STKCMD_MEMERR,
00052 OO_STKCMD_INVALIDPARAM,
00053 OO_STKCMD_WRITEERR,
00054 OO_STKCMD_CONNECTIONERR
00055 }OOStkCmdStat;
00056
00060 typedef enum OOStackCmdID {
00061 OO_CMD_NOOP,
00062 OO_CMD_MAKECALL,
00063 OO_CMD_ANSCALL,
00064 OO_CMD_FWDCALL,
00065 OO_CMD_HANGCALL,
00066 OO_CMD_SENDDIGIT,
00067 OO_CMD_MANUALRINGBACK,
00068 OO_CMD_STOPMONITOR
00070 } OOStackCmdID;
00071
00076 typedef struct OOStackCommand {
00077 OOStackCmdID type;
00078 void* param1;
00079 void* param2;
00080 void* param3;
00081 } OOStackCommand;
00082
00083 #define ooCommand OOStackCommand;
00084
00095 EXTERN OOStkCmdStat ooMakeCall
00096 (const char* dest, char *callToken, size_t bufsiz, ooCallOptions *opts);
00097
00098
00099
00107 EXTERN OOStkCmdStat ooManualRingback(const char *callToken);
00108
00115 EXTERN OOStkCmdStat ooAnswerCall(const char *callToken);
00116
00125 EXTERN OOStkCmdStat ooForwardCall(const char* callToken, char *dest);
00126
00134 EXTERN OOStkCmdStat ooHangCall(const char* callToken, OOCallClearReason reason);
00135
00144 EXTERN OOStkCmdStat ooSendDTMFDigit(const char *callToken, const char* alpha);
00145
00146
00152 EXTERN OOStkCmdStat ooStopMonitor(void);
00153
00154
00162 EXTERN const char* ooGetStkCmdStatusCodeTxt(OOStkCmdStat stat);
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170
00171 #endif