Configuração do Serviço MRCP¶
Configuração Padrão¶
Os codecs de áudio suportados pelo MRCP do CPqD são:
- PCMA (8kHz)
- PCMU (8kHz)
O Serviço MRCP possui uma configuração padrão de portas que são usadas de acordo com a versão do protocolo:
- MRCPv1
- Porta 1554, para RTSP
- Portas 5000 a 6000, para o RTP
- MRCPv2
- Porta 8060, para SIP
- Porta 1544, para MRCPv2 Agent
- Portas 5000 a 6000, para o RTP
No MRCPv1, além da informar quais portas atenderão os respectivos protocolos, é preciso informar o Resource Path de cada serviço de mídia disponível. Os Resource Paths padrão são:
- Resource Path da Síntese: speechsynthesizer
- Resource Path do Reconhecimento: speechrecognizer
Parâmetros do Serviço MRCP¶
Aviso
Os arquivos de configuração a serem editados estão em /opt/cpqd/mrcp/server/conf/templates
e /opt/cpqd/mrcp/server/conf/cpqd
.
Após a edição desejada, o script /opt/cpqd/mrcp/server/bin/configure
deve ser executado para que as alterações tenham efeito.
- Para alterar o endereço IP do Serviço MRCP, edite o arquivo:
/opt/cpqd/mrcp/server/conf/cpqd/common.xml
- Os parâmetros de configuração do Servidor CPqD MRCP são ajustados por meio da atribuição de valores a variáveis pré definidas. Qualquer alteração será válido somente após o reinicialização do Servidor.
/opt/cpqd/mrcp/server/conf/templates/unimrcpserver.xml
- Para alterar configuração dos perfis, altere os dois arquivos:
/opt/cpqd/mrcp/server/conf/templates/unimrcpserver.xml
e/opt/cpqd/mrcp/server/conf/templates/cpqd.xml
Servidores de Recursos MRCP¶
As engines de recursos MRCP (Síntese de fala, Reconhecimento de voz e Verificação de locutor) são configuradas dentro da plugin-factory do arquivo de configuração do servidor MRCP:
/opt/cpqd/mrcp/server/conf/unimrcpserver.xml
. Cada plugin é identificado pelo nome do plugin: cpqd_mrcp_tts, cpqd_mrcp_asr e cpqd_mrcp_ver. Estas engines apontam para os respectivos servidores de recursos.A engine com recurso de Síntese de fala suporta o protocolo Websocket sem TLS, e os valores de <IP>, <Porta> e <endpoint> são configurados individualmente em cada parâmetro, indicando o servidor de Síntese de fala desta forma.
A configuração da engine com recurso de Reconhecimento de voz e Verificação de locutor suportam o protocolo Websocket com e sem TLS, e os parêmetros <cpqd_asr_server> e <cpqd_ver_server> contém a URL do servidor no formato <protocol://address:port/endpoint_path>, sendo que protocol será «ws» para servidores sem suporte TLS e «wss» para servidores com suporte TLS.
Para os recursos com suporte a TLS estão disponíveis os parâmetros validate_ssl_certificate para indicar se o certificado será validado (default: false) e ssl_certificate_path para indicar o caminho da pasta que comtém os certificados (default: /etc/ssl/certs).
Nas engines com recurso de Reconhecimento de voz e Verificação de locutor para uso nos ambientes em nuvem é possível configurar autenticação por token, para permitir o acesso e bilhetagem no ambiente. Os seguintes parâmetros estão disponíveis: sl_url para configuração da URL do servidor de licensa para obter o token de autenticação, token_user_id e token_password com o usuário e senha para obtenção do token. Cada tipo de recurso possui usuário e senha distinto porque estão vincluladas a licenças com funcionalidade específicas.
Outros parâmetros úteis disponíveis para uso em ambiente de nuvem são: ws_recog_interface_ver e ws_ver_interface_ver que permitem configurar a versão do protocolo de interface Websocket do recurso de Reconhecoimento de voz e Verificação de locutor respectivamente, com os valores padrões v3 e v1.
<plugin-factory> <engine id="CPqD-TTS" name="cpqd_mrcp_tts" enable="true"> <param name="tts_server_ip" value="192.168.1.1"/> <param name="tts_server_port" value="9090"/> <param name="tts_server_ws" value="ws/v1/synthesize"/> <param name="tts_server_rest" value="rest/v2"/> <param name="tts_timeout_net" value="10"/> </engine> <engine id="CPqD-ASR" name="cpqd_mrcp_asr" enable="true"> <param name="cpqd_asr_server" value="wss://SERVER_HOST:PORT/asr/ws/v3/recognize"/> <param name="timeout_net_sec" value="20"/> <param name="ivr_vendor" value="asterisk"/> <param name="validate_ssl_certificate" value="false"/> <param name="sl_url" value="LICENSE_SERVER_URL"/> <param name="token_user_id" value="TOKEN_USER_ID"/> <param name="token_password" value="TOKEN_PASSWORD"/> <param name="timeout_net_sec" value="TIMEOUT_VALUE_IN_SEC"/> </engine> <engine id="CPqD-VER" name="cpqd_mrcp_ver" enable="true"> <param name="cpqd_ver_server" value="wss://SERVER_HOST:PORT/ws/v1/speakverify/"/> <param name="timeout_net_sec" value="20"/> <param name="ivr_vendor" value="asterisk"/> <param name="validate_ssl_certificate" value="false"/> <param name="sl_url" value="LICENSE_SERVER_URL"/> <param name="token_user_id" value="TOKEN_USER_ID"/> <param name="token_password" value="TOKEN_PASSWORD"/> <param name="timeout_net_sec" value="TIMEOUT_VALUE_IN_SEC"/> </engine> </plugin-factory>
Aviso
A engine CPqD-TTS suporta apenas o recurso de Síntese de fala, a engine CPqD-ASR suporta apenas o recurso de Reconhecimento de voz (com e sem classificadores) e a engine CPqD-VER suporta os recursos de Reconhecimento de voz e Verificação de locutor, podendo ambos serem configurados na mesma plugin-factory do arquivo de configuração.
Aviso
O Suporte para TLS está disponível apenas no plugin de biometria (CPqD-VER).
Nota
O parâmetro timeout_net_sec permite configurar o tempo máximo de espera de resposta dos serviços de Reconhecimento de voz e Verificação de locutor, que pode ser necessário ajustar para operação em nuvem, seu valor default é 10 segundos.