A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Arquiteturas Multimídias

Apresentações semelhantes


Apresentação em tema: "Arquiteturas Multimídias"— Transcrição da apresentação:

1 Arquiteturas Multimídias
MGCP & H.248(Megaco) Aquiles Burlamaqui

2 Roteiro Parte I Parte II MGCP ( Media Gateway Control Protocol )
H.248 ( Megaco )

3 Parte I - MGCP A primeira RFC a gente nunca esquece.

4 MGCP - Conteúdo Definição Histórico Tipos de Gateways Características
Comandos Exemplos de uso

5 MGCP - Definição

6 MGCP - Definição O protocolo MGCP ( Media Gateway Control Protocol ) é usado para controlar as conexões (chamadas) nos Gateways de Mídia presentes nos sistemas VoIP. Trata-se de um protocolo de controle de Gateways de Telefonia que fornece suporte a uma fonte externa de controle de chamada (os media gateway controllers ou call agents)

7 MGCP - Definição REDE IP MGCP MGC Call Agent GW Endpoints

8 MGCP - Histórico

9 MGCP – Histórico Empresas pegas de surpresa(1998)
H.323v1 não era satisfatório Desestabilizar o mercado SGCP (Simple Gateway Control Protocol) IPDC MGCP (outubro 1999 – RFC 2705) MGCP (janeiro 2003 – RFC 3435)

10 MGCP - Tipos de Gateways

11 MGCP – Tipos de Gateways
Gateways de Tronco Gateways Residenciais Gateways de Acesso Gateways Coorporativos

12 MGCP – Tipos de Gateways
Gateways de Tronco, que fazem a interface entre a rede telefônica e a rede de VOIP. Estes tipos de gateways normalmente gerenciam um grande número de circuitos digitais. Gateways Residenciais, provêm uma interface analógica tradicional (RJ11) com a rede de VOIP. Exemplos de gateways residenciais incluem cable modem, dispositivos xDSL.

13 MGCP – Tipos de Gateways
Gateways de Acesso, que provêm uma interface analógica (RJ11) ou interface digital do PBX corporativo para a rede IP.Exemplo incluem VOIP gateways de menor escala. Gateways Corporativos, que provêm uma interface padrão digital com o PBX Corporativo ou Integrado como uma interface “soft PBX” para uma rede VOIP.

14 MGCP - Características

15 MGCP – Características
MGCP assume uma arquitetura de controle centralizada onde a inteligência da rede está totalmente fora dos gateways e controlada externamente pelos elementos de controle. O MGCP assume que estes elementos de controle de chamadas, ou Call Agent, estejam sincronizados para enviar coerentemente comandos para os gateways no seu controle. Ele pode usar os protocolos de sinalização IP (como SIP e H.323) entre os EndPoints

16 MGCP – Características
Fonte: teleco – tutorial VoIP

17 MGCP – Características
O MGCP na sua essência, é um protocolo mestre/escravo, onde os gateways ficam aguardando para executar comandos dos Call Agents. Entre estes EndPoints é usado o protocolo SDP para a descrição de mídias na negociação das mesmas( RFC 2327 ).

18 MGCP – Características
O sistema é composto basicamente de um Call Agent, e um conjunto de gateways, incluindo pelo menos um “mídia gateway” que realiza a conversão das mídias entre os circuitos e os pacotes, e pelo menos um “gateway de sinalização” quando este é conectado com uma rede controlada por SS7.

19 MGCP – Características
A base do modelo de conexão do MGCP são os endpoints e as conexões. Conexões são agrupadas em chamadas. Uma ou mais conexões podem se tornar um chamada. Conexões e chamadas são configuradas sobre a iniciativa de um ou mais Call Agents.

20 MGCP - Comandos

21 MGCP – Comandos Na atual versão do MGCP ele possui 9 comandos existentes para o controle dos Gateways : EndpointConfiguration NotificationRequest Notify CreateConnection ModifyConnection DeleteConnection AuditEndpoint AuditConnection RestarInProgress

22 Informações de descrição de seção
MGCP – Comandos Cabeçalho Linha em Branco Informações de descrição de seção Comando MGCP Linha de Comando Cabeçalho Linha de Parâmetro . Verbo Transação Nome do endpoint Versão Linha de Comando Nome do Parâmetro : Valor do parâmetro Linha de Parâmetro

23 MGCP – Comandos Verbos:
Os identificadores dos endpoints possuem o seguinte formato: Ex:

24 MGCP – Comandos Nome do Parâmetro Código
Exemplos de Valores do Parâmetro BearerInformation B B: e:mu CallId C C: A3C47F F0 Capabilities A A: a:PCMU;G728, p:10-100, e:on, s:off, t:1, v:L, m:sendonly;recvonly;sendrecv;inactive ConnectionId I I: FDE234C8 ConnectionMode M M: sendonly / M: recvonly / M: sendrecv / M: confrnce / M: inactive / M: loopback / M: conttest / M: netwloop / M: netwtest ConnectionParameters P P: PS=1245, OS=62345, PR=0, OR=0, PL=0, JI=0, LA=48 DetectEvents T T: L/hu,L/hd,L/hf,D/[0-9#*] DigitMap D D: 5xxx EventStates ES ES: L/hu LocalConnectionOptions L L: p:10, a:PCMU / L: p:10, a:G / L: p:10-20, b:64 / L: b:32-64, e:off MaxMGCPDatagram MD MD: 8100 NotifiedEntity N N:

25 MGCP – Comandos ObservedEvents O O: L/hu O: D/8295555T
O: D/8,D/2,D/9,D/5,D/5,L/hf,D/5,D/5,D/T O: L/hf, L/hf, L/hu PackageList PL PL: L:1,G:1,D:0,FOO:2,T:1 QuarantineHandling Q Q: loop Q: process Q: loop,discard ReasonCode E E: 900 Endpoint malfunctioning RequestedEvents R R: L/hu(N), L/hf(S,N) R: L/hu(N), D/[0-9#T](D) R: L/hd(E(R(D/[0-9#T](D),L/hu(N)),S(L/dl),D([0-9].[#T]))) R: L/hd(E(R(D/[0-9#T](D),L/hu(N)),S(L/dl))) RequestedInfo F F: N,X,R,S,D,Q,T RequestIdentifier X X: AC ResponseAck K K: , 6257, RestartMethod RM RM: restart

26 MGCP – Comandos SignalRequests S S: L/adsi("123456 Francois Gerard")
S: A/ann( ) SpecificEndPointId Z Z:

27 MGCP – Comandos EndpointConfiguration
O Agente de Chamada pode enviar um comando de EndpointConfiguration para um Gateway, instruindo o gateway sobre as características de codificação esperadas pela linha do endpoint.

28 MGCP – Comandos NotificationRequest
O Agente de Chamada pode enviar um comando de NotificationRequest para um gateway, instruindo o gateway para observar eventos específicos tais como ações de gancho ou tons DTMF em um endpoint específico.

29 MGCP – Comandos NotificationRequest - Exemplo
RQNT 1201 MGCP 1.0 N: X: AC R: l/hd(N) S: l/rg OK

30 MGCP – Comandos Notify O gateway irá então usar o comando Notify para informar o Agente de Chamada quando um evento requisitado ocorrer.

31 MGCP – Comandos Notify - exemplo
NTFY 2002 MGCP 1.0 N: X: AC O: L/hd,D/9,D/1,D/2,D/0,D/1,D/8,D/2,D/9,D/4,D/2,D/6,D/6 OK

32 MGCP – Comandos CreateConnection
O Agente de Chamada pode usar o comando CreateConnection para criar uma conexão que termina em um endpoint dentro do gateway.

33 MGCP – Comandos CreateConnection – exemplo
CRCX 1204 MGCP 1.0 C: A3C47F F0 L: p:10, a:PCMU M: recvonly OK I: FDE234C8 v=0 o= IN IP s=- c=IN IP t=0 0 m=audio 3456 RTP/AVP 0

34 MGCP – Comandos ModifyConnection
O Agente de Chamada pode usar o comando ModifyConnection para mudar os parâmetros associados com uma conexão previamente associada.

35 MGCP – Comandos ModifyConnection – exemplo
MDCX 1209 MGCP 1.0 C: A3C47F F0 I: FDE234C8 N: M: sendrecv OK

36 MGCP – Comandos DeleteConnection
O Agente de Chamada pode usar o comando DeleteConnection para fechar(deletar) uma conexão existente. O comando DeleteConnection pode também ser usado pelo gateway para indicar que uma conexão não pode mais ser mantida.

37 MGCP – Comandos DeleteConnection
DLCX 1210 MGCP 1.0 C: A3C47F F0 I: FDE234C8 E: Hardware error P: PS=1245, OS=62345, PR=780, OR=45123, PL=10, JI=27, LA=48 OK

38 MGCP – Comandos AuditEndpoint
O Agente de Chamadas pode usar o comando AuditEndpoint e para examinar o status de um endpoint associado a ele.

39 MGCP – Comandos AuditEndpoint
AUEP 1200 MGCP 1.0 OK Z: Z:

40 MGCP – Comandos AuditEndpoint
AUEP 1201 MGCP 1.0 F: A OK A: a:PCMU, p:10-100, e:on, s:off, v:L;S, m:sendonly; recvonly;sendrecv;inactive;netwloop;netwtest A: a:G729, p:30-90, e:on, s:on, v:L;S, m:sendonly; recvonly;sendrecv;inactive;confrnce;netwloop

41 MGCP – Comandos AuditConnection
O Agente de Chamadas pode usar o comando AuditConnection para examinar o status de uma conexão associada a ele.

42 MGCP – Comandos AuditConnection 200 2003 OK C: A3C47F21456789F0
AUCX 2003 MGCP 1.0 I: 32F345E2 F: C,N,L,M,,P OK C: A3C47F F0 N: L: p:10, a:PCMU M: sendrecv P: PS=395, OS=22850, PR=615, OR=30937, PL=7, JI=26, LA=47 v=0 o= IN IP s=- c=IN IP t=0 0 m=audio 1296 RTP/AVP 0

43 MGCP – Comandos RestartInProgress
O gateway pode usar o comando RestartInProgress para notificar um Agente de Chamadas que um grupo de endpoints gerenciados pelo gateway estão saindo de serviço ou estão em reinicializando.

44 MGCP – Comandos RestartInProgress
RSIP 1200 MGCP 1.0 RM: graceful RD: 300 OK

45 MGCP - Exemplo de uso

46 MGCP – Exemplo de uso Exemplo de troca de mensagens entre dois Gateways Residências.

47 MGCP – Exemplo de uso MGC /CA rgw2 REDE IP rgw1 usr2 usr1

48 MGCP – Exemplo de uso ntfy ack ack ack ack ack ntfy ack ack ntfy ack
/CA ntfy ack ack ack rgw1 rgw2 offhook digits recvonly ringback recvonly dialtone sendrcv sendrcv ringing offhook usr1 usr2 rqnt crcx rqnt ack mdcx rqnt mdcx crcx rqnt ack rqnt ack rqnt Passo 10 – Notifica evento offhook Passo 9 – Observa eventos de offhook e manda tocar Passo 11 – Observa eventos onhook Passo 13 – Modifica a o modo da conexão p/ sendrecv Passo 8 – Observa eventos de on-hook e manda tocar Podem conversar. Passo 12 – Observa eventos onhook Passo 1 – Notificação de evento fora de gancho Passo 3 – Notificação de dígitos discados Passo 2 – Observar on-hook,digitmap e dialtone Passo 4 – Pede notificação de transições on-hook Passo 5 – Cria uma conexão no modo recvonly Passo 6 – Cria uma conexão no modo sendrecv Passo 7 – Modifica a conexão interligando as duas

49 Fim da Parte I - MGCP Ufa! Ainda bem que acabou, todos vivos?!

50 Parte II - H.248 (Megaco) Outra RFC?! Não!!!!!!!

51 Parte II – H.248(Megaco) Conceito Histórico Características Comandos
Conclusões Bibliografia

52 H Definição

53 H Definição O H.248/Megaco é assim como o MGCP um protocolo destinado a controlar os Gateways de Mídia presentes em uma arquitetura VoIP

54 H Histórico

55 H Histórico Resultado da união de esforços do IETF(megaco) e do ITU-T Grupo de Estudo 16(H.248). RFC 3015 (Novembro 2000) draft-ietf-megaco-h248v2-04.txt (Abril 2003) RFC 3525 (Junho 2003)

56 H Características

57 H.248 - Características Principais elementos Modelo de Conexão
MG – Gateways de Mídia MGC – Controlador de Gateway de Mídia Modelo de Conexão Terminações Contextos

58 H.248 - Características Terminações Contextos:
Terminações representam streams entrando ou saindo de um MG.(Ex: linhas telefônicas analógicas, streams RTP, streams MP3) Contextos: Um Contexto é uma associação entre um número de Terminações. O Contexto descreve a topologia e a mixagem da mídia e/ou troca de parâmetros se mais que duas Terminações estão envolvidas na associação.

59 H Comandos

60 H Comandos O protocolo pode ser codificado tanto no formato binário quanto textual. Comando entre o Media gateway Controller e o Media gateway são agrupadas em transações, cada qual identificada por um TransationID. Transações consistem de um ou mais ações. Uma ação consiste de uma série não vazia de comandos

61 H Comandos Relacionamento entre Transação, Ação e Comando

62 H Comandos Transações garantem a ordem do processamento dos comandos. Ou seja, comandos dentro de uma transação são executados sequencialmente. Ordenação das transações não é garantida, transações podem ser executadas em qualquer ordem, ou simultaneamente. TransactionRequest(TransactionId { ContextID {Command ... Command}, . . . ContextID {Command ... Command } })

63 H.248 - Comandos Mensagens:
Múltiplas transações podem ser concatenadas em uma mensagem. Mensagens tem um cabeçalho, que incluem a identidade de quem a envia. O identificador da Mensagem (MID) é setado para um nome (domain address/domain name/device name) da entidade transmitindo a mensagem.

64 H Comandos Na atual versão do H.248 ele possui 8 comandos existentes para o controle dos Gateways : Add Modify Substract Move AuditValue AuditCapabilities Notify ServiceChange

65 H.248 - Comandos Descritores:
Os parâmetros para um comando são chamados Descritores. Um Descritor consiste de um nome e uma lista de items. Alguns itens podem ter valores. Muitos Comandos compartilham descritores comuns. Descritores podem ser retornados como saída de um comando

66 H.248 - Comandos Nome do Descritor Descrição Modem
Identifica o tipo e propriedade do modem quando aplicável. Mux Descreve o tipo de multiplexação para Terminações multimídia (H.221,H.223, H.225). Media Uma lista da especificações dos streams de mídia TerminationState Propriedades de uma terminação(que pode ser definido em pacotes) que não são específicos de streams. Stream Uma lista de descritores para um simples stream( remote/local/localControl). Local Contém propriedades que especificam os fluxos de mídias que o MG recebem da entidade remota. Remote Contém propriedades que especificam o fluxo de mídias que o MG envia para a entidade remota. LocalControl Contém propriedades( que podem ser definidas em pacotes) que são de interesse do MG e o MGC. Events Descreve eventos a serem detectados pelo MG e que fazer quando um evento for detectado. EventBuffer Descreve eventos a serem detectados pelo MG quando um Evento de Buffering é ativado.

67 H.248 - Comandos Signals Descreve sinais aplicados para Terminações
Audit Em comando Audit, identifica que informações é desejado. Packages Em AuditValue, retorn uma lista de Pacotes da Terminação. DigitMap Define padrões cujas seqüências de um especifico conjunto de enventos são casados então eles podem ser reportados. ServiceChange Em ServiceChange, o que, porque mudanças de serviço ocorrem, etc. ObservedEvents Em Notify ou AuditValue, reportam os eventos observados. Statistics Em Substract, e Audit, reportam estatísticas mantidos em um Terminação. Topology Especificam a direção dos fluxos entre as Terminações em um Contexto. Error Contém um código de erro e opcionalmente um texto do erro; ele pode ocorrer em um comando replicado e em pedidos de notificação.

68 H.248 - Comandos Sintaxe: MegacoMessage ::= SEQUENCE {
authHeader AuthenticationHeader OPTIONAL, mess Message }

69 H.248 - Comandos Message ::= SEQUENCE { version INTEGER(0..99),
-- The version of the protocol defined here is equal to 1. mId MId, -- Name/address of message originator messageBody CHOICE messageError ErrorDescriptor, transactions SEQUENCE OF Transaction }, ... }

70 H.248 - Comandos Transaction ::= CHOICE {
transactionRequest TransactionRequest, transactionPending TransactionPending, transactionReply TransactionReply, transactionResponseAck TransactionResponseAck, -- use of response acks is dependent on underlying transport ... }

71 H.248 - Comandos TransactionRequest ::= SEQUENCE {
transactionId TransactionId, actions SEQUENCE OF ActionRequest, ... }

72 H.248 - Comandos ActionRequest ::= SEQUENCE { contextId ContextID,
contextRequest ContextRequest OPTIONAL, contextAttrAuditReq ContextAttrAuditRequest OPTIONAL, commandRequests SEQUENCE OF CommandRequest }

73 H.248 - Comandos CommandRequest ::= SEQUENCE { command Command,
optional NULL OPTIONAL, wildcardReturn NULL OPTIONAL, ... }

74 H.248 - Comandos Command ::= CHOICE { addReq AmmRequest,
moveReq AmmRequest, modReq AmmRequest, -- Add, Move, Modify requests have the same parameters subtractReq SubtractRequest, auditCapRequest AuditRequest, auditValueRequest AuditRequest, notifyReq NotifyRequest, serviceChangeReq ServiceChangeRequest, ... }

75 H.248 - Comandos AmmRequest ::= SEQUENCE {
terminationID TerminationIDList, descriptors SEQUENCE OF AmmDescriptor, -- At most one descriptor of each type (see AmmDescriptor) -- allowed in the sequence. ... }

76 H.248 - Comandos AmmDescriptor ::= CHOICE{
mediaDescriptor MediaDescriptor, modemDescriptor ModemDescriptor, muxDescriptor MuxDescriptor, eventsDescriptor EventsDescriptor, eventBufferDescriptor EventBufferDescriptor, signalsDescriptor SignalsDescriptor, digitMapDescriptor DigitMapDescriptor, auditDescriptor AuditDescriptor, ... }

77 H Comandos Add – O Comando Add adiciona uma terminação para um Contexto. O Comando Add na primeira Terminação de um Contexto é usado para criar um Contexto.

78 H.248 - Comandos Add – exemplo:
MEGACO/1 [ ]:55555 Transaction = { Context = $ { Add = A4444, Add = $ { Media { Stream = 1 { LocalControl { Mode = ReceiveOnly,nt/jit=40 ; in ms }, Local { v=0 c=IN IP4 $ m=audio $ RTP/AVP 4 a=ptime:30 v=0 c=IN IP4 $ m=audio $ RTP/AVP 0 }

79 H Comandos Modify – O Comando Modify modifica as propriedades, eventos e sinais de um Terminação.

80 H.248 - Comandos Modify – exemplo
MEGACO/1 [ ]:55555 Transaction = 9999 { Context = - { Modify = A4444 { Media { Stream = 1 { LocalControl { Mode = SendReceive,tdmc/gain=2, ; in dB,tdmc/ec=on }, } Events = 2222 {al/of(strict=state)}

81 H Comandos Substract – O comando Substract disconecta uma Terminação de seus Contexto e retorna estatísticas da participação daquela Terminação naquele Contexto. O comando Substract na ultima Terminação em um Contexto apaga o Contexto.

82 H.248 - Comandos Substract – exemplo
MEGACO/1 [ ]:55555 Transaction = { Context = 5000 { Subtract = A5555 { Audit{ Statistics } }, Subtract = A5556 {

83 H Comandos Move – O comando Move move automaticamente uma Terminação para outro Contexto.

84 H Comandos AuditValue – O comando AuditValue retorna o estado atual das propriedades, eventos sinais e estatísticas da Terminação.

85 H.248 - Comandos AuditValue – exemplo
MEGACO/1 [ ]:55555 Transaction = { Context = - { AuditValue = A5556{ Audit{ Media, DigitMap, Events, Signals, Packages, Statistics }

86 H Comandos AuditCapabilities – O Comando AuditCapabilities retorna todos os possíveis valores para as propriedades da Terminação, eventos e sinais permitidos pelo Media Gateway(MG).

87 H Comandos Notify - O comando Notify permite ao MG informar ao MGC a ocorrência de eventos neste MG.

88 H.248 - Comandos Notify – exemplo
MEGACO/1 [ ]:55555 Transaction= { Context = - { Notify = A4444 { ObservedEvents =2222 { T :al/of(init=false) }

89 H Comandos ServiceChange – O comando ServiceChange permite o MG notificar ao MGC que uma Terminação ou grupo de Terminações está saindo de serviço ou estão retornando ao serviço. ServiceChange é também usado pelo MG para anunciar sua disponibilidade para um MGC, e para notificar o MGC dos reinícios dos MG.

90 H.248 - Comandos ServiceChange – exemplo
MEGACO/1 [ ] Transaction = 9998 { Context = - { ServiceChange = ROOT { Services { Method=Restart, ServiceChangeAddress=55555, Profile=ResGW/1 }

91 Fim da Parte II - H.248 Tá bem pertinho, perseverança acima de tudo!

92 Conclusões Protocolos com mesmos objetivos MEGACO originado do MGCP
MGCP atualmente mais utilizado MGCP mais simples e mais rápido. MEGACO é o futuro. Megaco adiciona novos conceitos que provêm mecanismos poderosos para serviço suplementares.

93 Bibliografia [HERSENT02] Telefonia IP Comunicação baseada em pacotes,Addison Wesley,2002. [MGCP] [Megaco] [RFC3435] RFC 3435, MGCP is defined by IETF ( ) and ITU-T. [RFC3525] RFC 3525, Megaco/H.248 is defined by IETF ( ) and ITU-T.


Carregar ppt "Arquiteturas Multimídias"

Apresentações semelhantes


Anúncios Google