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 distclean
antes. 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