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).
The innovaphone SoftwarePhone requires:
- Windows 7 or higher
- innovaphone PBX with SoftwarePhones<v> License.
- innovaphone myPBX UC-Client as frontend with myPBX- or UC-license
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
- In our newest download packet, if you aren't using our exe file please install first HubSDKNativeRuntime.msi, Sennheiser_SDK_v7.5.9600.msi and than softwarephone.msi. Delete first the old pakets and install than the new ones.
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\)
- 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 deleting 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
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:
The Applicatons run mode and priority can be set and whether to register with the computers name at the PBX.
The desired audio devices can be selected.
The Audio –Input, -Output and –Ringing device can be selected.
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.
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
Above image shows a default configuration "Headset" with currently a "Sennheiser SC260 .." being plugged in and detected
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.
The microphone selection.
The speaker selection
The Ringing device selection
The open listening device selection. The device that plays the incoming audio stream when the speaker button is pressed in myPBX.
The USB headset selction.
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.
Admin mode Application 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).
- Normal: As every standard Windows Process. Sufficient in almost all cases
- High: Elevated Priority.
- 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.
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“ ):
Admin mode Audio configuration. Items see „Audio and USB Configuration“
Admin mode Audio configuration. Items see „Audio and USB Configuration“
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
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.
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.
Supported USB headsets
The following USB headsets are supported for onhook/offhook and mute (MyPBX) functionality:
All Jabra, Plantronics(Poly) and Sennheiser(Epos) 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>
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 reproduce the problem, please set the appropriate trace flags. Some flags like the KEYS flag must be set at "http://localhost:10006/debug.xml" 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 asked 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 analysed by our developer team.
Important files for support in the debug-info.zip
- trace.txt -> Trace File, created when File Trace is activated in debug.xml. Also contains version number (to find it, search for Build: )
- swphone_config.cfg -> one part of the config, can be used to check trace-flags.
- swphone_commands.cfg -> second part of the config, can be used to check trace-flags. Also contains version number
- dmp-file: named innovaphone SoftwarePhone#[version]#[id].dmp contains crash dump
- if crash without dmp file, StartTrace.txt contains trace of swphone start
- Wave-in/Wave-out: created when DSP & DSP Audiochannel & DSP Audiocapture are activated.
Things to do before starting
Before starting debugging softwarephone issues, is always the best thing to:
- check if audio drivers on the PC/Laptop are updated to the last version
- check if the headset drivers are updated to the last version
- check that the Headset SDK is updated to the latest version
- check that network drivers are updated to the last version
- change registration protocol of softwarephone from UDP (H323) to TCP or TLS (H323/TCP or H323 TLS) to avoid any signaling issue
After updating the driver, please reboot the PC even if not requested by the OS.
Most cases are solved after updating drivers/software, especially if softwarephone won't start or no ringtones/audio device is automatically selected.
Also, please check that the files " swphone_config.cfg " and " swphone_commands.cfg " in the C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ are not 0 Kbyte. In this case, best is to reinstall the softwarephone with the latest version, and, after configuring it, restart it and check that the file " swphone_commands.cfg " is bigger then 6 KB. If something is overwriting it (Windows policy, Antivirus), do the following:
- uninstall softwarephone
- reinstall it with Administrator rights
- start softwarephone and configure it (saving the changes)
- without closing it, navigate to the " C:\Users\%user%\AppData\Roaming\innovaphone\softwarephone\ " folder and put " swphone_config.cfg " and " swphone_commands.cfg " in read-only. Doing this, softwarephone will save the changes. Remember that doing this, if you want to changes some settings on softwarephone, you need to remove the "read-only" flag on the files (and re-apply it after the changes)
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:
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:
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.
After windows major update, some windows systems had their microphone rights turned off for all the application using it. This prevent the softwarephone to properly use the microphone. To check this, press "windows key + i", navigate in "Privacy" - "Microphone" - and check that "Allow apps to access you microphone" is turned on. Sometimes, even if turned on, there is the need to turn "Allow apps to access you microphone" completely off and the on to "refresh" the app rights (softwarephone included)
Also check that windows firewall is not blocking softwarephone communication.
Please check also this page: " http://wiki.innovaphone.com/index.php?title=Howto:Softwarephone_recommended_settings#Registration_Protocol ". With softwarephone, is recommended to not use H323/UDP as protocol.
When PC is not used for some time, softwarephone won't work anymore
We noticed this behaviour on some Windows PC. This was due to the power management settings of Windows, that was turning off the USB ports to save power (this happen most on laptops) To avoid this, open "Control Panel" (with Category view) - "Hardware and sound" - "Power options" . Under "Preferred plan" click the "Change plan settings" for the plan you are currently using. Click the "Change advanced power settings" link Expand "USB selective suspend settings" Select "Disabled" form the drop-down menu Click "Apply" and the "ok"
If you're changing the settings on a laptop, you'll see two options: On Battery and Plugged in, so make sure to change those settings accordingly. This will prevent Windows 10 to power off USB devices connected to your computer (so your usb bluetooth headset connector)
Softwarephone doesn't start after upgrade to new version
On windows 10 PC, can happen that after installing the new softwarephone version without manually uninstalling the old one, softwarephone won't start anymore, and in the Windows event viewer you will see the softwarephone app crash with relative ntdll.dll error. To solve this, manually uninstall the softwarephone, reboot the PC and install the new version.
Softwarephone 12r2 keep crashing on Windows 10
We noticed some issue between Softwarephone 12r2 and Windows 10. If your softwarephone after Windows 10 major update 1809, doesn't start or start and keep restarting, uninstall Softwarephone 12r2, delete the Softwarephone folder in the AppData/Roaming/Innovaphone/ path, restart the PC and install Softwarephone 12r1 with Administrator rights. This should solve the issue.
Issue with permission on Appdata folder
After major windows update, can happen that permission for the appdata/Roaming folder are reset. To restore them please do the following:
Open "Run" by pressing Windows + R keys together. Type: as C:\Users\USERNAME\AppData Note: Replace C: with the letter of the drive where Windows is installed. Also replace USERNAME with the username of the account you’re logged in.
Right-click on the Roaming folder
Go to the Security tab
Click “Edit -> Add”
Click “Check names -> Ok -> Full control”
Click OK to save the changes
Restart your computer
Now softwarephone should be able to access all necessary files again.
Not removed system tray icons
Sometimes if the softwarephone loose connection, wifi/copper/vpn will be switched or crashes the application in the system tray will not removed.
Headset not recognize by softwarephone on Windows 10
After Major windows update, headset is not recognize anymore. This can happen in case authorization by the OS for softwarephone to bind the headset to the softphone is denied. To restore the headset detection, uninstall softwarephone 12r2 version and install the latest 12r1 softwarephone release. Doing this, NET framework 3.5 will be reinstalled, authorization restored, and headset should be recognized again. Once headset is recognize, you can reinstall softwarephone 12r2 (latest) version and headset will work with the 12r2 version of softwarephone again.
Softwarephone Mac address is 00000000000
To be able to obtain a Mac address, on the PC network card, netbios must be enabled.
We have reports that this antivirus can interfere with softwarephone if the client is not configured to allow softwarephone to work properly (softwarephone start but no calls are possible). Please disable it or configure an exception for the softwarephone so softwarephone can make calls.
Softwarephone doesn't ring, or does not receive call
According to this wiki page, http://wiki.innovaphone.com/index.php?title=DND if you press the mute button on the headset while softwarephone is in idle (no active calls) you activate the DND mode. This information won't be displayed in myApps/myPBX but is something between headset and softwarephone. You can check in this case if this line:
vars create PHONE/USER-DND/00000 p 1 <--------- 1 means DND is on, 0 is off.
is present in the softwarephone configuration file. If this is the case, pressing the mute button in the headset again when no calls are active, will set the value to 0 and DND will be disabled.
You can also lock the DND function on the softwarephone in PHONE/Protect/ Fine grained Function Locking and configure in the field:
Doing so the user won't be able to set the softwarephone in DND anymore.
Update: solved with the latest softwarephone release. Now is not possible to set the softwarephone in DND mode via the headset.
Crash if 4 or more network interfaces on PC
The Softwarephone will crash when started continuously or crash when a call is done (and the ICE candidates for the call are generated). As a workaround, don't activate more than 3 interfaces or use the v13 myApps-softphoneApp.
Softwarephone doesn't start with myPBX
After a Windows update, some PC requires to run myPBX as administrator in order to start softwarephone automatically. Please, run myPBX as administrator and softwarephone should start also.
Using + character when changing the password via myPBX
When using special character + while trying to change the password via myPBX, the + sign is not correctly decrypted which results on the Softwarephone not to be able to register to the PBX. Please refrain from using + characters in the password while changing it manually via myPBX menu. There is no issue if the password is only changed via the UI of the PBX on the user object.
Softwarephone looses registration on PBX but "keeps" is registration locally
It could happen when the PC goes into sleep mode and TCP connections are stale, when the PC resumes the Softwarephone registration it's lost already (since already passed long time) but locally the Softwarephone have his "TCP" connection UP as "Stale" so you see locally at User-1 that's registered what is wrong. This would be solved with the next RAS keepalive that usually it's every 120 seconds however if we use H.323/TCP or H.323/TLS this value it's 3600 seconds instead so need to wait 1 hour for the phone retry registration on the PBX or manually restart the softwarephone.
We can reduce the RAS TTL value to 120 seconds with the following command on the PBX.
!config change H323 /ras-h225-factor 1