Skip to content

Instalação do servidor UniMRCP com plugins

Servidores UniMRCP são uma maneira padrão de conectar Inteligência Artificial a Aplicações de Voz. O Protocolo de Controle de Recursos de Mídia (MRCP) é padronizado pelo IETF nas RFCs 6787 e 4463. UniMRCP é uma implementação de código aberto desse protocolo, integrando-se perfeitamente com o SipPulse AI para lidar com solicitações de reconhecimento automático de fala (ASR) e conversão de texto em fala (TTS). Este documento guiará você na obtenção, instalação e configuração do UniMRCP para trabalhar com seu serviço SipPulse AI.

Diagrama do UniMRCP

Instalando e Configurando o UniMRCP para o SipPulse AI

Se você está procurando turbinar seu PBX Asterisk com um pouco de mágica impulsionada por IA, você está no lugar certo. Vamos integrar o UniMRCP e transformar seu Asterisk em uma fera de comunicação com IA.

Introdução

O método preferido de comunicação com a plataforma SipPulse AI é através dos módulos UniMRCP para Asterisk. UniMRCP é uma implementação de código aberto do Protocolo de Controle de Recursos de Mídia (MRCP), integrando-se perfeitamente com o SipPulse AI para lidar com solicitações de reconhecimento automático de fala (ASR) e conversão de texto em fala (TTS). Este documento guiará você na obtenção, instalação e configuração do UniMRCP para trabalhar com seu serviço SipPulse AI.

Passo 1: Instalando dependências

bash
sudo apt-get install -y \
    gcc \
    autoconf \
    automake \
    pkg-config \
    build-essential \
    libtool \
    libcurl4-openssl-dev

Baixar dependências do UniMRCP

bash
curl -O -J -L https://www.unimrcp.org/project/component-view/unimrcp-deps-1-6-0-tar-gz/download
tar -zxvf unimrcp-deps-1.6.0.tar.gz
cd unimrcp-deps-1.6.0
./build-deps.sh

Passo 3: Compilando o UniMRCP

Este é um fork do projeto UniMRCP com os plugins SipPulse AI pré-instalados.

bash
# Clonar o repositório UniMRCP
cd /home/unimrcp
git clone https://github.com/sippulse/unimrcp-sippulse-plugin

# Navegar para o diretório UniMRCP
cd unimrcp-sippulse-plugin

# Instalar dependências do SipPulse
apt install libsamplerate0-dev libcjson-dev

# Compilar e instalar o UniMRCP

./bootstrap
./configure
make
sudo make install
ldconfig

Adicionar UniMRCP ao systemd para carregamento automático

Criar o arquivo unimrcp.service

vi
[Unit]
Description=Servidor UniMRCP
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/unimrcp/bin/unimrcpserver -r /usr/local/unimrcp -o 2 -w
Restart=on-abort

[Install]
WantedBy=multi-user.target

Copiar o arquivo unimrcp.service para o systemd

bash
sudo cp unimrcp.service /lib/systemd/system
systemctl daemon-reload
systemctl start unimrcp

Verificar se o daemon está carregado usando:

bash
systemctl status unimrcp

Você deve obter algo similar a:

root@unimrcp-test:/usr/local/unimrcp/bin# systemctl status unimrcp
● unimrcp.service - UniMRCP Server
     Loaded: loaded (/lib/systemd/system/unimrcp.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-06-05 13:27:39 UTC; 6s ago
   Main PID: 67797 (unimrcpserver)
      Tasks: 10 (limit: 2256)
     Memory: 1.0M
     CGroup: /system.slice/unimrcp.service
             └─67797 /usr/local/unimrcp/bin/unimrcpserver -r /usr/local/unimrcp -o 2 -w

Configurar Servidor UniMRCP

Copiar o exemplo para o servidor UniMRCP

bash
cp unimrcpserver-sippulse.xml /usr/local/unimrcp/conf/unimrcpserver.xml

Editar o arquivo e atualizar o endereço IP do seu servidor

bash
nano /usr/local/unimrcp/conf/unimrcpserver.xml
vi
<ip>192.168.86.39</ip> # Use seu próprio endereço nesta linha

Adicionar sua API-KEY do SipPulse

bash
nano \etc\environment
nano
SIPPULSE_API_KEY="sp-3d7f9c21c12f42c0a398a940b740...."

Reiniciar seu servidor

bash
systemctl restart unimrcp
systemctl status unimrcp

Pronto! Você instalou com sucesso o Servidor UniMRCP. O próximo passo é instalar o UniMRCPClient para Asterisk ou FreeSwitch.