OTPByVoiceValve

Valve for delivering one-time passwords by voice call message, using PhenixID Message Gateway .

Supported voice languages can be found here.

Properties

Name Description Default value Mandatory Supports property expansion
generated_otp_name Item property containing the generated otp. generated_otp No No
recipient_param_name Property containing the recipient phone number. mobile No Yes
userid_param_name Property containing the username. User-Name No Yes
default_language Default/fallback language to use. en-US No No
language_param_name Property containing the language to use. Usually stored in an attribute on the user object. No No
use_country_code_language Use the country code from the phone-number. false No No
wash_recipient_number If the mobile number should be washed (i.e. removal of whitespaces, - and other non-number characters). true No No
recipient_prefix Prepends the recipient number with a country prefix if it starts with '0'. (example: +46) No No
force_prefix Always prepends the recipient number with the configured prefix. No No
remove_leading_plus If the leading + character should be removed from the mobile number. false No No
gatewayURL URL(s) to PhenixID Message Gateway(s) No No
message_gateway_settings PhenixID Message Gateway Settings. Yes No
gw_username PhenixID Message Gateway username to override PhenixID Message Gateway Settings. No No
gw_password PhenixID Message Gateway password to override PhenixID Message Gateway Settings. No No
message_key Locale key for the sms message. Found in lang/*/strings.xml, on the pipes module. valves.otp.sms.message No No
message Static, non localizeable message. Overrides message_key parameter. No No

Example Configuration

{
        "name": "OTPByVoiceValve",
        "config": { 
              "recipient_param_name":"{{item.mobile}}",
              "userid_param_name":"{{request.username}}",
              "generated_otp_name" : "generated_otp",
              "default_language" : "sv",
              "language_param_name" : "countryCode",
              "use_country_code_language" : "true",
              "wash_recipient_number" : "true",
              "recipient_prefix" : "+46",
              "force_prefix" : "true",
              "message_gateway_settings" : "ce4d2wer-css0-42ec-9800-129a6212",
              "message" : "Your OTP is: $$OTP"
        }
}

In the example above the value for attribute mobile has been picked up earlier in the flow.

The value for userid_param_name has been picked up from the request. Most common values are {{request.User-Name}} for RADIUS and {{request.username}} for HTTP.

Requirements

Item set must have at least one entry.