Client Initialization | The first thing a user application must to is call TT_InitTeamTalk which will return a TTInstance-pointer which is a new client instance |
Sound Capture and Playback | This section explains how to record and playback audio in the client instance |
Video Capture and Image Display | This section explains how to initialize a video device and display captured images on the user's display |
Audio and Video Codecs | The client is able to encode audio in Speex and CELT format whereas video can be encoded in Theora format. Speex is recommended for voice and CELT for music |
Desktop Sharing | A user can transmit a desktop window to other users in a channel by passing the handle of a window to the TeamTalk client DLL. The TeamTalk client then converts the window to a bitmap image which is transmitted to the server. The server then forwards the bitmap image to all other users in the channel |
Client Event Handling | When events occur in the client instance, like e.g. if a new user joins a channel, the client instance queues a message which the user application must retrieve |
Client Error Handling | There are two types errors which can occur in the client, either server command error or internal errors. Section Client/Server Commands describes all the commands a client can issue to a server. If a server commands fails the client instance notifies the user application through the event WM_TEAMTALK_CMD_ERROR. An example of a server command error could be to issue the TT_DoLogin command with an incorrect server password. The server will in this case respond with the error CMDERR_INCORRECT_SERVER_PASSWORD. The user application must be designed to process these errors so application users can be notified of errors |
Client/Server Connectivity | To communicate with a server the TeamTalk client creates both a TCP and UDP connection to the server. Commands, i.e. the TT_Do*-functions, are sent on TCP whereas audio and video are sent on UDP |
Client/Server Commands | This section contains the list of commands which can be issued by the client instance to the server |
Audio and Video Transmission | Once the client instance has joined a channel it can transmit audio and video to other users in the channel. When transmitting audio and video it is important to be aware of how the client is configured to do this. Sections Forward Through Server Transmission Mode and Peer to Peer Transmission Mode explains the two supported data transmission modes |
Server Properties | The server keeps track of which users are in which channels and ensures that users in the same channel can communicate with each other. It is also the job of the server to provide user authentication so only users with the proper credentials are allowed to do certain operations |
Channel Properties | Users are arranged in a tree structure consisting of channels where each channel can hold a number of users. While in a channel users can transmit audio and video to each other as well as sending channel messages. On a server there will always be a root channel which cannot be deleted |
User Properties | Users can be seen on the server after a successful call to TT_DoLogin. Once logged in a user can send user to user text-messages using TT_DoTextMessage as well as receive broadcast messages. A user cannot send audio and video data to other users until they have joined the same channel |
Windows Hotkeys | Hotkeys can be used to e.g. enable push-to-talk |
Windows Mixer | The Windows mixer can be manipulated so e.g. Line In can be chosen instead of Microphone for recording |
Windows Firewall | The Windows Firewall can be modified so applications can be added to the firewall's exception list |