Reference12r2:Concept Softwarephone: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
Line 289: Line 289:
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called '''icollect.exe'''(accessible via start menu entry). After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\<User>\AppData\Roaming\innovaphone) as "debug-info.zip".
Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called '''icollect.exe'''(accessible via start menu entry). After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\<User>\AppData\Roaming\innovaphone) as "debug-info.zip".


Please enable the "File Trace" flag at "http://localhost:10006/debug.xml" and set the appropriate trace flags:
Before you repropduce the problem, please enable the ''File Trace'' flag at "http://localhost:10006/debug.xml" and set the appropriate trace flags:


Problem: Flags
Which flags for which problem:


Softwarephone looses registration at PBx: H.323/RAS, H.323/H.225, H.323/H.245
; Softwarephone looses registration at PBx: H.323/RAS, H.323/H.225, H.323/H.245
Call setup phase: Signalling, H.323/RAS, H.323/H.225, H.323/H.245
; Call setup phase: Signalling, H.323/RAS, H.323/H.225, H.323/H.245
Audio problems: Signalling, H.323/ICE, H.323/DTLS, DSP trace, DSP Audiochannel. Please enable "DSP Audiocapture" only if specifically aske by innovaphone since it captures the complete audio stream and thus can generates huge files on the HD
; Audio problems: Signalling, H.323/ICE, H.323/DTLS, DSP trace, DSP Audiochannel. Please enable "DSP Audiocapture" only if specifically aske by innovaphone since it captures the complete audio stream and thus can generates huge files on the HD
Headset button problems: Signalling, KEYS
; Headset button problems: Signalling, KEYS
   
   
This is necessary when reporting a bug/problem with innovaphone softwarephone v11 and up.
'''NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don't send us crash dumps of older versions since this will just take more time/effort to be analyzed by our developer team.'''
'''NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don't send us crash dumps of older versions since this will just take more time/effort to be analyzed by our developer team.'''



Revision as of 15:51, 20 February 2018


General

Innovaphone SoftwarePhone is the implementation of innovaphones HW phones software as a Windows process. So all the features native to the hardwarephones are present in SoftwarePhone as well. SoftwarePhone has no UI, it is operated via myPBX or 3rd Party CTI client (ex: Estos Procall).

System Requirements

The innovaphone SoftwarePhone requires:

  • Windows 7 or later.
  • Innovaphone PBX with SoftwarePhones<v> License.

Installation

Prior to installing the 10.00 Version of innovaphone SoftwarePhone an eventually installed 9.00 version must be manually deinstalled. From version 10.00 to 12r1 subsequent releases can be updated without first deinstalling the older version. From 12r2 on prior versions must be manually deinstalled. When updating the installation, the previous configuration (if existing) is reused. Otherwise a default configuration is installed. There are 2 ways to install Softwarephone:

  • SetupSWPhone.exe. This is the preferred method if no installation parameters are required. It automatically installs all 3rd party SW to operate the headsets
  • softwarephone.msi AND SpokesSDKNativeRuntime.msi. If the Softwarephone installation needs to be parametrized via Orca first install SpokesSDKNativeRuntime.msi, then

softwarephone.msi

The following items are installed:

  • SoftwarePhone .exe and related files (dll) in Program files (x86)\innovaphone\SoftwarePhone
  • Hid.tbl (the code definitoins of supported USB headsets) in Program files (x86) \innovaphone\SoftwarePhone
  • The config files „swphone_config.cfg“ and „swphone_command.cfg” in the User Roaming directory (if no previous configuration is located there, otherwise the old configuration is used, Roaming Directory Location : <drive>:\Users\<User>\AppData\Roaming\innovaphone\SoftwarePhone\)

Installation Process:

  • http port 80 ist checked to be available as the SoftwarePhone ’s web configuration port. If not free, a search starting at port 10006 is executed to find a free port. The URL file, containing the configuration servers web @ is adjusted to the determined free port
  • SoftwarePhone is startet.

Resetting to defaults:

  • Resetting to default configuration could be done by deletiong the config files in the Roaming Directory.

Unattended Installation of softwarephone for ALLUSERS:

  • It's possible to install softwarephone for ALLUSERS by using the command:
Msiexec /i softwarephone.msi ALLUSERS=1

Configuration

The configuration is opened by selecting “Configuration” from the start menu. A browser connection is opend to the server running as part of SoftwarePhone and the configuration menu is displayed.

Default login is admin/swphone.

The configuration options are the same as for the hardware phones with a few specifics referring to SoftwarePhone running as a Windows process:

  • Application

The Applicatons run mode and priority can be set and whether to register with the computers name at the PBX.

  • Audio

The desired audio devices can be selected.

  • Audio

The Audio –Input, -Output and –Ringing device can be selected.

  • USB

Legacy configuration for customers who use a previous installation with a headset other than Jabra, Sennheiser or Plantronics. Headsets from these vendors are handled automatically and need not be configured.

The default credentials are admin / swphone

„Audio and USB Configuration"

This config GUI is unique in the way that it can only be accessed (right click on the softwarephone icon) from the computer SoftwarePhone is running on. Here the typical End User Configurations are set: Audio and USB-headset parameters.

Default-usercfg.png

Above image shows the default configuration without any headset from vendors Jabra, Plantronics or Sennheiser plugged in. "Headset" in this case means any headset of beforementioned vendors that is detected. Note: The FIRST detected headset will become the active one, if more than 1 headset is plugged in. In case you have more than 1 headset plugged in and want to use a specific for Softwarephone operation you must configure it in the "USB Configuration | USB device" droplist. The column on the right shows the actual values

Usercfg-headset-plugged-no-preferred.png

Above image shows a default configuration "Headset" with currently a "Sennheiser SC260 .." being plugged in and detected

Usercfg-headset-plugged-preffered-active.png

Above image shows the "Sennheiser SC260 .." configured as the prefered (USB Device) and being active.

Note: If you have configured a specific headset and you don't plug it in but instead another one then this other is fully operational and it stays that way until the prefered one is plugged in, then it becomes the active one.


Microphone:

The microphone selection.

Speaker:

The speaker selection

Ringer:

The Ringing device selection

Handsfree:

The open listening device selection. The device that plays the incoming audio stream when the speaker button is pressed in myPBX.

USB Device:

The USB headset selction.

USB Map:

Legacy for non Jabra, Plantronics and Sennheiser headsets. The codepage selection for the selected usb device. Here one or two choices are presented. If a selection item that refers to the selected USB Device use this. If only “generic HID Telephonie Page” is available you can try to use the headsets button (some headsets support the generic codes)

NOTE: If the headsets buttons do not work for call control, then call control is solely available through myPbx. Nevertheless the USB headset can be used as the audio-in/output device.

[Tab:„Application“]

Admin mode Application configuration.

Swphone application.jpg


Application Run Mode, Application Priority: see „User Configuration“

Application Run Mode:

  • Manual: SoftwarePhone needs to be started manually
  • Login: SoftwarePhone will be started when the user logs in (don't set this option if myPBX Launcher have option "Run Softwarephone" in the same PC).

Application Priority:

  • Normal: As every standard Windows Process. Sufficient in almost all cases
  • High: Elevated Priority.

Register Mode:

  • Default: Registration modes like the HW phones.

NOTE: Anonymous registration might not work in all environments, especially those that prevent multicasts. For example, when using SoftwarePhone over a vpn connection ensure that multicast forwarding is guaranteed. Also, if a virtual machine is running on the same computer it might prevent multicasts being sent on the LAN.

  • Computername:

The best way for registering SoftwarePhone at the PBX. It uses the computername as it is visible on the LAN. The computername is determined by SoftwarePhone and the appropriate parameters are set for the “Phone” modul. This configuration appears in the field “Name” under the “Phone” tab (Example for computer„LBU-VOSTRO-W7“ ):

Swphone registration.jpg

[Tab:"Audio”]:

Admin mode Audio configuration. Items see „User Configuration“

[Tab:“USB”]:

Admin mode Audio configuration. Items see „User Configuration“

Rollout

Especially in larger installations it is desirable to have a mechanism for automatic configuration of the SoftwarePhones. This can be accomplished in the following way:

SoftwarePhones installation package (softwarephone .msi)can be parametrized by creating an Orca MSI database editor transform with the parameters: URL and POLL. Theses parameters are entered in the “Property” table

Download orca.jpg


Saving Embedded Streams

By default, when saving a database to a new file with File and Save As…, Orca does not copy streams that are embedded in the database but not a member of any table. Select Copy embedded streams during 'Save As' to save streams to the new file when saving a database using the File with the Save As… option.


Orca openfile.jpg

Orca addrows.jpg

Orca rows content.jpg

Orca savefile.jpg

It is recommended that the “POLL” value be set to “1” (shortest time: 1minute). When SoftwarePhone is installed with the transform it starts, waits 1 min (poll period) then accesses the script file specified in the “POLL” parameter and executes the commands therein. To register SoftwarePhone with the computername at the PBX the script file should look as follows (example showing the PBX @ “192.168.178.22” with the identifier „IP800-06-25-6e” :

…
#set the PBX @ and Identifier
config change PHONE SIG /prot H323 /gk-addr 192.168.178.22 /gk-id IP800-06-25-6e
#register with computername
mod cmd APP0 app-set /op OK /reg_mode ComputerName
#reset the automatic configuration update
config add UP1 /url 
#reset SoftwarePhone and apply config
reset 

Another method to provide configurations to the installed SoftwarePhone s is preparing a configuration template by configuring one SoftwarePhone entity, then using the generated “swphone_commands.cfg” file in the <users roaming directory >\innovaphone\SoftwarePhone as the template, copying it to the update location and using it in the script file:

#invoke configuration template
mod cmd UP0 cfg  <update directory location>/swphone_commands.cfg


This method is particularly helpful when many USB headset of the same type are used.

Setting QoS

See Howto:Softphone recommended settings.

Supported USB headsets

The following USB headsets are supported for onhook/offhook functionality:

All Jabra, Plantronics and Sennheiser headsets that are supported by these vendors SDKs. Please check their sites for more information.


Troubleshooting Connectivity Problems

If you experience problems with softwarephone attaching to the PBX or not being able to make calls please check the following:

  • check in the “Phone” tab whether the state is “up”
  • check in the “General” tab if License is “Valid”
  • Start a command window as Administrator and issue a "netstat –a –b > swphone_netstat.txt"

In the “swphone_netstat.txt” file search for “1720”. There should be an entry like this:

TCP 0.0.0.0:1720 LBU-VOSTRO-W7:0 LISTENING [softwarephone.exe].

Please search for other occurances of “1720” to ensure that no other processes listen to this port.

  • Make a softwarephone trace to see if the packets are received by softwarephone

In the “Maintenance” tab “Tracing” enable “H.323 Signaling”, “Phone” and “All TCP/UDP Traffic”. Then try to make the call. In the resulting trace you should see the events like the following:

0:0103:337:3 - RECV RESULT[](662 from pla(192.168.178.22:60003) type: 1) 0:0103:337:3 - PHONE_LISTEN.1 -> PHONE_REG.1 : SIG_SETUP faststart=3ac8bec cmd=PROPOSAL cdpn=400

If these events are no present in the trace it could be that the firewall settings prevent some of softwarephone’s functions. This could be the Firewall.

  • Check the firewall settings for softwarephone

Please open the “System Administration\Windows-Firewall\Allow Program.. Ensure that softwarephone is enabled on the required interfaces. If this doesn’t solve the problem then temporaryly disable the firewall completely and try again. Now even with the firewall disabled there could be some other security software that causes the problem. To find out if packets to the “h323hostcall” port (1720) are filtered by the firewall you can use the commands “netsh wfp capture start” to start a trace of the test and “netsh wfp capture stop” to stop the trace. The trace is written into the file: “wfpdiag.cab” . Extract the file: “wfpdiag.xml”. In this file search for “1720”. If the packet is filtered by the firewall an entry like the following can be found:

<netEvent>
  <header>
    <timeStamp>2013-11-05T11:20:27.367Z</timeStamp>
    <flags numItems="8">
      <item>FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET</item>
      <item>FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET</item>
      <item>FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET</item>
      <item>FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET</item>
      <item>FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET</item>
      <item>FWPM_NET_EVENT_FLAG_APP_ID_SET</item>
      <item>FWPM_NET_EVENT_FLAG_USER_ID_SET</item>
      <item>FWPM_NET_EVENT_FLAG_IP_VERSION_SET</item>
    </flags>
    <ipVersion>FWP_IP_VERSION_V4</ipVersion>
    <ipProtocol>6</ipProtocol>
    <localAddrV4>192.168.178.21</localAddrV4>
    <remoteAddrV4>192.168.178.22</remoteAddrV4>
    <localPort>1720</localPort>
    <remotePort>60007</remotePort>
    <scopeId>0</scopeId>
    <appId>							
      
      <asString>...</asString>
    </appId>
    <userId>S-1-5-21-3364624427-3176291796-194291593-006</userId>
  </header>
  <type>FWPM_NET_EVENT_TYPE_CLASSIFY_DROP</type>
  <classifyDrop>
    <filterId>105267</filterId>
    <layerId>44</layerId>
    <reauthReason>0</reauthReason>
    <originalProfile>2</originalProfile>
    <currentProfile>2</currentProfile>
  </classifyDrop>
</netEvent>


where the

<localAddrV4>192.168.178.21</localAddrV4> 

and the

<remoteAddrV4>192.168.178.22</remoteAddrV4> 

should be your computers and the PBX’s @.

  • Check if the setup from the PBX is received at the local computer and what happens with it

Sometimes, Antivirus Packages can implement their own network access policy. This can result in a h323 release complete with cause “User Busy” to an incoming Setup from the PBX before any other softwarephone is reached. To see which process Sends/Receives the packets in a flow you can use the “netmon”, Microsofts free Packet tracer.

How to obtain debug traces of softwarephone using icollect

Included in the installation path (C:\Program Files (x86)\innovaphone\SoftwarePhone) there is a tool called icollect.exe(accessible via start menu entry). After we reproduce a problem we can run this tool to generate debug files that are saved in the roaming folder (C:\Users\<User>\AppData\Roaming\innovaphone) as "debug-info.zip".

Before you repropduce the problem, please enable the File Trace flag at "http://localhost:10006/debug.xml" and set the appropriate trace flags:

Which flags for which problem:

Softwarephone looses registration at PBx
H.323/RAS, H.323/H.225, H.323/H.245
Call setup phase
Signalling, H.323/RAS, H.323/H.225, H.323/H.245
Audio problems
Signalling, H.323/ICE, H.323/DTLS, DSP trace, DSP Audiochannel. Please enable "DSP Audiocapture" only if specifically aske by innovaphone since it captures the complete audio stream and thus can generates huge files on the HD
Headset button problems
Signalling, KEYS

NOTE: Please when providing a crash dump captured by icollect always use the latest SR (service release) of the softwarephone. Don't send us crash dumps of older versions since this will just take more time/effort to be analyzed by our developer team.

Known Issue

G.711 only and G729 Optional

The software phone does support G.711 and Opus codec only, no G.723 or G.722. Optionally we can use G729 if G729 Channel licenses are present and available on the PBX.

Another program is blocking the softphone

Another program (e.g XCAPI) might be listening on tcp port 1720 as well. If you want to use both programs simultaneously you can change the signaling port of the softphone to another port like 1721.

 http://localhost/!config add PHONE SIG /ep-addr 0.0.0.0:1721

If you want to find out which program is listening on which port we recommend using a little tool called TCP View. You’ll find it here:

http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

No license obtained from PBX if SIP Protocol is used

When using Innovaphone softwarephone with SIP Protocol no license it's obtained from the PBX. It's necessary to use H.323 always.

Headset Basestation doesn't Ring

Often it's reported that the Basestation of Wireless Headsets doesn't Ring on incoming call, this is a feature that is missing and there exist already a Feature Request for it - Alerting on Wireless headset base also .

Windows Volume lowers automatically when receiving a call

The volume can be set for swphone exclusively by the Windows mixer. It appears in the mixer because it has a Audio stream Interface to the Windows Audio System, but no way adjust the volume by itself. When such an effect occurs it is best to check the Windows configuration: if it is set to Change volume for applications when certain Events occur:

Windows 7 lowers applications' volume automatically

H.323/TLS Connection not Trusted by Default

Please check the H.323/TLS Known Issues article.

Softwarephone does not work on Terminal Server

The software phone can only run once on a single system. This also implies that it does not work for terminals server systems such as e.g. Citrix, as only the first client session running on a server would be able to start a software phone. Furthermore, multiple RTP streams would impose quit a bit of load on the server.