Você está na página 1de 7

Telefonia IP MOT

Prtica 1
Instalando o proxy SIP Kamailio, configurando os usurios e interligando proxies.

Objetivo:
Criar um ambiente VoIP bsico utilizando o proxy SIP Kamailio que ter suas informaes de usurio armazenados num banco de dados MySQL.

Etapas:
Instalar o Kamailio; Instalar o banco de dados MySQL; Criar a estruturao do banco de dados; Criar usurios no banco de dados; Configurar o Kamailio para chamadas internas; Testar o ambiente VoIP interno, configurando os clientes VoIP locais e realizando chamadas entre eles; Configurar o Kamailio para chamadas externas; Testar o ambiente VoIP externo, configurando os clientes VoIP locais e externos, realizando chamadas entre eles.

Telefonia IP MOT
Toda vez que uma linha terminar com um caractere de contra barra (\), a linha logo abaixo dela ser sua continuao. Geralmente, linhas que comeam com o caractere tralha (#) so comentrios e no precisam ser executados ou inseridos nos arquivos de configurao. Porm, no caso do arquivo kamailio.cfg, algumas linhas que comeam com tal caractere so necessrias. A turma ser divida em duplas. Cada dupla dever configurar seu proxy SIP com os dados contidos na tabela da ltima pgina deste documento. Toda configurao especfica de uma dupla contida num comando ou num arquivo de configurao ser representada pelo nome da varivel de configurao entre os sinais < e >. Por exemplo, quando a expresso <IP_ADDRESS> deve ser substituda pelo IP da mquina onde o proxy est sendo instalado. 1) Instale o servidor MySQL. Quando o instalador pedir uma senha, use voip (sem as aspas).
apt-get install mysql-server

2) Instale o proxy SIP Kamailio.


# Configure o repositrio oficial do Kamailio no Ubuntu wget http://deb.kamailio.org/kamailiodebkey.gpg apt-key add kamailiodebkey.gpg # Modifique a configurao dos repositrios de pacotes # disponveis no arquivo /etc/apt/source.list echo "deb http://deb.kamailio.org/kamailio31 lucid main" >> \ /etc/apt/sources.list # Atualize os repositrios apt-get update # Instale o Kamailio apt-get -y install kamailio kamailio-mysql-modules \ kamailio-nth kamailio-utils-modules rtpproxy

3) Edite o arquivo /etc/kamailio/kamctlrc para que seja possvel a criao do banco de dados. Segue abaixo um exemplo funcional deste arquivo.
# # # # # The Kamailio configuration file for the control tools. Here you can set variables used in the kamctl and kamdbctlsetup scripts. Per default all variables here are commented out, the control tools will use their internal default values.

## your SIP domain SIP_DOMAIN=<IP_ADDRESS> ## chrooted directory # $CHROOT_DIR="/path/to/chrooted/directory"

Telefonia IP MOT
## database type: MYSQL, PGSQL, ORACLE, DB_BERKELEY, or DBTEXT, ## by default none is loaded DBENGINE=MYSQL ## database host DBHOST=localhost ## database name (for ORACLE this is TNS name) DBNAME=kamailio ## database read/write user DBRWUSER=kamailio ## password for database read/write user DBRWPW="<PASSWORD>" ## database super user (for ORACLE this is 'scheme-creator' user) DBROOTUSER="root" ## control engine: FIFO or UNIXSOCK ## - default FIFO CTLENGINE="FIFO" ## path to FIFO file OSER_FIFO="FIFO" ## verbose - debug purposes - default '0' VERBOSE=1

4) Crie a base de dados Kamailio no banco de dados.


kamdbctl create

5) Crie os usurios do Kamailio na base de dados.


kamctl add user1 voip kamctl add user2 voip kamctl alias_db add <ALIAS1>@<IP_ADDRESS> user1@<IP_ADDRESS> kamctl alias_db add <ALIAS2>@<IP_ADDRESS> user2@<IP_ADDRESS>

6) Configure o Kamailio atravs do arquivo /etc/kamailio/kamailio.cfg. Ateno para as linhas que comeam com tralha (#). 6.1) Insira as seguintes definies aps a linha 90.
#!define #!define #!define #!define #!define #!define WITH_MYSQL WITH_ALIASDB WITH_AUTH WITH_USRLOCDB WITH_NAT WITH_IPAUTH

Telefonia IP MOT

6.2) Edite a linha 94, que define a varivel DBURL.


#!define DBURL "mysql://kamailio:voip@localhost/kamailio"

7) Configure o RTPProxy atravs do arquivo /etc/default/rtpproxy. Segue abaixo um exemplo do arquivo.


# Defaults for rtpproxy # The control socket. #CONTROL_SOCK="unix:/var/run/rtpproxy/rtpproxy.sock" # To listen on an UDP socket, uncomment this line: CONTROL_SOCK=udp:localhost:7722 # Additional options that are passed to the daemon. EXTRA_OPTS=" -l <IP_ADDRESS> "

8) Reinicie o RTPProxy
/etc/init.d/rtpproxy restart

9) Edite a linha da varivel RUN_KAMAILIO no arquivo /etc/default/kamailio.


RUN_KAMAILIO=yes

10) Reinicie o Kamailio


/etc/init.d/kamailio restart

11) Verifique se os servios esto em execuo


ps aux | grep mysql ps aux | grep rtpproxy ps aux | grep kamailio

12) Configure os usurios SIP no X-Lite (http://www.counterpath.com), um soft phone para ambiente Windows e Linux; 12.1) Inicie o software X-LITE a partir do cone localizado no desktop.

Telefonia IP MOT

12.2) Clique na opo Menu e selecione a opo SIP Account Settings para configurar os parmetros relativos ao servidor SIP. Clique no boto Add para definir o servidor proxy default conforme a tabela fornecida.

12.3) O registro no servidor ser indicado pela apresentao da mensagem Ready Your username is: XXX na tela principal do software. 13) Com o ambiente local operacional, vamos integrar os ambientes. Eleja um grupo prximo ao seu para que possa realizar testes de chamadas entre os grupos. 13.1) Para cada grupo eleito, edite o arquivo /etc/kamailio/kamailio.cfg adicionando o seguinte trecho na primeira linha da rota LOCATION.
if ($rU=~"^<PREFIXO_GRUPO_X>[0-9]{4}$") { $du = sip:<IP_GRUPO_X>;

Telefonia IP MOT
return; }

13.2) Adicione os endereos IP dos equipamentos confiveis.


mysql -u root -h localhost -p kamailio INSERT into address (ip_addr, mask, port) VALUES \ (<IP_GRUPO_X>, 32, 5060);

13.3) Reinicie o Kamailio


/etc/init.d/kamailio restart

13.4) Teste o ambiente realizando chamadas entre os grupos. Para que este teste funcione, cada grupo j dever ter adicionado o outro grupo.

Telefonia IP MOT

Configuraes dos Grupos


Grupo Display name Usurio Senha Alias user1 user2 user1 user2 user1 user2 user1 user2 user1 user2 user1 user2 user1 user2 voip voip voip voip voip voip voip voip voip voip voip voip voip voip 10100001 10100002 10200001 10200002 10300001 10300002 10400001 10400002 10500001 10500002 10600001 10600002 10700001 10700002 Grupo1_2 Grupo 2 Grupo2_1 Grupo2_2 Grupo 3 Grupo3_1 Grupo3_2 Grupo 4 Grupo4_1 Grupo4_2 Grupo 5 Grupo5_1 Grupo5_2 Grupo 6 Grupo6_1 Grupo6_2 Grupo 7 Grupo7_1 Grupo7_2

Grupo 1 Grupo1_1

Você também pode gostar