Skip to main content

Configuring Phone Password Manager

User Authentication

Secure methods of authenticating users to Phone Password Manager include:

  • Touch-tone authentication (Numeric questions and answers)

    Users key-in their answers to personal questions using a telephone key pad.

    You can set up Phone Password Manager to authenticate users by prompting them with questions from their Bravura Pass question and answer profiles.

  • Biometric voice print verification

    Users speak one or more phrases so that their voice can be compared to a previously registered sample.

    In order to use voice print verification, users must first register their voice samples. You can set up Bravura Pass to facilitate and secure the registration process.

The following sections show you how to set up question sets in Bravura Pass that Phone Password Manager can use to authenticate users. See Self Service Anywhere Interactive Voice Response systems to learn how to set up self-service interactive voice response registration.

Setting up IVR question sets

In order for Phone Password Manager to use questions and answers from Bravura Pass to authenticate users, the following conditions must be met:

  • Question sets and questions must be set up correctly for Phone Password Manager integration.

    • Phone Password Manager question sets must be pre-defined, and all questions must have all-numeric answers so they can be easily entered from a telephone keypad.

    • You can either add a new question set specifically for the Phone Password Manager, or use the existing pre-defined question set.

    • The question set must have Ask telephone users to answer questions from this set enabled.

  • Users must complete their security question profiles.

  • Users’ completed profiles must include at least <N> questions from each question set that can be used for Phone Password Manager integration.

    Where <N> is equal to the question set’s Number of questions to ask during authentication setting.

Using the default question set

Bravura Pass is shipped with a pre-defined question set, DEFAULT_PREDEFQSET, that contains three questions that can be used for Phone Password Manager authentication:

  • What is your favorite or lucky number?

  • What was your first telephone number?

  • On what year did you purchase your first car?

Adding question sets

If you do not want to use the default question set (DEFAULT_PREDEFQSET) for touch-tone authentication, or if you want to strengthen the authentication process, you can add more Phone Password Manager specific question sets.

To do this:

  1. Click Manage the system > Policies > Question sets > Pre-defined questions .

  2. If Bravura Pass displays a list of existing question sets, click Add new... at the bottom of the list.

  3. Enable the Ask telephone users to answer questions from this set checkbox.

  4. Set appropriate options for the new question set.

    See details regarding question set options .

  5. Click Add.

Add questions

In order for a question to be suitable for touch-tone authentication, it must have the following characteristics:

  • Answers are private – relatively hard for anyone other than the user to come by.

  • Answers are easy – users should be able to quickly and reliably answer the question without having to remember anything new, and with a low likelihood of making mistakes.

  • Answers are all-numeric and have a fixed length.

If you are defining a new question for which a sound file does not exist by default, the question’s Description field must be formatted as: DEFAULT_PREDEFQSET_<QID> . This formatting is mandatory in order to associate a new question to it’s respective sound file.

The QID defined in the description field is used to uniquely address the sound files on the IVR, and should be unique to every custom question you wish to define.

See Adding custom authentication questions for more information on defining custom Phone Password Manager authentication questions.

Record question vocals for new questions

When users call into the Phone Password Manager, the system plays vocals (sound files) that prompt the users to prove their identities by keying in numerical answers to the questions that they have configured in Bravura Pass .

Phone Password Manager is shipped with vocals for each numeric question in the default pre-defined question set (DEFAULT_QSET). If you have added additional questions for touch-tone authentication you must record a vocal for each new question, in each supported language.

Vocal files must be named QD-PREDEFINED_<QID>.wav, and must be located in the <instance>\audio\<lang>-<locale> directory on the Phone Password Manager server. Note that the value of:

  • <QID> must match the number defined in the description field for the question as it was defined in Bravura Pass . The description field should always be formatted as: DEFAULT_PREDEFQSET_<QID>.

  • <lang>-<locale> corresponds to language that the vocal was recorded for.

See Managing audio files for more information on Phone Password Manager audio files.

Voice Print Enrollment

A voice print is a form of biometric authentication where the characteristic being measured is the timbre, tone, speed and volume of the user’s voice. Typically, the user speaks a phrase during enrollment, then later repeats that phrase as part of the authentication process.

Setting up voice print enrollment

To set up voice print enrollment:

  1. Install VoiceVantage VoiceCheck SDK on the Phone Password Manager server.

  2. Copy psynch.voiceprint.psl from the samples* directory to the script directory.

  3. Modify C:\Program Files (x86)\Bravura Security\Telephone Password Manager\<instance>\service\idtel.cfg by changing ScriptName as follows:

    ScriptName = "psynch.voiceprint.psl"
  4. Restart the Phone Password Manager service.

  5. Enable and configure the Generate voice print enrollment PIN (PSI) module on Bravura Pass server.

    1. Click Manage the system > Modules > Generate voice print enrollment PIN (PSI).

    2. Configure the following settings:

      • PSI ENABLED: On

      • PSI RANDOM DIGITS: 4

      • PSI RANDOM EXPIRY: 600

  6. Restart the Password Manager Service on Bravura Pass server.

Phone Password Manager is now configured and ready for users to enroll via a PIN.

Configuring voice print options

The tone of your voice varies each time you authenticate against your voice print. If your voice sounds too different from your voice print, Bravura Pass might not be able to properly authenticate you.

The following options, located in idtel.cfg or tpm.cfg, help you configure the sensitivity thresholds, and the recording time for voice print authentication.

Option

Description

DefaultVoicePrintConsistencyThreshold

This is used during voice print enrollment to ensure that the multiple voice samples are consistent enough. Set a value between 1 and 99 to control the consistency threshold. The higher the number, the more closely-matched the samples must be. Default value is 50.

DefaultVoicePrintVerificationThreshold

This is used during voice print verification to ensure that the spoken voice matches the recorded voice. Set a value between 1 and 99 to control the verification threshold. The higher the number, the more closely-matched the samples must be. Default value is 55.

VoicePrintMaxRecordTime

The maximum recording time for a single recording. If the recording is longer than this time, the voice will be cut off after the maximum time reached. Default value is 6 seconds.

VoicePrintSilenceToEnd

The seconds that the voice print system will wait until it stops recording; for example, if set to 2, the system will wait for 2 seconds after the voice stopped to finish recording. Default value is 2 seconds.

ReplayVoicePrintBadSample

If set to 1, the voice print system will replay a bad sample, where the signal can be "too loud", "too quiet", "too short" or anything where VoiceVantage is "Unable to extract recording sample". If set to 0, nothing will be played back. Default value is 1.

If you change the values of these options in idtel.cfg, then you must restart the Phone Password Manager service.

Testing voice print enrollment

To test voice print enrollment:

  1. Log into the Generate voice print enrollment PIN (PSI) module as a regular user.

  2. Click Generate voice print enrollment PIN.

  3. Place a phone call to the IVR server.

  4. Select 1 to enroll.

    You are prompted for a PIN to authenticate.

  5. Type in the user’s PIN.

    You are now ready to do voice print enrollment.

See also

Registering a Voice Print for Authentication via Phone in the end user documentation.

Testing voice print enrollment (command line)

Use the vpcmd program, installed with Phone Password Manager, to test the generation or verification of voice print audio files.

View vpcmd usage information .

Removing voice print enrollment data

The vputil program is installed with Phone Password Manager and helps to clean the voice print database by removing enrollment data for users who do not have a valid Bravura Pass profile.

View vputil usage information .

Speech Recognition and Text-to-Speech

Phone Password Manager supports both speech-to-text (speech recognition) as well as text-to-speech (TTS). Speech recognition converts spoken words to text, and TTS can playback text information as spoken words.

To support these functions, Phone Password Manager requires a speech engine to be installed on the system. Phone Password Manager uses Microsoft Speech API as the programming interface, and supports SAPI versions 5.1+. However, all SAPI-compliant speech engines can be utilized by Phone Password Manager.

Speech recognition is provided by the Speech Service, which is installed during a complete installation or if selected during a custom installation.

The Speech Service can only be installed once on a Phone Password Manager server. If you install a second instance of Phone Password Manager on the same server, then the Speech Service will be unable to run on the new instance.

When speech recognition is enabled, users can enunciate their profile IDs, new password values, and perform key recovery strings without having to use the numeric keypad.

To set up speech recognition:

  1. On the Phone Password Manager server, copy psynch.speech.psl and speech.psl from the samples* directory to the \<instance>\script\ directory.

  2. Modify the idtel.cfg file, located in the <instance>\service\ directory, by changing ScriptName as follows:

    ScriptName = "psynch.speech.psl"
  3. Configure the Speech Service.

    Modify idtel.cfg by changing the SpeechService Dll line as follows:

    • For local Speech Service, specify speechapi.dll :

      SpeechService "" = { 
        Dll = "speechapi.dll" 
        //Server = <server> 
        //Port = <port> 
        //Timeout = <timeout> 
       }
    • For remote Speech Service, specify speechapix.dll :

      SpeechService "" = { 
        Dll = "speechapix.dll" 
        Server = <speech service server name or IP address> 
        Port = <speech service port> 
       }
  4. Restart the Phone Password Manager service.

Speech recognition is now configured and ready to use. To test speech recognition, place a phone call to the IVR server and try to use speech instead of the numeric keypad to enter your details.

Configuring the speech service

The Speech Service can be configured using the following options, which are located in the idtel.cfg file:

Option

Description

VoiceActivityDetectThreshold

Controls the sensitivity of the input threshold for the Speech Service. The range of possible values for this option is between -54 and +3; the default value is -40. Lowering the numeric value lowers the input threshold, which increases the sensitivity of the Speech Service. Raising the numeric value raises the input threshold, which decreases the sensitivity of the Speech Service. For example, a value of -54 recognizes even the quietest sounds, whereas a value of +3 only recognizes louder sounds.

SpeechRecognitionMode

Controls which speech recognition mode is used. Possible values:

0 – enables "File based mode", which creates a file in the temp directory before processing the audio file for speech recognition.

1 – enables "Stream mode", which does not create a file, but simply analyzes the stream of audio for speech recognition. This was the only mode available in releases before Bravura Security Fabric version 8.0.

By default, stream mode is enabled.

KeepIntermediateSpeechFiles

Controls whether or not to save the audio files created when SpeechRecognitionMode is set to "File based mode." Possible values:

0 – files are not saved; they are deleted after speech recognition is complete.

1 – files are saved in the temp directory: C:\Documents and Settings\psadmin\Local Settings\temp

Building .wav files using SAPI

Use the voicebuild program to create audio .wav files based on a vocal script .txt file using SAPI.

View voicebuild usage information .

Monitoring Line Status

Use the d42util program to examine a line when transferring or placing a call with Phone Password Manager.

View d42util usage information .

Call Modes

Call modes define how Phone Password Manager initiates telephone calls with users.

There are three different call modes in Phone Password Manager:

  • Auto-answer mode

  • Inbound mode

  • Outbound mode

In order to specify a call mode, edit the idtel.cfg file, and change how the ScriptName is defined. The syntax for each ScriptName entry is as follows:

"<script-name>" = "LineNo|[,LineNo]|[BeginLineNo-EndLineNo]:[mode]"

The call mode can be:

  • a|0 – auto-answer mode (default mode)

  • i|1 – inbound ( call can be answered selectively)

  • o|2 – outbound

The line mode can also be retrieved and set using global variable ’lineMode’, when configuring the Psynch.psl call logic script.

Auto-answer mode

Auto-answer mode is the default mode. IVR calls are answered by default, call logic scripts run and audio plays according to the scripts.

Inbound mode

Inbound mode is similar to auto-answer mode, but instead of calls being answered by default, calls are only answered if the PSLang function "setHookOff" is triggered. This allows calls to be answered selectively.

The "setHookOff" PSLang function for this call mode is specified in the psynch.psl script .

In this example, the inbound call is answered if the callerID is "123":

if ( $callerID == "123" )
{
  setHookOff();
}

The callerID is one of several global variables that contain information about the current call. See Writing call logic scripts for details on call logic global variables.

Outbound mode

Outbound mode allows the IVR system to make outbound calls, and is configured in the psynch.psl script. When this is configured, the IVR system can forward the call to another phone number. Once the call is received, it proceeds according to the call logic scripts.

The phone number to which the calls are forwarded is specified in the psynch.psl script .

For example:

for( var $i = 0; $i < 30; $i++ )
  {
  sleep( 1000 );
  }
$ret = MakeCall( "9,403-2737373", 30, $errbuf );
log( "MakeCall returned: " + $ret + ", error: " + $errbuf );

In order for outbound mode to function, idtel.cfg must be modified as follows:

  • Comment-out the "Registration" part of the script. For example, if your configuration does not include a proxy server, then the part to comment-out appears as follows:

    Registration "" = { 
    Server = 10.0.59.100 
    Realm = bravurasecurity.com //SIP only 
    PhoneNumber = 168 
    Password = "168" 
    }
  • Set the value of ipSignalPort, which differs depending on the protocol you use:

    • H.323 ("ipProtocolName = 0") – set ipSignalPort to "1720"

    • SIP ("ipProtocolName = 1") – set ipSignalPort to "5060"

  • Modify idtel.cfg to include the following:

    ScriptNames "" = { 
      "filename.psl" = "2-2:o" 
    }

    This loads "filename.psl" from the \<instance>\script\ directory of the VoIP instance, and uses line 2 with Outbound mode. The two numbers specify the range of lines, and o specifies outbound mode. By default, this call is included in idtel.cfg , but is commented-out.

Call Transfer

Phone Password Manager can be configured to support call transfers on SIP and H323 protocols if it is configured to use Dialogic® PowerMedia Host Media Processing Software.

Pre-configuration

Before the function "TransferCall" can be added to Phone Password Manager to support call transfers, you must complete the following configuration:

  1. Change the ipDTMFmode setting in idtel.cfg :

    ipDTMFmode = 6

    This enables the DTMF key after a connection has been established.

  2. Install SIP softphone on the Phone Password Manager server.

  3. For testing purposes, install SIP softphone on another Windows machine as well. This machine receives the transferred call.

Next:

Configuring TransferCall for SIP protocol

To configure Phone Password Manager to use the SIP protocol:

  1. On the Phone Password Manager server, configure the SIP softphone to use the "SIP" protocol with "RFC2833" type.

  2. Modify the idtel.cfg file for "SIP":

    ipBindAddress = Auto 
    ipSignalPort = 5060 
    ipProtocolName = 1 // sip = 1,h323 = 0 
    ipDTMFmode     = 6

Add the following script into psynch.psl :

if( $digits == "<telephone number|extension number>" ) 
  { 
    $ret = TransferCall( "<Telephone Password Manager server address>", $errbuf ); 
    log( "TransferCall returned: " + $ret + ", error: " + $errbuf ); 
    return 1; 
  }

To test the configuration:

  1. Call the Phone Password Manager server using the SIP softphone.

  2. When prompted for the user ID, type the telephone number or extension number that you want to transfer to, followed by the # sign. For example, 123#.

  3. From the other machine with SIP softphone installed, pick up the line and listen.

Configuring TransferCall for H323 protocol

To configure Phone Password Manager to use the H323 protocol:

  1. On the Phone Password Manager server, configure SIP softphone to use the "H323" protocol type.

  2. Modify the idtel.cfg file for "H323":

    ipBindAddress = Auto 
    ipProtocolName = 0 // sip = 1,h323 = 0 
    ipDTMFmode     = 6

Add the following script into psynch.psl script:

if( $digits == "<telephone number|extension number>" ) 
  { 
    $ret = TransferCall( "TA:<Telephone Password Manager server address>", $errbuf ); 
    log( "TransferCall returned: " + $ret + ", error: " + $errbuf ); 
    return 1; 
  }

To test the configuration:

  1. Call the Phone Password Manager server using the SIP softphone.

  2. When prompted for the user ID, type the telephone number or extension number that you want to transfer to, followed by the # sign. For example, 123#.

  3. Check the Phone Password Manager log file. The message "TransferCall API called" should be included, indicating that the api was triggered.

Bridge Transfer

Phone Password Manager can connect two phone lines to each other, which is known as a bridge transfer, hairpin transfer, or supervised transfer call. You can configure bridge transfers in two ways:

  • Both the end-user and the help desk user call the Phone Password Manager system, and the system connects their calls together. For details, see the bridge-demo1.psl sample script.

  • Only the end-user has to call the Phone Password Manager system. The system then makes an outbound call to a help desk user. For details, see the bridge-demo2.psl sample script.

    The scripts bridge-demo1.psl and bridge-demo2.psl are located in the samples directory.

Phone Password Manager currently supports bridge transfers using both Dialogic® voice boards and Dialogic® PowerMedia Host Media Processing Software.

Once the system is able to complete bridge transfers, it works as follows:

Line A:

  1. The end-user calls the Phone Password Manager system and authenticates.

  2. The end-user presses a key to request the help desk.

  3. The end-user is placed in queue.

  4. The end-user’s status in the queue is updated until a help desk user becomes available.

  5. The two lines are bridged together.

Line B:

  1. The help desk user either:

    • Calls the Phone Password Manager system and checks the queue for help requests.

      Or,

    • Receives a call from the Phone Password Manager system.

  2. The system reports the end-user’s information, and the help desk user either:

    • Accepts the request for help

      Or,

    • Places the request back in the queue; the call maintains its position in the queue.

  3. If the help desk user accepts the request, then the two calls are bridged together.

  4. The system waits until the line is dropped.

    If required, the conversation can be recorded. See Recording bridge transfers for details.

Pre-configuration

Before the bridge transfer function can be added to Phone Password Manager, you must change the ipDTMFmode setting in idtel.cfg:

ipDTMFmode = 6

This enables the DTMF key after a connection has been established.

If you are using a softphone, then you must:

  1. Install the softphone on the Phone Password Manager server.

  2. Install the softphone on another Windows machine as well. This machine receives the transferred call.

Next:

Configure bridge transfers .

Configuring bridge transfers

If you are configuring the bridge-demo2.psl script, then you must specify the help desk number as follows:

var $HelpDeskNumber = "SIP:<Server IP>";

Where <Server IP> is the IP address for the outbound call to the help desk user. This address should connect to the softphone which can receive a call from Phone Password Manager.

Modify the idtel.cfg file as follows:

  • bridge-demo1.psl:

    ScriptName = "bridge-demo1.psl"
  • bridge-demo2.psl:

    ScriptName = "bridge-demo2.psl" 
    ScriptNames "" = { 
       "bridge-demo2.psl" = "4-4:o" 
    }

    Where: 4-4:o specifies to only use line four in outbound mode.

    The two numbers specify the range of lines, and o specifies outbound mode.

Recording bridge transfers

You can record a call that has been transferred to the help desk by a bridge transfer. This function is controlled by the recorder-demo.psl script, which is located in the samples directory. The recorded call produces a wav file.

This script is provided to help test the bridge transfer function .

Both sides of a call (caller and automated voice) are recorded. However, it is possible to write a script to record the callers on two different lines. The "RecordFileEx" function has the ability to record two time slots simultaneously.

To configure call recording, you must modify idtel.cfg to assign an outbound mode channel for recorder-demo.psl and to start the recording. It is recommended that you do so under guidance from Bravura Security staff.

Configuration notes

Optionally, you can configure the bridge transfer script to play on-hold music or other programming while a user is waiting in queue. See bridge-demo1.psl or bridge-demo2.psl for details.

HTTPS Encryption

Phone Password Manager and Bravura Pass support HTTPS connections.

To configure Phone Password Manager and Bravura Pass to use HTTPS:

  1. Install the "Certificate server" role on the Bravura Pass server.

  2. Issue an SSL certificate and enable HTTPS on the Bravura Pass server.

  3. Modify \<instance>\idapiservice\Web-SSL.config to replace <instancename> with your instance name in the <appSettings> section. For example:

    <add key="instanceName" value="<instance>" />

    Be sure to use Web-SSL.config, because it contains additional HTTPS-specific information that is not found in Web.config.

  4. Verify the HTTPS setup is correct by opening the following link in a web browser:

    https://<host server>/<Instance>/idapi

    If the setup is incorrect, you are notified by an exception or error message.

  5. Install Phone Password Manager on another server.

  6. Place a call using the IVR system to test Phone Password Manager functionality.

Viewing logs

You can use the Bravura Security Fabric Manage reports (rpt) module to view log details for the following Phone Password Manager operations:

This allows you to see how many of these operations are being completed by Phone Password Manager.

Viewing the unlock logs

To view the logs for the unlock operation:

  1. Navigate to the Event log report by clicking Manage reports > Reports > System operation > Event log.

  2. Configure the following options:

    • Select the Operation code ULCK Unlock account on target system.

    • Specify the Requester by typing the name of the IDAPI caller that you defined in Configuring an IDAPI caller . By default, this is _API_USER_TPM.

    • Enable the checkbox for Show each detailed event.

  3. Click Run .

See full details on the Event log report .

Viewing the reset logs

To view the logs for the reset operation:

  1. Navigate to the Self service password changes report by clicking Manage reports > Reports > System operation > Self service password changes.

  2. Set Login method to Telephone Password Manager.

  3. Click Run.

See full details on the Self service password changes report .

Troubleshooting

The following sections contain information about how to troubleshoot common problems, usually related to improper installation, encountered during Phone Password Manager deployments.

Consult your vendor for additional troubleshooting information regarding your voice board, associated drivers, System Release software, or PBX.

Problems with the voice board

If you run into problems with your voice board:

  • Check for IRQ conflicts.

    One of the most common issues encountered when using voice boards is an IRQ conflict. Voice boards work best when configured with their own, high-priority, IRQ.

  • Ensure that you are using the right type of phone line.

    Only analog lines can be used with analog boards, and only digital lines can be used with digital boards. Plugging in the wrong type of line can damage the voice board.

  • Check your PBX documentation to ensure that the board you purchased is compatible with your PBX.

  • Ensure that the voice board can pick up calls.

    You can use the Intel voice demo to do this.

Problems with hangup events

If Phone Password Manager is having problems with hangup events on a digital network system, and you have correctly completed all configuration steps outlined in this manual, then there is probably a misconfiguration on the Dialogic card. This problem should not happen on digital network systems. If it is happening, contact the support department of your Dialogic hardware supply company, or purchase support services from a third-party company.

If Phone Password Manager is having problems with hangup events, and the Dialogic card is connected with analog CO lines or analog PBX lines:

  • Enable the "circuit reverse" or "battery reverse" features on those lines. This can offer more reliable disconnect supervision.

  • If "circuit reverse" is not available, use the PBXpert to detect and enable tones for the analog Dialogic card. For further details, see your Dialogic manual.

Welcome message does not play

If you hear dead air instead of the welcome message, then upgrade to the latest Dialogic System Release Software Updates. This issue can also be caused by improper audio file configuration.

Some or all audio files are not playing

If no sound is played to users who connect, or there are certain menu options for which the sound files are not being played, it is possible that your audio file configuration is incorrect. Phone Password Manager organizes audio files in the following directory structure:

<Instance>\audio\

  • en-us

    • a.wav

    • b.wav

    • (etc)

  • <Language code>

  • (Other languages)

If this directory structure is disturbed, or any of the audio files themselves are missing, then the system will not be able to locate those files for playback to the user. This error can be easily diagnosed by reviewing the system logs, which will include a message such as:

Warning: Cannot open C:\Program Files (x86)\Bravura Security\Telephone Password Manager\<instance>\audio\en-us\<filename>.wav, errno: 2

This error indicates that Phone Password Manager was unable to locate the audio files in their usual directory.

Asterisk® audio files

When using an Asterisk® server, Phone Password Manager needs to upload the locally-stored audio files onto the Asterisk® server. Phone Password Manager will only initiate this file synchronization if it cannot find the following directory on the Asterisk® server:

\var\lib\asterisk\sounds\HiTPM\

To force Phone Password Manager to update the Asterisk® server’s audio files: delete the directory listed above, restart the Phone Password Manager service, and place a call to the IVR.

The Phone Password Manager service fails to start

In the system services menu, you should see:

  • Dialogic® Boardserver

  • Dialogic® SS7 Service

  • Dialogic® System Service *

  • Bravura Security logging Service *

  • Telephone Password Manager Module Service *, or Bravura Security VoIP Telephony Service * (Dialogic only)

    Services marked with a * must be started in order for Phone Password Manager to operate properly. Dialogic® services only appear on a system using a Dialogic® IVR backend. The names of the Dialogic® services may vary.

    In Phone Password Manager version 9.0+, the VoIP service has been merged into the Phone Password Manager module service.

If the Phone Password Manager Service fails to start:

  • Ensure that the Dialogic® System Service, and Dialogic® Boardserver service, are running and configured to start automatically.

    You can do this using the Windows Service Control Manager (SCM), or the Dialogic® product Configuration.

  • Ensure that pspushpass.dll is installed and can be found in the system PATH.

  • Some Dialogic® services are dependant on other Dialogic® services and will not restart automatically after a reboot of the server. After a reboot, make a test call into your IVR server, and manually restart Dialogic® services if required.

  • The Phone Password Manager Service is dependant on Dialogic® system services, and also needs to be manually restarted after a reboot. It may take several seconds before the service is ready to be started, so ensure that you refresh the list of services to confirm that this service is running.

Phone Password Manager cannot return requests

If Phone Password Manager cannot return requests properly due to slow network speeds, then you can modify the "SoapTimeout" registry key:

HKLM\SOFTWARE\Bravura Security\Bravura Security Fabric\<instance>\\Idapi\

Modify the "SoapTimeout" registry key by increasing the value. The default setting for this value is 60000 milliseconds, which is one minute.

Phone Password Manager cannot connect to the softphone system

If Phone Password Manager cannot connect to the softphone system, try switching audio codecs in idtel.cfg . The codec in Phone Password Manager must match the supported codecs of your softphone system.

Phone Password Manager fails unexpectedly

If Phone Password Manager fails unexpectedly, it is possible the Dialogic license is expired or invalid. You may see an error message like the following:

2013-01-15 07:54:59.532.2056 - [] idvoip.exe [3292,3180] Warning: gc_Start,
GC ErrorValue: 0x8c - The start procedure of a call control library failed,
CCLibID: 0 - GLOBALCALL, CC ErrorValue: 0x8c - The start procedure of a
call control library failed
2013-01-15 07:54:59.532.2093 - [] idvoip.exe [3292,3180] Debug: Failed to
initialize GlobalCall Libraries
2013-01-15 07:54:59.532.3090 - [] idvoip.exe [3292,3180] Error: Failed to
InitGC, service terminated

To resolve this, update the Dialogic license, then restart the Phone Password Manager service. See the Dialogic documentation for details on updating a license.

SoX version mismatched

Phone Password Manager is fully functional with newer versions of the SoX utility, however Phone Password Manager expects SoX versions equal to or earlier than those shipped with Asterisk® when checking for the existence of a SoX installation. This version mismatch can impede the installation and function of Phone Password Manager with Asterisk.

To resolve this issue, log into the Asterisk® server as root, or escalate to root. Execute the following commands in the Unix terminal, in order:

cp 'which sox' 'which sox'2
echo '#!/bin/bash' > 'which sox'
echo '[ "$1" = "--version" ] && echo "sox: Version 0.0.0" || sox2 $*' >> 'which sox'

This change will reconfigure how SoX responds when asked to display its version, allowing Phone Password Manager to install with newer versions of SoX.

Logging Phone Password Manager events

An issue in trying to follow the logged events from the scripts, common to other PSLang usage in Bravura Security Fabric , such as ssh/telnet/cmd/ps expect scripts, is that PSLang logs the line in the script that records the log entry, but not the file.The filename can theoretically be added in file-specific interpreted log functions that wrap the built-in (compiled) log function, but that has not been done in samples shipped with Bravura Security Fabric .

From the compiled PSLang functions, the emitted SOAP API calls have to reach the SOAP endpoints provided by idapisoap on the Bravura Security Fabric server.

Increasing tpm.exe's logging to Verbose (99 ), logs both the outgoing API calls and the returning answers (the entire SOAP XML of the call/response with some sensitive fields starr(*)ed out for privacy). At that point the troubleshooting moves over to the Bravura Security Fabric server's idapisoap and idapi services.

Log analysis

Bad Phone Password Manager config file

In the Phone Password Manager server's idmsuite.log, after you start the Telephone Password Manager service, there should be no logged entries containing:

Can not parse config file

If there are such entries, the line mention is malformed and has to be fixed.

Usually, the error location (file, line and position in the config file, as well as what is missing or found more than expected), are mentioned on the logged entry.

Bad API password

On the Phone Password Manager server you can see entries such as:

2023-12-14 10:19:44.533.2542 - [] idvoip.exe [4144,4468] Warning: Failed to LocalLogin, sessdat has not been updated

That means that the password is misconfigured in Phone Password Manager's service\pushpass.cfg

At the same time, on the Bravura Pass server that receives the API login operation, you will see entries like:

2023-12-14 10:19:57.201.2003 - [] idapi.exe [7120,7664] Warning: Login failed:
   
 invalid password specified for [_API_USER_TPM].

To fix that:

  1. Use idapitool to change the password and AES-encrypt it.

    lib> idapitool.exe -url https://host.domain.com/instancename/idapi -user _API_USER_TPM -psw password

    The URL has to be the one as seen by the API client, in this case by Phone Password Manager, as configured in its service\pspushpass.cfg.

  2. Use the AES-encrypted version of the password in Phone Password Manager's service\pspushpass.cfg. Ensure you save the changes.

  3. Restart Phone Password Manager so it reads the new config

  4. Check idmsuite.log again to ensure this time the API logging succeeds.

Connecting SIP through NATs

Network Address Translation (NAT) has been always a problem for Session Initiation Protocol (SIP).

Most problems are caused by the peer side (user side) network.

Make sure the SIP client software supports STUN & UPnP protocol.

Also make sure the UDP port 5060 - 5080 and 10000 - 20000 are allowed on both sides of network.

Test SOAP API

Test SOAP API failed commands

When SOAP API commands fail to be sent to the Bravura Pass instance, or if the Bravura Pass instance logs some error or warning, you'll find them in a default Phone Password Manager logging like this, from the Phone Password Manager service (idvoip):

2023-12-14 10:19:44.533.2542 - [] idvoip.exe [4144,4468] Warning: Failed to LocalLogin, sessdat has not been updated

or:

2023-12-05 10:21:33.914.5137 - [] idvoip.exe [8508,9016] Warning: Error [Can not parse
      config file [D:\Program Files\Bravura Security\Telephone Password Manager\hidpwm\service\pspushpass.cfg]. Error [[Line: 30, Pos:
      3]: Parse error: expected ';'].]

Warnings such as the following are expected and can be ignored, if the unavailable functionality is not used in the affected implementation.

2023-12-12 09:46:01.439.3620 - [] idvoip.exe [1288,7272] Warning: Failed to load library
      [VC_Database.dll].  Error [126]
   
_2023-12-12 09:46:01.439.3635 - [] idvoip.exe [1288,7272] Info: Voice print functionality
      disabled

On the Bravura Pass server, from idapisoap.exe or idapi.exe , for example:

2023-12-14 10:19:57.201.2003 - [] idapi.exe [7120,7664] Warning: Login failed: invalid password specified for [_API_USER_TPM].

On the Phone Password Manager side, increase logging to Debug level , to see both the SOAP outgoing message (SND) and the SOAP message Bravura Pass sends back (RCV), for example:

2023-11-15 11:08:29.384.7518 - [] idvoip.exe [4596,6852] Verbose: SND:<?xml version="1.0"
      encoding="UTF-8"?> <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Login
      xmlns="http://www.hitachi-id.com/idapi"><request xmlns:a="http://schemas.datacontract.org/2004/07/idapi" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:sessdat></a:sessdat><a:userid>_API_USER_TPM</a:userid><a:password>***</a:password><a:isadmin>1</a:isadmin><a:options></a:options></request></Login></s:Body></s:Envelope>
   

For a successful login, a sessdata item will be returned (RCVed), as well as a Success message and a "0"(zero) value for the returncode of the operation:

_2023-11-15 11:08:29.384.7546 - [] idvoip.exe [4596,6852] Verbose: RCV:<s:Envelope
      xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><LoginResponse xmlns="http://www.hitachi-id.com/idapi"><LoginResult><errmsg xmlns="http://schemas.datacontract.org/2004/07/idapi">Success</errmsg><rc xmlns="http://schemas.datacontract.org/2004/07/idapi">0</rc><sessdat xmlns="http://schemas.datacontract.org/2004/07/idapi">73bb9a4b-46bb-4944-8d64-7f53ee87e55b</sessdat></LoginResult></LoginResponse></s:Body></s:Envelope>

Note that:

  • The URL-like values in those SOAP messages are NOT the address of the Bravura Pass instance, they are SOAP namespaces.

  • Passwords will always be obscured (replaced with ***) which can make troubleshooting failed logins tricky.

Testing SOAP API messages

If you want to test the SND operations, Bravura Security recommends using a SOAP client such as SoapUI or postman. For a complete connection test, such SOAP clients have to be run from the Phone Password Manager server.

If company policy doesn't allow installing such clients for testing, you could try using Powershell instead:

  • Initialize a variable with the text of the raw SOAP call:

    $Body = '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><Login
                xmlns="http://www.hitachi-id.com/idapi"><request xmlns:a="http://schemas.datacontract.org/2004/07/idapi" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><a:sessdat></a:sessdat><a:userid>_API_USER_TPM</a:userid><a:password>PUT_PLAIN_TEXT_PASSWORD_HERE</a:password><a:isadmin>1</a:isadmin><a:options></a:options></request></Login></s:Body></s:Envelope>'
  • Send that SOAP message to the same Bravura Pass endpoint configured in Phone Password Manager's pspushpass.cfg :

    Invoke-WebRequest -Uri https://hpmtest.company.net/myidpm/idapi -Method Post -Body $Body -ContentType application/xml
Failure to login to Pass

If the correct password for the used API profile was successfully tested with idapitool , yet Phone Password Manager itself fails to Login into Bravura Pass with the same encrypted password, there's likely a difference in encryption keys between the Bravura Pass and Phone Password Manager instance. Use the same encryption keys on both servers, and the same product version of Phone Password Manager and Bravura Pass .