FreeBSD + Asterisk

Neste tutorial vamos instalar o Asterisk e Zaptel no FreeBSD. Faremos uma configuração simples de 2 ramais SIP e um plano de discagem simples. Vamos instalar também o Apache, MySQL e o Asterisk-Stats para poder visualizar todo o CDR via Web. Para finalizar, uma maneira de monitorar o uso do seu servidor com o Cacti.

[ Hits: 77.809 ]

Por: Danilo Bedani em 23/10/2007


CDR em MySQL



# cd usr/ports/databases/mysql50-server
# make install clean
# mysql

Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 59
Server version: 5.0.45 FreeBSD port: mysql-server-5.0.45
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');
mysql> exit

Definimos a senha de root como 123.

Adicione no /etc/rc.conf as seguintes linhas:

mysql_enable="YES"

Crie um arquivo cdr.sql com o seguinte conteúdo:

create database asteriskcdrdb;

use asteriskcdrdb;
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--

-- Table structure for table `cdr`

--

DROP TABLE IF EXISTS `cdr`;
CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default '0000-00-00 00:00:00',
`clid` varchar(80) NOT NULL default '',
`src` varchar(80) NOT NULL default '',
`dst` varchar(80) NOT NULL default '',
`dcontext` varchar(80) NOT NULL default '',
`channel` varchar(80) NOT NULL default '',
`dstchannel` varchar(80) NOT NULL default '',
`lastapp` varchar(80) NOT NULL default '',
`lastdata` varchar(80) NOT NULL default '',
`duration` int(11) NOT NULL default '0',
`billsec` int(11) NOT NULL default '0',
`disposition` varchar(45) NOT NULL default '',
`amaflags` int(11) NOT NULL default '0',
`accountcode` varchar(20) NOT NULL default '',
`uniqueid` varchar(32) NOT NULL default '',
`userfield` varchar(255) NOT NULL default '',
KEY `calldate` (`calldate`),
KEY `dst` (`dst`),
KEY `accountcode` (`accountcode`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Salve o arquivo e execute:

# mysql -p < cdr.sql
Enter password:

Pronto, a tabela para armazenagem do cdr já está criada. Agora, vamos configurar o asterisk para isso.

# cd /usr/local/etc/asterisk
# ee cdr_mysql.conf


E insira isso no final do arquivo:

[global]
hostname = localhost
dbname = asteriskcdrdb
user = root
password = 123
port = 3306

Entre no asterisk com "asterisk -r" e dê um "restart now".

Entre novamente, e verifique:

asterisk*CLI> cdr mysql status
Connected to asteriskcdrdb@localhost, port 3306 using table cdr for 8 seconds.
Wrote 0 records since last restart.
asterisk*CLI>

Pronto, seu asterisk já está gravando o CDR em MySQL.

Página anterior     Próxima página

Páginas do artigo
   1. Atualizando o sistema
   2. Atualizando o Ports
   3. Instalar Zaptel
   4. Instalar Asterisk
   5. PHP5
   6. Configurando o Asterisk
   7. CDR em MySQL
   8. Asterisk Stats
   9. Cacti
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Failover de Internet

Instalação do Varnish + Apache + Virtual Hosts

Problema do navegador Opera com temas GTK+2 escuros [Resolvido]

Instalando o mplayerplug-in do "jeito Debian"

Acessando a Internet 3G da Claro no Ubuntu e no Debian de maneira simples

  
Comentários
[1] Comentário enviado por guibona em 23/10/2007 - 13:33h

Afffff

[2] Comentário enviado por guibona em 23/10/2007 - 13:34h


[3] Comentário enviado por tholoko em 23/10/2007 - 15:22h

Parabens !brothah!... mto bom artigo e o FrEEBSD tah mandando muito bem comm o ASTERISK... recomendo!!! Desculpa ai GUIBOBA!!! abraços!

[4] Comentário enviado por guilhermerezende em 23/10/2007 - 15:56h

Legal, so faltou o autor mencionar onde baixar o asterisk-stat.

[5] Comentário enviado por dbedani em 23/10/2007 - 15:58h

Guilherme,

Está no tutorial!

# cd /usr/ports/www/asterisk-stat
# make install clean

[6] Comentário enviado por franciscosouza em 24/10/2007 - 04:59h

=)

Muito bom mesmo, parabéns pelo tuto.
Estou mais ou menos começando aqui com o FreeBSD. Extremamente foderoso o sistema ^^

[7] Comentário enviado por vinivend em 24/10/2007 - 06:29h

muito bom artigo, parabéns.. estarei iniciando esse projeto dentro de alguns dias..

[8] Comentário enviado por marpinheiro em 28/03/2008 - 19:05h

Parabéns, fiz toda instalação porém quando teste o servidor fazendo uma ligação do ramal x para o y eu não consigo escutar nada. Ele toca no outro ramal, eu atendo mas não consigo falar nem ouvir nada.. estou usando freebsd 7.. tem alguma ideia do problema?

Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts