Call Assistant

Version 1.0

Introduction

Call Assistant is a VOIP/SIP interface that accepts calls and allows the caller to author a dictation. Calls can originate from any phone including SIP (Soft) phones on a PC and mobile devices.

This application must be licensed for full functionality.


Call Assistant

Features

  • User authentication.
  • Configurable and unlimited number of metadata/demographics entry.
  • Metadata entry supports:
    • Default value, no prompting.
    • Required length or length range.
    • List of acceptable values.
  • Overwrite, truncate, and auto-append recording modes.
  • Author-specific prompt sets for language or facility support
  • Configurable descriptor (XML) file creation, supporting 2RC, Philips and Dataworxs systems.
  • Real-time channel status display.
  • Audit log.
  • Configurable DTMF tone mapping on a per-caller basis.
  • Tone mapping supports up to 16 shift levels.

Requirements

  • Windows 7/8/10; Windows Server 2008/2012/2016, 32- or 64-bit.
  • .NET Framework 4.0
  • 50 MB Free Disk Space + Space for dictation audio.
  • Port 8080 open for Outbound Traffic (2RC Licensing)
  • Port 8070 open for System Server (User Authentication).
  • Synway SynHMP USB License Key
  • Port 1947 open for Synway (Sentinel) Licensing
  • Synway driver installed. Version 5.4.2.0

Quick Start

  1. Download and run the latest installer.
  2. For full functionality, make sure you have a obtained a license key from 2RC Software or your dealer.
  3. Plug in the SynHMP USB license key into an available USB port on the computer.
  4. Run SYNWAY_PCI(USB)_5420_EN.exe to install Synway drivers to C:\ShCti folder.
  5. Run the Call Assistant application:
    Start > All Programs > 2RC Software > Call Assistant
  6. Enter the license key when prompted.
  7. Run System Server if it is not already running. Call Assistant will attempt to connect to System Server to authenticate the author ID entered. The default user has an ID of 9999 and PIN equal 9999.
  8. Test using a SIP Phone (a.k.a. SoftPhone). MicroSIP is a good option.

License

Call Assistant requires a license for full functionality. When run without a license key, Call Assistant will not accept calls.

A license key is a string of characters that defines features and expiration dates supported by the application and service. It will look similar to a6da53b7-d063-4677-8759-34ddbc10fdf3. Your license key purchased from 2RC Software or your dealer is added when prompted by the application on startup or by using Settings Manager.

When Call Assistant is started it attempts to contact the License Server to validate that the key provided is valid, is meant for this application, and is not already issued to someone else. The License Server will give Call Assistant a token to let Call Assistant know that it can enable licensed functionality. Call Assistant will save the token and then ask for an updated token every 15 minutes. If a connection to the License Server is not possible, either at startup or while Call Assistant is running, Call Assistant will check to see if the token it had previously received is still valid (i.e. not expired). Until the token expires, Call Assistant will continue to run in a licensed mode even if it can't connect to the License Server. However, the token will expire after a configurable amount of time (called the Reserve Time) and therefore Call Assistant will need to connect to the License Server to renew the token within that time period for full licensed functionality to continue.

Choose Help > About (or press F2) to display the current license status.

The following chart outlines the funtionality that is enabled via licensing.

FeatureDescription
Unlicensed Default
BasicWhen unlicensed, no channels can be loaded and no calls can be accepted.
ChannelsThe maximum number of channels/ports that can started. This number is independent of and may be different than the number of channels licensed by the third-party device driver (ex. Synway).
0

The Synway driver supported by this application requires its own independent licensing or hardware. A Synway hardware device has licensing already built-in. For a software-only VOIP/SIP interface, Synway uses a USB dongle to provide licensing information to the driver.

Synway License Key

Application

The Call Assistant application starts licensed channels and handles new calls to the device or via SIP. The real-time channel status channel is displayed for monitoring activity.

Status Display

Menu Items

File > Exit
Exit the program.

Options > Settings Manager
Run the Settings Manager application for low level control over the application settings.

Options > Hide
Minimize the application the the Windows System Tray. The application will appear as a 2RC icon. Double click the icon to restore the application to its normal window state.

Help > View Event Log
Run Event Manager to view event log entries associated with this application. The setting EventMgr setting.

Help > About (F2)
View the application's version, license key, and license status.

Editing Commands

PausePauses playback at the current position.
PlayBegins playback at the current playback position.
Go to StartSets the current playback position to the beginning of the dictation.
Go to EndSets the current playback position to the end of the dictation.
RewindMoves the current playback position back the number of seconds defined in the user's profile.
Fast ForwardMoves the current playback position forward the number of seconds defined in the user's profile.
Normal PrioritySets the dictation's priority to the normal value as defined in the user's profile.
High PrioritySets the dictation's priority the high value as defined in the user's profile.
Toggle PriorityChanges the priority from high to normal, or normal to high. Normal and high priority values are defined in the user's profile.
Save and HangupSaves the current dictation and hangs up.
Save and NewSaves the current dictation and then prompts the caller for metadata to describe a new dictation.
RecordStarts recording. How the dictation file is affected depends on the recording mode (overwrite, truncate, auto-append).

Settings

All settings are managed by running Settings Manager.
To run Settings Manager choose the menu option:
Options > Settings Manager...

Settings

In Settings Manager, the following application settings are supported:

Setting Name
Type
Description
Default
HideOnStartup
Boolean (True | False)
Causes the application to minimize to the Windows system tray as soon as the application is started. The window is restored by double clicking the 2RC logo in the system tray.
False
LicenseKey
String
A string of characters that defines features and expiration dates supported by the application and service. It will look similar to a6da53b7-d063-4667-8759-34ddbc10fdf3. A license key is intended to be used on one workstation only.
LicenseServer
URL
A URL that specifies the location of the license server. The License Key is passed to the license server for validation and then exchanged for a License Token. Except in special cases, the value must remain as the default.
http://2rcsoftware.com:8080/v1/license
LicenseToken
String (Read-Only)
A token is received from the License Server and allows the application to do what it does. A token will expire after a certain time and therefore the application periodically contacts the license server to renew the token. The value in this field should not be changed.
SettingsMgr
Pathname
Pathname to 2rcSettingsMgr.exe. Executed when the menu item "Options > Settings Mgr" in the application.
<programfilesx86>\2RC Software\Settings Mgr\2rcSettingsMgr.exe
EventMgr
Pathname
View events associated with the application.
<programfilesx86>\2RC Software\Event Mgr\2rcEventMgr.exe
RecordingFormatName
String
The default format of dictations that are recorded. This value may be overridden by user-specific settings. Supported values for Synway are: ulaw, alaw, mp3, pcm16bit, gsm610, g729a.
ulaw
PromptFolder
Folder
The folder where the application looks for prompt files. This folder will contain a subfolder for each language code that may be assigned to a user. "en" for example.
<programdata>\2RC Software\Call Assistant\Prompts
LogFolder
Folder
The folder where diagnostic log files are written.
<programdata>\2RC Software\Call Assistant\Log
DatabaseFolder
Folder
The folder where the primary user and metadata database file is located.
<programdata>\2RC Software
DictationFolder
Folder
The folder where files are archived prior to being distributed to the Author's "Save Folder". Archived files are purged when they are more than 15 days old each time the application starts.
<programdata>\2RC Software\Call Assistant\Dictations
SynwayConfigPathname
Pathname
The full name of the Synway ShConfig.ini configuration file.
C:\ShCti\ShConfig.ini
SynwayIndexPathname
Pathname
The full name of the Synway ShIndex.ini index file.
C:\ShCti\ShIndex.ini
PromptForFacility
Boolean (True | False)
hen True, the caller will be prompted to enter a facility code. The facility code along with the ID and PIN all need to be correct for the caller to be authenticated and allowed to create a new dictation. If set to False, the value specified in the setting DefaultFacilityCode will be used along with the entered ID and PIN to authenticate the user. This prompt plays immediately after the initial welcome prompt.
False
DefaultFacilityCode
String
The default Facility Code value to use if the setting PromptForFacility is set to False. This setting can have a empty value if no facility code is defined for author user records in the 2RC system database.

User Settings

All settings are managed by running System Manager.

System Manager - User List

In System Manager, the following settings are supported:

Identification
Type
Description
Default
Username
String
.
User ID
String
Numeric digits only for use with telephone dictation authentication.
Password
String
.
PIN
String
Numeric digits only for use with telephone dictation authentication.
Facility
String
.
Last Name
String
.
First Name
String
.
Email
String
.
Author
Type
Description
Default
Role Enabled
Boolean (True | False)
.
True
Save Status
String
.
Available
Save Stage
String
.
0
Metadata List
String
.
Language Code
String
A string value that identifies what prompt set (subfolder) will be used for this author. A prompt set is located in a subfolder of the PromptFolder (see Settings) and is named the same as the language code. For example, the default prompt set identified with Language Code "en" is located in folder:

C:\ProgramData\2RC SOftware\Call Assistant\prompts\en
The very first welcome prompt (welcome.wav) will be played from the default "en" prompt folder. This must exist and minimally contain "welcome.wav". The Language Code can be any alpha-numeric string. However, because the Language Code is also a folder name, it cannot contain characters that are not valid Windows filename characters.
en
Save Folder
String
.
C:\ProgramData\2RC Software\Dictation\Common
Rew (s)
Integer
Number of seconds to rewind the playback position.
4
Ffwd (s)
Integer
Number of seconds to move the playback position forward.
10
Tran/Editor
Type
Description
Default
Role Enabled
Boolean (True | False)
.
True
Save Status
String
.
Complete
Save Stage
String
.
0
Admin
Type
Description
Default
Role Enabled
Boolean (True | False)
.
True
Other
Type
Description
Default
Priority (Normal)
Integer
0..10
2
Priority (High)
Integer
0..10
8
Tone Map Name
String
This is the name of a file (excluding the extension) that contains a mapping of DTMF tones to commands used in the recording and reviewing of a dictation. The extension .json is automatically appended to the Tone Map Name. The file {Tone Map Name}.json is expected to be found in the folder "C:\ProgramData\2RC Software\Call Assistant". Therefore, for example, if the Tone Map Name is "jsmith", the tone mapping file for the user will be:

C:\ProgramData\2RC Software\Call Assistant\jsmith.json

See the section Tone Mappings for more detailed information about supported commands and creating custom tone mapping files.

If the tone mapping file does not exist, Call Assistant will default to the following tone mappings:
DTMF ToneCommand
0Save+Hangup (SaveAndHangup)
1Pause
2Play
3Record
4Rewind
6Forward (FFWD)
7GotoStart
9GotoEnd
*Priority Toggle (PriToggle)

Descriptor Type
String
2RC | _2RC | DWx | Philips
_2RC

System Manager - User Identification

Prompts

Call Assistant uses standard WAVE/RIFF formatted audio files to play prompts to the caller.
The default location for prompts is in the subfolder for the "en" language code: C:\ProgramData\2RC Software\Call Assistant\Prompts\en. If more than one language set is used, each set must include a copy of the following prompts.

Prompts can be re-recording using any suitable third-party audio editing tools. The audio file should be saved as μ-law (mu-law), 8 kHz, 1-channel.

Prompt Name
Description
welcome.wav"Welcome to 2RC Software's Call Assistant." Re-record as required to suit the facility where deployed.
facility.wav"Please enter your Facility Code followed by the pound sign."
id.wav"Please enter your user ID followed by the pound sign."
pin.wav"Please enter your PIN followed by the pound sign."
invalid-entry.wav"Your entry is invalid."
ready.wav"System ready."
invalid-tone.wav"You have pressed an invalid tone."
goodbye.wav"The system is hanging up. Thank you for calling."
pri-normal.wav"Priority is normal."
pri-high.wav"Priority is high."
begin.wav"Beginning of dictation."
end.wav"End of dictation."
saved.wav"Dictation saved."
MD-xxxxx.wavOne for each metadata value to be prompted for. "Please enter {metadata name} followed by the pound sign.", where xxxxx is the metadata name and {metadata name} is the spoken metadata name.

Tone Mappings

Tone mappings tell Call Assistant how to interpret DTMF tones pressed by a caller while a dictation file is being recorded.
Tone mappings can be common to all callers or unique to all callers. Custom tone mappings for a caller or group of callers is stored in a JSON format inside a file that has the extension .json. The default location for tone mapping files is:

C:\ProgramData\2RC Software\Call Assistant.

To create a tone mapping file use any text editor (such as Windows' Notepad). The "Name" and "Main" sections are required. "Shift1" to "Shift16" are only required if the corresponding command has been used somewhere.

Use the following template to get started creating your own custom tone mapping.

     { 
       "ToneMap": 
       { 
          "Name": "MyToneMap", 
          "Main": {"T0":"cmd","T1":"cmd","T2":"cmd","T3":"cmd","T4":"cmd","T5":"cmd","T6":"cmd","T7":"cmd","T8":"cmd","T9":"cmd",
		  "Star":"cmd","Pound":"cmd",
		  "A":"cmd","B":"cmd","C":"cmd","D":"cmd"}, 
          "Shift1": {"T0":"cmd","T1":"cmd","T2":"cmd","T3":"cmd","T4":"cmd","T5":"cmd","T6":"cmd","T7":"cmd","T8":"cmd","T9":"cmd","Star":"cmd","Pound":"cmd","A":"cmd","B":"cmd","C":"cmd","D":"cmd"}
             :
             :
          "Shift16": {"T0":"cmd","T1":"cmd","T2":"cmd","T3":"cmd","T4":"cmd","T5":"cmd","T6":"cmd","T7":"cmd","T8":"cmd","T9":"cmd","Star":"cmd","Pound":"cmd","A":"cmd","B":"cmd","C":"cmd","D":"cmd"}
       } 
     }
	

In the above template replace cmd with a supported command. The following commands can be added to any tone in the tone mapping file.

Recording Commands
RecordBegin recording.
PauseStop recording/playback and go into an idle state waiting for the next command.
RecordFromEndStart recording from the end of the active dictation. Equivalent to the auto-append recording mode.
Positioning Command
GotoEndStop recording/playing if necessary and set the playback position to the end.
GotoStartStop recording/playing if necessary and set the playback position to the beginning.
RewindMove the current playback position backwards by the number of seconds specified in the author's profile.
FFWDMove the current playback position forward by the number of seconds specified in the author's profile.
Playing Commands
PlayBegin playing from the current playback position.
PausePause recording/playing and go into an idle state waiting for the next command.
PlayFromStartStart playing from the beginning of the active dictation.
Saving Commands
SaveAndHangupSave the current dictation and then hangup the call.
SaveAndNewSave the current dictation and then prompt for metadata (if defined) in preparation for starting a new dictation.
Other Commands
PriNormalSet the priority associated with the current dictation to the Normal Priority value specified in the author's profile.
PriHighSet the priority associated with the current dictation to the High Priority value specified in the author's profile.
PriToggleToggle the priority associated with the current dictation from Normal to High or High to Normal. A prompt is played to indicate what the new priority is: "high" or "normal".
InvalidThis command will stop recording/playback as necessary and the play a "command is invalid" prompt.
IgnoreThis command will do nothing. If playback or recording is in progress, it will continue. This command is often used to prevent "Talk-Off" when a specific author's voice commonly triggers a specific tone(s) while dictating.
Shift1 .. Shift 16Use these commands to define multi-tone commands. For example, it may be desired to require "**" to initiate a command rather than a single "*". In this example, the * (star) in the Main tone map can be set to Shioft1 command and then the * (star) in the Shift1 tone map set to the desired command.

The default mapping that is assigned to an author that does not have a custom tone mapping file assigned to them is:

{ 
  "ToneMap":  
  { 
    "Name": "MyToneMap", 
    "Main": 
    {
      "T0":"SaveAndHangup",
      "T1":"Pause",
      "T2":"Play",
      "T3":"Record",
      "T4":"Rewind",
      "T5":"",
      "T6":"FFWD",
      "T7":"GotoStart",
      "T8":"",
      "T9":"GotoEnd",
      "Star":"PriToggle",
      "Pound":"",
      "A":"",
      "B":"",
      "C":"",
      "D":""
    }
  } 
}


Copyright © 2017-2021 2RC Software Solutions Inc. All rights reserved.v1.0.20125