linotp.provider.voiceprovider.custom_voice_provider module¶
- implementation of the KeyIdentity VoiceProvider 
- class linotp.provider.voiceprovider.custom_voice_provider.CustomVoiceProvider¶
- Bases: - ConfigParsingMixin,- TwillioMixin- Send a Voice notification through the Custom Voice Provider to the Voice Challenge Service. The CustomVoiceProvider allows to define all required config definitions directly and expects the following parameter: - { “server_url”: “https://vcs.*/v1/twilio/call” “access_certificate”: “/etc/linotp/voice-license.pem”, “server_certificate”: “/etc/linotp/keyidentity-voice-ca-bundle.crt” ‘callerNumber’: ‘+4989231234567’ } - Part of the config definition is as well the Voice Delivery Service configuration definition, whereby currently the twilio definition is the only supported one: - ‘twilio’: {
- ‘accountSid’: ‘ACf9095f540f0b090edbd239b99230a8ee’, ‘authToken’: ‘8f36aab7ca485b432500ce49c15280c5’ ‘voice’: ‘alice’, } 
 - loadConfig(configDict)¶
- Loads the configuration for this Voice notification provider - Parameters
- configDict – A dictionary that contains all configuration entries you defined (e.g. in a linotp.cfg file) 
 - {
- “server_url”:
- the voice provider target url, 
- “access_certificate”:
- the client certificate 
- “server_certificate”:
- server verification certificate 
- “proxy”: ‘
- the proxy url 
- “timeout”:
- the http timeout value 
- “twillioConfig”: {
- “accountSid”:
- the account identifier 
- “authToken”:
- the authentication token 
- “voice”:
- reader’s voice - default is ‘alice’ 
- “callerNumber”:
- the number of the originator 
 - } 
 
 - } 
 - submitVoiceMessage(calleeNumber, messageTemplate, otp, locale)¶
- Sends out the voice notification message. - {
- ‘call’:
- {
- ‘calleeNumber’: ‘+4917012345678’, ‘messageTemplate’: ‘Hi! Your otp is {otp}’ ‘otp’: ‘98018932’ ‘locale’: ‘en’, 
 - } 
 
 - } - the other information is joined in the lower level of the http call - Parameters
- calleeNumber – the destination phone number 
- messageTemplate – the message text containing the placeholder for the otp 
- otp – the otp 
- locale – the language of the voice reader 
 
- Returns
- A tuple of success and result message 
 
 - test_connection()¶
- to test the connection, we just call the same endpoint without arguments (empty document), which will raise an error 400