Howto:Innovaphone Desktop Display (iDD)

From innovaphone wiki
Revision as of 17:02, 7 May 2010 by Kwa (talk | contribs) (New page: The “innovaphone Phone Desktop” (iPD) shows the Display of your IP-Phone on the Desktop of your PC. iPD allows to control your IP-Phone using the keyboard of your PC. iPD is not a so...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

iPD is not a soft phone and requires a innovaphone Hard-Phone (IP110/200/230/240 series). iPD was mainly designed to give visually impaired people a practicable operator interface.

For normal user it represents a nice freeware tool.

How nice? Well, it’s more complicate to describe then to try it. So if you don’t like read a lot just load it down and try it (and read after). Just one thing first: copy iPD in a directory and start it from there (and not from your desktop).


Applies To

This information applies to

iBD is designed for innovaphone IP-Phones only. iPD 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.

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

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

iPD is 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. This release is a release candidate and not the final first release. Media:IPD.zip Check this article for available further versions. Inform us about bugs, use the discussion tab and write out comments. See know problems for details.


More Information

iPD can work in two (display) modes, a small display for normal user and a large display for visual impaired people. 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). The small display can be used unlimited, the large display requires the innovaphone operator running on the same PC. But iPD doesn’t use functionality from the operator; it is just a question of licensing, see more details in the installation section.

iPD is a first party application, that means that iPD 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 iPD the PBX will not be slowed down at all. iPD 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.

Description

Al 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 iPD the first time the software recognizes that there is no valid configuration file available and shows a warning message:

File:Ipd12.PNG

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:

File:Ipd08.PNG

You see that after the first startup no option and the small display mode selected, language is default (English). Enter now the IP address, user and password (admin level required) of your phone; that’s it.

Press “exit and start” and you will see the display of your Phone reproduced on your Desktop in a form like that one:

File:Ipd01.PNG

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

File:Ipd03.PNG

In this simple operating mode iPD 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.

File:Ipd04.PNG

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:

File:Ipd02.PNG

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):

File:Ipd05.PNG

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 iPD 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 iPD 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:

File:Ipd06.PNG

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

File:Ipd07.PNG

The help form will pop up without getting the focus; the focus will remain on the iPD 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 iPD window using the mouse.

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

File:Ipd10.PNG

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”.

File:Ipd11.PNG

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.

Colors

If you select the large display mode the colors of iPD 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, iPD calls as windows system dialog function).

File:Ipd09.PNG

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

File:Ipd15.PNG

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.

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.

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

Log and Trace

iPD 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 iPD screen start and stop keys for trace appear:

File:Ipd13.PNG

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 iPD 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)

iPD has English, German and Italian 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 iPD setup, otherwise some displays appears in two languages because some messages from the phone are not translated by iPD 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 iPD starts up the first time the application tries to open the language file iPD_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 iPD 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: iPD will read it out and show the fields in the configuration. These are the first lines of the original Regional file:

Default;Deutsch;Italiano; Idle;frei;libero; Ringing;Ruft;Chiamata; Handset;Handapparat;Ricevitore; ….

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

Example: If you modify the file adding:

Default;Deutsch;Italiano;MyLanguage; Idle;frei;libero;Yes; Ringing;Ruft;Chiamata;No; Handset;Handapparat;Ricevitore;Maybee; ….

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

File:Ipd14.PNG

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 iPD 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 (iPD 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”.

Installation

BD has not to be installed, just copy the .exe in a new folder and start it there. Do not install iPD on the desktop because in the directory where iPD is running will be created automatically configuration files. So if you want to start iPD 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).

Remember that iPD is freeware, but the large display will just run if an innovaphone operator is running on the same PC. If not so after 10 minutes the application will stop. In case of no operator running near the configuration button will appear the warning text “Demo-Mode” indicating that kind of operation.

Note: If in this situation the operator is started up after 1 minute the “Demo-Mode” indication is cleared.

Remember that the operator itself will stop running if no license is installed in the PBX where he is registered. So at the end for serious unlimited operation for impaired user you have to install an innovaphone operator on the same PC too. Typically operator workstations are anyway designed for dual operation (impaired and normal operator) and so in any case a normal innovaphone operator is required.

Configuration

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 iPD is not running. If you press the cancel button the iPD 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.

Operating

Read and see the manual of the phone set.

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 iPD. That means you can switch of the ringer manually on the phone and iPD 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).

iPD 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.


Howto:ClickToDial

Howto:Fit_a_PC_Keyboard_Layout_to_telephony_use