Mudanças entre as edições de "Redes Multimídia (diário 2014-1)"
(→17/03) |
|||
Linha 12: | Linha 12: | ||
* [http://wiki.sj.ifsc.edu.br/index.php/Netkit Netkit]. | * [http://wiki.sj.ifsc.edu.br/index.php/Netkit Netkit]. | ||
* [http://tele.sj.ifsc.edu.br/blog/ferramentas/projetos/ Repositório] dos arquivos do Netkit: | * [http://tele.sj.ifsc.edu.br/blog/ferramentas/projetos/ Repositório] dos arquivos do Netkit: | ||
+ | ** [[Controle de versão]] com [http://git-scm.com Git]. | ||
** URL: https://tele.sj.ifsc.edu.br/projetos/rmu20141 | ** URL: https://tele.sj.ifsc.edu.br/projetos/rmu20141 | ||
** Credenciais: acesso anônimo para cópia (leitura) do repositório, acesso autenticado para escrita mediante [mailto:etorresini@ifsc.edu.br solicitação]. | ** Credenciais: acesso anônimo para cópia (leitura) do repositório, acesso autenticado para escrita mediante [mailto:etorresini@ifsc.edu.br solicitação]. |
Edição das 23h56min de 23 de março de 2014
Endereço encurtado desta página: http://bit.ly/rmu20141
Sobre a disciplina
Metodologia
Metodologia orientada a projeto, sendo esse o desenvolvimento de uma solução de comunicação segura entre diversos nós espalhados pela Internet. Será usado, para tal, um concentrador que atuará como autenticador e ponto de integração com outras redes. A comunicação entre os nós poderá ser intermediada pelo concentrador ou mesmo direta entre os terminais. É obrigatória a segurança de todos os dados trafegados (sinalização e transmissão de mídia). A qualidade de serviço será necessária, seja intra-rede ou entre redes locais conectadas à Internet. Como o IFSC será uma dessas redes locais, o uso de IPv6 será necessário - tendo assim pilha dupla de operação. Novas tecnologias serão contempladas, como WebRTC e novos codecs projetados para redes IP.
Ferramentas
- Este diário de bordo.
- Netkit.
- Repositório dos arquivos do Netkit:
- Controle de versão com Git.
- URL: https://tele.sj.ifsc.edu.br/projetos/rmu20141
- Credenciais: acesso anônimo para cópia (leitura) do repositório, acesso autenticado para escrita mediante solicitação.
Avaliação
- Serão realizadas avaliações por temática/projeto em sala.
- Para aprovação: no máximo 2 Ds, e para cada D um A correspondente. Exceção: para o último projeto o conceito mínimo deve ser C.
Aulas
Apresentação da disciplina e oportunidades
10/02
- Apresentação da disciplina: metodologia e avaliação.
12/02
- Definição da metodologia e escopo do problema: a rede de comunicação.
17/02
Não houve aula.
19/02
Com a possibilidade de troca de professor da disciplina, foi tratado um tema relevante: o mercado de trabalho de Telecomunicações na Grande Florianópolis.
Sinalização
24/02
- Estudo de caso: Dropbox e transmissão de vídeo para várias plataformas.
- Telefona IP, sinalização, H.323, SIP e XMPP com a extensão Jingle.
- Material de apoio.
- Convidado(?): Carlos Eduardo Wagner.
26/02
- O protocolo SIP - RFC 3261.
10/03
- SIP, intracentral.
- Um cenário possível para o experimento:
- Geral
global[compact]=False
global[mem]=24
global[vm]=4
global[clean]=False
- Roteador
rt0[type]=router
- Rede 0
- Equipamentos
r0sw0[type]=switch
r0pbx0[type]=pbx
r0pc0[type]=generic
r0pc1[type]=generic
- Enlaces intra-rede
r0sw0[eth0]=p00
rt0[eth0]=p00:ip=192.168.0.254/24
r0sw0[eth1]=p01
r0pbx0[eth0]=p01:ip=192.168.0.1/24
r0sw0[eth2]=p02
r0pc0[eth0]=p02:ip=192.168.0.100/24
r0sw0[eth3]=p03
r0pc1[eth0]=p03:ip=192.168.0.101/24
- Rotas
r0pbx0[default_gateway]=192.168.0.254
r0pc0[default_gateway]=192.168.0.254
r0pc1[default_gateway]=192.168.0.254
- Arquivos a salvar
r0pbx0[preserve]=/usr/local/asterisk/etc/asterisk/sip.conf:/usr/local/asterisk/etc/asterisk/extensions.conf
r0pc0[preserve]=/root/pjsua.cfg
r0pc1[preserve]=/root/pjsua.cfg
- Rede 1
- Equipamentos
r1sw0[type]=switch
r1pbx0[type]=pbx
r1pc0[type]=generic
r1pc1[type]=generic
- Enlaces intra-rede
r1sw0[eth0]=p10
rt0[eth1]=p10:ip=192.168.1.254/24
r1sw0[eth1]=p11
r1pbx0[eth0]=p11:ip=192.168.1.1/24
r1sw0[eth2]=p12
r1pc0[eth0]=p12:ip=192.168.1.100/24
r1sw0[eth3]=p13
r1pc1[eth0]=p13:ip=192.168.1.101/24
- Rotas
r1pbx0[default_gateway]=192.168.1.254
r1pc0[default_gateway]=192.168.1.254
r1pc1[default_gateway]=192.168.1.254
- Arquivos a salvar
r1pbx0[preserve]=/usr/local/asterisk/etc/asterisk/sip.conf:/usr/local/asterisk/etc/asterisk/extensions.conf
r1pc0[preserve]=/root/pjsua.cfg
r1pc1[preserve]=/root/pjsua.cfg
</syntaxhighlight>
Experimentos
Ligação direta entre terminais
Foi utilizado o aplicativo siprtp em ambos os terminais:
- Terminal 0, r0pc0 (192.168.0.100), que operará como UAS:
siprtp -i 192.168.0.100
</syntaxhighlight>
- Terminal 1, r0pc1 (192.168.0.101), que operará como UAC:
siprtp -i 192.168.0.101 sip:192.168.0.100
</syntaxhighlight>
Ligação intermediada por SIP Registrar/Proxy
Foi utilizado o aplicativo pjsua nos terminais e Asterisk no servidor:
- Servidor r0pbx0 (192.168.0.1) como SIP Registrar e Proxy. Foram configurados duas contas SIP no arquivos /etc/asterisk/sip.conf:
[100]
type=friend ; ambos os sentidos
host=dynamic
defaultuser=100
context=rmu20141
canreinvite=no
[101]
type=friend
host=dynamic
defaultuser=101
context=rmu20141
canreinvite=no
</syntaxhighlight>
- E no arquivo /etc/asterisk/extensions.conf o plano de discagem:
[rmu20141]
exten => _1XX,1,Dial(SIP/${EXTEN})
exten => _1XX,n,Hangup()
</syntaxhighlight>
- Ainda no mesmo servidor, foi iniciado o serviço e verificadas as configurações (quem pode ligar, peers, e quem pode receber, users):
asterisk -c
sip show peers
sip show users
dialplan show rmu20141
</syntaxhighlight>
- Depois, foi configurada a primeira conta (100) no terminal r0pc0, no arquivos /root/pjsua.cfg:
--registrar sip:192.168.0.1
--proxy sip:192.168.0.1;lr
--realm *
--id sip:100@192.168.0.1
--username 100
--local-port 5060
--null-audio
</syntaxhighlight>
- O mesmo foi feito para a segunda conta (101), em r0pc1 (mesmo arquivo):
--registrar sip:192.168.0.1
--proxy sip:192.168.0.1;lr
--realm *
--id sip:101@192.168.0.1
--username 101
--local-port 5060
--null-audio
</syntaxhighlight>
- Para acompanhar o registro, foi ativada a depuração de mensagens SIP no servidor (na CLI do Asterisk):
sip set debug on
</syntaxhighlight>
- E, em cada terminal (r0pc0 e r0pc1), foi executado o comando que inicia o registro das contas SIP:
pjsua --config-file=/root/pjsua.cfg
</syntaxhighlight>
Por fim, faltou apenas iniciar uma chamada telefônica.
12/03
- SIP, aplicação em sala de ligação intracentral.
17/03
- SIP, intercentrais e modelo hierárquico e federado (com DNS).
- Adicionada a ferramenta de controle de versão dos arquivos.
Descrição de Mídia
24/03
- Estudo de caso: Skype e o codec SILK.
- Descrição de mídia, SIP/SDP, codecs.
- Entrega: sinalização com SIP.
26/03
- SIP/SDP, codecs.
- Entrega: codecs personalizados por canal/tronco.
Transmissão de Mídia
31/03
- Estudo de caso: Há quase 10 anos, já se falava em compartilhamento e controle remoto de tela com RTP.
- Transmissão de mídia, RTP/RTcP.
- Convidado(?): Carlos Alberto Stahelin.
02/04
- Transmissão de mídia, RTP/RTcP.
- Entrega: análise latência, jitter e perda de pacotes e impacto na mídia.
Qualidade de Serviço
07/04
- Estudo de caso: Implementando qualidade de serviço para VoIP usando Cisco.
- Qualidade de serviço.
09/04
- TOS, DSCP, RSVP/RSVP-TE/NSIS.
14/04
- Filas e priorização em redes sem QoS.
16/04
- Filas e priorização em redes sem QoS.
- Entrega: ambiente com e sem protocolo de QoS.
Segurança
21/4
- Estudo de Google Hangouts.
- Criptografia.
- Convidado: Patricia Domingos e/ou Paulo Vitor Chirolli Almeida.
23/4
- SSL, TLS, SIP com TLS.
28/4
- SRTP e zRTP.
30/4
- Criptografia opcional e obrigatório.
- Entrega: sinalização e mídia criptografados sob demanda, opcional e obrigatório.
Novas Tecnologias
05/05
- Estudo de caso: WebRTC.
- Novas tecnologias e a WWW.
- Convidado: Felipe Silva Borges.
07/05
- Servidor Web, HTML5, Javascript.
12/05
- HTML5, Javascript, WebRTC.
14/05
- HTML5, Javascript, WebRTC.
- Entrega: ligação entre ramal analógico e canal WebRTC.
IP
19/05
- IPv4, NAT, STUN, ICE, túneis (seguros ou não).
21/05
- IPv4, NAT, STUN, ICE, túneis (seguros ou não).
26/05
- IPv6.
28/05
- IPv6.
02/07
- IPv6.
04/07
- IPv6.
- Entrega: ligação entre canais com terminações IPv4 e IPv6.