Documente Academic
Documente Profesional
Documente Cultură
1
IP é composta por pacotes e não por circuitos inteligentes, descrito pela RFC 3261.
comutados.(cisco, p47)
O RTP tem um campo que exibe o exato instante O Protocolo de controle de chamada utilizado
em que o pacote foi enviado (timestamp RTP) e para o desenvolvimento desse artigo foi o
é usada pelo dispositivo que recebe o fluxo de Session initiation Protocol (SIP), pois trata-se de
áudio. É utilizado para verificar a ordem dos um protocolo baseado em texto semelhante ao
pacotes e se foi recebido quando esperado. É HTTP ou SMTP. O SIP é um protocolo peer-to-
usado para transmitir de forma correta o fluxo de peer (p2p) ou seja, distribui as capacidades de
áudio calculando e corrigindo atrasos como de rede entre todos os nós dentro da rede SIP,
um jitter. diferente do RPTC onde os dispositivos de
usuário final são totalmente dependentes da
2.1 Controle de chamadas central de comutação.
Da mesma forma que numa RPTC, são 2.4 Funcionalidades do SIP
necessários protocolos para controlar as
chamadas. Os principais protocolos de controle
• Localização de usuários: fornece
de chamada VoIP são SIP, H.323, MGCP e
H.248/MEGACO. capacidade de descoberta de localização
• O H.323 - É o mais antigo, e é uma
do usuário.
• Capacidade do usuário: permite
recomendação do ITU-T, é um protocolo
complexo onde o suporte a voz é apenas determinar a capacidade de mídia dos
uma das aplicações que o mesmo suporta. dispositivos que estão envolvidos na
• O MGCP - Para reduzir o custo dos
sessão.
• Disponibilidade do usuário: permite
equipamentos terminais implementa
gateways para controlar uma sessão. determinar se um usuário final participar
• O H.248/MEGACO – É um padrão
ou não da comunicação.
• Configuração de sessão: permite o
publicado pelo ITU e Internet Engineering
Task Force (IETF) que separa a lógica do estabelecimento de parâmetros de sessão
controle de chamadas da lógica de para os dispositivos envolvidos.
• Manipulação da sessão: permite a
processamento de mídia.
• O SIP – É baseado em mídias e permite
modificação, transferência e finalização de
que dispositivos terminais sejam mais uma sessão.
2
2.5 Elementos de rede SIP • Session Description Protocol (SDP)
usado para descrever os parâmetros de
Uma rede SIP engloba os seguintes dispositivos: sessão,
• RTP – trasporta os dados em tempo real,
• User Agent (UA): inicia ou responde • ReSerVation Protocol (RSVP) – Usado
transações SIP. Um UA pode atuar tanto para reservar recursos da rede,
como cliente quanto servidor. Pode ou não • TLS – Privacidade e integridade,
interagir com um usuário. Um UA é • Simple Traversal of User Datagram
statefull. Protocol (STUN) – Permite que clientes
• User Agent Client(UAC): inicia ou aceita dentro de uma rede usando NAT descubram
respostas SIP. Ex. Um telefone SIP seu endereço IP válido.
iniciando uma chamada ou um Proxy SIP
redirecionando uma requisição. Abaixo exemplo de uma rede comum SIP[3]:
3
requisição. 100 a 699 e são agrupadas no formato 1xx, 2xx
• REGISTER – Usada para que um cliente até 699, podem ser classificadas como
registrar sua localização. provisórias ou finais. Uma resposta provisória
indica progresso mas não indica o resultado do
Respostas SIP – Um servidor envia uma processamento de uma requisição. Uma
resposta ao cliente a fim de indicar o status de resposta final indica o término e status final.
uma requisição SIP enviada. São numeradas de
Requisição SIP
INVITE sip:06284233400@sip.g8telecom.com.br SIP/2.0 Cabeçalho
Via: SIP/2.0/UDP 10.62.102.108:5060;branch=z9hG4bK-d7112b3e
From: 51008147
<sip:51008147@sip.g8telecom.com.br>;tag=fc250fad46feae66o0
To: <sip:06284233400@sip.g8telecom.com.br>
4
Call-ID: 6aab1279-7e1daa0a@10.62.102.108
CSeq: 101 INVITE
Max-Forwards: 69
Contact: 51008147 <sip:51008147@10.62.102.108:5060>
Expires: 240
User-Agent: Linksys/PAP2-3.1.9(LSc)
Content-Length: 426
Allow: ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS,
REFER
Supported: x-sipura
Content-Type: application/sdp
Linha em branco entre os campos
v=0 Corpo SDP na mensagem SIP
o=- 8228784 8228784 IN IP4 10.62.102.108
s=-
c=IN IP4 10.62.102.108
t=0 0
m=audio 16444 RTP/AVP 18 0 2 4 8 96 97 98 100 101
a=rtpmap:18 G729a/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:4 G723/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 G726-40/8000
a=rtpmap:97 G726-24/8000
a=rtpmap:98 G726-16/8000
a=rtpmap:100 NSE/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:30
a=sendrecv
Resposta SIP
SIP/2.0 200 OK Cabeçalho
Via: SIP/2.0/UDP
189.50.126.51;branch=z9hG4bK188b.e3e0c1d1.0;received=189.5
0.126.51
Via: SIP/2.0/UDP
10.62.102.108:5060;rport=22628;received=200.103.96.98;branch=
z9hG4bK-1a70f95b
Record-Route:
<sip:189.50.126.51;lr;ftag=fc250fad46feae66o0;nat=yes>
From: 51008147
<sip:51008147@sip.g8telecom.com.br>;tag=fc250fad46feae66o0
To: <sip:06284233400@sip.g8telecom.com.br>;tag=as65ded6fc
Call-ID: 6aab1279-7e1daa0a@10.62.102.108
CSeq: 102 INVITE
User-Agent: G8 Telecom
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
SUBSCRIBE, NOTIFY, INFO
Supported: replaces
Contact: <sip:06284233400@189.50.126.50>
Content-Type: application/sdp
Content-Length: 357
Linha em branco entre os campos
v=0 Corpo SDP na mensagem de resposta
5
o=root 31103 31104 IN IP4 189.50.126.50 200 OK
s=session
c=IN IP4 189.50.126.50
t=0 0
m=audio 11108 RTP/AVP 18 8 0 4 101
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:4 G723/8000
a=fmtp:4 annexa=no
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
6
3.2.1 Compilando a biblioteca Libpri ./configure
make
Para a compilação deve-se seguir uma ordem: make install
libpri, asterisk, asterisk-addons.
3.3 Inicializando o Asterisk
3.2.2 Compilando o Asterisk
Existem 2 formas de iniciar o asterisk, a primeira
No diretório descompactado bastou executar os delas é através do script: /etc/init.d/asterisk
comandos: start ou executando o binário diretamente:
/usr/sbin/asterisk -h.
./configure
make 3.3.1 Prompt do Asterisk
make install (instala os binários)
make samples (opcional, instala exemplos) Para acessar o console do asterisk basta utilizar:
make config (cria os scripts de inicialização em asterisk -vvvr onde cada v vem de verbose
/etc/init.d/) mode, ou seja, cada v, acrescenta uma linha
make progdocs (documentação) abaixo do prompt interativo do Asterisk.
Executando-se o comando acima tem-se uma
3.2.3 Compilando o Asterisk-addons tela parecida com a abaixo:
# asterisk -vvvr
Asterisk 1.4.26.2, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
== Parsing '/etc/asterisk/asterisk.conf': Found
== Parsing '/etc/asterisk/extconfig.conf': Found
Connected to Asterisk 1.4.26.2 currently running on asterisk (pid = 1634)
Verbosity is at least 3
-- Remote UNIX connection
asterisk*CLI>
[general] [6601]
context = default ; Para recebimento de type = friend
chamadas. callerid = "6601" <;6601>
bindport = 5060 ; Porta utilizada pelo protocolo username = 6601
SIP. secret = 12345
bindaddr = 0.0.0.0 ; Ouve todas as redes. host = dynamic
srvlookup = yes ; Aceita hosts utilizando FQDN nat = yes
disallow = all ; Desabilita todos os codecs canreinvite = no
allow = gsm ; Habilita o codec gsm allow = gsm
context = grupo1
[6600]
type = friend ; Faz e recebe chamadas Com a configuração acima, basta criar o plano
callerid = "6600" <;6600> ; Nome que aparecerá de discagem para poder utilizar os ramais
no identificador de chamadas através de clientes SIP.
username = 6600 ; Usuário
7
3.4.2 Plano de discagem softfone para que os ramais falem entre si e o
usuário tenha um serviço de telefonia simples
Para começar a utilizar o Asterisk é necessário operando sobre uma rede IP.
criar um plano de discagem, que nada mais é do
que configurar a forma como o Asterisk trata
chamadas de entrada/saída, é uma lista de 4. Conclusão
instruções ou passos que o Asterisk tem que
seguir. Após estudar e configurar de forma simples um
Os planos de discagem são configurados no servidor de Voz numa rede IP, vimos que a
arquivo extensions.conf [5]. utilização de VoIP traz muitos resultados
positivos, além de uma economia, pois pode ser
Abaixo a configuração do arquivo utilizado VoIP para uma ligação de longa
extensions.conf distância ou internacional até a localidade
destino, só então a ligação sendo transferida
[grupo1] para a RPTC, além do fato de ter uma única
exten => 6600,1,Dial(SIP/6600,25) rede convergente onde todos os serviços
exten => 6600,2,Hangup utilizam a mesma infra-estrutura.