Howto:Innovaphone Desktop Display (iDD)

From innovaphone-wiki

Jump to: navigation, search

The “innovaphone Desktop Display” (iDD) shows the Display of your IP-Phone on the Desktop of your PC. iDD allows to control your IP-Phone using the keyboard of your PC.

iDD is not a soft phone and requires a innovaphone Hard-Phone (IP110/200/230/240 series).

iDD was mainly designed for:

  • simple CTI solution
  • active busy lamp field
  • give visually impaired people a practicable operator interface
  • give blind people a practicable operator interface

See relative chapter if you are interested in any of those features.


Applies To

iDD is designed for innovaphone IP-Phones IP110/IP200/IP230/IP240 only. iDD works even with IP110 and IP230 but sets without alphanumeric Keypad can’t use the LDAP directory search feature using the PC-Keyboard. The reason is that a “long” keystroke (necessary to switch in the alphanumeric mode) cannot be simulated from an external application. So the ideal phone for this application is the IP200 and IP240.

Please note that on a IP110 phone set you can use just up to 4 Feature keys (F1 to F4 like on the hard-phone) and that a IP200 supports just 6 Feature Keys (the one near the display). So both models will not support direct dial keys.

We tested it with phones in version 8, but it should work even with older versions.

iDD will not work with Version 10 on the phone.

iDD works only on PC with windows operating system (tested with win7).

iDD is open source freeware, so innovaphone will not guarantee maintenance and is not liable at all in using this tool, it will be at your own risk. Downloading the application you will accept all relative paragraphs.

Please note that the iDD is designed for monitor with a resolution of at least 1440x900 pixel, this is especially essential for the large display mode. Resizing is not foreseen.

Check download page, Wiki Sources folder for available further versions and source code. Inform us about bugs, use the discussion tab and write out comments. See know problems for details.

More Information

iPD can work indifferent display modes, a small display for normal user and a large display for visual impaired people, on top even with TTS voice output. Functionality and layout is identical, therefore in this article you find always screenshots from the small version (imagine the large mode equal but all over the entire screen of your PC).

iDD is a first party application, that means that iDD communicate with the phone set and not with the PBX (and not with the operator). The application reproduce the Phone display and sends keystrokes to the set. If the display on the phone changes the virtual display on your desktop follows that changes regardless how that was invoked, using the phone or the pc keyboard. Being a first party application there are even no scaling problems: if all users in a huge PBX uses iDD the PBX will not be slowed down at all. iDD is absolutely “not aware” what is “going on” from a telephone or PBX point of view. That kind of approach has the advantage that all the telephony complications have not to be considered in the design because someone (innovaphone) has jet done the job. So the features are the one of a phone set. For example a LDAP query or a partner key is solved and also features like pickup, parking or partner keys, call intrusion etc. works.

The disadvantage of the first party approach is that any information or behavior not present in the phone cannot be displayed or solved. For example a phone can just queue up to 4 calls, but has no idea about eventual other calls in a, from the phone viewing point, “external” waiting queue. So the maximum number of calls waiting on a phone is 4 (which mean “many hurry up”). An example for behavior which cannot be solved is the situation where 2 calls came to the phone. The Phone is ringing displaying the first call. You can answer or drop that call, but you can’t answer the second call first; if a call is in ringing on a phone set you have to handle it. Mostly not a real problem, but it shows some limits.

Just too clear out the difference: myPBX is a web based (and so platform independent) build in solution of the innovaphone PBX. No installation has to be done on the PC, just use your web browser. So if you just want to have a CTI use myPBX, if for example you need the display of the phone on a screen for training issue feel free to use iPD.


After the installation starting iPD you will see the display of your Phone reproduced on your Desktop in a form like that one:


If you press the menu key on the phone or pick up the receiver iDD will “follow” the phone display.


In this simple operating mode iDD just reproduce the Phone display. If you open again the configuration and click “Lamp/Label on” also the Keys nears the display and their labels (if configured on the phone of course) are displayed.


Note that IP110 has no Keys near the display and so that kind of layout has less sense using IP110. Note that cursor position is not indicated with inverse letters like on the phone but with a cursor near the line:


Also the lamp status is reported in a separate column, but just on/off (so no flicker or blinking). In the following example user Laura is busy (the set shows in this situation the handset symbol):


Keep in mind that for visually impaired people the interface has to be very clear and simple, so a blinking symbol like a cup of tea is not the thing they really need or like or considered funny or nice to have.

The setup option “Automatic pop up/down” does what it says: if the application is idle for some seconds the windows will pop down and you see just the symbol in the task line. If a call comes in or the phone is activated (pressing some button or lift the receiver) the window will pop up automatically. This feature is available only for the small display (has no sense for impaired people).

“Keyboard mapping” means that the PC keyboard is used to control the phone. If the iDD window is active keystrokes are transmitted to the phone. Click on the form after the setup and even after start-up.

In any case if iP DD has not the focus keystrokes are not transmitted to the set. If keyboard is not mapped a warning message is displayed like in the previous screenshot.

If keyboard mapping is on a help button is visible:


The help button shows the mapping of the PC keyboard to the Phone in a separate window.


The help form will pop up without getting the focus; the focus will remain on the iDD form and so keystrokes works continually. Please note that the function keys F1 to F7 can be pressed on the PC keyboard or even in the iDD window using the mouse.

In the lower part of the display the next two waiting calls are displayed:


In the example user 37 is talking with user 36, user 25 and 24 are in the WQ of the set. Of course you have not to limit the number of max. calls in the setup of the PBX.

Note: date and time is not transmitted from the phone, so the display shows the PC date/time and therefore a difference is possible. Also the call duration is done locally and in a different mode: each time the call flow changes the timer starts again (it is mostly better know the actual speech time then the “overall” one).

Even Call lists are displayed slightly different, answered calls are market with “R”.


If not supported menus (User/phone setup and user list) are selected a message is shown to (“use the phone display for this operation”). Typically impaired user won’t do setup changes.

Active busy lamp field

Please note that the features “Direct dial Keys” and “Virtual direct dial keys” require Software Version 9 on your Phone Set (note: on the phone, not necessarily in the PBX), build 90176 or higher. Please not also that those features are not supported in the “large” display mode.

For not very clear reasons everyone in the world names programmable keys on a phone set as “direct dial keys”. In innovaphone we call keys with led like the one on the right hand of an IP230 or IP240 “direct dial keys”, the keys near the display “feature key”. Or better as stated also in the configuration “Function-Keys” which is a kind of grouping of both expressions. As you know feature and direct dial keys can do the same things, the only different is that the text configured on the phone is of course not displayed in case of a “direct dial key”. Up to now, because IDD solves the “hardware problem”.


As you see 8 “direct dial keys” are displayed, the “text” is the one configured in the Phone set (section Function-keys). In case of a IP230 which has 10 direct dial keys the key number 9 and 10 will appear automatically if you configure them in the phone. The keys are active and if you press the key in iDD the function is executed in the same way as pressing the direct dial key (option “keyboard map to phone” in the configuration of iDD has to be switched on). The keys also will follow the led status. A blinking o flickering Led is displayed switching on a red background as in the picture above. A steady on Led is shown with a white background:


In this example the partner key shows that extension 24 Rossi is on the phone.

Virtual direct dial keys

As you know IP230 and IP240 can be extended with additional direct dial hardware modules (with on 30 key/led each), up to 3 pieces and a simple IP230 can so be upgrade to a "100 extension hardware busy lamp field".


iDD support also the keys on the additional busy lamp field; just switch on in the configuration the option “External function keys” and select the number of keys (30, 60, 90 = 1, 2 or 3 module). The principle is the same decribes in the section direct dial keys.


But there is an additional gear; you can define them in iDD and they will work without any additional hardware! That allows IP230/IP240 user to have the “normal” Phone set and up to 90 partner, feature or direct dial keys on the desktop:


In the not so nice example we have switched on 3 “modules”, but done a very poor job in the configuration of the set and so it look a little helpless, but we are sure you will make that better.

It could happen that a customer likes a Virtual Keypad (or active busy lamp field), but he won’t use iDD. If you select “Hide small Display” exact that will happen: you will see just the virtual keypad and no iDD is displayed. You will see that this window has no possibility to access to the configuration to restore the previous mode. Therefore if you start the iDD in this mode first will start the configuration.

Please note that the Keypad will also work if you have switched off in the configuration the option “Keyboard map to phone”. That kind of setup is usefully if you want to use the active busy lamp field in combination with the innovaphone operator: of course the keystrokes should be processed by the operator (and not to iDD) but if you click in the BLF you should execute the function. Running the active busy lamp field in combination with the operator probably also the flag “hide small Display” is tagged: in this way you will see just the BLF and not the “normal” iDD:

Using different types of operators

In many cases operator with normal, impaired and blind operator will use the same infrastructure. Also parallel operating (for example one normal and one blind operator) is very common. This chapter gives you some hint how handle this scenarios.

If you have the innovaphone operator running as your normal operator and you want use iDD for visual impaired or blind operator should stop the innovaphone operator and start the iDD and vice versa. Of course both could run in the same moment, but consider that just one application will process the keystrokes. In case of the iDD only if the iDD is the active window that will happen. At the end of the story there are many situations where concurrent applications will cause confusion for the user. So start the application which is currently necessary and stop all others.

Please note that the innovaphone Operator is monitoring the Waiting Queue, but the iDD is not able to do this. This means that if the operator is busy and a call is in the WQ the iDD call counter is equal zero. To avoid that flag in the configuration of the waiting Queue (tab Queue) “Call busy Operator”. Now the phone and so the iDD is aware about call waiting and the innovaphone operator can even handle this situation (you will have just the calls in the upper window).

Unfortunately the mapping of the keyboard is done in different way by iDD and the operator. The reason is a very different design idea: the innovaphone operator has a lot of functionality and features and is designed for “normal” people. iDD has impaired people in mind and so typing “CTRL”+”1” is not as good idea for answering a call, just pressing the space bar is better. On the other hand an impaired operator will hardly handle the innovaphone operator and vice versa.

Operator for visually impaired people

If you select the large display mode the colors of iDD can be selected. Some visual impaired people are able to distinguish some color and contrast better than others.

The Background Color, the fore color and the cursor color can be selected independently. A color dialog window can be opened for each setup (in the example in German words due to the German OS installed on the PC, iDD calls as windows system dialog function).


The following example shows a portion of the large display screen with a red cursor, blue background and yellow characters:


In the large display mode the Num Lock function on your PC is forced on. Visually impaired user will not check easily that Numlock function is off. Therefore the lock is fixed and cannot be changed and we have unique mapping of the numeric keypad. That is important because the main operation should be done using just the numeric keypad (see help screen, all main operation keys for handling are on the numeric keypad, with enter you will answer etc.). We recommend mapping the keys like on a telephone set, see Related Articles.

Operator for blind people

There are two methods for an operator serving blind people: the first one is using a Braille keyboard and relative hardware and software. The second one is signaling behavior with voice prompts, this is what iDD can do. If you enable the relative option in the setup (“Enable Text to Speech”) you will hear voice prompts form the PC speaker. The volume can be adjusted using the relative slider on the PC. The voice prompts of iDD are produced with two methods: if iDD has to spell an name (for example searching in the directory or scrolling the list of last calls) real TTS is used. Unfortunately the windows TTS for free is not excellent and just in English. So in other languages names maybe sounds strange but it should be at least good enough for understanding. Numbers (more frequently in telephony) and status (for example “idle”) are human voice prompts (like used in the voice mail). There are not necessary many of them and you can easily record them in your language. See relative chapter how localize the TTS.

If for example the operator is busy and a second call came in the PX will prompt “C1” while the operator is talking. The same thing happens if a long number is calling and the operator is answering quickly: while he is in connection with the caller the PC is prompting the number. Or generally spoken: it is not feasible that the TTS is done just using the PC speaker. The solution is very simple but you have to heat on the soldering iron. Here how to solve that problem: For a blind operator you will need a stereo headset. The left cannel (ear) is connected to the phone (like in case of a mono headset) meanwhile the right cannel (ear) is connected to the headphone output of the PC. So the operator will hear left the caller and right the TTS. Level can be adjusted independently (on the phone and on the PC) and the caller will not hear the voice prompts forwarded to the operator. Please note that the voice prompt usually are mono and so it doesn’t matter which of the stereo cannel of the PC is taken.

Functionality is much reduced for blind people. But blind people will really do features. Basically the supported functions are:

  • Spelling typed numbers and numbers in the display
  • Spelling names in display and in directory search
  • Spelling names and numbers in the call lists (received and dialed)
  • Give some minor hints (like “idle”, numbers of calls waiting)

Note that some indications like “call” are not necessary because the phone will ring if a call comes in.

In any situation pressing the CTRL key on the keyboard will switch off the function and mute the speaker. Pressing again CTRL ill switch on again, a “beep” is done signaling that TTS in on. You can see the muting situation also on the PC.

That TTS option is on is visible on the iDD form (in both, the small and large one) indicating “TTS” in the left lower corner.


Read and see the manual of the phone set.

Auto anchor

The positions of the two displays (for the small and the large one independently) are stored automatically each time you move one o the display on the screen. After a restart you will find the windows in the same position on your monitor. This option works also in case of an extended desktop (second monitor). In using two monitors it could happen that the window is in the “other” monitor (which for example is switched off). The key “reset display position” will bring the display after a restart on the display position 100/100 pixel (left upper corner) of the main monitor.

Log and Trace

iDD stores events and errors and create automatically a Log file in text format in the directory where the application is running. For doing traces you have to flag first the option “Show trace button” in the setup. Now in the iDD screen start and stop keys for trace appear:


A display counter shows how many information frames (“displays”) are stored as a trace. If the situation is captured the tracing can be stopped. The trace will anyway stop automatically after 100 frames. The trace files are xml files and can be read out with a normal browser. Se “Installation” for filenames.

Note: The original xml stream from the set starts with <?xml version="1.0" encoding="utf-8"?>

Web browser will fail if in the stream are special character like “ö” etc. That happens when for example names with such characters are displayed. Therefore the header is replaced by iDD with <?xml version="1.0" encoding="iso-8859-1?>.

Web browser can now process the XML data without problems. The rest of the data streams remain untouched in the trace file.

Languages (Localization)

iDD has English, German, Italian and Norsk wording “on board”. In the setup the desired language can be selected (where “default” = English). Wordings can be modified and other languages added (up to contemporary 10 languages). Please note that the language of your phone has to be the same that the one selected in the iDD setup, otherwise some displays appears in two languages because some messages from the phone are not translated by iDD but simply displayed. If you are interested in manipulate the wording or to add your own language read this section, otherwise skip it.

The basic idea was to deliver just one .exe file and not a separate file with words or a package to install or similar stuff. Also should be possible to change words just using a simple text editor or word. And it should be possible to add words not translated or if new or messages which are not translated becomes important. All that without changing code of course. Here is how that was implemented.

When iDD starts up the first time the application tries to open the language file iDD_Regional.txt, but the file of course is not found. So that file will be created automatically (with words and translation coded fix in the application). On all further start-up the file is now present and will just be loaded. If you change that file (changing the existing words or add new one) those changes will be loaded during the next startup. If you copy your modified file in a new installation your words will appear there. During normal operation iDD receives from the set the words in English and search if that expression matches with the language you selected in the setup. If a match is found the default will be replaced, if not it will remain. So even if you do some errors in the localization file no real damage is done, you will simple see an English expression instead of your language. The file format is given and has to be maintained, the fields are separated by semicolon (“;”). Please note that even the end of a line has to be terminated with a “;”. A record (a line) has the format:

English expression (the one transmitted from the set); German; Italian; Language 3; Language 4; …up to 7 (so up to 10 fields). German and Italian are created automatically and you can add up to 7 other languages (fields). Of course you can also just replace the Italian or German wording by your language. If you found the default English not nice you can define or change words just adding a new language. Please note that the first record (line) is a special one: iDD will read it out and show the fields in the configuration. These are the first lines of the original Regional file:






If you open the setup you can select between “Default, Deutsch, Italiano”.

Example: If you modify the file adding:






you will see in the scroll down also your new language:


If you select now “MyLanguage” instead of “idle” the display will show “Yes”.

Note: As explained the first field in each line is used ad reference item and should not be modified (the item in this field is a trigger item, the one iDD receives from the phone). New (not supported) messages can be added just adding new lines. The order of lines is not important. After the read out during the stat up (iDD loads just the first and your selected column) all real-time operations are done in the memory (and not searching in files), so it is very quick. Note that the language file will be read out just during start-up but also each time you leave the setup with “Exit and Start”.

TTS (Localization)

TTS itself (reading of names) works only in English but the numbers from 0 to 9 and prompts are simple wave files. In the ZIP folder you will find jet the one in Italian language. Just record them in your language (wave files) and put them on a directory, in the setup indicate the directory and done. In recording remember that the prompts should be short and without silence at the beginning or the end and of course starting with level 0. See “Creating fine announcement and moh” for some hints in recording of prompts

Note: not all of the prompts are jet in use but record them all.

The integrated Microsoft TTS is in english and not verry good.

A free italian TTS for Win7 is available under!107

Search yourself for other TTS driver in other language,


Download and install .msi-package. The Windows Installer will create an entry in Windows Start Menu, under Programms/innovaphone/innovaphone Integration Tools/innovaphone Desktop Display.

All described operational setups and operating modes can be selected in the setup (configuration). It is simpler to explain the function following your own trial.

When you start iDD the first time the software recognizes that there is no valid configuration file available and shows a warning message:


As you see already in the warning message it is necessary know user/password of the Phone set. If you confirm with o.k. the setup form is shown automatically:


Do not install iDD on the desktop because in the directory where iDD is running will be created automatically configuration files. So if you want to start iDD from desktop create a link. All the configuration and operational data are stored in automatically created files. If you delete all files in the directory the application is de-installed. If you copy all the files of the directory to another PC you will find the same setup. The automatic created installation/configuration files are:

iPDD_Log.txt - contain all log information’s (start/stop, errors …)

iPDKonf.txt - contain the setup data

iPDDisp0Pos.txt - position on the screen of the small display

iPDDisp1Pos.txt - position on the screen of the large display

iPD_Regional.txt contains the regional translations.

iPD_TrDisxx_yy.xml : trace files (xml format, not text)

Trace files: xx= serial screen number, from 1 to 99, yy = second of capturing (date/time is tagged from the OS).


The setup is simple and self explaining. All items have tooltips with examples.

The reset key in the color setup will restore default colors (black and white). The key “reset display position” will bring the display after a restart on display position 100/100 pixel (left upper corner). You can minimize the configuration window, but remember that until the configuration window is open iDD is not running. If you press the cancel button the iDD will stop without saving. The normal way to leave the configuration is pressing the key “Exit and Save”. Note that changes in the configuration are immediately active; you have not to reset or restart the application. Each time you leave the setup all parameters are reloaded and the xml and soap sessions restarted.

Known Problems

Some for normal operating not essential menus are not supported.

Some items are not translated (let us know which if it is important).

There is a small problem regarding the mute button; his status is not transmitted from the phone set to iDD. That means you can switch of the ringer manually on the phone and iDD will not recognize this situation. To avoid that impaired people press unintentional the corresponding key on the PC keyboard this function is disabled in the large display (not in the small one).

iDD is freeware but uses some not public documentation and methods. So in contrast to XML samples or applications like Callmonitor or ClicktoDial you will not find all the required documentation for writing this application by yourself.

iDD works just with version 9 (no version 10), so on the phone must run V9.x!

HTTPS will not supported



Howto:Fit a PC Keyboard Layout to telephony use

Howto:Creating fine announcements and music on hold

Personal tools