Zoiper COM API  1.1
 All Classes Files Functions Typedefs Enumerations Enumerator Properties
Zoiper COM API Documentation


Zoiper COM API is designed for use with programming languages, capable to connect to OLE Automation servers. Its purpose is to provide control over Zoiper functions and events, so it could be embedded in other applications. The API provided with Zoiper consists of several enum types and two dual interfaces, which provides the functionality needed by the application for using Zoiper.


The API come as part of Zoiper executable (Zoiper.exe) as out-of-process COM server. As Zoiper usually comes with an installer the installer itself is responsible to register its COM object factory and type library in the Windows Registry.

In case that Zoiper is deployed without an installer the following command line parameters can be used :

  • /regserver - register Zoiper COM object factory and type library in the Windows Registry.
  • /unregserver - unregister Zoiper COM object factory and type library in the Windows Registry.
The registration requires administrator privileges and registers its components for all users.


The structure of the API is based on one main interface named IZoiperPhone which provides the facilities to obtain and manage configuration (IZoiperConfig), account (IZoiperAccount), call (IZoiperCall) and contact (IZoiperContact) objects. A few helper interfaces are provided such as audio device configuration (IZoiperAudio), video device configuraion (IZoiperVideo), audio playback (IZoiperPlayback) and SIP headers reader (IZoiperHeader).

Along with that interfaces there is also an event callback interface (IZoiperEvents) that must be implemented from the client. It is used to get information about cetrain events tha happen in the phone such as incoming calls, account registration results, etc.

Start modes

The phone can be started in two modes : normal (manual) mode and embedded mode. This modes are governed by the command line parameter /embedding.

In normal mode the phone is started without the /embedding command line and shows its user interface to the enduser.

In embedded mode the phone is started with the /embedding command line and will not show any user intreface to the enduser. By default the installer configures Windows COM engine to start the phone in emedded mode. In other words if there is a request to create ZoiperAPI object and the phone is not already started, the COM engine will start it in embedded mode.

Instance creation

To use the Zoiper API an instance of the main coclass should be created. Usually the CoCreateInstance Windows API function is used. The coclass ZoiperAPI is resposible for that. To identify the coclass you can use the following GUID {EDE266EE-2C85-4436-A9A3-940CC5B45A1F}. You can obtain definitions if this and all the other GUIDs used in the API by importing (or adding reference) to our type library which is named "Zoiper API".