Você está na página 1de 57

Welcome to the

Asterisk Advanced
Course

Mdulo-5

Mdulo-5 O Protocolo SIP

O que SIP
Pontos fortes e fracos
Tronco SIP
NAT

SIP

O SIP(Session Initiated Protocol), um protocolo baseado em texto,


projetado para iniciar, manter e terminar sesses de comunicao interativa
entre usurios.

Arquitetura SIP

Arquitetura SIP

UAC
Cliente ou terminal que inicia a sesso
UAS
Servidor que responde a sinalizao SIP de um UAC
UA
Terminal de rede SIP
SIP Proxy Server
Recebe pedidos de conexo UA e transfere ele para outro servidor proxy se a
estao em particular no est sob a sua administrao
SIP Redirect Server
Recebe pedidos de conexo e envia-os de volta ao emissor incluindo os
dados de destino ao invs de envi-los diretamente parte chamada

Sinalizao
O protocolo SIP baseado no HTTP e, assim como este, suporta o transporte de
qualquer tipo de carga em seus pacotes. O SIP funciona numa arquitetura
cliente/servidor, e suas operaes envolvem apenas mtodos de requisio e
respostas. Os mtodos de requisio do SIP so os seguintes:
INVITE: Indica que o usurio est sendo convidado a participar de uma
sesso multimdia.
ACK: Reconhecimento do INVITE.
OPTIONS: Pedido de opo do servidor
BYE: Trmino da conexo
CANCEL: Trmino de uma conexo no estabelecida
REGISTER:Registra um usurio

Processo de Registro

Antes que um telefone possa receber chamadas, ele precisa


se registrar em uma base de dados de localizao. nesse
banco de dados que o nome ser associado ao endereo IP
onde o telefone se encontra

O processo de registro consiste em enviar uma mensagem


SIP REGISTER e aguardar uma resposta ok do servidor.

Processo de Registro

Processo de Registro

Exemplo de sinalizao

Exemplo de sinalizao

Exemplo de sinalizao

Exemplo de sinalizao

100 Trying

INVITE

Exemplo de sinalizao

100 Trying

Exemplo de sinalizao

180 Ringing

Exemplo de sinalizao

180
Ringing

Exemplo de sinalizao

180 Ringing

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

ACK

Exemplo de sinalizao

ACK

Exemplo de sinalizao

ACK

Exemplo de sinalizao

RTP

RTP
RTP

Exemplo de sinalizao

BYE

Exemplo de sinalizao

BYE

Exemplo de sinalizao

BYE

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

200 OK

Exemplo de sinalizao

Exemplo de sinalizao

SDP

Protocolo de descrio de Sesso.


So embutidas nas mensagens SIP
Tem a funo de descrever as sesses multimdia com o intuito de
anuncio de sesso, convite de sesso, entre outras formas de
inicializao de sesso.

RTP

RTP (Real-time Transfer Protocol) o protocolo para transferncia


de voz (informaes multimdia).
O RTP executado sobre o UDP ,utilizando a faixa de portas
entre 10000 e 20000 no asterisk, definido em rtp.conf.

RTP

RTP

Se a mdia passa pelo servidor, operaes como gravao, so


possveis.

RTP

J se a mdia no passa pelo servidor, perco algumas facilidades, mas


a carga no servidor cai bastante.

Conectando 2 Servidores

Conectando 2 Servidores- Servidor A


sip.conf(servidor A)

Conectando 2 Servidores- Servidor B


sip.conf(Servidor B)

Conectando 2 servidores

extensions.conf- Servidor A

extensions.conf- Servidor B

Laboratrio- 3

Laboratrio 3- Interligar ao servidor do colega ao lado- Siga o


manual do laboratrio 3
Tempo- 60 Minutos

CONTINUA

NAT
O protocolo RTP apresenta dificuldades ao trabalhar em
conjunto a protocolos VoIP, quando clientes tentam se
comunicar atravs de alguns tipos de NAT(Netwark Address
Translation)-faz o mapeamento do endereos
internos(Invlios) , para os endereos externos(vlidos)

NAT
O SIP armazena os endereos de origem e destino dentro dos pacotes
UDP/IP
O NAT trata os endereos na camada de rede, assim, os pacotes de mdia
no contem os endereos corretos, tornando um dos lados da chamada
mudo.
A soluo ideal, seria o uso de VPNs

NAT
Podemos fazer algumas coisas no Asterisk para tentar resolver
problemas com NAT, entre elas:
- NAT = yes. - Dessa forma ele utilizar o endereo UDP/IP recebido e
no o endereo SIP do cliente
- Qualify = yes- o servidor envia mensagens OPTIONS para manter o
mapeamento ativo.

- careinvite= no -Temos que fazer com que o o trfego RTP passe pelo
servidor Asterisk, com esse comando.

SIP- Pontos fortes e fracos

Pontos Fortes:
- Padronizao pela IETF e sua forte adoo pelo mercado
- o mais utilizado em todo mundo

Pontos fracos:
- Problemas no uso de NAT
- o uso de banda para o RTP que alto

Alguns comandos

Habilitando e desabilitando Codecs.


Essa configurao bastante simples, basta usar os comandos
disallow para desabilitar e allow para habilitar.
disallow =all
allow= g729

Alguns comandos

Opes DTMF:
muito importante que a Asterisk interprete bem essa sinalizao, pois
muitas vezes vamos ter que interagir com o Asterisk, por exemplo no correio
de voz, acesso banco.
DTMF:
Dual Tone Multi-Frequency
Cada tecla pressionada cria dois tons em diferentes freqncias

Alguns comandos

Alguns comandos

Uma das maneiras de se enviar DTMF inband.


dtmfmode=inband
Nesse mtodo o sinal enviado como um sinal de udio e trafega no
mesmo caminho do sinal de voz, porem se estivermos utilizando alguns
codecs, como o G729, o sinal ser distorcido, usamos ento o rfc2388.
Ex:
dtmfmode=rfc2388
So passados como eventos nomeados no fluxo RTP

Alguns comandos

Comando insecure
Quando nos conectamos um servidor Voip, ele nos pede a nossa
credencial, usurio e senha, mas o contrrio no pode acontecer, um
provedor no pode ter todas as senhas dos seus clientes Asterisk, porm o
Asterisk tambm ir enviar essa requisio.
Para evitar isso, usamos esse comando. Ex:
Insecure = invite
insecure=port,ele acha o peer pelo endereo ip no importando a porta
insecure=invite;port

Conectando o Asterisk em um Provedor voip

Conectando o Asterisk em um Provedor voip

1 Passo: devemos nos registrar no provedor com o comando


register:
Register = usuario:senha@endereo do servidor/ramal que
iremos receber as chamadas.
Ex: register = 6555:1234@vono.com.br/4000
Com esse comando informamos o nome e a senha do usurio ao
provedor escolhido.
Para vermos se registrou podemos dar o comando:
CLI> Sip show registry

Conectando o Asterisk em um Provedor voip

2 Passo:

Conectando o Asterisk em um Provedor voip

3 Passo:
Criar um rota para esse plano no arquivo extensions.conf
exten=> _010.,1,dial(sip/${exten:3}@fwd)

Laboratrio 4

Iremos agora conectar nosso servidor ao servidor do instrutor, que


funcionar como um provedor VOIP
Tempo: 50 Minutos

FIM

Você também pode gostar