OpenSIPs CP no Debian com OpenSIPs 1.9

De opensipsbrasil - wiki
Revisão de 03h53min de 19 de junho de 2014 por Mike (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Prefacio

O OpenSIPs CP é um painel de controle para as funções básicas do OpenSIPS sua instalação não é complexa, porém baseado na forma modular do OpenSIPs é necessário entender bem oque você precisa executar/instalar para o correto funcionamento.


Dependencias

Antes de mais nada é preciso ter o OpenSIPs instalado e funcionando, este tutorial é montado sobre a instalação da versão Opensips 1.9 que temos neste wiki, apenas as funcionalidades desta instalação serão cobertas por este tutorial, então siga todas as instruções que descrevemos no tutorial para ter um perfeito funcionamento, logo você entenderá melhor cada função e poderá fazer uma instalação tanto do OpenSIPS quanto do OpenSIPS CP mais customizada para suas necessidades.

Apache e PHP

Para rodar esta aplicação precisamos instalar o apache e os módulos de php necessários, se você tiver familiaridade com outro servidor web como lighttpd ou outro fique avontade em testar a instalação, basicamente precisamos do suporte ao php ativado , vamos seguir utilizando o apache pois é o web server que costumo utilizar.

apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-mysql php5-curl php5-xmlrpc



PEAR

pear install MDB2
pear install MDB2#mysql
pear install log

OpenSIP CP

cd /usr/src/
wget -c http://downloads.sourceforge.net/project/opensips-cp/opensips-cp/5.0/opensips-cp_5.0.tgz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fopensips-cp%2Ffiles%2F&ts=1403145228&use_mirror=ufpr
Renomeie o arquivo do download para opensips-cp-5.0.tgz e depois descompacte
tar -xzvf opensips-cp-5.0.tgz

Instalando

Dentro do diretorio 5.0 temos os seguintes diretórios

config - arquivos de configuração para o banco e outras funcionalidades
cron_job - arquivos de cron, em especial o arquivo que junta as informações de dialogos para gerar o cdr
doc - documentacao
web - Arquivos web
INSTALL - as mesmas instruções que temos aqui :)
README - explicação sobre oque é o que dentro da estrutura


Nós iremos seguir baseado no conteúdo do README

Copiando os arquivos para o diretorio web

cd /usr/src
mv 5.0 /var/www/opensips-cp

Criando alias no apache

Abra o arquivo /etc/apache2/sites-enable/000-default , acrescente ao fim do arquivo (antes da tag </VirtualHost>)

Alias /cp /var/www/opensips-cp/web


Reiniciando o apache

/etc/init.d/apache2 restart
chown www-data.www-data /var/www/opensips-cp/config/access.log

Instalando as tabelas

cd /var/www/opensips-cp/config/tools/admin/add_admin
mysql -uopensips -popensipsrw opensips < ocp_admin_privileges.mysql
cd /var/www/opensips-cp/config/tools/system/cdrviewer
mysql -uopensips -popensipsrw opensips < cdrs.mysql
mysql -uopensips -popensipsrw opensips < cdrs.mysql

Feito isso entre no mysql e adicione o usuário de administração

INSERT INTO ocp_admin_privileges (username,password,ha1,available_tools,permissions) values ('admin','admin',md5('admin:admin'),'all','all');


Adicionando ao cron

cd /var/www/opensips-cp/cron_job

Edite o arquivo generate-cdrs_mysql.sh e altere os parametros de conexão, também altere

call opensips_cdrs_1_6();

para

call opensips_cdrs();

Acrescente em seu arquivo /etc/crontab a seguinte entrada

        */3 * * * * root /var/www/opensips-cp/cron_job/generate-cdrs_mysql.sh


Configuração Geral

Agora que fizemos as configurações básicas, precisamos gerar as configurações nos módulos que utilizaremos.

Abra o arquivo /var/www/opensips-cp/config/db.inc.php e altere os parametros de banco de dados Abra o arquivo /var/www/opensips-cp/config/boxes.global.inc.php , e descomente a linha

$boxes[$box_id]['mi']['conn']="/tmp/opensips_fifo";



Acessando a interface

Agora coloque em seu browser http://__SEU__IP__/cp , entre com usuario e senha admin e pronto, você está na tela do opensipscp, através desta você poderá criar usuários e realizar outras operações.


Ajustando os módulos

Não sei bem se por erro ou outra razão porém muitos módulos necessitam de alguns ajustes especiais, vamos tratar os mesmos aqui.

dialog

Arquivo: /var/www/opensips-cp/config/tools/system/dialog/local.inc.php

Altere o parametro:

 $box[1]['mi']['conn']="/tmp/opensips_proxy_fifo";;

para

 $box[1]['mi']['conn']="/tmp/opensips_fifo";;


Existem outros módulos ainda que você pode precisar criar algumas tabelas adicionais, porém vamos deixar isso para um outro tutorial, o objetivo deste é apenas por a ferramenta pra funcionar com funcionalidades básicas.

siptrace

O siptrace é necessário ativar pois ele não é coberto em nossa instalação, de forma básica, você deve chamar o módulo em seu opensips.cfg (após a configuração do dialog

### SIP TRACE

loadmodule "siptrace.so"
modparam("siptrace", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")
modparam("siptrace", "trace_flag", "TRACE_FLAG")
modparam("siptrace", "trace_on", 0)
modparam("siptrace", "enable_ack_trace", 1)
modparam("siptrace", "traced_user_avp", "$avp(traced_user)")

finalmente localize a seguinte entrada

if (is_method("INVITE")) {

                # create dialog with timeout
                if ( !create_dialog("B") ) {
                        send_reply("500","Internal Server Error");
                        exit;
                }

                setflag(ACC_DO); # do accounting

        }

E logo após o setflag, acrescente

                trace_dialog();

Altere o arquivo /var/www/opensips-cp/config/tools/system/siptrace/local.inc.php e altere o conteúdo de proxy_list para os ips que você está usando em seu opensips

$proxy_list=array("udp:192.168.0.6:5060","tcp:192.168.0.6:5060");

Desta forma o siptrace esta desativado, para ativar durante a execução do seu opensips, basta enviar o comando

opensipsctl fifo sip_trace on

Ou então pela propria interface voce pode ativar e desativar o recurso.

Abaixo você pode ver o resultado desta utilização


Siptrace01.jpg


Com a configuração no formato atual, você possue recursos para criar usuários, aliases, dominios, fazer tracer , possue cdr, visualizar e manipular dialogos, e usar o módulo de dinamic routing para fazer as regras de discagem externa.

isso é o básico de OpenSIPs CP , no mais é só você verificar os diretórios do módulos e ir ativando de acordo com oque você coloca no seu opensips, ele basicamente é uma interface para gerenciar o banco de dados.

Voltar