Platform Questions

To configure VOP with 3CX follow the tutorial here: 3CX / Tutorial
To configure VOP with Asterisk follow the tutorial here: Asterisk / Tutorial
To configure VOP with Alianza follow the tutorial here: Alianza / Tutorial
To configure VOP with Broadsoft follow the tutorial here: Broadsoft / Tutorial
To configure VOP with Cisco follow the tutorial here: Cisco / Tutorial
To configure VOP with FreePBX follow the tutorial here: FreePBX / Tutorial
To configure VOP with FusionPBX follow the tutorial here: FusionPBX / Tutorial
To configure VOP with Jive follow the tutorial here: Jive / Tutorial
To configure VOP with Kandy follow the tutorial here: Kandy / Tutorial
To configure VOP with Metaswitch follow the tutorial here: Metaswitch / Tutorial
To configure VOP with sipXecs follow the tutorial here: sipXecs / Tutorial
To configure VOP with Vodia follow the tutorial here: Vodia / Tutorial
To configure VOP with a generic IP PBX follow the tutorial here: Generic / Tutorial

General Questions

VOP is available in four editions:

VOP Standard, for medium and large company receptionists.

VOP Lite, for small company receptionists and call center agents.

VOP Micro, for desktop computers.

VOP Nano, for ITSP (one time license) who wants to offer a brandable softphone to all their customers.

You can review all the editions prices, features and limitations by clicking here.
VOP can be evaluated for 30 days without any limitation.

During your evaluation you can switch between editions (Standard - Lite - Micro) in the Settings window: Settings > License > Version.

Our trial version automatically switches to the licensed version when you purchase a license and you enter the serial number.

To receive an e-mail with a link to our fully functional 30-day trial version: click here.

The trial period starts when you install the application on your computer, launch it and click on "Request Trial".

You can install our trial version on as many computers as you need, each computer will have its own 30-day trial period.

During the trial period an Internet connection is required, this is not the case with a valid license.
To configure VOP you need to create a dedicated SIP account (extension/line/phone) at your IP PBX that VOP will use to register.

This account will also be used by VOP to receive incoming calls, monitor other extensions and transfer incoming calls to them.

This account must be dedicated to VOP and not shared with another phone even when VOP is tethered to a hard phone.

This account must be configured to receive all the incoming calls destined to your company. If a tethered hard phone is used its purpose is only to be called by VOP to talk/listen to calls received/placed by VOP.

VOP can only manage and transfer its own incoming/outgoing calls.

However, VOP can also pick-up a ringing (and sometimes established) call on a monitored extension then transfer it to another extension, but this behavior is highly dependent on the IP PBX configuration/manufacturer and shall not be the regular way to handle calls.

We provide a step by step tutorial to fully configure VOP with 3CX, Asterisk, Broadsoft, Cisco, FreePBX, FusionPBX, Jive, Metaswitch, sipXecs, Vodia and also with a generic IP PBX.
You can learn how to use VOP by watching our training videos.

These short videos cover the major features of our application.

You can also read the quick documentation installed with the application available through the Windows Start menu or directly in the installation folder.

And you can also read this F.A.Q that will explain you how to fully use our application through the most frequently asked questions.
VOP can be used as a standalone softphone or tethered to a hard phone.

When used as a standalone softphone, the audio is going through the software and your computer sound card (or headset).

When tethered to a hard phone, the calls are still managed by the application but they are connected with the hard phone so the audio is not going anymore through the software but directly beween the hard phone and the IP PBX.

The hard phone can be any phone, analog or VoIP or even a cell phone, as long as it has its own phone number (different from the VOP one) and can be called by the software.

Switching from softphone mode (default mode) to hard phone mode is as easy as entering the hard phone number in: Settings > Operator > Operator phone number.

To switch back to softphone mode, just remove the hard phone number.

In a NAT environment, depending on how your IP PBX handles NAT traversal, you may need to enable "Bridge mode" in: Settings > Operator > Bridge mode.

If you enable "Bridge mode" you will be able to use a hard phone in NAT environment but the sound will go through the application.
There are several advantages of using a hard phone.

Since no audio is going through the application, even if the computer has a slow CPU or is overloaded the audio quality is still fine.

Many receptionists/operators are used to handle calls using a regular phone and it helps them to move smoothly from analog PBX to IP PBX or IP Centrex.

The operator can still handle incoming calls when his computer has a failure by configuring the VOP SIP account to redirect incoming calls to the hard phone when not registered.

In case of separated data/voice network, the application can control calls through the data network (computer network) while the audio is going through the voice network (hard phone network). Even if the data network is overloaded the audio quality is still fine.
When tethered to a hard phone VOP will call the hard phone each time it needs to deliver the audio of a call to the operator.

The operator will be able to listen and talk to callers through the hard phone.

The operator will manage/process calls within the application. (including picking-up, hanging-up, putting on/off hold and transferring calls)

The only purpose of the hardphone is to be called by VOP when the application needs to establish the audio link.

The hard phone must not receive calls (beside from VOP) nor place outgoing calls (unless for emergency) nor transfer the call received from VOP.

With one single call from VOP the operator will be able to manage/process as many calls as available in VOP.

A common misconception is to think that VOP transfer calls to the hard phone, which sometimes may lead the operator to transfer the call received from VOP to another phone using the hard phone. The result of this error is that the the audio link between VOP and the hard phone is transferred to another phone and the operator can no longer process other calls.

Another misconception is to think that VOP can manage calls received/placed by the hard phone. This is not the case, VOP can only manage its own incoming/outgoing calls. This is why VOP must have its own SIP account (line) different from the hard phone and the VOP SIP account must be configured to receive all the incoming calls destined to the company.

Here is the detailed behavior of the application when tethered to a hard phone:

. When VOP receives an incoming call:
  If the hard phone is connected the call can be answered by double clicking on it.
  If the operator was talking to another call, the call is put on hold before answering the incoming call.
  If the hard phone is disconnected, VOP calls the hard phone, waits for the operator to pick up, then answers the incoming call and puts it through.
  If you don’t want VOP to call the disconnected hard phone, uncheck: Settings > Operator > Auto call operator on incoming calls.

. When the operator places an outgoing call:
  If the hard phone is connected, VOP places the outgoing call, waits for an answer, and puts it through.
  If the operator was talking to another call, the call is put on hold before placing the outgoing call.
  If the hard phone is disconnected, VOP calls the hard phone and waits for the operator to pick up before placing the outgoing call.

. When the hard phone is hung up by the operator:
  If the operator was talking to a call, the call is disconnected.
  If you prefer the call to be put on hold instead, uncheck: Settings > Operator > Hang up current call when operator hangs up.

. When the operator double clicks on a call previously put on hold:
  If the hard phone is connected, VOP puts the selected call through it.
  If the operator was talking to another call, the call is put on hold before switching to the selected call.
  If the hard phone is disconnected, VOP calls the hard phone, waits for the operator to pick up, then puts the selected call through it.

. If not hung up, the hard phone remains connected with VOP even if there are no more calls to process.
  This allows the operator to quickly answer new incoming calls rather than having to wait for VOP to call his hard phone, and pick it up.
  If you want VOP to hang up the hard phone when there are no more calls, set the delay in: Settings > Operator > Time in seconds to auto hang up operator if no active calls.

When the operator is talking to a call through the hard phone the application can not insert a ringing tone on incoming call (because the audio is not going through the application but directly between the hard phone and the IP PBX). You must ensure that the computer has a speaker or a light/ringer USB device connected otherwise the operator will not hear the incoming call and may miss it if not looking at his screen.
VOP provides two types of directories, local and external directories.

When a directory is local it means that all the users in that directory are local to your company (company staff).

Some directories are created manually or imported from vCard/CSV/XML files, some are loaded from a LDAP server, some from Outlook contacts, some from web servers.

When you create a directory you decide if it is a local or external directory.

Some directories are automatically set to local or external depending on their source.

Outlook contacts directory is set to external because it contains external users.

We also provide a parameter that lets you specify your company name so Outlook contacts from that company are placed in a local directory while others are placed in an external directory.

LDAP directories contain both users and contacts so when a LDAP directory is loaded, users are loaded in a local directory and contacts are loaded in an external directory.
When you receive an incoming call, the caller phone number is searched in every directory.

If the caller is identified from a local type directory, the call will be shown in bold (in the queue and in the logs). This helps the operator to quickly identify if the caller is from the company.

The operator can also decide to automatically reject/forward anonymous or external calls.

He can also decide to automatically call anonymously external users.

Phone presence (extension monitoring) is also restricted to local directories.
By default the application will have a local directory named "Local" where you will enter your users phones/extensions.

You can add a new user by right-clicking in the directory and selecting: User > Add

You can also import all your users from CSV or vCard files by right-clicking in the directory and selecting: Directory > Import > File

You can also add callers on the fly by right-clicking on an incoming call and selecting: Add To

You can add a new directory to a window by clicking on the down arrow of the window and selecting: Add > Directory

You can copy users from one directory to another by dragging a user from one directory and dropping it in another.

By default new users phones should have presence enabled, if this is not the case you can enable it by right-clicking on a phone contact and selecting: Contact > Presence > Enable
The Outlook directory named "Contacts" will be created and synchronized when your first start the application if Outlook is installed or if you have an Office365 account.

You will be asked by Outlook to authorize the synchronization or you will be ask to log to your Office365 account.

You can manually synchronize again by clicking on "Synchronize Contacts" in: Settings > Outlook

You can also synchronize at each start up by checking "Synchronize Outlook contacts at each start up" in: Settings > Outlook

In the settings (Settings > Outlook) you can also define the specific Outlook contact folder to synchronize and also add a prefix to every phone number when needed.

The Outlook directory is read-only, it can not be modified from the application.
You need to configure your LDAP server in: Settings > LDAP

If you want to load the default domain Active Directory of windows you just need to put the word "domain" in: Settings > LDAP > LDAP Server.

Otherwise you need to specify the LDAP server either by entering its hostname or IP or by entering the LDAP URL like this: "ldap://ldap.domain.com"

You can also specify an organisation unit (ou), domain component (dc) or common name (cn) in the LDAP URL like this: "ldap://192.168.1.1/dc=domain,dc=com" or "ldap.domain.com/cn=domain.com".

Once set up, at each start up, the application will load the users in a local directory named "Users" and the contacts in an external directory named "Contacts".

You can tweak the default LDAP users/contacts filters to better differentiate the records.

If the LDAP server is unreachable at start up, the application will load a previously cached version of the LDAP directories.

If you have a LDAP field containing the users/contacts picture you can enter the field name in: Settings > LDAP > LDAP picture field name.

When needed you can also add a prefix to every phone number by entering it in: Settings > LDAP > LDAP phone prefix.

Voicemail numbers can also automatically be generated by adding a prefix to the users phones, enter the prefix in: Settings > LDAP > LDAP users voicemail prefix.

By default the LDAP users phones will not have presence enabled.

You can decide to enable it depending on the value (yes,true,on or no,false,off) of a specific LDAP field entered in: Settings > LDAP > LDAP presence field name.

Or you can decide to enable it for every users phone by checking: Settings > LDAP > Enable presence for all LDAP users.

The LDAP directories are read-only, they can not be modified from the application.
Monitoring extensions is what we call phone presence.

To enable phone presence for the phone contact of a user in a local directory, you need to right-click on the phone contact and select: Contact > Presence > Enable.

If your IP PBX is supporting presence the icon of the phone will become green.

If your IP PBX supports presence resource list, you can instead select the phones you want to monitor at the IP PBX and enter the resource list name in: Settings > Account > Presence resource list.

In this case you can also ask the application to automatically populate its local directory from the presence resource list content by checking: Settings > Account > Populate local directory from presence resource list.
If your IP PBX supports basic phone presence you will only be able to see the phone status. (ringing, busy, available)

If your IP PBX supports full phone presence (RFC4235) you will also be able to see every active call on the phone. (direction, state, calling/called phone number and name)

If your IP PBX supports it you can even enable phone presence for conference room extensions to see every participant, for parking room extensions to see who is waiting and also for agent group extensions to see every call waiting in the queue.
If your IP PBX supports full phone presence (RFC4235) our application will offer you to intercept a call from a phone by right-clicking on a phone (or on a call on a phone) and selecting: Intercept

Otherwise you need to enter the call intercept code to dial in: Settings > Account > Call intercept code. ('$' will be replaced by the phone number)

For example if to intercept a call on the phone number 900 you need to dial *14900, the intercept code should be "*14$".
User presence is available using XMPP.

You need to enter your XMPP server and account information in: Settings > XMPP

To enable user presence for a user, you need to add a XMPP contact to this user.

You will know the status of the user by looking at his XMPP icon.

In Tree and List views, when this user will be online, his name will also turn to bold in the directory.

In Tree and List views you will also be able to see his full status next to his XMPP contact address, or in Table view by leaving the mouse pointer over the XMPP icon.

You will be able to send an instant message to the user by right-clicking on him and selecting "Send Message".

You will also be able to transfer files to/from the user by clicking on the up arrow in a message window.
The CRM is integrated in VOP through a dedicated web browser window (Internet Explorer).

Most CRM offer a web interface, you just have to enter its URL in: Settings > CRM > CRM URL.

If your CRM provides an URL with parameters to display a customer record based on its phone number, you should to enter this URL instead. Use '$u' in the URL where you want the calling/called phone number inserted.

Otherwise if your CRM provides an URL with parameters to display a customer record based on his unique number, you should enter this URL. Use '$i' in the URL where you want the calling/called user unique number inserted. You will also need to add to each user in your directory his unique number in a field called "Misc." (press F2 on a selected user to quickly add/edit this field).

Once done you will be able to right click on a call and select CRM to display the caller/callee record in the CRM window.

Using the CRM settings, you can also decide to display the CRM on a call double click or on call pick-up or automatically when there is a new call.

If you use a file URL (file://) pointing to a binary, instead of displaying a web page, VOP will launch that binary providing the parameters as arguments.

Configuring this will let you quickly handle customers calls by interacting with their CRM records.
Let's say for the example that Google is your CRM web interface.

To display a search result for a 'word' the URL used by Google is: http://www.google.com/search?q=word

So to configure Google as your CRM tool you need to enter the URL "http://www.google.com/search?q=$u" in: Settings > CRM > CRM URL.

As you can see the 'word' has been replaced by '$u' which will be later replaced by the calling/called phone number before loading/displaying the URL.

Now for each call a new right-click menu item "CRM" will be available, which once selected will display the Google search result of the calling/called phone number in the CRM window.

For a real CRM example, you can create a trial account at Salesforce and use this CRM URL:

https://eu1.salesforce.com/search/SearchResults?searchType=2&str=$u&search=Search

For an example of launching a binary instead of displaying a web page, let's say for the example that you would like to edit a text file named from the calling/called phone number.

In that case you need to enter the URL "file://C:/windows/notepad.exe?$u.txt" in: Settings > CRM > CRM URL.
For the CRM URL and many other places where a URL is used, we support these variables:

$l (login) = SIP server user name.
$m (me) = SIP server user name and host. (user@host)
$p (password) = SIP server password.
$P (password) = SIP server password in MD5 format.
$o (operator) = operator phone number.
$g (language) = two lower case letters language.
$G (language) = two upper case letters language.

For an incoming call:

$u (user) = caller phone number.
$d (display) = caller name.
$a (address) = caller address. (user@host)
$U (user) = callee phone number.
$D (display) = callee name.
$A (address) = callee address. (user@host)
$x (extra) = extra field "X-VOP-Custom" in initial INVITE.

For an outgoing call:

$u (user) = callee phone number.
$d (display) = callee name.
$a (address) = callee address. (user@host)
$U (user) = caller phone number.
$D (display) = caller name.
$A (address) = caller address. (user@host)

For a call from/to a user or directly for a user:

$c (company) = user company.
$f (office) = user office.
$r (department) = user department.
$t (title) = user title.
$i (misc) = user misc.
$e (e-mail) = user e-mail.

For the phone contact of a user:

$u (user) = phone number.
$d (display) = phone user name.
$a (address) = phone address. (user@host)
The users calendars can be integrated using Office365.

For each user you need to enter his Office365 e-mail as his calendar contact.

You also need to share each user calendar with the Office365 account used by the application.

Once done you will be able to see for each user his calendar current status and event.
VOP offers configurable keyboard shortcuts to quickly manage calls.

By default the shortcuts are configured to be used with the numeric keypad of the keyboard (with Num Lock set to OFF).

Up/Down keys will let you move within calls or directory users. Left/Right keys will let you move from/to the selected user contacts.

Clear key (the 5 key) will let you switch between incoming calls and directory.

Insert key will let you activate a call (pick it up or put it on hold) or activate a user contact (call, e-mail or browse it).

Delete key will let you hang up a call.

Add key (the plus key) will offer you the most logical transfer, through a menu, depending on where you pressed it and how many calls are active. You will be able to validate the offered transfer by pressing Enter or change it using Up/Down keys or Cancel it using the Escape key.

You can also press F1/F2 on an incoming call to edit the calling/called text to add custom information.

Finally you can press F3 to quickly move to the directory search field of F4 to move the outgoing call dial field.

With a little practice you will be able to quickly manage calls without using the mouse.

We also added non-modifiable key shortcuts to quickly control the current call:

To Answer/Pick-up the current call press Alt-PageUp.
To Reject/Hang-up the current call press Alt-PageDown.
To Put On/Off Hold the current call press Alt-Home.
You can dial any phone number on your screen from any application by selecting it, like you would do to copy/paste the phone number, but instead of pressing Ctrl-C to copy it, you press Ctrl-Alt-C to call it.

This will bring VOP to front and call the selected phone number.

VOP also supports callto URL (to initiate a call) and xferto URL (to initiate a transfer) embedded into web pages.

You can also make VOP call a phone number using the utility "VOPCtrl.exe", located in the application folder, using the syntax: "VOPCtrl /call phone-number"

VOPCtrl offers additional commands that can be used to control the current call:

"VOPCtrl /transfer phone-number" will transfer the current call to the phone number.
"VOPCtrl /pickup" will pickup or answer the current call.
"VOPCtrl /hangup" will hang up or reject the current call.
"VOPCtrl /hold" will put the current call on/off hold.
Our application only registers to one SIP account.

You can associate/redirect multiple phone numbers (or lines) to the SIP account.

When there is an incoming call the application shows the call destination (dialed phone number) in the To field of the incoming call list.

The operator knows before answering the call which company or department is called.

You can link a directory to a phone number by right-clicking in the directory and entering the phone number in: Directory > Phone.

Once a directory is linked to a phone number, when the operator will pick up a call destined to this phone number that directory will become the top/front directory on his screen.

A greeting sentence can also be added to the linked directory using: Directory > Greeting, this sentence will also be displayed in the To field of the incoming call list to let the operator read it before picking up the call and pronounce it afterwards.

You can also add a note to a directory using: Directory > Note, this note may contain for example instructions on how to handle calls destined to this directory/company.

Our application relies on the IP PBX to put the called phone number in the SIP "To" or "Diversion" (RFC5806) or "P-Called-Party-ID" (RFC3455) fields of the INVITE.

For example, using Asterisk, you need to add the "Diversion" or "P-Called-Party-ID" fields using SIPAddHeader() before issuing the Dial() to the VOP extension.
The application can display priority incoming ringing calls.

A priority incoming ringing call will flash to be noticed among the other incoming calls.

By default the application checks the field "Alert-Info" of the INVITE, if this field contains "Bellcore-dr3" the call will be marked as priority.

The distinctive ring field "Bellcore-dr3" can be changed to something else in: Settings > Incoming Calls > Alert-info field for priority call.

Some IP PBX automatically inserts this field when a call is returned from being parked or transferred without having been picked up.
VOP offers several ways to handle situation where there are too many incoming calls.

You can limit the number of concurrent incoming calls. Extra calls will be rejected to voicemail or forwarded to another phone number.

You can also set a delay after unanswered incoming ringing calls will be rejected to voicemail or forwarded to another phone number.

You can also set a delay after unanswered incoming ringing calls will be automatically answered and put on hold.

These parameters are available in: Settings > Incoming calls.
Voice effects let the user modify the pitch of his voice, add reverb or add a background sound to his conversation.

Voice modification can be used to call someone without being recognized (for example to evaluate an employee or to call a competitor).

Background sounds can be used to handle special events (for example using a christmas music) or to remind the company theme (for example beach/sea sounds for a travel agency)

To enable voice effects you need to click on the microphone icon in the status bar and select which effects you want to enable.
You can use any USB headset/handset/speakerphone with our application, but if you want to be able to pick-up, hang-up and put on/off calls with the device button(s) you need to select one of the compatible devices.

You can find the list of the compatible devices by clicking here.

VOP automatically detects and uses any compatible connected USB device. No driver/tool installation required, no configuration required, 100% plug and play.

Once detected VOP will automatically select the corresponding input/output sound device.

When you first plug a USB sound device in Windows it becomes the default Windows sound device, be sure to put back the computer soundcard as default to avoid hearing Windows sounds in the headet/handset/speakerphone.
We support the USB light/ringer devices from Embrava (Blynclight Standard, Plus, Mini, Lumena 110/120) and Plenom (Busylight Alpha, Omega).

These devices are particularly useful for receptionists to see and hear when there is an incoming call and for call center managers to see which agents are processing calls.

The USB device rings on incoming calls or play a sound on a new voicemail, it also changes color depending on the call processing status.

Two main modes are available: Receptionist or Agent, and two sub-modes are available for fine tuning.

In Receptionist mode the device is only lit when there is an incoming call or when there is a voicemail, and can be optionally lit when a call is being processed.

In Agent mode the device is always lit and can optionally flash and ring when there is an incoming ringing call.

Here is the behaviour of the device depending on the selected mode and the call processing status:

Receptionist:
Not-registered: Off. Registered: Off. Voicemail: Blue-Flashing/Sound. In-a-call: Green. On-hold: Green-Flashing. Ringing: Red-Flashing/Ring. Do-not-disturb: Red.

Receptionist (No call status):
Not-registered: Off. Registered: Off. Voicemail: Blue-Flashing/Sound. In-a-call: Off. On-hold: Off. Ringing: Red-Flashing/Ring. Do-not-disturb: Red.

Agent:
Not-registered: Off. Registered: Green. Voicemail: Blue-Flashing/Sound. In-a-call: Red. On-hold: Red-Flashing. Ringing: Red-Flashing/Ring. Do-not-disturb: Purple.

Agent (No ringing status):
Not-registered: Off. Registered: Green. Voicemail: Blue-Flashing/Sound. In-a-call: Red. On-hold: Red-Flashing. Ringing: No change. Do-not-disturb: Purple.

The USB light/ringer devices are supported natively (plug and play), no driver or utility is required (and none should be installed).

You just have to plug the USB light/ringer device and VOP will automatically detect it and use it.

You can select the mode in: Settings > USB > USB light/ringer mode.

You can set the light brightness in: Settings > USB > USB light brightness.

And you can also set the ringer volume in: Settings > USB > USB ringer volume.
Yes, VOP is optimized for accessibility.

You can change the font type and the font size in: Settings > Appearance > Font / Font Size.

VOP has been validated with the JAWS and NVDA screen readers.

To learn more on how to configure and use VOP with JAWS and NVDA please read our accessibility page.
One license entitles you to use the software on one computer.

The license is a serial number generated from the MAC address of the computer network card.

We create you an account at our license manager where you can generate your license(s) yourself.

The license is attached to one computer. When you replace the computer we revoke the previous license and you can generate a new one for the new computer.

For ITSP we can also offer serial licenses generated from the SIP URI (username@hostname) of the SIP account, in that case the license is attached to a line instead of a computer.
VOP provides a multi-level and multi-layer debug window.

You need to press Alt-D to see the debug window.

Using the toolbar you will be able to raise the debug level from 0 to 5. (level 0 or 1 is usually enough to debug most common problems, where level 5 will display every SIP packet)

Using the toolbar you can also write debug information to file or copy the whole window content to a notepad to e-mail it to us so we can investigate your problem.
VOP is 100% portable, it means that all its files (including directories and settings) are located in its installation folder.

You can move, copy or back-up an installation by simply moving, copying or back-uping its installation folder.

You can also manage multiples installations on the same computer by copying the VOP installation folder.

Since VOP stores everything in its installation folder it always needs to be able to write in this folder.
VOP is composed of:

VOP.exe - It's a small bootstrap that loads the firmware and the configuration file then starts.

VOP.bin - It's the firmware which contains the application binaries and data which will be loaded or extracted when needed.

VOP.xml - It's the XML configuration file with all the parameters.

These are the 3 files required to run VOP.

You also have other files created later by VOP and loaded at start-up if they are present:

settings.xml - It's the XML file containing the settings modified by the user within the application.

state.xml or state-compact.xml - It's the XML file containing the application state when it last exited.

ITSP Questions

When VOP starts it loads the configuration file named VOP.xml located in the application folder.

This configuration file offers more than 200 XML parameters to control the application.

All the XML parameters are described at the beginning of the file in a comment section.

If you want to pre-configure the application you need to edit this file to enter your desired values.
Our application can load customers directories from your LDAP server if you have one.

Our application can also download directories through HTTP or HTTPS in our XML format.

All our directories use the same XML format. The format is described in the configuration file (VOP.xml) at the end of the comment section.

If you need examples you can look at the directories that our application uses.

They are stored in the application folder "directories" for user managed directories and "cache" for imported/downloaded directories.

To make our application download a directory through HTTP/HTTPS at start up you need to enter its URL in the configuration file (VOP.xml) using the parameter <directoryurl>.

You can add as many downloadable directories as you need.

Using this parameter, you can for example enter the URL of a PHP/ASP script hosted at your web server that dynamically generates the customer XML directory from your database.

This parameter also supports "file://" type URL to load a directory from a specific location, like a shared folder for example.
The configuration file (VOP.xml) contains a section named <settings>.

The settings window of the application is dynamically built from this <settings> section.

By adding/removing XML parameters to this section you can decide which settings the user can see/modify within the application.

You can change the order of the XML parameters and create/rename categories (<header>) to fully design the settings window.

You can also set a password to a category using the password parameter, like this: <header password="secret">.
When you exit the application the windows layout is stored in a file named sate.xml in the application folder.

If you want to create a default layout for your customers you need to first design your layout within the application then exit it.

Next, you need to edit the file state.xml and copy the <layout> section to the configuration file VOP.xml.

This layout will become the default layout when the user starts the application for the first time or when he resets the layout.
Adding or modifying a translation is a very easy process.

You need to press Alt-T in our software, this will create a XML language file named "language.xml" in the application folder.

This language file will contain every word/sentence of our application.

This file will be loaded when the application starts and will replace the current translation.

You can translate/modify this file from time to time, partially or fully.

Once finished, you can either redistribute this language file (language.xml) with the application, or include the <language> section in the configuration file (VOP.xml).

If this is a new translation you can even send us your translation file so we review it and add it to our next release.
You create your configuration file (VOP.xml) with your desired default values and the settings section of the application.

You create a setup (or a ZIP file) containing the three files VOP.exe, VOP.bin, VOP.xml.

And you are ready to deploy our application to your customer.

We also offer extra services when needed: installer creation, logo addition, (A)utomated (P)rovisioning (S)ystem setup.
We offer an (A)utomated (P)rovisioning (S)ystem.

We create a custom bootstrap (VOP.exe) which points to the URL (HTTP or HTTPS) of your APS server.

We also create an installer containing only this bootstrap for deployment.

When the bootstrap starts it asks for a username/password (different from the SIP account) managed at the APS server.

If the username/password is valid the bootstrap loads the firmware and the configuration file from the APS server.

The username/password and configuration file are encrypted and stored on the customer computer. (the username/password can not be stolen and the configuration file content can not be seen)

At each new start-up the username/password is checked, firmware/configuration updates are checked and downloaded when needed.

When running, the application also checks regularly for new firmware/configuration updates.

The ITSP can manage all his customers binaries/configuration updates remotely at his APS server.

To help you start your APS system we provide you with a generic bootstrap (which on start asks for the APS server URL along the username/password) and an APS server script based on PHP/MYSQL.
The application provides a multi-level and multi-layer debug system.

The debug information can be sent to a remote syslog server at the ITSP.

The debug can be enabled and the level can be adjusted through the configuration file.
When our application starts it builds the list of every IP associated with the IP PBX.

You can specify a comma separated list of IPs for the IP PBX manually in: Settings > Account > SIP server address.

In that case the application will use that list of IPs.

Otherwise, the application will get every IPs associated with the IP PBX host.

You can also enable the DNS SRV resolution of the IP PBX host/domain in: Settings > Account > Use DNS SRV to get SIP server address/port.

In that case the application will get the list of every host/port associated with the IP PBX host/domain respecting the priority.

For each host, the application will get the list of every IPs associated with that host.

When the list of all the IPs will be constructed, the application will start by registering to the first IP and if it fails move to the next one.

At each re-registration, if the registration fails it will move to the next IP.

When all the available IPs will fail, the application will notify the user and the application will start over at the beginning of the list.

Failing means having no reply at all from the registration packet (if the registration is rejected with an error, like wrong authentication or else, the application will not move to the next IP but retry the same one later)
By default VOP tries to resolve the SIP server domain or host name entered in: Settings > Account > SIP server domain or host name.

If you want to use an oubound proxy you need to enter its host name or IP in: Settings > Account > SIP server address.

You can also specify multiple outbound proxies by entering a comma separated list of host names or IPs.

In that case VOP will move from one to another if one fails.
Our application can be configured to use any network interface available on the computer.

You can either create a virtual VLAN interface or add a dedicated network card to the computer.

You can also configure interfaces and manage routes directly/remotely from the configuration file.
We offer to add your logo to our application (replacing the VOP logo in the top/right corner) and we create a custom installer with your pre-configured settings.

When your logo is added to our software it is available in every edition/version.

Depending on your order quantity this is either offered or payable through a setup fee.

You can see some examples of our customers logo by clicking here or in the application by typing "Swisscom", "Teo", "Karel" or "TWT" in: Settings > Appearance > Logo.

And finally we also offer ITSP the ability to give to all their customers our VOP Nano edition for a one time license fee.
The user selfcare is usually a web page that the user can browse to modify its general (company wide) or personal telephony settings at the IP PBX or Softswitch.

Our application offers a dedicated web browser window named "Online" which can display this web page.

To display this online web settings page you need to enter its URL in: Settings > Web > Online web settings URL.
The ITSP can build/manage a web page with additional features (FAX, SMS for example).

These features will then be integrated to the application in its own dedicated "Online" window.

To display this online web page you need to enter its URL in: Settings > Web > Online web settings URL.

We also offer a method to add new menu items to our existing right-click menus.

When the user select a new menu item, our application issue a web request to an URL with parameters containing the context (selected call, user, contact).

The web request can be silent or the response can be displayed in the "Online" window.
You can embed our application in any hardware PC with a touch screen interface.

Through the configuration file (VOP.xml) the application can be automatically launched at windows startup, the window location and size can be set up, the window features can be selected/limited (move, resize, minimize, close), the window can also always stay on top.

For touch screen interface, the application font type and size can be adjusted, the context menus can be switched to show directly on item selection.

You can watch a video from one of our integrators here: VOP Touch Screen integrated by Teo