OpenSIPs CP no Debian com OpenSIPs 1.9
Índice
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
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.