Instalando Asterisk 11 com WebRTC / Websockets para Mandriva

Este é um guia próprio para a instalação do Asterisk 11 com WebRTC / Websockets para Mandriva. As instruções fornecidas aqui devem funcionar perfeitamente para qualquer distro, pois tudo é criado a partir do código fonte. (Exemplo, Ubuntu, Gentoo, Mint, CentOS, RHEL, etc)

Isso pressupõe uma nova instalação.

Instale dependências lib. Nem todos eles são necessários para todas as instalações, mas são muito comumente exigidos. (substitua urpmi por equivlent [ie, apt-get install, yum, etc])

# making sure we have the mirrors we need. optional 
urpmi
.addmedia --distrib --mirrorlist '$MIRRORLIST'

urpmi wget gcc gcc
-c++ ncurses-devel libxml2-devel sqlite-devel libuuid-devel openssl-devel mysql lib64mysql-devel git lib64uuid-devel sqlite3-devel

Mude os diretórios para nossa pasta de origem

cd /usr/local/src

Baixe as fontes necessárias para o Asterisk e pré-requisitos

wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11-current.tar.gz
wget http
://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4-current.tar.gz
wget http
://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz

Extraia fontes (substitua X / Y pelos números da versão, você pode usar o recurso de guia para preencher automaticamente)

tar -zxvf libpri-1.X.Y.tar.gz
tar
-zxvf dahdi-linux-complete-current.tar.gz
tar
-zxvf asterisk-11-current.tar.gz

A seguir iremos construir os pré-requisitos para o Asterisk (DAHDI, LibPRI). Cada uma dessas linhas assume que você tem o diretório atual definido como / usr / local / src .

Se você tiver problemas de compilação, o motivo mais provável é que você não tem bibliotecas / compiladores. Pesquisar o erro no Google mostrará o que você precisa e, em seguida, use o urpmi (ou equivalente do sistema) para baixar e instalar

DAHDI:

cd dahdi-linux-complete-2.X.Y+2.X.Y
make

make install

make config

LibPRI:

cd libpri-1.X.Y
make

make install

Opcional (se você quiser que o Websockets funcione, é necessário)

SRTP

wget http://srtp.sourceforge.net/srtp-1.4.2.tgz
tar zxvf srtp
-1.4.2.tgz
cd srtp

./configure CFLAGS=-fPIC
make

make install

Agora, para realmente instalar o Asterisk 11

cd /usr/local/src/asterisk-11.X.Y
./configure

Nota: Se você tiver dependências ausentes e precisar executar configure novamente, recomendo executar make distcleanantes. Acredite em mim, muito menos dores de cabeça

Agora é hora de escolher quais recursos você precisa em sua instalação. Eu recomendo instalar os recursos do MySQL, mesmo se você não pretende usá-lo imediatamente. Acho que a maioria das pessoas acaba usando de alguma forma.

make menuselect

Para que Websockets funcione, você deve habilitar STRP (Recursos -> reset_strp)

Depois de escolher quais recursos você deseja, tudo o que temos que fazer agora é compilar e instalar

make
make install

Instalação opcional de arquivos de configuração de amostra

make samples

Instalação de scripts de inicialização e rotação de log

make config
make install
-logrotate

Em seguida, temos que nos certificar de que o Websockets pode se conectar ao nosso servidor.

Crie ou edite /etc/asterisk/http.conf

;http.conf
[general]
enabled
=yes
bindaddr
=0.0.0.0 ; Or replace this with your IP address for better security
bindport
=8088

Crie ou edite (observe que este é apenas um exemplo, eu roubei do SipJS para tornar a vida de todos mais fácil do que minha configuração confusa)/etc/asterisk/sip.conf

;sip.conf
[general]
realm
=127.0.0.1 ; Replace this with your IP address
udpbindaddr
=127.0.0.1 ; Replace this with your IP address
transport
=udp

[1060] ; This will be WebRTC client
type
=friend
username
=1060 ; The Auth user for SIP.js
host
=dynamic ; Allows any host to register
secret
=password ; The SIP Password for SIP.js
encryption
=yes ; Tell Asterisk to use encryption for this peer
avpf
=yes ; Tell Asterisk to use AVPF for this peer
icesupport
=yes ; Tell Asterisk to use ICE for this peer
context
=default ; Tell Asterisk which context to use when this peer is dialing
directmedia
=no ; Asterisk will relay media for this peer
transport
=udp,ws ; Asterisk will allow this peer to register on UDP or WebSockets
force_avp
=yes ; Force Asterisk to use avp. Introduced in Asterisk 11.11

[1061] ; This will be the legacy SIP client
type
=friend
username
=1061
host
=dynamic
secret
=password
context
=default

E isso deve ter você instalado e funcionando. Você pode usar sipml5 ou SIPJs para testar as conexões Websocket e VOP Nano para testar a conexão SIP.

O URL do seu websocket é:

ws://<ip address>:8088/ws