aula 5 (cont.)

54
Administração de Sistemas Universidade da Beira Interior Departamento de Informática Serviços de Voz sobre IP Unidades Curriculares Administração de Sistemas Licenciatura em Tecnologias e Sistemas de Informação

Upload: truongbao

Post on 10-Jan-2017

251 views

Category:

Documents


2 download

TRANSCRIPT

Administração de Sistemas

Universidade da Beira Interior Departamento de Informática

Serviços de Voz sobre IP

Unidades Curriculares Administração de Sistemas

Licenciatura em Tecnologias e Sistemas de Informação

Administração de Sistemas

Cap. 5 - Sumário

ü  Introdução ü  Protocolo H.323 ü  Session Initiation Protocol

(SIP)

Administração de Sistemas

Introdução •  A Internet é uma rede em que cada vez mais

se procura uma integração de serviços. •  A Internet utiliza a arquitectura TCP/IP. •  Disponibilizando um serviço sobre o

protocolo IP, temos acesso ao mercado global.

•  Deste modo, o serviço de voz também se apresenta como um serviço de enorme potencial para a Internet.

•  É expectável que possa vir a substituir, em grande medida, o serviço de voz convencional.

Administração de Sistemas

Introdução •  O desafio associado a esta transição

prende-se com a necessidade da existência de garantias a vários níveis, nomeadamente, em termos de operacionalidade, segurança, etc.

•  Assim, o serviço de voz sobre IP (VoIP), apresenta-se como um serviço apetecível para o cliente: –  redução de custos –  facilidade de administração

Administração de Sistemas

Introdução •  Para o operador (enquanto fornecedor)

que disponibiliza este serviço, também é apetecível pois dispõe de um mercado completamente aberto à escala global.

•  O serviço de VoIP também é conhecido por telefonia IP, telefonia via Internet ou telefone digital.

Administração de Sistemas

Introdução

•  Que tipo de protocolos são necessários: – Sinalização – Protocolo para estabelecer a

presença, localizar utilizadores, e estabelecer, alterar e desligar sessões.

– Media – Protocolos de transporte para transmissão de áudio/vídeo em pacotes.

– Protocolos de suporte: localização de Gateways, IP, tradução de endereços, Qualidade de Serviço, etc.

Administração de Sistemas

Introdução

•  Alguns protocolos que temos ao dispor: – Sinalização – H.323 (ITU-T) e SIP (IETF). – Media – RTP (IETF, adoptado pela ITU-T). – Transporte – TCP, UDP e o Stream Control

Transmission Protocol (RFC 2960) – Protocolos de suporte: DNS, TRIP (telephony

routing over IP), RSVP (resource reservation setup protocol), COPS (common open policy service, para QoS) e Diameter (para autenticação, accounting e autorização)

Administração de Sistemas

Introdução

•  A maioria das soluções de VoIP usam os protocolos de sinalização: – H.323 (definido pela ITU-T)

– Session Initiation Protocol (SIP), definido pela IETF (mais recente que o H.323 e em franco crescimento)

Administração de Sistemas

Introdução •  Outros protocolos são:

– Megaco (Media Gateway Controller), definido pelo RFC 2535, fruto de um trabalho conjunto entre a IETF e a ITU. Megaco é o nome utilizado pela IETF e H.248 é o nome utilizado pela ITU.

– Skinny Client Control Protocol – Protocolo proprietário da Cisco

– MiNET - Protocolo proprietário da Mitel

– CorNet-IP - Protocolo proprietário da Siemens

Administração de Sistemas

Introdução

•  Outros protocolos são: –  IAX – Protocolo Inter-Asterisk eXchange

usado pelo servidor PBX (open source) Asterisk, e pelo respectivo cliente

– Skype – Protocolo proprietário Peer-to-Peer usado pelo Skype

– Jajah - Protocolo proprietário Peer-to-Peer usado pelo Jajah, que é compatível com o SIP e IAX.

Administração de Sistemas

VoIP – uma Solução Típica

Fonte: Wikipedia

Administração de Sistemas

Cap. 5 - Sumário

ü  Introdução ü  Protocolo H.323 ü  Session Initiation Protocol

(SIP)

Administração de Sistemas

H.323 - Introdução •  O protocolo H.323 é um protocolo standard

para comunicações multimédia em redes comutadas de pacotes (não apenas em redes IP).

•  O H.323 é uma espécie de “chapéu de chuva” que inclui os protocolos estandardizados H.323, H.225.0, H.245, a série H.450, e a série H.460.

•  Geralmente, referimo-nos apenas ao protocolo H.323 – Por exemplo, o protocolo H.460.2 é utilizado

em sistemas de videoconferência profissionais

Administração de Sistemas

H.323 - Introdução •  O âmbito do protocolo H.323 abrange:

– Voz em tempo real; – Vídeo; – Comunicações de dados em redes de pacotes.

•  A primeira versão draft do H.323 foi lançada em Fevereiro de 1996

•  H.323 foi o primeiro protocolo estandardizado de VoIP

•  Actualmente a ITU-T trabalha no H.323v6

Administração de Sistemas

H.323 •  Elementos de um sistema H.323:

–  Terminais –  Multipoint Control Units (MCUs) –  Gateways –  Gatekeeper –  Border Elements

•  Terminais: –  Telefones –  Videotelefones –  Dispositivos IVR (sistemas Interactive Voice Response) –  Sistemas de Voicemail –  “Soft phones” (ex.: NetMeeting®)

Referred to as “endpoints”

Administração de Sistemas

H.323 - MCUs

•  Multipoint Control Units (MCUs) – São responsáveis pela gestão de

sessões/conferências multiponto •  O MCU contém um controlador

multiponto que gere a sinalização das chamadas e, opcionalmente, pode ter processadores multiponto para gerir vários tipos de media, comutação e outros processamentos

Administração de Sistemas

H.323 - Gateway •  A Gateway é composta por um “Media

Gateway Controller” (MGC) e uma “Media Gateway” (MG), que podem existir ou coexistir separadamente.

•  O MGC gere a sinalização das chamadas e outras funções não relacionadas com os media.

•  O MG gere os próprios media. •  A interface da Gateway H.323 com outras

redes inclui a rede telefónica pública, os sistemas H.320,e outras redes H.323 (como proxy).

Administração de Sistemas

H.323 - Gatekeeper

•  O Gatekeeper é um componente opcional de um sistema H.323, sendo usado inicialmente para controlo de admissão e resolução dos endereços.

•  O Gatekeeper permite chamadas directamente entre pontos terminais ou pode encaminhar o sinal de chamada através dele próprio para desempenhar funções como follow-me/find-me e reencaminhar quando ocupado.

Administração de Sistemas

H.323 – Border elements e Peer Elements

•  Os Peer Elements, que muitas vezes são colocados com um Gatekeeper, trocam informação de endereçamento e participam na autorização da chamada dentro e entre domínios

•  Os Peer Elements podem agregar informação de endereçamento por forma a reduzir a informação de routing passada através da rede

Administração de Sistemas

H.323 – Border elements e Peer Elements

•  Os Border Elements são um tipo especial de Peer Element que existe entre dois domínios

•  Os Border Elements também podem auxiliar directamente na autorização/autenticação da chamada entre dois domínios

Administração de Sistemas

H.323 - Protocolos •  O H.323 é um documento de referência que descreve o

modo como as várias peças do sistema trabalham em conjunto.

•  O H.225.0 define a sinalização de chamada entre pontos teerminais e o Gatekeeper.

•  O RTP/RTCP (Real-Time Protocol/ Real-Time Control Protocol) (RFC 3550) é o protocolo usado para transmitir medias, tais como vídeo e vídeo sobre IP.

•  O H.225.0 Anexo G e o H.501 definem os procedimentos e protocolos para comunicação dentro e entre os Peer Elements.

•  O H.245 é o protocolo usado para controlar o estabelecimento e encerramento dos canais dos media dentro do contexto de uma chamada e gerir o controlo da conferência.

Administração de Sistemas

H.323 - Protocolos •  O H.450.x é uma série de protocolos de serviços

complementares. •  O H.460.x tem uma série de extensões

(independentemente da versão) para o protocolo H.323 base.

•  T.120 especifica como fazer data conferencing •  T.38 define como retransmitir sinais de FAX. •  V.150.1 define como retransmitir sinais de modem. •  H.235 define a segurança dentro dos sistemas H.323 •  X.680 define a sintaxe ASN.1 (Abstract Syntax

Notation One). •  X.691 define as Packed Encoding Rules (PER) usadas

para codificar mensagens para transmissão na rede.

Administração de Sistemas

H.323 - Registration, Admission, and Status – RAS

•  Definido no protocolo H.225.0. •  Permite que um ponto terminal possa pedir

autorização para efectuar ou aceitar uma chamada.

•  Permite que um Gatekeeper controle o acesso de e para dispositivos que estão sob seu controlo.

•  Permite que um Gatekeeper comunique o endereço de outros pontos terminais.

•  Permite que dois Gatekeepers possam facilmente trocar informação de endereçamento.

Administração de Sistemas

H.323 – Sinalização de chamada c/ H.225.5

•  Permite que um ponto terminal inicialize e termine uma chamada com outro ponto terminal

GW GW Setup Alerting

Connect (chamada está estabelecida)

Release Complete (chamada está terminada)

H.245 Sinalização pode ocorrer noutro lugar qualquer

Administração de Sistemas

H.323 – Sinalização H.245

•  O H.245 é usado para negociar capacidades e controlar aspectos da conferência entre dois ou mais pontos terminais

Abre um canal em

cada direcção

TCS + MSD TCS + TCS Ack + MSD Ack

TCS Ack + MSD Ack + OLC OLC Ack + OLC

OLC Ack

GW GW

Administração de Sistemas

H.323 – Ligação rápida e H.245

•  Algumas chamadas H.323 não utilizam grande parte das capacidades oferecidas pelo H.245 e apenas usam os procedimentos “Fast Connect” dos canais de dados (media)

•  Deste modo, uma chamada pode ser estabelecida com apenas duas mensagens (Setup / Connect)

Setup Connect GW GW

Administração de Sistemas

H.323 – Pilha Protocolar

RAS RTP / RTCP

Rede de Pacotes

Aplicações H.323

H.245

Sinalização de chamada H.225.0

Administração de Sistemas

H.323 – Resolução dos Endereços •  Uma Gatekeeper pode resolver os endereços de várias

formas –  Enviando uma mensagem Location Request (LRQ) para outra

Gatekeeper –  Acedendo a um Peer Element –  Acedendo a uma base de dados back-end (e.g., LDAP)

•  Os Gatekeepers e os Peer Elements podem efectuar queries a outros Gatekeepers e outros Peer Elements e podem trocar informações de endereçamento fora do contexto de uma chamada.

•  Desde que um Gatekeeper não seja requisitado, os pontos terminais podem resolver os endereços eles próprios usando, por exemplo, o DNS, o LDAP ou outro “phonebook” local que contenha endereços IP estáticos.

Administração de Sistemas

H.323 – Características principais •  Videoconferência avançada (ex.: MCUs em

cascata, controlo do MCU sobre audio e video).

•  Serviços complementares (ex.: transferência de chamadas, chamada em espera, etc. e controlo baseado em HTTP - H.323 Anexo K).

•  Routing e Re-routing dinâmico (ex.: o Gatekeeper pode fornecer caminhos alternativos para o destino e o protocolo H.460.8 permite que um ponto terminal possa efectuar uma query ao Getekeeper para buscar um caminho alternativo quando o inicial está indisponível).

Administração de Sistemas

H.323 – Características principais •  Endereçamento (ex.: suporta URLs, incluindo URLs

“h323” e URLs “tel”; números e chamadas para telefones normais).

•  Qualidade de Serviço (QoS) (ex.: o protocolo H.460.9 permite que um ponto terminal possa enviar informação de QoS ao Gatekeeper; os dispositivos podem utilizar os standards da IETF para fornecer QoS).

•  Outras capacidades: –  Diagnóstico do dispositivo (utilizando “test calls” ou “media loops”

para medir o atraso e perda de pacotes) –  Serviços de emergência (os dispositivos podem indicar a prioridade

de uma chamada) –  Apoio ao utilizador, ao terminal e serviço de mobilidade (H.510)

Administração de Sistemas

H.323 – Características principais •  Escalável (permite a ligação entre pontos terminais sem

necessidade de uma entidade intermédia para manter a ligação).

•  Decomposição de Gateways (O H.248.1 define como decompor uma Gateway H.323 em uma Media Gateway Controller, e uma ou mais Media Gateways).

•  Robustez (permite Gatekeepers alternativos).

•  Flexibilidade (Suporta: VoIP, videoconferência, T.120 – troca de dados, comunicação em tempo real em modo texto e retransmissão de sinais FAX e Modem - T.38 e V.150.1).

•  Multimedia (“H.323 is multimedia over IP”)

Administração de Sistemas

H.323 – Mailing Lists •  H.323 Announcement List - Para

subscrever: [email protected]

•  H.323 Implementors List - Para subscrever: [email protected]

•  ITU SG16 WP2 Mailing List - Para subscrever: [email protected] – No corpo da msg, escrever: subscribe itu-sg16

•  H.323 Forum - Para subscrever, visitar: http://www.h323forum.org/mailing-lists/

Administração de Sistemas

Cap. 5 - Sumário

ü  Introdução ü  Protocolo H.323 ü  Session Initiation Protocol

(SIP)

Administração de Sistemas

SIP •  O SIP é um protocolo em modo texto

semelhante ao HTTP ou ao SMTP. •  Permite o estabelecimento de uma ligação

interactiva (uma sessão), em tempo real, entre utilizadores, em redes IP.

•  Esta ligação pode incluir voz, vídeo, chat, jogos interactivos e realidade virtual.

•  O SIP surgiu em 1995, no IETF mmusic Workgroup, sendo publicado o 1º Draft em 1996.

•  O SIP é um protocolo standard da IETF.

Administração de Sistemas

SIP •  O SIP é menos complexo que o H.323. •  O SIP é um protocolo de sinalização de sessão

extremo a extremo baseado no modelo Cliente-Servidor.

•  O SIP não está limitado à telefonia via Internet, permitindo estabelecer a presença do utilizador.

•  É um protocolo apropriado para: –  Sistemas distribuídos de realidade virtual; –  Jogos em rede; –  Videoconferência; etc.

Administração de Sistemas

SIP •  A negociação das capacidades é efectuada pelo

protocolo SDP (Session Description Protocol) •  O protocolo SDP foi desenvolvido para

descrever sessões de áudio, vídeo e multimedia (qualquer tipo de MIME - Multipurpose Internet Mail Extension pode ser descrita de forma semelhante à facilidade do e-mail suportar todos os tipos de anexos em mensagens).

•  A descrição da sessão pode ser usada para negociar a aceitação de um conjunto de tipos de medias compatíveis.

Administração de Sistemas

SIP •  O SIP utiliza mensagens, sendo o seu

tamanho maior que as do H.323. •  A Microsoft desinvestiu no H.323 (do

NetMeeting) e apenas se dedica ao SIP (incluído no Messenger).

•  A especificação mais recente do SIP está no RFC 3261.

Administração de Sistemas

SIP – Terminais •  Aplicações/terminais para o utilizador:

– User agent cliente (para efectuar chamadas); – User agent Servidor (para receber as

chamadas de entrada); – Equipamentos (hardware) e software

disponível.

Administração de Sistemas

SIP - Componentes •  O SIP define e utiliza os seguintes

componentes: –  UAC (User agent client) – cliente no terminal que

inicializa a sinalização SIP. –  UAS (User agent server) – servidor no terminal que

responde à sinalização SIP que vem do UAC. –  UA (User Agent) – Terminais de rede SIP (telefones

SIP ou gateways para outras redes), contém UAC e UAS.

–  Proxy server – recebe pedidos de ligação de um UA e transfere-o para outro servidor proxy caso uma estação em particular não esteja na sua área de administração.

Administração de Sistemas

SIP - Componentes •  O SIP define e utiliza os seguintes componentes:

–  Redirect server – recebe pedidos de ligação e responde ao autor do pedido, incluindo os dados de destino.

–  Location Server – recebe os pedidos de registo do UA e actualiza a base de dados de terminais com eles.

•  As sessões dos servidores (proxy, redirect e location servers) estão geralmente localizadas na mesma máquina que é o Proxy Server, que é responsável pela manutenção da base de dados dos clientes e pelo estabelecimento, manutenção e terminação das ligações.

Administração de Sistemas

Mensagens SIP •  Mensagens mais importantes trocadas no

ambiente SIP (RFC 2543): –  INVITE – pedido para o estabelecimento de uma

ligação –  ACK – acknowledgement do INVITE por parte do

destinatário final da mensagem –  BYE – terminação da ligação –  CANCEL – terminação de uma ligação não

estabelecida –  REGISTER – registo do UA no proxy SIP –  OPTIONS – inquirição das opções do servidor

Administração de Sistemas

Extensões às Mensagens SIP •  Extensões às mensagens SIP:

–  INFO – permitir o carregamento da informação relacionada com o controlo da sessão (RFC 2976) – Ex. Mensagens de sinalização RDIS usadas para controlar a chamada de serviços telefónicos

–  COMET – usado para confirmar a conclusão de todas as pré-condições por parte do originador da sessão (draft-ietf-sip-manfolks-resource)

–  PRACK – Provisional Response ACKnowledgement - resposta afirmativa provisional (draft-ietf-sip-100rel)

–  SUBSCRIBE/NOTIFY/MESSAGE – mensagem instantânea (draft-rosemberg-impp-*)

Administração de Sistemas

SIP - Respostas •  As respostas às mensagens SIP são em formato

digital, semelhantes às do protocolo HTTP. •  As mais importantes são as seguintes:

–  1XX – mensagens informativas (100 – trying, 180 – ringing, 183 – progress)

–  2XX – pedido satisfeito com successo (200 – OK) –  3XX – reencaminhamento de chamada, o pedido deve

ser dirigido para outro lado (302 – temporarily moved, 305 – use proxy)

–  4XX – erro (403 – forbidden - proibido) –  5XX – erro no servidor (500 – Server Internal Error,

501 – not implemented) –  6XX – falha global (606 – Not Acceptable)

Administração de Sistemas

Estrutura da Mensagem SIP Request Method

INVITE SIP: [email protected] SIP/2.0 Response Status

SIP/2.0 200 OK

Via: SIP/2.0/UDP here.com:5060 From: BigGuy<sip:[email protected]> To: LittleGuy<sip:[email protected]> Call-ID: [email protected] Cseq: 1 INVITE Subject: Happy Christmas Contact: BigGuy<sip:[email protected]> Content-Type: Application/SDP Content-Length: 147

v=0 o=UserA 28908442556 2890844526 IN IPv4 here.com s=Session SDP c=IN IPv4 193.136.45.21 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Payload

Campos do Cabeçalho da Mensagem:

“Recebe RTP G.711 - Áudio codificado no 193.136.45.21:49172”

Via: SIP/2.0/UDP here.com:5060 From: BigGuy<sip:[email protected]> To: LittleGuy<sip:[email protected]>;tag65a35 Call-ID: [email protected] Cseq: 1 INVITE Subject: Happy Christmas Contact: BigGuy<sip:[email protected]> Content-Type: Application/SDP Content-Length: 134

Campos do Cabeçalho da Mensagem:

v=0 o=UserB 2890844527 2890844527 IN IPv4 there.com s=Session SDP c=IN IPv4 193.136.68.70 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000

Administração de Sistemas

Session Description Protocol (SDP) •  O SDP fornece informação suficiente para

permitir uma sessão multimédia. •  O SDP inclui descrição do:

– Media utilizado (Codec, taxa de amostragem); – Media de destino (Endereço IP e nº do porto); – Nome da sessão e propósito; – Tempo desde que a sessão está activa; –  Informação de contacto.

Nota: O SDP, mais que um protocolo, é uma forma de formatação de dados.

Administração de Sistemas

Campos do Cabeçalho da Mensagem From: Criador da mensagem To: Receptor final Contact: Aparece nos pedidos de INVITE, OPTIONS, ACK ou

REGISTER e nas respostas. Indica o endereço directo da resposta para as transações subsequentes que são enviadas. –  Um UA (user agent) pode enviar subsequentemente BYE ou

ACK para o Contact: endereço; –  Inclui redireccionamento do endereço em respostas 3xx ou

485; –  Inclui informação adicional de erro nas respostas 4xx, 5xx ou

6xx; –  Pode incluir pesos de referência; –  Inclui a localização actual nos pedidos REGISTER; –  Em múltiplos contactos: os campos do cabeçalho podem ser

incluídos.

Administração de Sistemas

Endereços SIP •  O SIP fornece um endereço único. •  Exemplos de endereços SIP:

–  sip:[email protected] –  sip:[email protected]?subject=callme –  sip:[email protected];geo.position:=48.54_-123.84_120

•  O endereço deve incluir o nome da máquina, pode incluir o nome do utilizador, o porto da máquina, parâmetros (ex.:transportes), etc.

•  O endereço SIP pode ser embebido em páginas web, assinaturas eMail, impresso no cartão de visita, etc.

•  Também podem ser usados endereços não SIP (ex.: http:, mailto:, etc.)

Administração de Sistemas

Servidores Públicos SIP •  http://www.hotfoon.com (sip:hotfoon.com) •  http://www.iptel.org/user (sip:[email protected]) •  http://www.lucent.com (sip:www-db.research.bell-labs.com) •  http://www.coe.psu.ac.th (sip:cnrsipserver.coe.psu.ac.tw) •  http://www.ikn.tuwien.ac.at (sip:kalipso. ikn.tuwien.ac.at) •  http://www.zdots.com (sip:zdots.com) •  http://sipfx.com (sip:sipfx.com) •  http://www.sipcenter.com (sip:sipcenter.com) •  http://www.siphappens.com (sip:siphappens.com) •  http://sipaccount.mci.com (sip:sipaccount.mci.com)

Administração de Sistemas

Comunicações Multimedia baseadas em IP

•  O SIP estabelece, principalmente, os endereços IP e os portos para que os pontos terminais possam enviar e receber dados.

•  O SIP não transporta dados e não está dependente do tipo de compressão utilizado.

•  Provavelmente, os pacotes de dados não seguem o mesmo caminho que os pacotes SIP.

Administração de Sistemas

Comunicações Multimedia baseadas em IP

•  As fontes de áudio/vídeo são digitalizadas, comprimidas e enviadas em pacotes UDP.

•  Os algoritmos de compressão utilizam as limitações dos ouvidos/olhos humanos para reduzir a largura de banda.

•  Reduz-se a largura de banda áudio usando a supressão do silêncio.

•  Reduz-se a largura de banda vídeo usando a detecção do movimento.

Administração de Sistemas

Protocolo RTP – Real Time Transport Protocol

•  O protocolo RTP foi estandardizado pela IETF e também é usado pela ITU-T

•  Este protocolo foi desenhado para ser escalável, flexível e existe separação entre os mecanismos de dados e controlo

Administração de Sistemas

Funções do Protocolo RTP •  O protocolo RTP Fornece informação

acerca do(e/a): – Tipo de conteúdo do media – Fluídos/jorros de conversa –  Identificação de quem enviou – Sincronização – Detecção de perdas – Segmentação e re-assemblagem – Segurança (encriptação)

Administração de Sistemas

SIP – Mailing Lists

•  SIP - Para subscrever: [email protected]

•  sipping - Para subscrever: [email protected]

•  simple - Para subscrever: [email protected]

•  SIP implementations - Para subscrever: [email protected]

Administração de Sistemas

Algumas referências Internet •  http://www.ietf.org/html.charters/sip-charter.html •  http://www.softarmor.com/sipwg/ •  http://en.wikipedia.org/wiki/VoIP •  http://www.sipforum.org •  SIP Information Site (http://www.packetizer.com/voip/sip/) •  Tech-invite SIP Technical Portal (http://www.tech-invite.com/) •  SIP - Columbia University (http://www.cs.columbia.edu/sip/) •  Session Initiation Protocol (SIP) Working Group Supplemental

Home Page (http://www.softarmor.com/sipwg/) •  JAIN(tm) SIP API (http://jcp.org/jsr/detail/32.jsp) •  Unicoi Systems - SIP Stack (http://www.unicoi.com/fusion_net/

fusion_sip.htm) •  Tekea - SIP ENUM Directory Services (http://www.tekea.com/

frames.php?session_id=21694006748634) •  SIP Foundry (http://www.sipfoundry.org/)