diff --git a/lib/middleware.js b/lib/middleware.js index 41a2a75d..e71c054a 100644 --- a/lib/middleware.js +++ b/lib/middleware.js @@ -299,22 +299,30 @@ module.exports = function(srf, logger) { if (app.app_json) { json = JSON.parse(app.app_json); } else { + const defaults = { + synthesizer: { + vendor: app.speech_synthesis_vendor, + ...(app.speech_synthesis_label && {label: app.speech_synthesis_label}), + language: app.speech_synthesis_language, + voice: app.speech_synthesis_voice, + ...(app.fallback_speech_synthesis_vendor && {fallback_vendor: app.fallback_speech_synthesis_vendor}), + ...(app.fallback_speech_synthesis_label && {fallback_label: app.fallback_speech_synthesis_label}), + ...(app.fallback_speech_synthesis_language && {fallback_language: app.fallback_speech_synthesis_language}), + ...(app.fallback_speech_synthesis_voice && {fallback_voice: app.fallback_speech_synthesis_voice}) + }, + recognizer: { + vendor: app.speech_recognizer_vendor, + ...(app.speech_synthesis_label && {label: app.speech_synthesis_label}), + language: app.speech_recognizer_language, + ...(app.fallback_speech_recognizer_vendor && {fallback_vendor: app.fallback_speech_recognizer_vendor}), + ...(app.fallback_speech_recognizer_label && {fallback_label: app.fallback_speech_recognizer_label}), + ...(app.fallback_speech_recognizer_language && {fallback_language: app.fallback_speech_recognizer_language}) + } + }; const params = Object.assign(['POST', 'WS'].includes(app.call_hook.method) ? { sip: req.msg } : {}, req.locals.callInfo, { service_provider_sid: req.locals.service_provider_sid }, - { - defaults: { - synthesizer: { - vendor: app.speech_synthesis_vendor, - language: app.speech_synthesis_language, - voice: app.speech_synthesis_voice - }, - recognizer: { - vendor: app.speech_recognizer_vendor, - language: app.speech_recognizer_language - } - } - }); + { defaults }); logger.debug({ params }, 'sending initial webhook'); const obj = rootSpan.startChildSpan('performAppWebhook'); span = obj.span;