Asterisk

Pacotes WebRTC do Asterisk não aparecem no Sngrep

Quando trabalhamos com WebRTC no Asterisk, normalmente os pacotes (REGISTER, OPTIONS, INVITE, etc) costumam não aparecer no Sngrep por padrão.

Para resolver este problema, precisamos configurar e habilitar o módulo “hep” no Asterisk.

Primeiro verifique se os módulos já existem na sua instalação.

Bash
module show like hep

Caso os módulos já estejam presentes e carregados, o resultado deverá ser algo parecido com isso:

Bash
Module                         Description                              Use Count  Status      Support Level
res_hep.so                     HEPv3 API                                2          Running          extended
res_hep_pjsip.so               PJSIP HEPv3 Logger                       0          Running          extended
res_hep_rtcp.so                RTCP HEPv3 Logger                        0          Running          extended
3 modules loaded

Se na sua instalação não aparecer desta forma, então você irá precisar recompilar o asterisk incluindo estes módulos, ou você precisará instalar os pacotes via RPM, se a sua instalação foi feita desta forma. No meu caso eu instalei usando os pacotes RPM.

asterisk-hep-18.2.2-1.el8.x86_64.rpm
asterisk-hep-debuginfo-18.2.2-1.el8.x86_64.rpm

Tendo os módulos instalados, é hora de iniciá-los com estes comandos:

Bash
asterisk -rx "module load res_hep.so"
asterisk -rx "module load res_hep_pjsip.so"

Para garantir os mesmos sejam carregados durante a inicialização, inclua estas linhas no arquivo “/etc/asterisk/modules.conf”

Bash
[modules]
autoload = yes
load => res_hep.so
load => res_hep_pjsip.so

Configure o arquivo “/etc/asterisk/hep.conf” da seguinte forma, onde o IP 192.168.100.142 é o endereço da placa de rede do asterisk.

Bash
[general]
enabled = yes
capture_address = 192.168.100.142:9061
capture_password = senha
capture_id = 1234
uuid_type = call-id

Agora reinicie o Asterisk

Bash
systemctl restart asterisk.service

Em seguida crie este arquivo “/root/.sngreprc” com o seguinte conteúdo:

Bash
set eep.listen on
set eep.listen.address 192.168.100.142
set eep.listen.port 9061
set eep.listen.pass senha
set eep.listen.uuid on

Feito isso, inicie o sngrep com o seguinte comando:

sngrep -d lo

Agora é só esperar que os eventos apareçam.

Sngrep

Espero ter contribuído!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *