EvoVoIP.h File Reference


Classes

struct  _TTMessage
struct  _BannedUser
struct  _Channel
struct  _User
struct  _FileTransfer
struct  _FileInfo
struct  _ServerProperties
struct  _AudioFile
struct  _SoundDevice

Defines

#define EVOVOIPDLL_H
#define EVOVOIP_VERSION   "3.0"
#define EVOVOIPDLL_API
#define IN
#define OUT
#define TRUE   1
#define FALSE   0
#define WM_USER   0
#define WM_EVOVOIP_CONNECTSUCCESS   WM_USER + 451
#define WM_EVOVOIP_CONNECTFAILED   WM_USER + 452
#define WM_EVOVOIP_CONNECTIONLOST   WM_USER + 453
#define WM_EVOVOIP_ACCEPTED   WM_USER + 454
#define WM_EVOVOIP_ADDUSER   WM_USER + 455
#define WM_EVOVOIP_UPDATEUSER   WM_USER + 456
#define WM_EVOVOIP_REMOVEUSER   WM_USER + 457
#define WM_EVOVOIP_ADDCHANNEL   WM_USER + 458
#define WM_EVOVOIP_UPDATECHANNEL   WM_USER + 459
#define WM_EVOVOIP_REMOVECHANNEL   WM_USER + 460
#define WM_EVOVOIP_USERMESSAGE   WM_USER + 461
#define WM_EVOVOIP_CHANNELMESSAGE   WM_USER + 462
#define WM_EVOVOIP_KICKED   WM_USER + 463
#define WM_EVOVOIP_SERVERUPDATE   WM_USER + 464
#define WM_EVOVOIP_JOINEDCHANNEL   WM_USER + 465
#define WM_EVOVOIP_ERROR   WM_USER + 466
#define WM_EVOVOIP_USERTALKING   WM_USER + 467
#define WM_EVOVOIP_USERSTOPPEDTALKING   WM_USER + 468
#define WM_EVOVOIP_DIRCONNECTIONFAILED   WM_USER + 469
#define WM_EVOVOIP_LISTCOMMAND_COMPLETED   WM_USER + 470
#define WM_EVOVOIP_LEFTCHANNEL   WM_USER + 471
#define WM_EVOVOIP_LOGGEDOUT   WM_USER + 472
#define WM_EVOVOIP_ADDFILE   WM_USER + 473
#define WM_EVOVOIP_REMOVEFILE   WM_USER + 474
#define WM_EVOVOIP_TRANSFER_BEGIN   WM_USER + 475
#define WM_EVOVOIP_TRANSFER_COMPLETED   WM_USER + 476
#define WM_EVOVOIP_TRANSFER_FAILED   WM_USER + 477
#define WM_EVOVOIP_BROADCASTMESSAGE   WM_USER + 478
#define WM_EVOVOIP_USERLOGGEDIN   WM_USER + 480
#define WM_EVOVOIP_USERLOGGEDOUT   WM_USER + 481
#define WM_EVOVOIP_SOUNDDEVICE_ERROR   WM_USER + 482
#define WM_EVOVOIP_HOTKEY   WM_USER + 500
#define WM_EVOVOIP_KEYTEST   WM_USER + 501
#define WM_EVOVOIP_AUDIOFILE_STATUS   WM_USER + 502
#define WM_EVOVOIP_STREAMFILE_COMPLETED   WM_USER + 503
#define WM_EVOVOIP_USER_SUBSCRIBERS_RESULT   WM_USER + 504
#define ENC_QUALITY_MAX   10
#define ENC_QUALITY_DEFAULT   2
#define ENC_QUALITY_MIN   1
#define SOUND_VU_MAX   20
#define SOUND_VU_MIN   0
#define SOUND_VOLUME_MAX   255
#define SOUND_VOLUME_MIN   0
#define GAIN_LEVEL_MAX   8000
#define GAIN_LEVEL_DEFAULT   1000
#define GAIN_LEVEL_MIN   100
#define COMPLEXITY_MAX   10
#define COMPLEXITY_DEFAULT   2
#define COMPLEXITY_MIN   1
#define USERSTATUS_AVAILABLE   0
#define USERSTATUS_AWAY   1
#define EVO_STRLEN   512

Typedefs

typedef char TTCHAR
 OS specific types.
typedef int BOOL
typedef int INT32
typedef long long INT64
typedef unsigned int UINT
typedef void * PVOID
typedef void * LPVOID
typedef int * PINT32
typedef struct _TTMessage TTMessage
typedef struct _BannedUser BannedUser
typedef struct _Channel Channel
typedef struct _User User
typedef struct _FileTransfer FileTransfer
typedef struct _FileInfo FileInfo
typedef struct _ServerProperties ServerProperties
typedef enum _PlaybackMode PlaybackMode
typedef enum _AudioFileStatus AudioFileStatus
typedef struct _AudioFile AudioFile
typedef enum _Subscriptions Subscriptions
typedef enum _SoundSystem SoundSystem
typedef struct _SoundDevice SoundDevice
typedef void TalkingCallback (INT32 nUserID, INT32 nSampleRate, const short *pRawAudio, INT32 nSamples, PVOID pUserData)

Enumerations

enum  _PlaybackMode { PLAYBACKMODE_STABLE = 0, PLAYBACKMODE_LOWLATENCY = 1, PLAYBACKMODE_VARIABLE = 2, PLAYBACKMODE_JITTER = 3 }
enum  _AudioFileStatus {
  AFS_WAV_ERROR = 0, AFS_WAV_STARTED = 1, AFS_WAV_FINISHED = 2, AFS_ENCODING_ERROR = 3,
  AFS_ENCODING_BEGIN = 4, AFS_ENCODING_FINISHED = 5
}
enum  _Subscriptions {
  SUBSCRIBE_NONE = 0x0, SUBSCRIBE_AUDIO = 0x01, SUBSCRIBE_USER_MSG = 0x02, SUBSCRIBE_CHANNEL_MSG = 0x04,
  SUBSCRIBE_BROADCAST_MSG = 0x08, SUBSCRIBE_ALL = 0xFFFFFFFF
}
enum  _SoundSystem { SOUNDSYSTEM_NOSOUND = 0, SOUNDSYSTEM_WINMM = 1, SOUNDSYSTEM_DSOUND = 2, SOUNDSYSTEM_ALSA = 3 }

Functions

EVOVOIPDLL_API BOOL EVO_InitVoIP (OUT LPVOID *pNewClientInstance)
EVOVOIPDLL_API BOOL EVO_CloseVoIP (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_GetDefaultDevices (IN LPVOID pClientInstance, OUT SoundSystem *lpnSoundSystem, OUT INT32 *lpnInputDeviceID, OUT INT32 *lpnOutputDeviceID)
EVOVOIPDLL_API INT32 EVO_GetInputDevicesCount (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem)
EVOVOIPDLL_API BOOL EVO_GetInputDevice (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem, IN INT32 nIndex, OUT SoundDevice *pSoundDevice)
EVOVOIPDLL_API INT32 EVO_GetOutputDevicesCount (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem)
EVOVOIPDLL_API BOOL EVO_GetOutputDevice (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem, IN INT32 nIndex, OUT SoundDevice *pSoundDevice)
EVOVOIPDLL_API BOOL EVO_LaunchSoundSystem (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem, IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID, IN INT32 nRecorderFreq, IN INT32 nQuality, IN BOOL bStereoPlayback)
EVOVOIPDLL_API BOOL EVO_IsSoundSystemInitialized (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_ShutdownSoundSystem (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_RestartSoundSystem (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem, IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID)
EVOVOIPDLL_API BOOL EVO_SetEncoderComplexity (IN LPVOID pClientInstance, IN INT32 nComplexity)
EVOVOIPDLL_API INT32 EVO_GetEncoderComplexity (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_StartSoundLoopbackTest (IN LPVOID pClientInstance, IN SoundSystem nSoundSystem, IN INT32 nInputDeviceID, IN INT32 nOutputDeviceID, IN INT32 nRecorderFreq)
EVOVOIPDLL_API BOOL EVO_StopSoundLoopbackTest (IN LPVOID pClientInstance)
EVOVOIPDLL_API INT32 EVO_GetSamplesPerPacket (IN INT32 nRecorderFreq, IN INT32 nQuality)
EVOVOIPDLL_API INT32 EVO_GetPacketSize (IN INT32 nRecorderFreq, IN INT32 nQuality)
EVOVOIPDLL_API INT32 EVO_GetCurrentInputLevel (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetMasterVolume (IN LPVOID pClientInstance, IN INT32 nVolume)
EVOVOIPDLL_API INT32 EVO_GetMasterVolume (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_MuteAll (IN LPVOID pClientInstance, BOOL bMuteAll)
EVOVOIPDLL_API BOOL EVO_IsAllMute (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_EnableDenoising (IN LPVOID pClientInstance, IN BOOL bEnable)
EVOVOIPDLL_API BOOL EVO_IsDenoising (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetVoiceGainLevel (IN LPVOID pClientInstance, IN INT32 nLevel)
EVOVOIPDLL_API INT32 EVO_GetVoiceGainLevel (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_EnableVoiceActivation (IN LPVOID pClientInstance, BOOL bEnable)
EVOVOIPDLL_API BOOL EVO_IsVoiceActivated (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetVoiceActivationLevel (IN LPVOID pClientInstance, INT32 nLevel)
EVOVOIPDLL_API INT32 EVO_GetVoiceActivationLevel (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_EnableAGC (IN LPVOID pClientInstance, IN BOOL bEnable)
EVOVOIPDLL_API BOOL EVO_SetAGCSettings (IN LPVOID pClientInstance, IN INT32 nGainLevel, IN INT32 nMaxIncrement, IN INT32 nMaxDecrement, IN INT32 nMaxGain)
EVOVOIPDLL_API BOOL EVO_GetAGCSettings (IN LPVOID pClientInstance, IN PINT32 lpnGainLevel, OUT PINT32 lpnMaxIncrement, OUT PINT32 lpnMaxDecrement, OUT PINT32 lpnMaxGain)
EVOVOIPDLL_API BOOL EVO_EnableAutoPositioning (IN LPVOID pClientInstance, IN BOOL bEnable)
EVOVOIPDLL_API BOOL EVO_IsAutoPositioning (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_AutoPositionUsers (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetPlaybackMode (IN LPVOID pClientInstance, IN PlaybackMode mode)
EVOVOIPDLL_API PlaybackMode EVO_GetPlaybackMode (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_EnableEchoCancellation (IN LPVOID pClientInstance, IN BOOL bEnable)
EVOVOIPDLL_API BOOL EVO_IsEchoCancelling (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_Connect (IN LPVOID pClientInstance, IN const TTCHAR *lpszHostAddress, IN INT32 nTcpPort, IN INT32 nUdpPort, IN INT32 nLocalTcpPort, IN INT32 nLocalUdpPort)
EVOVOIPDLL_API BOOL EVO_IsConnected (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_IsConnecting (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_Disconnect (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_IsAuthorized (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetTcpKeepAliveInterval (IN LPVOID pClientInstance, IN INT32 nPingIntervalSec)
EVOVOIPDLL_API INT32 EVO_GetTcpKeepAliveInterval (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_SetServerTimeout (IN LPVOID pClientInstance, IN INT32 nTimeoutSec)
EVOVOIPDLL_API INT32 EVO_GetServerTimeout (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_DoLogin (IN LPVOID pClientInstance, IN const TTCHAR *lpszNickName, IN const TTCHAR *lpszServerPassword)
EVOVOIPDLL_API BOOL EVO_DoLogout (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_DoJoinChannel (IN LPVOID pClientInstance, IN const TTCHAR *lpszChannelPath, IN const TTCHAR *lpszPassword, IN const TTCHAR *lpszTopic, IN const TTCHAR *lpszOpPassword)
EVOVOIPDLL_API BOOL EVO_DoJoinChannelByID (IN LPVOID pClientInstance, IN INT32 nChannelID, IN const TTCHAR *lpszPassword)
EVOVOIPDLL_API BOOL EVO_DoLeaveChannel (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_DoChangeNick (IN LPVOID pClientInstance, IN const TTCHAR *lpszNewNick)
EVOVOIPDLL_API BOOL EVO_DoChangeStatus (IN LPVOID pClientInstance, IN INT32 nStatusMode, IN const TTCHAR *lpszStatusMessage)
EVOVOIPDLL_API BOOL EVO_DoUserMessage (IN LPVOID pClientInstance, IN INT32 nToUserID, IN const TTCHAR *lpszContent)
EVOVOIPDLL_API BOOL EVO_DoChannelMessage (IN LPVOID pClientInstance, IN const TTCHAR *lpszContent)
EVOVOIPDLL_API BOOL EVO_DoChannelOp (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_DoKickUser (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_DoSendFile (IN LPVOID pClientInstance, IN const TTCHAR *szLocalFilePath)
EVOVOIPDLL_API BOOL EVO_DoRecvFile (IN LPVOID pClientInstance, IN INT32 nFileID, IN const TTCHAR *szLocalFilePath)
EVOVOIPDLL_API BOOL EVO_DoDeleteFile (IN LPVOID pClientInstance, IN INT32 nFileID)
EVOVOIPDLL_API BOOL EVO_GetMessageOfTheDay (IN LPVOID pClientInstance, OUT TTCHAR szMotd[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_GetServerName (IN LPVOID pClientInstance, OUT TTCHAR szName[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_GetServerProperties (IN LPVOID pClientInstance, OUT ServerProperties *lpProperties)
EVOVOIPDLL_API INT32 EVO_GetRootChannelID (IN LPVOID pClientInstance)
EVOVOIPDLL_API INT32 EVO_GetMyChannelID (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_GetChannel (IN LPVOID pClientInstance, IN INT32 nChannelID, OUT Channel *lpChannel)
EVOVOIPDLL_API INT32 EVO_GetChannelParentID (IN LPVOID pClientInstance, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_GetChannelPath (IN LPVOID pClientInstance, IN INT32 nChannelID, OUT TTCHAR szChannelPath[EVO_STRLEN])
EVOVOIPDLL_API INT32 EVO_GetChannelUserCount (IN LPVOID pClientInstance, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_GetChannelMessage (IN LPVOID pClientInstance, IN INT32 nChannelID, IN INT32 nMsgID, OUT INT32 *lpnFromUserID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_IsChannelOperator (IN LPVOID pClientInstance, IN INT32 nUserID, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_GetBroadcastMessage (IN LPVOID pClientInstance, IN INT32 nMsgID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API INT32 EVO_GetMyUserID (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_GetUser (IN LPVOID pClientInstance, IN INT32 nUserID, OUT User *lpUser)
EVOVOIPDLL_API BOOL EVO_GetUserMessage (IN LPVOID pClientInstance, IN INT32 nUserID, IN INT32 nMsgID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_SetUserVolume (IN LPVOID pClientInstance, IN INT32 nUserID, IN INT32 nVolume)
EVOVOIPDLL_API INT32 EVO_GetUserVolume (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_SetUserGainLevel (IN LPVOID pClientInstance, IN INT32 nUserID, IN INT32 nGainLevel)
EVOVOIPDLL_API INT32 EVO_GetUserGainLevel (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_SetUserMute (IN LPVOID pClientInstance, IN INT32 nUserID, IN BOOL bMute)
EVOVOIPDLL_API BOOL EVO_IsUserMute (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_IsUserTalking (IN LPVOID pClientInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_SetUserPosition (IN LPVOID pClientInstance, IN INT32 nUserID, IN float x, IN float y, IN float z)
EVOVOIPDLL_API BOOL EVO_GetUserPosition (IN LPVOID pClientInstance, IN INT32 nUserID, OUT float *x, OUT float *y, OUT float *z)
EVOVOIPDLL_API BOOL EVO_SetUserStereo (IN LPVOID pClientInstance, IN INT32 nUserID, IN BOOL bLeftSpeaker, IN BOOL bRightSpeaker)
EVOVOIPDLL_API BOOL EVO_GetUserStereo (IN LPVOID pClientInstance, IN INT32 nUserID, OUT BOOL *lpbLeftSpeaker, OUT BOOL *lpbRightSpeaker)
EVOVOIPDLL_API BOOL EVO_ForwardToAll (IN LPVOID pClientInstance, IN BOOL bForward)
EVOVOIPDLL_API BOOL EVO_IsForwardingToAll (IN LPVOID pClientInstance)
EVOVOIPDLL_API INT32 EVO_GetBytesReceived (IN LPVOID pClientInstance)
EVOVOIPDLL_API INT32 EVO_GetBytesSent (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_StartTransmitting (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_StopTransmitting (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_StartTransmittingWaveFile (IN LPVOID pClientInstance, IN const TTCHAR *szWaveFilePath, IN BOOL bEchoWaveFile)
EVOVOIPDLL_API BOOL EVO_StopTransmittingWaveFile (IN LPVOID pClientInstance)
EVOVOIPDLL_API void EVO_RegisterHotKey (IN LPVOID pClientInstance, IN INT32 nHotKeyID, IN BOOL bCtrl, IN BOOL bAlt, IN BOOL bShift, IN BOOL bWin, IN UINT nVirtualKey)
EVOVOIPDLL_API void EVO_UnregisterHotKey (IN LPVOID pClientInstance, IN INT32 nHotKeyID)
EVOVOIPDLL_API BOOL EVO_IsHotKeyActive (IN LPVOID pClientInstance, IN INT32 nHotKeyID)
EVOVOIPDLL_API BOOL EVO_RegisterTalkingCallback (IN LPVOID pClientInstance, IN TalkingCallback *talkCallback, IN PVOID pUserData)
EVOVOIPDLL_API BOOL EVO_UnregisterTalkingCallback (IN LPVOID pClientInstance)
EVOVOIPDLL_API BOOL EVO_GetChannelFilesCount (IN LPVOID pClientInstance, IN INT32 nChannelID, OUT INT32 *lpnFilesCount)
EVOVOIPDLL_API BOOL EVO_GetChannelFileID (IN LPVOID pClientInstance, IN INT32 nChannelID, IN INT32 nFileIndex, OUT INT32 *lpnFileID)
EVOVOIPDLL_API BOOL EVO_GetChannelFileInfo (IN LPVOID pClientInstance, IN INT32 nFileID, OUT FileInfo *lpFileInfo)
EVOVOIPDLL_API BOOL EVO_GetFileTransferInfo (IN LPVOID pClientInstance, IN INT32 nTransferID, OUT FileTransfer *lpTransfer)
EVOVOIPDLL_API BOOL EVO_CancelFileTranfer (IN LPVOID pClientInstance, IN INT32 nTransferID)
EVOVOIPDLL_API BOOL EVO_DoUserSubscribe (IN LPVOID pClientInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_DoUserUnsubscribe (IN LPVOID pClientInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API void EVO_GetErrorMessage (IN INT32 nError, OUT TTCHAR szErrorMsg[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_GetMessage (IN LPVOID pClientInstance, OUT TTMessage *pMsg, IN const INT32 *pnWaitMs)
EVOVOIPDLL_API BOOL EVO_Admin_Init (OUT LPVOID *pNewAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_Close (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_Connect (IN LPVOID pAdminInstance, IN const TTCHAR *szHostAddress, IN INT32 nTcpPort, IN INT32 nUdpPort)
EVOVOIPDLL_API BOOL EVO_Admin_Disconnect (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_IsConnected (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_IsConnecting (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_IsAuthorized (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_SetTcpKeepAliveInterval (IN LPVOID pAdminInstance, IN INT32 nPingIntervalSec)
EVOVOIPDLL_API INT32 EVO_Admin_GetTcpKeepAliveInterval (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_SetServerTimeout (IN LPVOID pAdminInstance, IN INT32 nTimeoutSec)
EVOVOIPDLL_API INT32 EVO_Admin_GetServerTimeout (IN LPVOID pAdminInstance)
EVOVOIPDLL_API INT32 EVO_Admin_GetMyUserID (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_GetServerProperties (IN LPVOID pAdminInstance, OUT ServerProperties *lpServerInfo)
EVOVOIPDLL_API BOOL EVO_Admin_DoLogin (IN LPVOID pAdminInstance, IN const TTCHAR *szUsername, IN const TTCHAR *szPasswd, IN const TTCHAR *szNickName)
EVOVOIPDLL_API BOOL EVO_Admin_DoMakeChannel (IN LPVOID pAdminInstance, IN const Channel *lpChanInfo)
EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateChannel (IN LPVOID pAdminInstance, IN const Channel *lpChanInfo)
EVOVOIPDLL_API BOOL EVO_Admin_DoRemoveChannel (IN LPVOID pAdminInstance, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_Admin_DoMoveUser (IN LPVOID pAdminInstance, IN INT32 nUserID, IN const TTCHAR *szDestChannel)
EVOVOIPDLL_API BOOL EVO_Admin_DoMoveUserByID (IN LPVOID pAdminInstance, IN INT32 nUserID, IN INT32 nDestChannelID)
EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateServer (IN LPVOID pAdminInstance, IN const ServerProperties *lpServerInfo)
EVOVOIPDLL_API BOOL EVO_Admin_DoKickUser (IN LPVOID pAdminInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_Admin_DoMakeOperator (IN LPVOID pAdminInstance, IN INT32 nUserID, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_Admin_DoBanUser (IN LPVOID pAdminInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_Admin_DoUnBanUser (IN LPVOID pAdminInstance, IN const TTCHAR *szIpAddress)
EVOVOIPDLL_API BOOL EVO_Admin_DoListBans (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_DoUserMessage (IN LPVOID pAdminInstance, IN INT32 nUserID, const TTCHAR *szMessage)
EVOVOIPDLL_API BOOL EVO_Admin_DoChannelMessage (IN LPVOID pAdminInstance, IN INT32 nChannelID, const TTCHAR *szMessage)
EVOVOIPDLL_API BOOL EVO_Admin_DoBroadcastMessage (IN LPVOID pAdminInstance, const TTCHAR *szMessage)
EVOVOIPDLL_API BOOL EVO_Admin_DoSendFile (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN const TTCHAR *szLocalFilePath)
EVOVOIPDLL_API BOOL EVO_Admin_DoRecvFile (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN INT32 nFileID, IN const TTCHAR *szLocalFilePath)
EVOVOIPDLL_API BOOL EVO_Admin_DoDeleteFile (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN INT32 nFileID)
 Delete a file from a channel.
EVOVOIPDLL_API BOOL EVO_Admin_DoFileShare (IN LPVOID pAdminInstance, IN INT64 nChannelDiskQuota)
EVOVOIPDLL_API BOOL EVO_Admin_DoSubscribe (IN LPVOID pAdminInstance, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_Admin_DoUnsubscribe (IN LPVOID pAdminInstance, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_Admin_DoUserSubscribe (IN LPVOID pAdminInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_Admin_DoUserUnsubscribe (IN LPVOID pAdminInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_Admin_DoStreamFileToUser (IN LPVOID pAdminInstance, IN INT32 nUserID, IN const TTCHAR *szFileName, IN INT32 nSendSampleRate, IN INT32 nQuality)
EVOVOIPDLL_API BOOL EVO_Admin_DoCloseStreamFile (IN LPVOID pAdminInstance, IN INT32 nUserID)
EVOVOIPDLL_API BOOL EVO_Admin_DoQuerySubscribers (IN LPVOID pAdminInstance, IN INT32 nUserID, IN Subscriptions uSubscriptions)
EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateAdmin (IN LPVOID pAdminInstance, IN const TTCHAR *szUsername, IN const TTCHAR *szPassword)
EVOVOIPDLL_API BOOL EVO_Admin_DoSaveConfig (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_DoQuit (IN LPVOID pAdminInstance)
EVOVOIPDLL_API BOOL EVO_Admin_GetUser (IN LPVOID pAdminInstance, IN INT32 nUserID, OUT User *lpUser)
EVOVOIPDLL_API BOOL EVO_Admin_IsChannelOperator (IN LPVOID pAdminInstance, IN INT32 nUserID, IN INT32 nChannelID)
EVOVOIPDLL_API BOOL EVO_Admin_GetChannel (IN LPVOID pAdminInstance, IN INT32 nChannelID, OUT Channel *lpChannel)
EVOVOIPDLL_API BOOL EVO_Admin_GetChannelPath (IN LPVOID pAdminInstance, IN INT32 nChannelID, OUT TTCHAR szChannelPath[EVO_STRLEN])
EVOVOIPDLL_API INT32 EVO_Admin_GetChannelID (IN LPVOID pAdminInstance, IN const TTCHAR *szChannelPath)
EVOVOIPDLL_API BOOL EVO_Admin_GetUserMessage (IN LPVOID pAdminInstance, IN INT32 nUserID, IN INT32 nMsgID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_Admin_GetChannelMessage (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN INT32 nMsgID, OUT INT32 *lpnFromUserID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_Admin_GetBroadcastMessage (IN LPVOID pAdminInstance, IN INT32 nMsgID, OUT TTCHAR szContent[EVO_STRLEN])
EVOVOIPDLL_API BOOL EVO_Admin_GetBannedUsers (IN LPVOID pAdminInstance, OUT BannedUser *lpBannedUsers, IN INT32 nCount, OUT INT32 *lpnHowMany)
EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFilesCount (IN LPVOID pAdminInstance, IN INT32 nChannelID, OUT INT32 *lpnFilesCount)
EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFileID (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN INT32 nFileIndex, OUT INT32 *lpnFileID)
EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFileInfo (IN LPVOID pAdminInstance, IN INT32 nFileID, OUT FileInfo *lpFileInfo)
EVOVOIPDLL_API BOOL EVO_Admin_GetFileTransferInfo (IN LPVOID pAdminInstance, IN INT32 nTransferID, OUT FileTransfer *lpTransfer)
EVOVOIPDLL_API BOOL EVO_Admin_CancelFileTranfer (IN LPVOID pAdminInstance, IN INT32 nTransferID)
EVOVOIPDLL_API BOOL EVO_Admin_SetChannelAudioFolder (IN LPVOID pAdminInstance, IN INT32 nChannelID, IN const TTCHAR *szFolderPath)
EVOVOIPDLL_API BOOL EVO_Admin_GetFileShare (IN LPVOID pAdminInstance, OUT TTCHAR szFilesRoot[EVO_STRLEN], OUT INT64 *lpnChannelDiskQuota, OUT INT64 *lpnMaxDiskUsage)
EVOVOIPDLL_API BOOL EVO_Admin_GetMessage (IN LPVOID pAdminInstance, OUT TTMessage *pMsg, IN const INT32 *pnWaitMs)

Define Documentation

#define COMPLEXITY_DEFAULT   2

The default complexity used by the audio encoder. The complexity setting determines how much time the the encoder is allowed to use to encode an audio frame.

#define COMPLEXITY_MAX   10

The maximum complexity used by the audio encoder. The complexity setting determines how much time the the encoder is allowed to use to encode an audio frame.

#define COMPLEXITY_MIN   1

The minimum complexity used by the audio encoder. The complexity setting determines how much time the the encoder is allowed to use to encode an audio frame.

#define ENC_QUALITY_DEFAULT   2

The default voice quality is 2 which is fine for most conversations.

See also:
EVO_LaunchSoundSystem

#define ENC_QUALITY_MAX   10

Encoder quality to use. Higher value will increase CPU usage and voice quality.

See also:
EVO_LaunchSoundSystem

#define ENC_QUALITY_MIN   1

Encoder quality to use. Higher value will increase CPU usage and voice quality.

See also:
EVO_LaunchSoundSystem

#define EVO_STRLEN   512

The length of a string (characters, not bytes) which is used to extract information from this DLL. To support Unicode you'll need to convert Unicode strings to UTF-8 on Win32. Look up WideCharToMultiByte(.) and MultiByteToWideChar(.) in the Win32-documentation. On Windows CE this convertion is done automatically, since it's a Unicode OS.

#define EVOVOIP_VERSION   "3.0"

#define EVOVOIPDLL_API

#define EVOVOIPDLL_H

#define FALSE   0

#define GAIN_LEVEL_DEFAULT   1000

The default gain level. A gain level of 1000 means no gain. Check GAIN_LEVEL_MAX and GAIN_LEVEL_MIN to see how to increase and lower gain level.

See also:
EVO_SetVoiceGainLevel

EVO_GetVoiceGainLevel

EVO_SetUserGainLevel

EVO_GetUserGainLevel

#define GAIN_LEVEL_MAX   8000

The maximum gain level. A gain level of 8000 gains the volume by a factor eight. A gain level of 1000 means no gain.

See also:
EVO_SetVoiceGainLevel

EVO_GetVoiceGainLevel

EVO_SetUserGainLevel

EVO_GetUserGainLevel

#define GAIN_LEVEL_MIN   100

The minimum gain level. A gain level of 100 is 1/10 of of the normal volume (new volume = gain level / 1000).

See also:
EVO_SetVoiceGainLevel

EVO_GetVoiceGainLevel

EVO_SetUserGainLevel

EVO_GetUserGainLevel

#define IN

#define OUT

#define SOUND_VOLUME_MAX   255

The maximum volume for master volume and user.

See also:
EVO_SetMasterVolume

EVO_GetMasterVolume

EVO_SetUserVolume

EVO_GetUserVolume

#define SOUND_VOLUME_MIN   0

The minimum volume for master volume and user.

See also:
EVO_SetMasterVolume

EVO_GetMasterVolume

EVO_SetUserVolume

EVO_GetUserVolume

#define SOUND_VU_MAX   20

#define SOUND_VU_MIN   0

#define TRUE   1

#define USERSTATUS_AVAILABLE   0

User's status mode is set to available.

See also:
EVO_GetUser

EVO_DoChangeStatus

#define USERSTATUS_AWAY   1

User's status mode is set to away.

See also:
EVO_GetUser

EVO_DoChangeStatus

#define WM_EVOVOIP_ACCEPTED   WM_USER + 454

The call to EVO_DoLogin was successful.

Parameters:
wParam Your user ID
lParam Ignored
See also:
EVO_DoLogin

#define WM_EVOVOIP_ADDCHANNEL   WM_USER + 458

A new channel has been created.

Parameters:
wParam Channel's ID
lParam Ignored

#define WM_EVOVOIP_ADDFILE   WM_USER + 473

This message is posted when a new file is added to the channel a user is participating in. WPARAM contains the channel ID and LPARAM contains the file ID. Note that the file ID is not specific to the channel but is a global ID.

Use EVO_Admin_GetChannelFileInfo or EVO_GetChannelFileInfo to get information about the file.

Parameters:
wParam Channel ID
lParam File ID
See also:
EVO_Admin_GetChannelFileInfo

EVO_GetChannelFileInfo

#define WM_EVOVOIP_ADDUSER   WM_USER + 455

A new user has joined the channel.

Parameters:
wParam User's ID
lParam Channel ID

#define WM_EVOVOIP_AUDIOFILE_STATUS   WM_USER + 502

Parameters:
wParam The user ID
lParam Pointer to AudioFileStatus

#define WM_EVOVOIP_BROADCASTMESSAGE   WM_USER + 478

This message is posted if an admin has sent a broadcast text message to all users on the server. WPARAM contains user ID and LPARAM contains message ID.

Broadcast message were introduced in TCP protocol version 3.4.

Parameters:
wParam The user's ID.
lParam The message's ID
See also:
EVO_GetBroadcastMessage

#define WM_EVOVOIP_CHANNELMESSAGE   WM_USER + 462

A channel message has been received.

wParam Channel's ID lParam The message's ID

#define WM_EVOVOIP_CONNECTFAILED   WM_USER + 452

Failed to connect to server.

Parameters:
wParam Ignored
lParam Ignored

#define WM_EVOVOIP_CONNECTIONLOST   WM_USER + 453

Connection to server has been lost.

Parameters:
wParam Ignored
lParam Ignored

#define WM_EVOVOIP_CONNECTSUCCESS   WM_USER + 451

Connected successfully to the server. EVO_DoLogin can now be called in order to logon to the server.

Parameters:
wParam Ignored
lParam Ignored
See also:
EVO_DoLogin

#define WM_EVOVOIP_DIRCONNECTIONFAILED   WM_USER + 469

Establishing direct connection to a user failed and voice data must instead be forward through server.

Parameters:
wParam User's ID
lParam Ignored

#define WM_EVOVOIP_ERROR   WM_USER + 466

Failed to perform a command. Look up the error number in the TT3CmdErrors.html file in the Server-directory of the SDK. Alternatively use EVO_GetErrorMessage to get the error description.

Parameters:
wParam Error number
lParam Ignored
See also:
EVO_GetErrorMessage

#define WM_EVOVOIP_HOTKEY   WM_USER + 500

Parameters:
wParam = hotkey ID
lParam is TRUE when hotkey is active and FALSE when it becomes inactive.
See also:
EVO_RegisterHotKey

EVO_UnregisterHotKey

#define WM_EVOVOIP_JOINEDCHANNEL   WM_USER + 465

You have joined a new channel. You'll afterwards receive the WM_EVOVOIP_ADDUSER message for each of the users in the channel Note that WM_EVOVOIP_REMOVEUSER will not be called in order to remove the users from the channel you are currently participating in.

Parameters:
wParam Channel's ID
lParam Ignored
See also:
WM_EVOVOIP_ADDUSER

WM_EVOVOIP_REMOVEUSER

#define WM_EVOVOIP_KEYTEST   WM_USER + 501

Parameters:
wParam is the virtual key code.
lParam is the TRUE when key is down and FALSE when released.

#define WM_EVOVOIP_KICKED   WM_USER + 463

You have been kicked from the server.

Parameters:
wParam Ignored
lParam Ignored

#define WM_EVOVOIP_LEFTCHANNEL   WM_USER + 471

This message is posted when leaving a channel. The WPARAM contains the channel ID. Note that you may not be able to retrieve the channel you left if it's destroyed just after you leave it.

This message was added to support DoLeaveChannel. The server needs to support TCP protocol 3.4 for this message to be posted.

Parameters:
wParam Channel's ID
lParam Ignored
See also:
EVO_DoLeaveChannel

EVO_DoJoinChannel

#define WM_EVOVOIP_LISTCOMMAND_COMPLETED   WM_USER + 470

A list command issued by TT*_Do* has completed.

Parameters:
wParam Ignored
lParam Ignored
See also:
EVO_DoLogin

EVO_DoJoinChannel

EVO_Admin_DoLogin

EVO_Admin_DoListBans

#define WM_EVOVOIP_LOGGEDOUT   WM_USER + 472

This message is posted when you log out of a server. In response to EVO_DoLogout

The server needs to support TCP protocol 3.4 for this message to be posted.

Parameters:
wParam Ignored
lParam Ignored
See also:
EVO_DoLogout

#define WM_EVOVOIP_REMOVECHANNEL   WM_USER + 460

A channel has been removed.

Parameters:
wParam Channel's ID
lParam Ignored

#define WM_EVOVOIP_REMOVEFILE   WM_USER + 474

This message is posted when a file is removed from the channel a user is participating in. WPARAM contains the channel ID and LPARAM contains the file ID.

Note that you may not be able to retrieve information about the file being removed because it's an async call.

Parameters:
wParam Channel ID
lParam File ID

#define WM_EVOVOIP_REMOVEUSER   WM_USER + 457

User has exited the current channel.

Parameters:
wParam User's ID
lParam Channel ID

#define WM_EVOVOIP_SERVERUPDATE   WM_USER + 464

Server has updated its settings (server name, motd, etc.)

Parameters:
wParam Ignored
lParam Ignored

#define WM_EVOVOIP_SOUNDDEVICE_ERROR   WM_USER + 482

A sound device failed to initialize. This can e.g. happen if a new user joins a channel and there's no output channels available. nMaxOutputChannels of SoundDevice struct tells how many streams can be active simultaniously.

Parameters:
wParam The sound device ID (nDeviceID on SoundDevice struct).
See also:
WM_EVOVOIP_ADDUSER

EVO_GetOutputDevice

SoundDevice

#define WM_EVOVOIP_STREAMFILE_COMPLETED   WM_USER + 503

Parameters:
wParam The user ID
lParam Unused

#define WM_EVOVOIP_TRANSFER_BEGIN   WM_USER + 475

This message is posted when a new file transfer is started. WPARAM contains the transfer id which can be passed to EVO_Admin_GetFileTransferInfo.

Parameters:
wParam Transfer ID
lParam Ignored
See also:
EVO_Admin_GetFileTransferInfo

#define WM_EVOVOIP_TRANSFER_COMPLETED   WM_USER + 476

This message is posted when a file transfer is completed. WPARAM contains the transfer id.

Parameters:
wParam Transfer ID
lParam Ignored

#define WM_EVOVOIP_TRANSFER_FAILED   WM_USER + 477

This message is posted if a file transfer fails. WPARAM contains the transfer id. A file transfer which was rejected by the server will have a transfer id of 0. LPARAM contains the error number. Use EVO_GetErrorMessage to get the error description.

Parameters:
wParam Transfer ID
lParam Ignored
See also:
EVO_GetErrorMessage

#define WM_EVOVOIP_UPDATECHANNEL   WM_USER + 459

A channel has been removed. wParam Channel's ID lParam Ignored

#define WM_EVOVOIP_UPDATEUSER   WM_USER + 456

User information has changed.

Parameters:
wParam User's ID
lParam Channel ID

#define WM_EVOVOIP_USER_SUBSCRIBERS_RESULT   WM_USER + 504

Parameters:
wParam The user ID
See also:
EVO_Admin_DoQuerySubscribers

EVO_Admin_GetUserSubscribers

#define WM_EVOVOIP_USERLOGGEDIN   WM_USER + 480

This message is posted when a client logs on to a server (successful call to EVO_DoLogin). Use EVO_Admin_GetUser or EVO_GetUser to get information about the user.

Parameters:
wParam The user's ID.
lParam Unused
See also:
EVO_DoLogin

EVO_Admin_GetUser

EVO_GetUser

WM_EVOVOIP_USERLOGGEDOUT

#define WM_EVOVOIP_USERLOGGEDOUT   WM_USER + 481

This message is posted when a client logs out of a server (successful call to EVO_DoLogout). This message is also called with the user disconnects with EVO_Disconnect

Parameters:
wParam The user's ID.
lParam Unused
See also:
EVO_DoLogout

EVO_Disconnect

WM_EVOVOIP_USERLOGGEDIN

#define WM_EVOVOIP_USERMESSAGE   WM_USER + 461

A private message has been received.

Parameters:
wParam The user's user ID.
lParam The message's ID
See also:
GetUserMessage

#define WM_EVOVOIP_USERSTOPPEDTALKING   WM_USER + 468

A user has stopped talking.

Parameters:
wParam User's ID
lParam Ignored

#define WM_EVOVOIP_USERTALKING   WM_USER + 467

A user is talking.

Parameters:
wParam User's ID
lParam Ignored

#define WM_USER   0


Typedef Documentation

typedef struct _AudioFile AudioFile

A struct for holding information about a recording performed by the admin.

See also:
EVO_Admin_DoSubscribe

EVO_Admin_SetChannelAudioFolder

WM_EVOVOIP_AUDIOFILE_STATUS

Status messages for audio files being written to disk.

See also:
AudioFile

typedef struct _BannedUser BannedUser

A struct to hold a banned user. This structure is use by EVO_Admin_GetBannedUsers

See also:
EVO_Admin_GetBannedUsers

typedef int BOOL

typedef struct _Channel Channel

A struct for holding a channel. This structure is used by both the client and admin. As client the field szPassword will not be filled but instead the bPassword field.

See also:
EVO_Admin_GetChannel

EVO_GetChannel

typedef struct _FileInfo FileInfo

A struct for holding information about a file.

See also:
EVO_GetChannelFileInfo

EVO_Admin_GetChannelFileInfo

typedef struct _FileTransfer FileTransfer

A struct for holding a file transfer's information.

See also:
EVO_GetFileTransferInfo

EVO_Admin_GetFileTransferInfo

typedef int INT32

typedef long long INT64

typedef void* LPVOID

typedef int* PINT32

An enum for the different playback modes.

Mode PLAYBACKMODE_STABLE allows playback to buffer audio and only starts skipping packets if the buffer holds more than 10 packets. Mode PLAYBACKMODE_LOWLATENCY tries to keep the buffer below 2 packets after which it will start skipping packets. Mode PLAYBACKMODE_VARIABLE changes the sample rate of playback in order to ensure low lantency. Mode PLAYBACKMODE_JITTER uses a jitter buffer for keeping low latency.

See also:
EVO_SetPlaybackMode

EVO_GetPlaybackMode

typedef void* PVOID

A struct for holding information about a server. This structure is only used by the admin.

See also:
EVO_Admin_GetServerProperties

typedef struct _SoundDevice SoundDevice

An available sound device for either playback or recording. Use nDeviceID to pass to EVO_LaunchSoundSystem as either nInputDeviceID or nOutputDeviceID.

See also:
EVO_GetInputDevice

EVO_GetInputDevicesCount

EVO_GetOutputDevice

EVO_GetOutputDevicesCount

EVO_LaunchSoundSystem

typedef enum _SoundSystem SoundSystem

Which sound system to use. DirectSound is HIGHLY recommended on Windows.

See also:
EVO_LaunchSoundSystem

typedef void TalkingCallback(INT32 nUserID, INT32 nSampleRate, const short *pRawAudio, INT32 nSamples, PVOID pUserData)

Install a test hook so the HWND will be messaged when a key or mouse button is pressed. Capture the message WM_EVOVOIP_KEYTEST.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
hWnd is the handle of the window which will be notified.
See also:
EVO_RemoveTestHook

WM_EVOVOIP_KEYTEST A function pointer for callbacks when a user is talking. The user's raw audio can be extracted and stored on disk.

Parameters:
nUserID The ID of the user who is talking. Note that nUserID will be 0 for yourself while unconnected.
nSampleRate The frequency/sample rate of the user's audio.
pRawAudio Array pointer to the user's raw audio. If pRawAudio is NULL it means that the user stopped talking.
nSamples The number of samples in the pRawAudio array. If nSamples is 0 it means that the user stopped talking.
pUserData User data.

typedef char TTCHAR

OS specific types.

typedef struct _TTMessage TTMessage

A struct for holding an event which can be retrieved by called EVO_GetMessage or EVO_Admin_GetMessage. This struct is only required on non-Windows systems.

typedef unsigned int UINT

typedef struct _User User

A struct for holding a user's information. This structure is used by both the client and admin.

See also:
EVO_GetUser

EVO_Admin_GetUser


Enumeration Type Documentation

Status messages for audio files being written to disk.

See also:
AudioFile
Enumerator:
AFS_WAV_ERROR 
AFS_WAV_STARTED 
AFS_WAV_FINISHED 
AFS_ENCODING_ERROR 
AFS_ENCODING_BEGIN 
AFS_ENCODING_FINISHED 

An enum for the different playback modes.

Mode PLAYBACKMODE_STABLE allows playback to buffer audio and only starts skipping packets if the buffer holds more than 10 packets. Mode PLAYBACKMODE_LOWLATENCY tries to keep the buffer below 2 packets after which it will start skipping packets. Mode PLAYBACKMODE_VARIABLE changes the sample rate of playback in order to ensure low lantency. Mode PLAYBACKMODE_JITTER uses a jitter buffer for keeping low latency.

See also:
EVO_SetPlaybackMode

EVO_GetPlaybackMode

Enumerator:
PLAYBACKMODE_STABLE 
PLAYBACKMODE_LOWLATENCY 
PLAYBACKMODE_VARIABLE 
PLAYBACKMODE_JITTER 

Which sound system to use. DirectSound is HIGHLY recommended on Windows.

See also:
EVO_LaunchSoundSystem
Enumerator:
SOUNDSYSTEM_NOSOUND 
SOUNDSYSTEM_WINMM 
SOUNDSYSTEM_DSOUND 
SOUNDSYSTEM_ALSA 

Events and/or data users can subscribe to.

See also:
EVO_DoUserSubscribe

EVO_DoUserUnsubscribe

EVO_Admin_DoSubscribe

EVO_Admin_DoUnsubscribe

EVO_Admin_DoUserSubscribe

EVO_Admin_DoUserUnsubscribe

Enumerator:
SUBSCRIBE_NONE 
SUBSCRIBE_AUDIO 
SUBSCRIBE_USER_MSG 
SUBSCRIBE_CHANNEL_MSG 
SUBSCRIBE_BROADCAST_MSG 
SUBSCRIBE_ALL 


Function Documentation

EVOVOIPDLL_API BOOL EVO_Admin_CancelFileTranfer ( IN LPVOID  pAdminInstance,
IN INT32  nTransferID 
)

Cancel an active file transfer. An active file transfer is one which has been post through the message WM_EVOVOIP_TRANSFER_BEGIN.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nTransferID The ID of the file transfer to investigate. Transfer ID is passed by WM_EVOVOIP_TRANSFER_BEGIN.

EVOVOIPDLL_API BOOL EVO_Admin_Close ( IN LPVOID  pAdminInstance  ) 

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_Connect ( IN LPVOID  pAdminInstance,
IN const TTCHAR szHostAddress,
IN INT32  nTcpPort,
IN INT32  nUdpPort 
)

Connect to a VoIP server.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szHostAddress The IP-address or hostname of the VoIP server.
nTcpPort The TCP host port of the VoIP server.
nUdpPort The UDP port of the VoIP server. Specify this to receive audio though the EVO_Admin_DoSubscribe or EVO_Admin_DoUserSubscribe
See also:
EVO_Admin_DoSubscribe

WM_EVOVOIP_CONNECTSUCCESS

WM_EVOVOIP_CONNECTFAILED

EVOVOIPDLL_API BOOL EVO_Admin_Disconnect ( IN LPVOID  pAdminInstance  ) 

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_DoBanUser ( IN LPVOID  pAdminInstance,
IN INT32  nUserID 
)

Issue a ban command on a user in a specific channel. The ban applies to the user's IP-address. Call EVO_Admin_DoKickUser to kick the user off the server.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user to ban.
See also:
EVO_Admin_DoKickUser

EVOVOIPDLL_API BOOL EVO_Admin_DoBroadcastMessage ( IN LPVOID  pAdminInstance,
const TTCHAR szMessage 
)

Broadcast a message to all authorized users on the server.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szMessage The content of the message

EVOVOIPDLL_API BOOL EVO_Admin_DoChannelMessage ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
const TTCHAR szMessage 
)

Send a text-message to a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel
szMessage The content of the message

EVOVOIPDLL_API BOOL EVO_Admin_DoCloseStreamFile ( IN LPVOID  pAdminInstance,
IN INT32  nUserID 
)

Cancel a file which is being streamed to a user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user.
See also:
EVO_Admin_DoStreamFileToUser

EVOVOIPDLL_API BOOL EVO_Admin_DoDeleteFile ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN INT32  nFileID 
)

Delete a file from a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel where the file is located.
nFileID The ID of the file to delete. The ID of the file which is passed by WM_EVOVOIP_ADDFILE.
See also:
WM_EVOVOIP_ADDFILE

EVO_Admin_GetChannelFilesCount

EVO_Admin_GetChannelFileID

EVOVOIPDLL_API BOOL EVO_Admin_DoFileShare ( IN LPVOID  pAdminInstance,
IN INT64  nChannelDiskQuota 
)

Set the default disk quota for new channels.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelDiskQuota The number of bytes which each channel should have by default for file storage.

EVOVOIPDLL_API BOOL EVO_Admin_DoKickUser ( IN LPVOID  pAdminInstance,
IN INT32  nUserID 
)

Kick user off a server. To ban a user call EVO_Admin_DoBanUser.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user to kick.
See also:
EVO_Admin_DoBanUser

EVOVOIPDLL_API BOOL EVO_Admin_DoListBans ( IN LPVOID  pAdminInstance  ) 

Issue a command to the list of users.

This command issues a list command which will notify the HWND passed to EVO_Admin_Init when it's completed by sending the message WM_EVOVOIP_LISTCOMMAND_COMPLETED. Once completed call the function EVO_Admin_GetBannedUsers to get the list of users.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
See also:
EVO_Admin_Init

WM_EVOVOIP_LISTCOMMAND_COMPLETED

EVO_Admin_GetBannedUsers

EVOVOIPDLL_API BOOL EVO_Admin_DoLogin ( IN LPVOID  pAdminInstance,
IN const TTCHAR szUsername,
IN const TTCHAR szPasswd,
IN const TTCHAR szNickName 
)

Log on a connected VoIP server. Make sure server has remote administration enabled in the server's config-file.

This function should be called once the WM_EVOVOIP_CONNECTSUCCESS has been sent to the HWND which was passed to the EVO_Admin_Init.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szUsername The administrator username.
szPasswd The administrator password.
szNickName Optional nickname.
See also:
EVO_Admin_Init

WM_EVOVOIP_CONNECTSUCCESS

EVOVOIPDLL_API BOOL EVO_Admin_DoMakeChannel ( IN LPVOID  pAdminInstance,
IN const Channel lpChanInfo 
)

Make a new channel. The new channel is static by default.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
lpChanInfo A Channel-structure containing information about the channel being created. The Channel's member "nChannelID" is ignored.

EVOVOIPDLL_API BOOL EVO_Admin_DoMakeOperator ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN INT32  nChannelID 
)

Make user operator of a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user to make operator.
nChannelID The ID of the channel the user should become operator of.

EVOVOIPDLL_API BOOL EVO_Admin_DoMoveUser ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN const TTCHAR szDestChannel 
)

Issue command to move a user from one channel to another.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID User to be moved.
szDestChannel Channel path of where user should be put into.
See also:
EVO_Admin_DoMoveUserByID

EVOVOIPDLL_API BOOL EVO_Admin_DoMoveUserByID ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN INT32  nDestChannelID 
)

Issue command to move a user from one channel to another.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID User to be moved.
nDestChannelID ID of channel where user should be move into.

EVOVOIPDLL_API BOOL EVO_Admin_DoQuerySubscribers ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN Subscriptions  uSubscriptions 
)

Query a user's subscriptions Result will be posted in WM_EVOVOIP_USER_SUBSCRIBERS_RESULT.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user.
uSubscriptions Mask of Subscriptions to unsubscribe.

EVOVOIPDLL_API BOOL EVO_Admin_DoQuit ( IN LPVOID  pAdminInstance  ) 

Quit from server.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_DoRecvFile ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN INT32  nFileID,
IN const TTCHAR szLocalFilePath 
)

Download a file from the specified channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID ID of the channel to download from.
nFileID The ID of the file which is passed by WM_EVOVOIP_ADDFILE.
szLocalFilePath The path of where to store the file, e.g. C:.txt.
See also:
WM_EVOVOIP_ADDFILE

EVO_Admin_GetChannelFilesCount

EVO_Admin_GetChannelFileID

EVOVOIPDLL_API BOOL EVO_Admin_DoRemoveChannel ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID 
)

Remove a channel from a server. Note that if there's any users in the channel they will be kicked and subchannels will be deleted as well.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel to remove.

EVOVOIPDLL_API BOOL EVO_Admin_DoSaveConfig ( IN LPVOID  pAdminInstance  ) 

Save the server's current state to its settings file (typically the server's .xml file).

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_DoSendFile ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN const TTCHAR szLocalFilePath 
)

Send a file to the specified channel. Note that as admin the size of the disk quota does not apply. EVO_Admin_DoUpdateChannel can be used to modify the size of the disk quota of a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID ID of the channel to send to.
szLocalFilePath The path of the file to upload, e.g. C:.txt.
See also:
EVO_Admin_UpdateChannel

EVOVOIPDLL_API BOOL EVO_Admin_DoStreamFileToUser ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN const TTCHAR szFileName,
IN INT32  nSendSampleRate,
IN INT32  nQuality 
)

Stream a .wav file to a user. The user must have called DoUserSubscribe on the admin before it's possible to receive the stream.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user.
szFileName File path to .wav file.
nSendSampleRate The samplerate to use for sending. Either 8000, 16000 or 32000.
nQuality The quality to use for the encoder (0-10).
See also:
EVO_DoUserSubscribe

EVO_DoUserUnsubscribe

EVO_Admin_DoCloseStreamFile

WM_EVOVOIP_STREAMFILE_COMPLETED

EVOVOIPDLL_API BOOL EVO_Admin_DoSubscribe ( IN LPVOID  pAdminInstance,
IN Subscriptions  uSubscriptions 
)

Subscribe to user events/data. This setting will affect the server globally unlike EVO_Admin_DoUserSubscribe() which only affects a single user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
uSubscriptions Union of Subscriptions to subscribe to.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_Admin_DoUnBanUser ( IN LPVOID  pAdminInstance,
IN const TTCHAR szIpAddress 
)

Unban the user with the specified IP-address.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szIpAddress The IP-address to unban.

EVOVOIPDLL_API BOOL EVO_Admin_DoUnsubscribe ( IN LPVOID  pAdminInstance,
IN Subscriptions  uSubscriptions 
)

Unsubscribe to user events/data. This setting will affect the server globally unlike EVO_Admin_DoUserUnsubscribe() which only affects a single user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
uSubscriptions Union of Subscriptions to unsubscribe.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateAdmin ( IN LPVOID  pAdminInstance,
IN const TTCHAR szUsername,
IN const TTCHAR szPassword 
)

Issue command to set a new username and password for the remote administrator. An empty username or password will disable remote logins.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szUsername The new username for admin.
szPassword The new password for admin.

EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateChannel ( IN LPVOID  pAdminInstance,
IN const Channel lpChanInfo 
)

Update a channel's properties.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
lpChanInfo A Channel-structure containing information about the channel being created. The Channel's member "nParentChannelID" and "szName" are ignored.

EVOVOIPDLL_API BOOL EVO_Admin_DoUpdateServer ( IN LPVOID  pAdminInstance,
IN const ServerProperties lpServerInfo 
)

Update server properties.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
lpServerInfo A structure holding the information to be set on the server.

EVOVOIPDLL_API BOOL EVO_Admin_DoUserMessage ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
const TTCHAR szMessage 
)

Send administrator message to a user. The WM_EVOVOIP_USERMESSAGE will be posted in the client. The user should reply to the admin with EVO_DoUserMessage(.) and the WM_EVOVOIP_USERMESSAGE will be posted in the admin.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The user who should receive the message
szMessage The content of the message
See also:
EVO_DoUserMessage

EVO_GetUserMessage

EVO_DoSendChannelMessage

EVOVOIPDLL_API BOOL EVO_Admin_DoUserSubscribe ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN Subscriptions  uSubscriptions 
)

Subscribe to user events/data.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user this should affect.
uSubscriptions Union of Subscriptions to subscribe to.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_Admin_DoUserUnsubscribe ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN Subscriptions  uSubscriptions 
)

Unsubscribe to user events/data. This can be used to ignore messages or voice data from a specific user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user this should affect.
uSubscriptions Mask of Subscriptions to unsubscribe.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_Admin_GetBannedUsers ( IN LPVOID  pAdminInstance,
OUT BannedUser lpBannedUsers,
IN INT32  nCount,
OUT INT32 lpnHowMany 
)

Get a list of banned users.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
lpBannedUsers A preallocated array to hold banned users.
nCount The max number of banned users the lpBannedUsers array can hold.
lpnHowMany The number of banned users in the list to extract. This parameter can be NULL.

EVOVOIPDLL_API BOOL EVO_Admin_GetBroadcastMessage ( IN LPVOID  pAdminInstance,
IN INT32  nMsgID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a message which was broadcasted to all users from an administrator. This function will most likely be called as a result of the message WM_EVOVOIP_BROADCASTMESSAGE.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nMsgID The ID of the message broadcasted.
szContent The content of the message broadcasted.
See also:
WM_EVOVOIP_BROADCASTMESSAGE

EVOVOIPDLL_API BOOL EVO_Admin_GetChannel ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
OUT Channel lpChannel 
)

Get the channel with a specific ID.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel to get information about.
lpChannel A pointer to a Channel struct which will receive the channel's data.
Returns:
FALSE if unable to retrieve channel otherwise TRUE

EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFileID ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN INT32  nFileIndex,
OUT INT32 lpnFileID 
)

Get information about a file in a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel where the file is located.
nFileIndex The index of the file (nFileIndex >= 0 && nFileIndex < EVO_Admin_GetChannelFilesCount).
lpnFileID A pointer which will received the ID of the file. Use EVO_Admin_GetChannelFileInfo to get more info.
See also:
EVO_GetChannelFilesCount

EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFileInfo ( IN LPVOID  pAdminInstance,
IN INT32  nFileID,
OUT FileInfo lpFileInfo 
)

Get information about a file which can be downloaded.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nFileID The ID of the file.
lpFileInfo A pointer to a FileInfo-struct which will receive file information.

EVOVOIPDLL_API BOOL EVO_Admin_GetChannelFilesCount ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
OUT INT32 lpnFilesCount 
)

Get the number of files in the specified channel. Use EVO_Admin_GetChannelFileID to do an index-based sweep of the files in the channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The ID of the channel where the file is located.
lpnFilesCount A pointer which will be passed the number of files.
See also:
EVO_Admin_GetChannelFileID

EVOVOIPDLL_API INT32 EVO_Admin_GetChannelID ( IN LPVOID  pAdminInstance,
IN const TTCHAR szChannelPath 
)

Get the ID of the specified channel

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szChannelPath The path of the channel which ID you want to obtain.
Returns:
The channel ID or -1 if the channel doesn't exist.

EVOVOIPDLL_API BOOL EVO_Admin_GetChannelMessage ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN INT32  nMsgID,
OUT INT32 lpnFromUserID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a channel message.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID the ID of the channel to extract the message.
nMsgID the ID of the message to extract.
lpnFromUserID The ID of the user who sent the message.
szContent The content of the message.

EVOVOIPDLL_API BOOL EVO_Admin_GetChannelPath ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
OUT TTCHAR  szChannelPath[EVO_STRLEN] 
)

Get the channel's path. Channels are separated by '/'

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nChannelID The channel's ID
szChannelPath Will receive the channel's path.
Returns:
Returns TRUE if channel exists.

EVOVOIPDLL_API BOOL EVO_Admin_GetFileShare ( IN LPVOID  pAdminInstance,
OUT TTCHAR  szFilesRoot[EVO_STRLEN],
OUT INT64 lpnChannelDiskQuota,
OUT INT64 lpnMaxDiskUsage 
)

Get information the current file share settings.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
szFilesRoot The location where the server stores its files.
lpnChannelDiskQuota The default disk quota of a channel.
lpnMaxDiskUsage The server's maximum for file storage.

EVOVOIPDLL_API BOOL EVO_Admin_GetFileTransferInfo ( IN LPVOID  pAdminInstance,
IN INT32  nTransferID,
OUT FileTransfer lpTransfer 
)

Get information about an active file transfer. An active file transfer is one which has been post through the message WM_EVOVOIP_TRANSFER_BEGIN.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nTransferID The ID of the file transfer to investigate. Transfer ID is passed by WM_EVOVOIP_TRANSFER_BEGIN.
lpTransfer A pointer to a struct which will receive the file transfer information.
See also:
WM_EVOVOIP_TRANSFER_BEGIN

EVOVOIPDLL_API BOOL EVO_Admin_GetMessage ( IN LPVOID  pAdminInstance,
OUT TTMessage pMsg,
IN const INT32 pnWaitMs 
)

Event handling on Linux must be processed by calling EVO_GetMessage or EVO_Admin_GetMessage.

On Windows a each client sends its events to a HWND but on Linux event handling has to be done manually by calling this function.

Parameters:
pAdminInstance Pointer to client instance created by
pMsg Pointer to a TTMessage instance which will hold the events that has occured.
pnWaitMs The amount of time to wait for the event. If NULL the function will block forever or until the next event occurs.
Returns:
Returns TRUE if an event has occured otherwise FALSE.
See also:
EVO_GetMessage

EVOVOIPDLL_API INT32 EVO_Admin_GetMyUserID ( IN LPVOID  pAdminInstance  ) 

Get the User ID assigned to the administrator login.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
Returns:
Returns -1 on error.

EVOVOIPDLL_API BOOL EVO_Admin_GetServerProperties ( IN LPVOID  pAdminInstance,
OUT ServerProperties lpServerInfo 
)

Get the server's settings in a ServerProperties-struct.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
lpServerInfo Pointer to the struct to hold the ServerProperties.

EVOVOIPDLL_API INT32 EVO_Admin_GetServerTimeout ( IN LPVOID  pAdminInstance  ) 

Get the number of seconds the client should allow the server not to respond to keepalive requests

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
Returns:
The number of seconds. On error -1.

EVOVOIPDLL_API INT32 EVO_Admin_GetTcpKeepAliveInterval ( IN LPVOID  pAdminInstance  ) 

Gets how often the ping command should be sent to the server

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
Returns:
The number of seconds. On error -1.

EVOVOIPDLL_API BOOL EVO_Admin_GetUser ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
OUT User lpUser 
)

Get information about a user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user to get information about.
lpUser A User struct to be filled with user information.
See also:
USERSTATUS_AVAILABLE

USERSTATUS_AWAY

EVOVOIPDLL_API BOOL EVO_Admin_GetUserMessage ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN INT32  nMsgID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a private message from a user.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user who sent the message.
nMsgID The ID of the message to extract.
szContent Will receive the content of the message to extract.

EVOVOIPDLL_API BOOL EVO_Admin_Init ( OUT LPVOID pNewAdminInstance  ) 

Initialize the VoIP administrator module. The administrator module works in similar was as the client by sending message to the HWND which is passed to the function.

Parameters:
pNewAdminInstance Pointer to a new instance admin instance. Call EVO_Admin_Close to destroy the instance and release its resources.
See also:
EVO_Admin_Close

EVOVOIPDLL_API BOOL EVO_Admin_IsAuthorized ( IN LPVOID  pAdminInstance  ) 

Check if admin has performed login and has been authorized.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_IsChannelOperator ( IN LPVOID  pAdminInstance,
IN INT32  nUserID,
IN INT32  nChannelID 
)

Check wheher a user is operator of a channel.

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nUserID The ID of the user.
nChannelID The ID of the channel.

EVOVOIPDLL_API BOOL EVO_Admin_IsConnected ( IN LPVOID  pAdminInstance  ) 

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_IsConnecting ( IN LPVOID  pAdminInstance  ) 

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.

EVOVOIPDLL_API BOOL EVO_Admin_SetChannelAudioFolder ( IN LPVOID  pAdminInstance,
IN INT32  nChannelID,
IN const TTCHAR szFolderPath 
)

Set the path of where to store audio from a channel to disk. In order to use the LAME MP3 encoder the file lame_enc.dll must be place in the same directory as the VoIP3.dll file.

See also:
Channel

WM_EVOVOIP_AUDIOFILE_STATUS

EVOVOIPDLL_API BOOL EVO_Admin_SetServerTimeout ( IN LPVOID  pAdminInstance,
IN INT32  nTimeoutSec 
)

Set the number of seconds the client should allow the server not to respond to keepalive requests

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nTimeoutSec Seconds before dropping connection if it hasn't replied

EVOVOIPDLL_API BOOL EVO_Admin_SetTcpKeepAliveInterval ( IN LPVOID  pAdminInstance,
IN INT32  nPingIntervalSec 
)

Sets how often the ping command should be sent to the server

Parameters:
pAdminInstance Pointer to admin instance created by EVO_Admin_Init.
nPingIntervalSec Seconds between issuing the ping-command

EVOVOIPDLL_API BOOL EVO_AutoPositionUsers ( IN LPVOID  pClientInstance  ) 

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_SetUserPosition

EVOVOIPDLL_API BOOL EVO_CancelFileTranfer ( IN LPVOID  pClientInstance,
IN INT32  nTransferID 
)

Cancel an active file transfer. An active file transfer is one which has been post through the message WM_EVOVOIP_TRANSFER_BEGIN.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nTransferID The ID of the file transfer to investigate. Transfer ID is passed by WM_EVOVOIP_TRANSFER_BEGIN.

EVOVOIPDLL_API BOOL EVO_CloseVoIP ( IN LPVOID  pClientInstance  ) 

Close the VoIP client and release its resources. You'll need to call EVO_InitVoIP before you call any of the other EVO_* functions.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_InitVoIP

EVOVOIPDLL_API BOOL EVO_Connect ( IN LPVOID  pClientInstance,
IN const TTCHAR lpszHostAddress,
IN INT32  nTcpPort,
IN INT32  nUdpPort,
IN INT32  nLocalTcpPort,
IN INT32  nLocalUdpPort 
)

Connect to a server. This is a non-blocking call, the message WM_EVOVOIP_CONNECTSUCCESS will be sent once the connection has been established or WM_EVOVOIP_CONNECTFAILED if connection could not be established. Sound system must be initialized before you connect

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpszHostAddress The IP-address or hostname of the server.
nTcpPort The host port of the server (TCP).
nUdpPort The sound port of the server (UDP).
nLocalTcpPort The local Tcp port which should be used. Setting it to 0 makes Windows select a port number (recommended).
nLocalUdpPort The local Udp port which should be used. Setting it to 0 makes Windows select a port number (recommended).
See also:
WM_EVOVOIP_CONNECTSUCCESS

WM_EVOVOIP_CONNECTFAILED

EVOVOIPDLL_API BOOL EVO_Disconnect ( IN LPVOID  pClientInstance  ) 

Disconnect from a server.

Remember to disconnect from the server and afterwards shutdown the sound system when you quit your application.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_DoChangeNick ( IN LPVOID  pClientInstance,
IN const TTCHAR lpszNewNick 
)

Change your nick name.

The message WM_EVOVOIP_UPDATEUSER will be posted if the update was successful.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpszNewNick is the new nick name to use.
See also:
WM_EVOVOIP_UPDATEUSER

EVOVOIPDLL_API BOOL EVO_DoChangeStatus ( IN LPVOID  pClientInstance,
IN INT32  nStatusMode,
IN const TTCHAR lpszStatusMessage 
)

Change you currect status

The message WM_EVOVOIP_UPDATEUSER will be posted if the update was successful.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nStatusMode should be 0 for available and 1 for away.
lpszStatusMessage The users message associated with the status mode.
See also:
USERSTATUS_AVAILABLE

USERSTATUS_AWAY

WM_EVOVOIP_UPDATEUSER

EVOVOIPDLL_API BOOL EVO_DoChannelMessage ( IN LPVOID  pClientInstance,
IN const TTCHAR lpszContent 
)

Send a message to the channel you're currently parcipating in. Note that the server supports channel commands which are messages which start with a '/', e.g. /stats.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpszContent is the message. The message can be multi line but should not be longer than EVO_STRLEN - 1 characters.

EVOVOIPDLL_API BOOL EVO_DoChannelOp ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Make another user channel operator. Requires that you are channel operator.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID is the user who should become channel operator.

EVOVOIPDLL_API BOOL EVO_DoDeleteFile ( IN LPVOID  pClientInstance,
IN INT32  nFileID 
)

Delete a file from a channel. The user must be operator of the channel where the file is located.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nFileID The ID of the file to delete. The ID of the file which is passed by WM_EVOVOIP_ADDFILE.
See also:
WM_EVOVOIP_ADDFILE

EVO_GetChannelFilesCount

EVO_GetChannelFileID

EVOVOIPDLL_API BOOL EVO_DoJoinChannel ( IN LPVOID  pClientInstance,
IN const TTCHAR lpszChannelPath,
IN const TTCHAR lpszPassword,
IN const TTCHAR lpszTopic,
IN const TTCHAR lpszOpPassword 
)

EVO_DoJoinChannel(...) is used for joining a channel but also creating a new channel if the server allows it. Whether users should be allowed to create channels can be configured in the server's .xml file. If EVO_DoJoinChannel is being used to join a channel the parameters "lpszTopic" and "lpszOpPassword" are ignored.

When EVO_DoJoinChannel(...) is used to create channels it work a bit like IRC. If you try to join a channel which does not exist it will be created as a new channel. If you are the last user to leave a channel the channel will be removed on the server (unless it's a static channel). In the server's configuration file you can see how to set up static channels and whether users should be allowed to create channels. Subchannels are separated by '/' so to create a channel called "foo" with the password "bar" and the topic "FooBar" you call EVO_DoJoinChannel in the following way: EVO_DoJoinChannel("/foo", "bar", "FooBar").

If the channel is created successfully the message WM_EVOVOIP_ADDCHANNEL will be sent, followed by WM_EVOVOIP_JOINEDCHANNEL.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpszChannelPath The channel to join. Channels are separated by a '/'.
lpszPassword The password for the channel to join or for a new channel.
lpszTopic A topic that can be set for a new channel. Don't include a topic if the channel already exists.
lpszOpPassword The password a user can specify to become channel operator. The password must be sent as a channel message using the prefix "/op".
See also:
EVO_DoChannelMessage

EVO_DoLeaveChannel

WM_EVOVOIP_ADDCHANNEL

WM_EVOVOIP_JOINEDCHANNEL

EVOVOIPDLL_API BOOL EVO_DoJoinChannelByID ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
IN const TTCHAR lpszPassword 
)

This command calls EVO_DoJoinChannel but omits the unnecessary parameters for only joining a channel and not creating a new one.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The ID of the channel to join.
lpszPassword The password for the channel to join.
See also:
EVO_DoChannelMessage

EVO_DoLeaveChannel

WM_EVOVOIP_ADDCHANNEL

WM_EVOVOIP_JOINEDCHANNEL

EVOVOIPDLL_API BOOL EVO_DoKickUser ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Kick a user from the channel you are currently participating in.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user to kick.

EVOVOIPDLL_API BOOL EVO_DoLeaveChannel ( IN LPVOID  pClientInstance  ) 

Leave a channel.

Note that EVO_DoLeaveChannel() doesn't take any parameters since a user can only participate in one channel at the time. If command is successful the message WM_EVOVOIP_REMOVEUSER will be sent.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
DoJoinChannel

WM_EVOVOIP_REMOVEUSER

WM_EVOVOIP_LEFTCHANNEL

EVOVOIPDLL_API BOOL EVO_DoLogin ( IN LPVOID  pClientInstance,
IN const TTCHAR lpszNickName,
IN const TTCHAR lpszServerPassword 
)

Logon to a VoIP server.

Once connected to a server call EVO_DoLogin(..) to logon. If the login is successful WM_EVOVOIP_ACCEPTED is posted to your HWND, otherwise WM_EVOVOIP_ERROR. Once logged on you're not in a channel. Call EVO_DoJoinChannel to join a channel.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpszNickName is the nick name to use.
lpszServerPassword is the server's password.
See also:
EVO_DoJoinChannel

WM_EVOVOIP_ACCEPTED

WM_EVOVOIP_ERROR

EVOVOIPDLL_API BOOL EVO_DoLogout ( IN LPVOID  pClientInstance  ) 

Logout of a server.

If successful the message WM_EVOVOIP_LOGGEDOUT will be posted.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
WM_EVOVOIP_LOGGEDOUT

EVOVOIPDLL_API BOOL EVO_DoRecvFile ( IN LPVOID  pClientInstance,
IN INT32  nFileID,
IN const TTCHAR szLocalFilePath 
)

Download a file from the specified channel. It must be the same channel as the user is currently partipating in.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nFileID The ID of the file which is passed by WM_EVOVOIP_ADDFILE.
szLocalFilePath The path of where to store the file, e.g. C:.txt.
See also:
WM_EVOVOIP_ADDFILE

EVO_GetChannelFilesCount

EVO_GetChannelFileID

EVOVOIPDLL_API BOOL EVO_DoSendFile ( IN LPVOID  pClientInstance,
IN const TTCHAR szLocalFilePath 
)

Send a file to the specified channel. It must be the same channel as the user is currently partipating in. The file being uploaded must have a file size which is less than the disk quota of the channel, minus the sum of all the files in the channel. The disk quota of a channel can be obtained in the nDiskQuota of the Channel-struct passed to EVO_GetChannel.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
szLocalFilePath The path of the file to upload, e.g. C:.txt.
See also:
Channel

EVO_GetChannel

EVOVOIPDLL_API BOOL EVO_DoUserMessage ( IN LPVOID  pClientInstance,
IN INT32  nToUserID,
IN const TTCHAR lpszContent 
)

Send a private message to a user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nToUserID The user who'll receive the message.
lpszContent The message can be multi-line (include EOL) but should not be longer than EVO_STRLEN - 1 characters.

EVOVOIPDLL_API BOOL EVO_DoUserSubscribe ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN Subscriptions  uSubscriptions 
)

Subscribe to user events/data.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user this should affect.
uSubscriptions Union of Subscriptions to subscribe to.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_DoUserUnsubscribe ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN Subscriptions  uSubscriptions 
)

Unsubscribe to user events/data. This can be used to ignore messages or voice data from a specific user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user this should affect.
uSubscriptions Union of Subscriptions to unsubscribe.
See also:
Subscriptions

EVOVOIPDLL_API BOOL EVO_EnableAGC ( IN LPVOID  pClientInstance,
IN BOOL  bEnable 
)

Enable Automatic Gain Control

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bEnable Whether to enable AGC.

EVOVOIPDLL_API BOOL EVO_EnableAutoPositioning ( IN LPVOID  pClientInstance,
IN BOOL  bEnable 
)

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bEnable TRUE to enable, otherwise FALSE.
See also:
EVO_SetUserPosition

EVOVOIPDLL_API BOOL EVO_EnableDenoising ( IN LPVOID  pClientInstance,
IN BOOL  bEnable 
)

Enable denoising of outgoing audio

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bEnable TRUE to enable, otherwise FALSE.
See also:
EVO_IsDenoising

EVOVOIPDLL_API BOOL EVO_EnableEchoCancellation ( IN LPVOID  pClientInstance,
IN BOOL  bEnable 
)

Enable echo cancellation (experimental). Still not working properly.

Note that it's very CPU intensive.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bEnable TRUE to enable, otherwise FALSE.

EVOVOIPDLL_API BOOL EVO_EnableVoiceActivation ( IN LPVOID  pClientInstance,
BOOL  bEnable 
)

Enable voice activation.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bEnable TRUE to enable, otherwise FALSE.

EVOVOIPDLL_API BOOL EVO_ForwardToAll ( IN LPVOID  pClientInstance,
IN BOOL  bForward 
)

When set to true the server will broadcast audio packets instead of the client. Forwarding through the server is enabled by default.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bForward TRUE to enable, otherwise FALSE.

EVOVOIPDLL_API BOOL EVO_GetAGCSettings ( IN LPVOID  pClientInstance,
IN PINT32  lpnGainLevel,
OUT PINT32  lpnMaxIncrement,
OUT PINT32  lpnMaxDecrement,
OUT PINT32  lpnMaxGain 
)

Get Automatic Gain Control settings.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpnGainLevel A value from 0 to 32768.
lpnMaxIncrement Used so volume should not be amplified too quickly (maximal gain increase in dB/second).
lpnMaxDecrement Negative value! Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second).
lpnMaxGain Ensure volume doesn't become too loud (maximal gain in dB).
See also:
EVO_EnableAGC

EVOVOIPDLL_API BOOL EVO_GetBroadcastMessage ( IN LPVOID  pClientInstance,
IN INT32  nMsgID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a message which was broadcasted to all users from an administrator. This function will most likely be called as a result of the message WM_EVOVOIP_BROADCASTMESSAGE.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nMsgID The ID of the message broadcasted.
szContent The content of the message broadcasted.
See also:
WM_EVOVOIP_BROADCASTMESSAGE

EVOVOIPDLL_API INT32 EVO_GetBytesReceived ( IN LPVOID  pClientInstance  ) 

Get the number of bytes sent. Note that the number of bytes transferred does not include TCP/IP overhead.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API INT32 EVO_GetBytesSent ( IN LPVOID  pClientInstance  ) 

Get the number of bytes received. Note that the number of bytes transferred does not include TCP/IP overhead.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_GetChannel ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
OUT Channel lpChannel 
)

Get the channel with a specific ID.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The ID of the channel to get information about.
lpChannel A pointer to a Channel struct which will receive the channel's data.
Returns:
FALSE if unable to retrieve channel otherwise TRUE

EVOVOIPDLL_API BOOL EVO_GetChannelFileID ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
IN INT32  nFileIndex,
OUT INT32 lpnFileID 
)

Get information about a file in a channel.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The ID of the channel where the file is located.
nFileIndex The index of the file (nFileIndex >= 0 && nFileIndex < EVO_GetChannelFilesCount).
lpnFileID A pointer which will received the ID of the file. Use EVO_GetChannelFileInfo to get more info.
See also:
EVO_GetChannelFilesCount

EVOVOIPDLL_API BOOL EVO_GetChannelFileInfo ( IN LPVOID  pClientInstance,
IN INT32  nFileID,
OUT FileInfo lpFileInfo 
)

Get information about a file which can be downloaded.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nFileID The ID of the file.
lpFileInfo A pointer to a FileInfo-struct which will receive file information.

EVOVOIPDLL_API BOOL EVO_GetChannelFilesCount ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
OUT INT32 lpnFilesCount 
)

Get the number of files in the specified channel. Use EVO_GetChannelFileID to do an index-based sweep of the files in the channel.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The ID of the channel where the file is located.
lpnFilesCount A pointer which will be passed the number of files.
See also:
EVO_GetChannelFileID

EVOVOIPDLL_API BOOL EVO_GetChannelMessage ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
IN INT32  nMsgID,
OUT INT32 lpnFromUserID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a channel message.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID the ID of the channel to extract the message.
nMsgID the ID of the message to extract.
lpnFromUserID The ID of the user who sent the message.
szContent The content of the message.
See also:
WM_EVOVOIP_CHANNELMESSAGE

EVOVOIPDLL_API INT32 EVO_GetChannelParentID ( IN LPVOID  pClientInstance,
IN INT32  nChannelID 
)

Get the ID of the channel's parent.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The ID of the channel.
Returns:
Returns -1 if there's no parent channel, otherwise the channel's parent ID.

EVOVOIPDLL_API BOOL EVO_GetChannelPath ( IN LPVOID  pClientInstance,
IN INT32  nChannelID,
OUT TTCHAR  szChannelPath[EVO_STRLEN] 
)

Get the channel's path. Channels are separated by '/'

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID The channel's ID
szChannelPath Will receive the channel's path.
Returns:
Returns TRUE if channel exists.

EVOVOIPDLL_API INT32 EVO_GetChannelUserCount ( IN LPVOID  pClientInstance,
IN INT32  nChannelID 
)

Get the number of users in a channel.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nChannelID is the ID of the channel.

EVOVOIPDLL_API INT32 EVO_GetCurrentInputLevel ( IN LPVOID  pClientInstance  ) 

Get the value of the currently recorded audio.

Returns a value between SOUND_VU_MIN and SOUND_VU_MAX

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
SOUND_VU_MIN

SOUND_VU_MAX

EVOVOIPDLL_API BOOL EVO_GetDefaultDevices ( IN LPVOID  pClientInstance,
OUT SoundSystem lpnSoundSystem,
OUT INT32 lpnInputDeviceID,
OUT INT32 lpnOutputDeviceID 
)

Get the default audio devices.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpnSoundSystem The default sound system
lpnInputDeviceID The ID of the default input device
lpnOutputDeviceID The ID of the default output device
See also:
EVO_LaunchSoundSystem

EVOVOIPDLL_API INT32 EVO_GetEncoderComplexity ( IN LPVOID  pClientInstance  ) 

Experimental

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API void EVO_GetErrorMessage ( IN INT32  nError,
OUT TTCHAR  szErrorMsg[EVO_STRLEN] 
)

Get a description of an error code posted by either WM_EVOVOIP_ERROR or WM_EVOVOIP_TRANSFER_FAILED

Parameters:
nError The number of the error.
szErrorMsg A text description of the error.
See also:
WM_EVOVOIP_ERROR

WM_EVOVOIP_TRANSFER_FAILED

EVOVOIPDLL_API BOOL EVO_GetFileTransferInfo ( IN LPVOID  pClientInstance,
IN INT32  nTransferID,
OUT FileTransfer lpTransfer 
)

Get information about an active file transfer. An active file transfer is one which has been post through the message WM_EVOVOIP_TRANSFER_BEGIN.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nTransferID The ID of the file transfer to investigate. Transfer ID is passed by WM_EVOVOIP_TRANSFER_BEGIN.
lpTransfer A pointer to a struct which will receive the file transfer information.
See also:
WM_EVOVOIP_TRANSFER_BEGIN

EVOVOIPDLL_API BOOL EVO_GetInputDevice ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem,
IN INT32  nIndex,
OUT SoundDevice pSoundDevice 
)

Get information about an input device. Note that DirectSound is HIGHLY recommended.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem The sound system to examine. Can be either SOUNDSYSTEM_DSOUND or SOUNDSYSTEM_WINMM
nIndex The index of the device to extract.
pSoundDevice Struct to hold the sound device's properties. Pass nDeviceID to EVO_LaunchSoundSystem
See also:
SOUNDSYSTEM_DSOUND

SOUNDSYSTEM_WINMM

EVO_GetInputDevicesCount

EVO_GetDefaultDevices

EVO_LaunchSoundSystem

EVOVOIPDLL_API INT32 EVO_GetInputDevicesCount ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem 
)

Get the number of input devices.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem the sound system to examine.
See also:
SOUNDSYSTEM_DSOUND

SOUNDSYSTEM_WINMM

EVO_GetInputDevice

EVO_GetDefaultDevices

EVOVOIPDLL_API INT32 EVO_GetMasterVolume ( IN LPVOID  pClientInstance  ) 

Get master volume.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
SOUND_VOLUME_MAX

SOUND_VOLUME_MIN

Returns:
Returns the master volume.

EVOVOIPDLL_API BOOL EVO_GetMessage ( IN LPVOID  pClientInstance,
OUT TTMessage pMsg,
IN const INT32 pnWaitMs 
)

Event handling on Linux must be processed by calling EVO_GetMessage.

On Windows a each client sends its events to a HWND but on Linux event handling has to be done manually by calling this function.

Parameters:
pClientInstance Pointer to client instance created by
pMsg Pointer to a TTMessage instance which will hold the events that has occured.
pnWaitMs The amount of time to wait for the event. If NULL the function will block forever or until the next event occurs.
Returns:
Returns TRUE if an event has occured otherwise FALSE.
See also:
EVO_Admin_GetMessage

EVOVOIPDLL_API BOOL EVO_GetMessageOfTheDay ( IN LPVOID  pClientInstance,
OUT TTCHAR  szMotd[EVO_STRLEN] 
)

Get the server's message of the day (MOTD). Deprecated, use EVO_GetServerProperties.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
szMotd will receive the MOTD.
See also:
EVO_GetServerProperties

EVOVOIPDLL_API INT32 EVO_GetMyChannelID ( IN LPVOID  pClientInstance  ) 

Get the channel current user is participating in.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
Returns the ID of the current channel. If 0 is returned the user is not participating in a channel.

EVOVOIPDLL_API INT32 EVO_GetMyUserID ( IN LPVOID  pClientInstance  ) 

Get the user's user ID

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
Returns the user ID assigned to the current user on the server. -1 is returned if no ID has been assigned to the user.

EVOVOIPDLL_API BOOL EVO_GetOutputDevice ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem,
IN INT32  nIndex,
OUT SoundDevice pSoundDevice 
)

Get information about an input device.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem the sound system to examine.
nIndex the index of the device to extract.
pSoundDevice Struct to hold the sound device's properties. Pass nDeviceID to EVO_LaunchSoundSystem
See also:
SOUNDSYSTEM_DSOUND

SOUNDSYSTEM_WINMM

EVO_GetOutputDevicesCount

EVO_GetDefaultDevices

EVOVOIPDLL_API INT32 EVO_GetOutputDevicesCount ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem 
)

Get the number of output devices.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem the sound system to examine.
See also:
SOUNDSYSTEM_DSOUND

SOUNDSYSTEM_WINMM

EVO_GetOutputDevice

EVO_GetDefaultDevices

EVOVOIPDLL_API INT32 EVO_GetPacketSize ( IN INT32  nRecorderFreq,
IN INT32  nQuality 
)

Get the number of bytes in a packet with the specified settings.

Parameters:
nRecorderFreq Should be either 8000, 16000 or 32000 Hz.
nQuality A value between ENC_QUALITY_MIN and ENC_QUALITY_MAX
See also:
ENC_QUALITY_MIN

ENC_QUALITY_MAX

EVOVOIPDLL_API PlaybackMode EVO_GetPlaybackMode ( IN LPVOID  pClientInstance  ) 

The currently selected playback mode.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
See PlaybackMode enumeration for types of playback
See also:
EVO_SetPlaybackMode

PlaybackMode

EVOVOIPDLL_API INT32 EVO_GetRootChannelID ( IN LPVOID  pClientInstance  ) 

Get the root channel's ID

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
Returns the ID of the root channel. If -1 is returned no root channel exists.

EVOVOIPDLL_API INT32 EVO_GetSamplesPerPacket ( IN INT32  nRecorderFreq,
IN INT32  nQuality 
)

Get the number of samples required for VoIP to send a packet using the specified recorder frequency and quality.

Parameters:
nRecorderFreq Should be either 8000, 16000 or 32000 Hz.
nQuality A value between ENC_QUALITY_MIN and ENC_QUALITY_MAX
See also:
ENC_QUALITY_MIN

ENC_QUALITY_MAX

EVOVOIPDLL_API BOOL EVO_GetServerName ( IN LPVOID  pClientInstance,
OUT TTCHAR  szName[EVO_STRLEN] 
)

Get the server's name. Deprecated, use EVO_GetServerProperties.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
szName will receive the server's name.
See also:
EVO_GetServerProperties

EVOVOIPDLL_API BOOL EVO_GetServerProperties ( IN LPVOID  pClientInstance,
OUT ServerProperties lpProperties 
)

Get the server's client properties

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
lpProperties A struct to hold the server's properties.

EVOVOIPDLL_API INT32 EVO_GetServerTimeout ( IN LPVOID  pClientInstance  ) 

Get the number of seconds the client should allow the server not to respond to keepalive requests

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
The number of seconds. On error -1.

EVOVOIPDLL_API INT32 EVO_GetTcpKeepAliveInterval ( IN LPVOID  pClientInstance  ) 

Gets how often the ping command should be sent to the server

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
The number of seconds. On error -1.

EVOVOIPDLL_API BOOL EVO_GetUser ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
OUT User lpUser 
)

Get the user with the specified ID.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID the ID of the user to extract.
lpUser will receive the user's nick name.
See also:
USERSTATUS_AVAILABLE

USERSTATUS_AWAY

EVOVOIPDLL_API INT32 EVO_GetUserGainLevel ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Get the software gain level for a user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user whose gain level should be retrieved.
See also:
EVO_SetUserGainLevel

GAIN_LEVEL_MIN

GAIN_LEVEL_MAX

GAIN_LEVEL_DEFAULT

Returns:
The gain level for the user. A value from GAIN_LEVEL_MIN to GAIN_LEVEL_MAX

EVOVOIPDLL_API BOOL EVO_GetUserMessage ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN INT32  nMsgID,
OUT TTCHAR  szContent[EVO_STRLEN] 
)

Get a private message from a user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user who sent the message.
nMsgID The ID of the message to extract.
szContent Will receive the content of the message to extract.

EVOVOIPDLL_API BOOL EVO_GetUserPosition ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
OUT float *  x,
OUT float *  y,
OUT float *  z 
)

Get a user's position.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
x Distance in meters to user (left/right).
y Distance in meters to user (back/forward.
z Distance in meters to user (up/down).

EVOVOIPDLL_API BOOL EVO_GetUserStereo ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
OUT BOOL lpbLeftSpeaker,
OUT BOOL lpbRightSpeaker 
)

Check what speaker a user is outputting to.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
lpbLeftSpeaker True if playing in left speaker
lpbRightSpeaker True if playing in right speaker
See also:
EVO_SetUserStereo

EVOVOIPDLL_API INT32 EVO_GetUserVolume ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Get the volume of a user. Note that it's a virtual volume which is being set since the master volume affects the user volume.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the User.
See also:
SOUND_VOLUME_MIN

SOUND_VOLUME_MAX

EVOVOIPDLL_API INT32 EVO_GetVoiceActivationLevel ( IN LPVOID  pClientInstance  ) 

Get voice activation level.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
Returns a value between SOUND_VU_MIN and SOUND_VU_MAX
See also:
SOUND_VU_MIN

SOUND_VU_MAX

EVOVOIPDLL_API INT32 EVO_GetVoiceGainLevel ( IN LPVOID  pClientInstance  ) 

Get voice gain level of outgoing audio

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
A value from GAIN_LEVEL_MIN - GAIN_LEVEL_MAX.
See also:
EVO_SetVoiceGainLevel

EVOVOIPDLL_API BOOL EVO_InitVoIP ( OUT LPVOID pNewClientInstance  ) 

Initialize a new VoIP client. This function must be invoked before any other of the EVO_* functions can be called. Call EVO_CloseVoIP to shutdown the VoIP client and release its resources.

Parameters:
hWnd The window handle which will receive the WM_EVOVOIP_* messages.
bLLMouseHook Install low-level mouse. When debugging it's best to to disable it otherwise the mouse cursor will be slow.
pNewClientInstance Pointer to new a client instance. To destroy the new client instance called EVO_CloseVoIP.
See also:
EVO_CloseVoIP

EVOVOIPDLL_API BOOL EVO_IsAllMute ( IN LPVOID  pClientInstance  ) 

Is all users set to mute.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_IsAuthorized ( IN LPVOID  pClientInstance  ) 

Whether the client is authorized on the server (has received the WM_EVOVOIP_ACCEPTED message). Use EVO_DoLogin(..) to log on to server and EVO_DoLogout() to log out of the server.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
WM_EVOVOIP_ACCEPTED

EVOVOIPDLL_API BOOL EVO_IsAutoPositioning ( IN LPVOID  pClientInstance  ) 

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_SetUserPosition

EVOVOIPDLL_API BOOL EVO_IsChannelOperator ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN INT32  nChannelID 
)

Check whether user is operator of a channel

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID the ID of the user to check.
nChannelID the ID of the channel to check whether user is operator of.

EVOVOIPDLL_API BOOL EVO_IsConnected ( IN LPVOID  pClientInstance  ) 

Whether the client is connected to a server.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_IsConnecting ( IN LPVOID  pClientInstance  ) 

Whether the client is currently connecting to a server.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_IsDenoising ( IN LPVOID  pClientInstance  ) 

Is denoising outgoing audio

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_EnableDenoising

EVOVOIPDLL_API BOOL EVO_IsEchoCancelling ( IN LPVOID  pClientInstance  ) 

Whether echo cancellation is active. Default is false.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_IsForwardingToAll ( IN LPVOID  pClientInstance  ) 

Whether server is broadcasting packets or the client is doing it.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
Returns:
Returns true if the server is forwarding the client's voice packets.

EVOVOIPDLL_API BOOL EVO_IsHotKeyActive ( IN LPVOID  pClientInstance,
IN INT32  nHotKeyID 
)

Check whether hotkey is active.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nHotKeyID is the ID of the registered hotkey.

EVOVOIPDLL_API BOOL EVO_IsSoundSystemInitialized ( IN LPVOID  pClientInstance  ) 

Whether sound system has been initialized successfully.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_LaunchSoundSystem

EVO_ShutdownSoundSystem

EVOVOIPDLL_API BOOL EVO_IsUserMute ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Check if a user is muted.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
See also:
EVO_SetUserMute

EVOVOIPDLL_API BOOL EVO_IsUserTalking ( IN LPVOID  pClientInstance,
IN INT32  nUserID 
)

Check if a user is talking.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
See also:
WM_EVOVOIP_USERTALKING

WM_EVOVOIP_USERSTOPPEDTALKING

EVOVOIPDLL_API BOOL EVO_IsVoiceActivated ( IN LPVOID  pClientInstance  ) 

Whether voice activation is enabled.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_LaunchSoundSystem ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem,
IN INT32  nInputDeviceID,
IN INT32  nOutputDeviceID,
IN INT32  nRecorderFreq,
IN INT32  nQuality,
IN BOOL  bStereoPlayback 
)

Launch the sound system.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem Choose SOUNDSYSTEM_DSOUND for DirectSound and SOUNDSYSTEM_WINMM for Windows sound system. DirectSound is highly recommended on Win32 whereas WinCE only supports Windows sound system (SOUNDSYSTEM_WINMM).
nInputDeviceID Should be the device ID extracted through EVO_GetInputDevice. Pass -1 to use the default device.
nOutputDeviceID Should be the device ID extracted through EVO_GetOutputDevice. Pass -1 to use the default device.
nRecorderFreq The frequency the client's recorder should use. It can either be 8000 Hz, 16000 Hz or 32000 Hz.
nQuality is the quality that the client's encoder should use. A value between 1 and 10 is accepted. 4 gives an acceptable voice quality for most use.
bStereoPlayback Whether to playback in stereo so EVO_SetUserStereo can be used to either play in left or right speaker. If stereo is enabled 3D-sound will be disabled.
See also:
SOUNDSYSTEM_DSOUND

SOUNDSYSTEM_WINMM

EVO_GetDefaultDevices

EVO_GetInputDevice

EVO_GetOutputDevice

EVO_SetUserStereo

ENC_QUALITY_MAX

ENC_QUALITY_MIN

EVOVOIPDLL_API BOOL EVO_MuteAll ( IN LPVOID  pClientInstance,
BOOL  bMuteAll 
)

Set all users mute.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
bMuteAll Whether to mute or unmute all users.

EVOVOIPDLL_API void EVO_RegisterHotKey ( IN LPVOID  pClientInstance,
IN INT32  nHotKeyID,
IN BOOL  bCtrl,
IN BOOL  bAlt,
IN BOOL  bShift,
IN BOOL  bWin,
IN UINT  nVirtualKey 
)

Register a global hotkey which send WM_EVOVOIP_HOTKEY to the HWND passed to EVO_InitVoIP. WPARAM will contain the hotkey id and LPARAM will be 1 for hotkey active and 0 for hotkey inactive. A hotkey can be used as a push-to-talk key combination.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nHotKeyID is the ID of the hotkey to register. It will be passed as the WPARAM when the hotkey becomes either active or inactive.
bCtrl Set to true if Ctrl should be down to activate the hotkey.
bAlt Set to true if Alt should be down to activate the hotkey.
bShift Set to true if Shift should be down to activate the hotkey.
bWin Set to true if Win should be down to activate the hotkey.
nVirtualKey is the identifier of a virtual key like e.g. VK_DOWN or VK_LBUTTON. Set it to 0 if you only use modifiers.
See also:
EVO_InitVoIP

EVO_UnregisterHotKey

EVOVOIPDLL_API BOOL EVO_RegisterTalkingCallback ( IN LPVOID  pClientInstance,
IN TalkingCallback talkCallback,
IN PVOID  pUserData 
)

Register for callbacks when a user is talking so you can receive the user's raw audio.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
talkCallback A function pointer to the function which will receive callbacks.
pUserData User data.
See also:
EVO_UnregisterTalkingCallback

TalkingCallback

EVOVOIPDLL_API BOOL EVO_RestartSoundSystem ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem,
IN INT32  nInputDeviceID,
IN INT32  nOutputDeviceID 
)

Restart the sound system

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem Sound system to use.
nInputDeviceID Should be the device ID extracted through EVO_GetInputDevice. Pass -1 to use the default device.
nOutputDeviceID Should be the device ID extracted through EVO_GetOutputDevice. Pass -1 to use the default device.
See also:
EVO_LaunchSoundSystem

EVO_ShutdownSoundSystem

EVOVOIPDLL_API BOOL EVO_SetAGCSettings ( IN LPVOID  pClientInstance,
IN INT32  nGainLevel,
IN INT32  nMaxIncrement,
IN INT32  nMaxDecrement,
IN INT32  nMaxGain 
)

Set Automatic Gain Control settings.

Since microphone volumes may vary AGC can be used to adjust a signal to a reference volume. That way users will speak at the same volume level.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nGainLevel A value from 0 to 32768. Default is 8000.
nMaxIncrement Used so volume should not be amplified too quickly (maximal gain increase in dB/second). Default is 12.
nMaxDecrement Negative value! Used so volume should not be attenuated too quickly (maximal gain decrease in dB/second). Default is -40.
nMaxGain Ensure volume doesn't become too loud (maximal gain in dB). Default is 30.
See also:
EVO_EnableAGC

EVOVOIPDLL_API BOOL EVO_SetEncoderComplexity ( IN LPVOID  pClientInstance,
IN INT32  nComplexity 
)

Experimental

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nComplexity The complexity the audio encoder should use. A value from COMPLEXITY_MIN to COMPLEXITY_MAX. The higher the more CPU time is used.

EVOVOIPDLL_API BOOL EVO_SetMasterVolume ( IN LPVOID  pClientInstance,
IN INT32  nVolume 
)

Set master volume. Note that it does not affect the Windows mixer.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nVolume A value from SOUND_VOLUME_MIN - SOUND_VOLUME_MAX.
See also:
SOUND_VOLUME_MAX

SOUND_VOLUME_MIN

EVOVOIPDLL_API BOOL EVO_SetPlaybackMode ( IN LPVOID  pClientInstance,
IN PlaybackMode  mode 
)

Set the playback mode used for playing user's sound.

There's four ways to play sound from users: PLAYBACKMODE_STABLE uses a very defensive approach for playback where it tries to play all audio packets which are received from a client. PLAYBACKMODE_LOWLATENCY uses a very agressive approach for playback where it tries to keep the playback buffer empty by skipping packets if needed. PLAYBACKMODE_VARIABLE uses variable playback rate which increases and decreases the samplerate of the user's sound to prevent either a buffer overflow or buffer underflow of incoming packets. PLAYBACKMODE_JITTER uses a jitter buffer to ensure real-time playback of user's sound.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
mode See PlaybackMode enumeration for types of playback
See also:
PlaybackMode

EVO_GetPlaybackMode

EVOVOIPDLL_API BOOL EVO_SetServerTimeout ( IN LPVOID  pClientInstance,
IN INT32  nTimeoutSec 
)

Set the number of seconds the client should allow the server not to respond to keepalive requests

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nTimeoutSec Seconds before dropping connection if it hasn't replied

EVOVOIPDLL_API BOOL EVO_SetTcpKeepAliveInterval ( IN LPVOID  pClientInstance,
IN INT32  nPingIntervalSec 
)

Sets how often the ping command should be sent to the server

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nPingIntervalSec Seconds between issuing the ping-command

EVOVOIPDLL_API BOOL EVO_SetUserGainLevel ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN INT32  nGainLevel 
)

Use software to gain a user's volume.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The ID of the user who should have sound gained.
nGainLevel The gain level for the user. A value from GAIN_LEVEL_MIN to GAIN_LEVEL_MAX
See also:
EVO_GetUserGainLevel

GAIN_LEVEL_MIN

GAIN_LEVEL_MAX

GAIN_LEVEL_DEFAULT

EVOVOIPDLL_API BOOL EVO_SetUserMute ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN BOOL  bMute 
)

Mute a user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The user ID of the user to mute (or unmute).
bMute TRUE will mute, FALSE will unmute.

EVOVOIPDLL_API BOOL EVO_SetUserPosition ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN float  x,
IN float  y,
IN float  z 
)

Set the position of a user.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
x Distance in meters to user (left/right).
y Distance in meters to user (back/forward.
z Distance in meters to user (up/down).

EVOVOIPDLL_API BOOL EVO_SetUserStereo ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN BOOL  bLeftSpeaker,
IN BOOL  bRightSpeaker 
)

Set whether a user should speak in the left, right or both speakers.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID ID of user.
bLeftSpeaker True if user should be played in left speaker
bRightSpeaker True if user should be played in right speaker
See also:
EVO_LaunchSoundSystem

EVOVOIPDLL_API BOOL EVO_SetUserVolume ( IN LPVOID  pClientInstance,
IN INT32  nUserID,
IN INT32  nVolume 
)

Set the volume of a user. Note that it's a virtual volume which is being set since the master volume affects the user volume.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nUserID The user ID of the user whose volume will be changed.
nVolume Must be between SOUND_VOLUME_MIN and SOUND_VOLUME_MAX
See also:
SOUND_VOLUME_MIN

SOUND_VOLUME_MAX

EVOVOIPDLL_API BOOL EVO_SetVoiceActivationLevel ( IN LPVOID  pClientInstance,
INT32  nLevel 
)

Set voice activation level.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nLevel must be between SOUND_VU_MIN and SOUND_VU_MAX
See also:
SOUND_VU_MIN

SOUND_VU_MAX

EVOVOIPDLL_API BOOL EVO_SetVoiceGainLevel ( IN LPVOID  pClientInstance,
IN INT32  nLevel 
)

Set voice gaining of recorded audio. The gain level ranges from 100 - 8000 where 1000 is no gain. So 100 is 1/10 of the original volume and 8000 is 8 times the original volume.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nLevel A value from GAIN_LEVEL_MIN - GAIN_LEVEL_MAX.
See also:
EVO_GetVoiceGainLevel

EVOVOIPDLL_API BOOL EVO_ShutdownSoundSystem ( IN LPVOID  pClientInstance  ) 

Shutdown the sound system.

Remember to disconnect from the server and shutdown the sound system when you quit your application.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_LaunchSoundSystem

EVOVOIPDLL_API BOOL EVO_StartSoundLoopbackTest ( IN LPVOID  pClientInstance,
IN SoundSystem  nSoundSystem,
IN INT32  nInputDeviceID,
IN INT32  nOutputDeviceID,
IN INT32  nRecorderFreq 
)

Perform a record and playback test of specified sound devices.

Note that this test cannot be performed while the sound system is launch. Call EVO_StopSoundLoopbackTest() to stop the loopback test.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nSoundSystem SOUNDSYSTEM_WINMM for Windows audio, SOUNDSYSTEM_DSOUND for DirectSound
nInputDeviceID Should be the device ID extracted through EVO_GetInputDevice. Pass -1 to use the default device.
nOutputDeviceID Should be the device ID extracted through EVO_GetOutputDevice. Pass -1 to use the default device.
nRecorderFreq The frequency the client's recorder should use. It can either be 8000 Hz, 16000 Hz or 32000 Hz.
See also:
EVO_LaunchSoundSystem

EVO_StopSoundLoopbackTest

EVOVOIPDLL_API BOOL EVO_StartTransmitting ( IN LPVOID  pClientInstance  ) 

Start transmitting voice data.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_StartTransmittingWaveFile ( IN LPVOID  pClientInstance,
IN const TTCHAR szWaveFilePath,
IN BOOL  bEchoWaveFile 
)

Play .wav file to users in current channel. Basically replace microphone input with .wav file.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
szWaveFilePath Path to .wav file. Resampling is done automatically.
bEchoWaveFile Echo playback to speakers.

EVOVOIPDLL_API BOOL EVO_StopSoundLoopbackTest ( IN LPVOID  pClientInstance  ) 

Stop recorder and playback test.

Don't call this function if you have initialized the sound system through EVO_LaunchSoundSystem.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_LaunchSoundSystem

EVOVOIPDLL_API BOOL EVO_StopTransmitting ( IN LPVOID  pClientInstance  ) 

Stop transmitting voice data.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API BOOL EVO_StopTransmittingWaveFile ( IN LPVOID  pClientInstance  ) 

Stop transmitting .wav file.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.

EVOVOIPDLL_API void EVO_UnregisterHotKey ( IN LPVOID  pClientInstance,
IN INT32  nHotKeyID 
)

Unregister a registered hotkey.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
nHotKeyID is the ID of the hotkey to unregister.
See also:
EVO_RegisterHotKey

EVOVOIPDLL_API BOOL EVO_UnregisterTalkingCallback ( IN LPVOID  pClientInstance  ) 

Unregister callbacks for when a user is talking.

Parameters:
pClientInstance Pointer to client instance created by EVO_InitVoIP.
See also:
EVO_RegisterTalkingCallback


Generated on Sun Jan 25 13:17:26 2009 for VoIP Evo DLL by  doxygen 1.5.7.1