Overview
HsVoipSDK is an audio streaming / voice over IP SDK in C / C++. HsVoipSDK is shipped with full C source code and includes the following components:
- HsSound C source library: Audio library for Windows
- HsRtp C source library: RTP protocol library
- HsSock C source library: Socket interface library
- audio.c: Audio streaming / Voice over IP application for Windows (uses the above components)
HsVoipSDK is designed for use from C/C++ applications on Windows platforms
HsVoipSDK is Royalty Free.
HsVoipSDK source code can be used to develop Voice over IP audio streaming or voice chat applications in C / C++
Features of Audio Library (HsSound)
- Detection of installed audio devices
- Recording audio buffers from audio input devices
- Playback of audio buffers to audio output devices
- Single and dual frequency tone buffer synthethis / generation in software
- Operations on WAVE files (reading writing audio to/from WAVE files)
- Supported audio formats: Linear PCM, GSM 6.10, G.711 a-law and u-law
- Recording to wave file
- Recording to memory buffers
- Playback from wave file
- Playback from memory buffers
- Simultaneous playback and recording
- Anti-jitter buffering
- Configurable sampling rate and audio format / codec
RTP Library (HsRtp)
HsRtp library implements RTP protocol (Real Time Transport Protocol) according to RFC 3550 and RFC 4571
HsRtp supports operation over UDP or over TCP as described in RFC 4571.
HsRtp performs protocol encapsulation and de-capsulation, packet building and parsing functions
HsRtp by itself does not provide transmission or reception functions
In HsVoipSDK, the transmission and reception is done with HsSock library
Socket Interface Library (HsSock)
HsSock is a C source code library for interfacing to Windows and Unix network sockets layer.
HS Sockets hides the complexity of low level socket api from user application, enabling the programmer to considerably reduce development time.
HS Sockets is designed for light server and client side TCP and UDP applications. HS Sockets supports multiple network connections concurrently - up to 64 sessions at the same time.
HS Sockets allows a programmer to create:
- TCP server and client applications
- UDP applications
- Mixed TCP server, client and UDP applications
Sample Audio Streaming / Voice over IP chat application (Audio.c)
HsVoipSDK is supplied with sample audio streaming application to demonstrate the use of the HsVoipSDK libraries
When running this application on 2 PCs equipped with audio input and output devices it is possible to test voice over IP audio chat capabilities of HsVoipSDK using various options, such as different audio encodings, sampling rates and protocol encapsulation modes (audio over UDP/RTP, audio over TCP/RTP, audio over raw UDP or TCP)
API Summary
| HsSound Library |
HsSock Library |
HsRtp Library |
HsSoundInit HsSoundCleanup HsSoundOpenInput HsSoundStartInput HsSoundReadInputBuffer HsSoundFreeInputBuffer HsSoundStopInput HsSoundCloseInput HsSoundOpenOutput HsSoundStartOutput HsSoundWriteOutputBuffer HsSoundStopOutput HsSoundCloseOutput HsSoundGenerateToneBuffer HsSoundSetOuptutVolume
|
HsSockInit HsSockCleanUp HsSockTcpConnect HsSockTcpListen HsSockUdpOpen HsSockTcpSend HsSockUdpSendto HsSockRead HsSockClose |
HsRtpInit HsRtpCleanUp HsRtpAlloc HsRtpFree HsRtpBuildPacket HsRtpReceiveRTPoverUDP HsRtpReceiveRTPoverTCP |
Customization
Hillstone Software provides additional services for customization, porting and integration of the library code to better suit the needs of your products

HsSoundInit