mgcp & h.248(megaco) arquiteturas multimídias aquiles burlamaqui

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

Upload: internet

Post on 21-Apr-2015

128 views

Category:

Documents


0 download

TRANSCRIPT

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

MGCP & MGCP & H.248(Megaco)H.248(Megaco)

Arquiteturas MultimídiasArquiteturas Multimídias

Aquiles Burlamaqui

Page 2: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

RoteiroRoteiro

Parte IParte I MGCP ( Media Gateway Control MGCP ( Media Gateway Control

Protocol )Protocol )

Parte IIParte II H.248 ( Megaco )H.248 ( Megaco )

Page 3: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

Parte IParte I--

MGCPMGCPA primeira RFC a gente nunca esquece.

Page 4: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP - ConteúdoMGCP - Conteúdo

DefiniçãoDefinição HistóricoHistórico Tipos de GatewaysTipos de Gateways CaracterísticasCaracterísticas ComandosComandos Exemplos de usoExemplos de uso

Page 5: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

DefiniçãoDefinição

Page 6: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP - DefiniçãoMGCP - Definição

O protocolo MGCP ( Media Gateway O protocolo MGCP ( Media Gateway Control Protocol ) é usado para Control Protocol ) é usado para controlar as conexões (chamadas) nos controlar as conexões (chamadas) nos Gateways de Mídia presentes nos Gateways de Mídia presentes nos sistemas VoIP.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)

Page 7: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP - DefiniçãoMGCP - Definição

MGC

GW

REDE IP

MGCP

Call Agent

Endpoints

Page 8: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

HistóricoHistórico

Page 9: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – HistóricoMGCP – Histórico

Empresas pegas de surpresa(1998)Empresas pegas de surpresa(1998) H.323v1 não era satisfatórioH.323v1 não era satisfatório Desestabilizar o mercadoDesestabilizar o mercado SGCP (Simple Gateway Control SGCP (Simple Gateway Control

Protocol)Protocol) IPDCIPDC MGCP (outubro 1999 – RFC 2705)MGCP (outubro 1999 – RFC 2705) MGCP (janeiro 2003 – RFC 3435)MGCP (janeiro 2003 – RFC 3435)

Page 10: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

Tipos de Tipos de GatewaysGateways

Page 11: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Tipos de MGCP – Tipos de GatewaysGateways

Gateways de TroncoGateways de Tronco Gateways ResidenciaisGateways Residenciais Gateways de AcessoGateways de Acesso Gateways CoorporativosGateways Coorporativos

Page 12: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Tipos de MGCP – Tipos de GatewaysGateways

Gateways de Tronco, 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, Gateways Residenciais, provêm uma interface analógica tradicional (RJ11) com a rede de VOIP. Exemplos de gateways residenciais incluem cable modem, dispositivos xDSL.

Page 13: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Tipos de MGCP – Tipos de GatewaysGateways

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.

Page 14: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

CaracterísticaCaracterísticass

Page 15: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – CaracterísticasMGCP – Características MGCP assume uma arquitetura de controle MGCP assume uma arquitetura de controle

centralizada onde a inteligência da rede centralizada onde a inteligência da rede está totalmente fora dos gateways e está totalmente fora dos gateways e controlada externamente pelos elementos controlada externamente pelos elementos de controle.de controle.

O MGCP assume que estes elementos de O MGCP assume que estes elementos de controle de chamadas, ou Call Agent, controle de chamadas, ou Call Agent, estejam sincronizados para enviar estejam sincronizados para enviar coerentemente comandos para os gateways coerentemente comandos para os gateways no seu controle.no seu controle.

Ele pode usar os protocolos de sinalização Ele pode usar os protocolos de sinalização IP (como SIP e H.323) entre os EndPointsIP (como SIP e H.323) entre os EndPoints

Page 16: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – CaracterísticasMGCP – Características

Fonte: teleco – tutorial VoIP

Page 17: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – CaracterísticasMGCP – Características

O MGCP na sua essência, é um O MGCP na sua essência, é um protocolo mestre/escravo, onde os protocolo mestre/escravo, onde os gateways ficam aguardando para gateways ficam aguardando para executar comandos dos Call Agents.executar comandos dos Call Agents.

Entre estes EndPoints é usado o Entre estes EndPoints é usado o protocolo SDP para a descrição de protocolo SDP para a descrição de mídias na negociação das mídias na negociação das mesmas( RFC 2327 ).mesmas( RFC 2327 ).

Page 18: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – CaracterísticasMGCP – 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.

Page 19: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – CaracterísticasMGCP – Características

A base do modelo de conexão do A base do modelo de conexão do MGCP são os endpoints e as MGCP são os endpoints e as conexões.conexões.

Conexões são agrupadas em Conexões são agrupadas em chamadas. Uma ou mais conexões chamadas. Uma ou mais conexões podem se tornar um chamada.podem se tornar um chamada.

Conexões e chamadas são Conexões e chamadas são configuradas sobre a iniciativa de configuradas sobre a iniciativa de um ou mais um ou mais Call AgentsCall Agents..

Page 20: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

ComandosComandos

Page 21: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos Na atual versão do MGCP ele possui 9 Na atual versão do MGCP ele possui 9

comandos existentes para o controle dos comandos existentes para o controle dos Gateways :Gateways :

1.1. EndpointConfigurationEndpointConfiguration2.2. NotificationRequestNotificationRequest3.3. NotifyNotify4.4. CreateConnectionCreateConnection5.5. ModifyConnectionModifyConnection6.6. DeleteConnectionDeleteConnection7.7. AuditEndpointAuditEndpoint8.8. AuditConnectionAuditConnection9.9. RestarInProgressRestarInProgress

Page 22: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

Linha de Comando

Cabeçalho

Linha de Parâmetro

Linha de Parâmetro

.

.

.

Cabeçalho

Linha em Branco

Informações de descrição de seção

Comando MGCP

Verbo TransaçãoNome do endpointVersão

Linha de Comando

Nome do Parâmetro: Valor do parâmetro

Linha de Parâmetro

Page 23: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos Verbos:Verbos:

Os identificadores dos endpoints possuem o seguinte Os identificadores dos endpoints possuem o seguinte formato:formato: local-endpoint-name@domain-name Ex: aaln/[email protected]

Page 24: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – ComandosNome do Parâmetro Código Exemplos de Valores do Parâmetro

BearerInformation B B: e:mu

CallId C C: A3C47F21456789F0

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:G726-32 / L: p:10-20, b:64 / L: b:32-64, e:off

MaxMGCPDatagram MD MD: 8100

NotifiedEntity N N: [email protected]:5678

Page 25: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – ComandosObservedEvents O O: L/hu

O: D/8295555TO: D/8,D/2,D/9,D/5,D/5,L/hf,D/5,D/5,D/TO: L/hf, L/hf, L/hu

PackageList PL PL: L:1,G:1,D:0,FOO:2,T:1

QuarantineHandling Q Q: loopQ: processQ: 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: 0123456789AC

ResponseAck K K: 6234-6255, 6257, 19030-19044

RestartMethod RM RM: restart

Page 26: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – ComandosSignalRequests S S: L/adsi("123456 Francois Gerard")

S: A/ann(http://ann.example.net/no-such-number.au, 1234567)

SpecificEndPointId Z Z: aaln/[email protected]

Page 27: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

EndpointConfigurationEndpointConfiguration O Agente de Chamada pode enviar um O Agente de Chamada pode enviar um

comando de EndpointConfiguration comando de EndpointConfiguration para um Gateway, instruindo o gateway para um Gateway, instruindo o gateway sobre as características de codificação sobre as características de codificação esperadas pela linha do endpoint.esperadas pela linha do endpoint.

Page 28: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

NotificationRequestNotificationRequest O Agente de Chamada pode enviar um O Agente de Chamada pode enviar um

comando de NotificationRequest para comando de NotificationRequest para um gateway, instruindo o gateway para um gateway, instruindo o gateway para observar eventos específicos tais como observar eventos específicos tais como ações de gancho ou tons DTMF em um ações de gancho ou tons DTMF em um endpoint específico. endpoint específico.

Page 29: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

NotificationRequest - ExemploNotificationRequest - Exemplo

RQNT 1201 aaln/[email protected] MGCP 1.0N: [email protected]:5678X: 0123456789ACR: l/hd(N)S: l/rg

200 1201 OK

Page 30: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

NotifyNotify O gateway irá então usar o comando O gateway irá então usar o comando

Notify para informar o Agente de Notify para informar o Agente de Chamada quando um evento requisitado Chamada quando um evento requisitado ocorrer. ocorrer.

Page 31: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

Notify - exemploNotify - exemplo

NTFY 2002 aaln/[email protected] MGCP 1.0N: [email protected]:5678X: 0123456789ACO: 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

200 2002 OK

Page 32: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

CreateConnectionCreateConnection O Agente de Chamada pode usar o O Agente de Chamada pode usar o

comando CreateConnection para criar comando CreateConnection para criar uma conexão que termina em um uma conexão que termina em um endpoint dentro do gateway.endpoint dentro do gateway.

Page 33: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos CreateConnection – exemploCreateConnection – exemplo

CRCX 1204 aaln/[email protected] MGCP 1.0C: A3C47F21456789F0L: p:10, a:PCMUM: recvonly

200 1204 OKI: FDE234C8

v=0o=- 25678 753849 IN IP4 128.96.41.1s=-c=IN IP4 128.96.41.1t=0 0m=audio 3456 RTP/AVP 0

Page 34: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

ModifyConnectionModifyConnection O Agente de Chamada pode usar o O Agente de Chamada pode usar o

comando ModifyConnection para mudar comando ModifyConnection para mudar os parâmetros associados com uma os parâmetros associados com uma conexão previamente associada. conexão previamente associada.

Page 35: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

ModifyConnection – exemploModifyConnection – exemplo

MDCX 1209 aaln/[email protected] MGCP 1.0C: A3C47F21456789F0I: FDE234C8N: [email protected]: sendrecv

200 1209 OK

Page 36: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

DeleteConnectionDeleteConnection O Agente de Chamada pode usar o O Agente de Chamada pode usar o

comando DeleteConnection para comando DeleteConnection para fechar(deletar) uma conexão existente. fechar(deletar) uma conexão existente. O comando DeleteConnection pode O comando DeleteConnection pode também ser usado pelo gateway para também ser usado pelo gateway para indicar que uma conexão não pode mais indicar que uma conexão não pode mais ser mantida. ser mantida.

Page 37: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

DeleteConnectionDeleteConnection

DLCX 1210 aaln/[email protected] MGCP 1.0C: A3C47F21456789F0I: FDE234C8E: 900 - Hardware errorP: PS=1245, OS=62345, PR=780, OR=45123, PL=10,

JI=27, LA=48

200 1210 OK

Page 38: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

AuditEndpoint AuditEndpoint O Agente de Chamadas pode usar o O Agente de Chamadas pode usar o

comando AuditEndpoint e para comando AuditEndpoint e para examinar o status de um endpoint examinar o status de um endpoint associado a ele. associado a ele.

Page 39: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

AuditEndpoint AuditEndpoint

AUEP 1200 *@rgw-2567.whatever.net MGCP 1.0

200 1200 OKZ: aaln/[email protected]: aaln/[email protected]

Page 40: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

AuditEndpoint AuditEndpoint

AUEP 1201 aaln/[email protected] MGCP 1.0F: A

200 1201 OKA: a:PCMU, p:10-100, e:on, s:off, v:L;S, m:sendonly;recvonly;sendrecv;inactive;netwloop;netwtestA: a:G729, p:30-90, e:on, s:on, v:L;S, m:sendonly;recvonly;sendrecv;inactive;confrnce;netwloop

Page 41: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

AuditConnection AuditConnection O Agente de Chamadas pode usar o O Agente de Chamadas pode usar o

comando AuditConnection para comando AuditConnection para examinar o status de uma conexão examinar o status de uma conexão associada a ele. associada a ele.

Page 42: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos AuditConnection AuditConnection

AUCX 2003 aaln/[email protected] MGCP 1.0I: 32F345E2F: C,N,L,M,,P

200 2003 OKC: A3C47F21456789F0N: [email protected]: p:10, a:PCMUM: sendrecvP: PS=395, OS=22850, PR=615, OR=30937, PL=7, JI=26,

LA=47

v=0o=- 4723891 7428910 IN IP4 128.96.63.25s=-c=IN IP4 128.96.63.25t=0 0m=audio 1296 RTP/AVP 0

Page 43: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

RestartInProgress RestartInProgress O gateway pode usar o comando O gateway pode usar o comando

RestartInProgress para notificar um RestartInProgress para notificar um Agente de Chamadas que um grupo de Agente de Chamadas que um grupo de endpoints gerenciados pelo gateway endpoints gerenciados pelo gateway estão saindo de serviço ou estão em estão saindo de serviço ou estão em reinicializando. reinicializando.

Page 44: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – ComandosMGCP – Comandos

RestartInProgress RestartInProgress RSIP 1200 aaln/[email protected] MGCP 1.0RM: gracefulRD: 300

200 1200 OK

Page 45: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCPMGCP--

Exemplo de Exemplo de usouso

Page 46: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Exemplo de usoMGCP – Exemplo de uso

Exemplo de troca de mensagens Exemplo de troca de mensagens entre dois Gateways Residências. entre dois Gateways Residências.

Page 47: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Exemplo de usoMGCP – Exemplo de uso

rgw1

REDE IP

rgw2

MGC/CA

usr1usr2

Page 48: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

MGCP – Exemplo de usoMGCP – Exemplo de uso

usr1 rgw1MGC/CA rgw2

usr2offhook

ntfy

ackrqnt

ack

dialtonedigits

ntfy

ackrqnt

ack

crcxrecvonly

ack

crcxsendrcv

ack

mdcxrecvonly

ack

rqntringback

ack

rqntringing

ack

offhook

ntfy

ackrqnt

ack

rqnt

ack

mdcxsendrcv

ack

Passo 1 – Notificação de evento fora de ganchoPasso 2 – Observar on-hook,digitmap e dialtonePasso 3 – Notificação de dígitos discadosPasso 4 – Pede notificação de transições on-hookPasso 5 – Cria uma conexão no modo recvonlyPasso 6 – Cria uma conexão no modo sendrecvPasso 7 – Modifica a conexão interligando as duasPasso 8 – Observa eventos de on-hook e manda tocarPasso 9 – Observa eventos de offhook e manda tocarPasso 10 – Notifica evento offhookPasso 11 – Observa eventos onhookPasso 12 – Observa eventos onhookPasso 13 – Modifica a o modo da conexão p/ sendrecvPodem conversar.

Page 49: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

Fim da Fim da Parte IParte I

--MGCPMGCPUfa! Ainda bem que acabou, todos vivos?!

Page 50: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

Parte IIParte II--

H.248 H.248 (Megaco)(Megaco)

Outra RFC?! Não!!!!!!!

Page 51: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

Parte II – H.248(Megaco)Parte II – H.248(Megaco)

ConceitoConceito HistóricoHistórico CaracterísticasCaracterísticas ComandosComandos ConclusõesConclusões BibliografiaBibliografia

Page 52: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248H.248--

DefiniçãoDefinição

Page 53: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - DefiniçãoH.248 - Definição

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

Page 54: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248H.248--

HistóricoHistórico

Page 55: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - HistóricoH.248 - Histórico

Resultado da união de esforços do Resultado da união de esforços do IETF(megaco) e do ITU-T Grupo de IETF(megaco) e do ITU-T Grupo de Estudo 16(H.248). Estudo 16(H.248).

RFC 3015 (Novembro 2000)RFC 3015 (Novembro 2000) draft-ietf-megaco-h248v2-04.txt draft-ietf-megaco-h248v2-04.txt

(Abril 2003)(Abril 2003) RFC 3525 (Junho 2003)RFC 3525 (Junho 2003)

Page 56: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248H.248--

CaracterísticaCaracterísticass

Page 57: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - CaracterísticasH.248 - Características

Principais elementosPrincipais elementos MG – Gateways de MídiaMG – Gateways de Mídia MGC – Controlador de Gateway de MGC – Controlador de Gateway de

MídiaMídia Modelo de ConexãoModelo de Conexão

TerminaçõesTerminações ContextosContextos

Page 58: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - CaracterísticasH.248 - Características TerminaçõesTerminações

Terminações representam streams entrando Terminações representam streams entrando ou saindo de um MG.(Ex: linhas telefônicas ou saindo de um MG.(Ex: linhas telefônicas analógicas, streams RTP, streams MP3)analógicas, streams RTP, streams MP3)

Contextos:Contextos: Um Contexto é uma associação entre um Um Contexto é uma associação entre um

número de Terminações. O Contexto número de Terminações. O Contexto descreve a topologia e a mixagem da mídia descreve a topologia e a mixagem da mídia e/ou troca de parâmetros se mais que duas e/ou troca de parâmetros se mais que duas Terminações estão envolvidas na Terminações estão envolvidas na associação.associação.

Page 59: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248H.248--

ComandosComandos

Page 60: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

O protocolo pode ser codificado tanto no O protocolo pode ser codificado tanto no formato binário quanto textual.formato binário quanto textual.

Comando entre o Media gateway Comando entre o Media gateway Controller e o Media gateway são Controller e o Media gateway são agrupadas em transações, cada qual agrupadas em transações, cada qual identificada por um TransationID.identificada por um TransationID.

Transações consistem de um ou mais Transações consistem de um ou mais ações. ações.

Uma ação consiste de uma série não vazia Uma ação consiste de uma série não vazia de comandos de comandos

Page 61: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Relacionamento entre Transação, Ação e Comando

Page 62: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos Transações garantem a ordem do Transações garantem a ordem do

processamento dos comandos. Ou seja, processamento dos comandos. Ou seja, comandos dentro de uma transação são comandos dentro de uma transação são executados sequencialmente.executados sequencialmente.

Ordenação das transações não é garantida, Ordenação das transações não é garantida, transações podem ser executadas em transações podem ser executadas em qualquer ordem, ou simultaneamente.qualquer ordem, ou simultaneamente.TransactionRequest(TransactionId {TransactionRequest(TransactionId {

ContextID {Command ... Command},ContextID {Command ... Command},. . .. . .ContextID {Command ... Command } })ContextID {Command ... Command } })

Page 63: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Mensagens:Mensagens: Múltiplas transações podem ser Múltiplas transações podem ser

concatenadas em uma mensagem.concatenadas em uma mensagem. Mensagens tem um cabeçalho, que Mensagens tem um cabeçalho, que

incluem a identidade de quem a envia. incluem a identidade de quem a envia. O identificador da Mensagem (MID) é O identificador da Mensagem (MID) é setado para um nome (setado para um nome (domain address/domain name/device name) da da entidade transmitindo a mensagem. entidade transmitindo a mensagem.

Page 64: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Na atual versão do H.248 ele possui 8 Na atual versão do H.248 ele possui 8 comandos existentes para o controle dos comandos existentes para o controle dos Gateways :Gateways :

1.1. AddAdd

2.2. ModifyModify

3.3. SubstractSubstract

4.4. MoveMove

5.5. AuditValueAuditValue

6.6. AuditCapabilitiesAuditCapabilities

7.7. NotifyNotify

8.8. ServiceChangeServiceChange

Page 65: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Descritores:Descritores: Os parâmetros para um comando são Os parâmetros para um comando são

chamados Descritores. Um Descritor chamados Descritores. Um Descritor consiste de um nome e uma lista de consiste de um nome e uma lista de items. Alguns itens podem ter valores. items. Alguns itens podem ter valores.

Muitos Comandos compartilham Muitos Comandos compartilham descritores comuns. descritores comuns.

Descritores podem ser retornados como Descritores podem ser retornados como saída de um comando saída de um comando

Page 66: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - ComandosNome 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.

Page 67: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - ComandosSignals 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.

Page 68: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Sintaxe:Sintaxe:MegacoMessage ::= SEQUENCE{

authHeader AuthenticationHeader OPTIONAL,mess Message

}

Page 69: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - ComandosMessage ::= SEQUENCE{

version INTEGER(0..99),-- The version of the protocol defined here is equal to 1.mId MId, -- Name/address of message originatormessageBody CHOICE

{messageError ErrorDescriptor,transactions SEQUENCE OF Transaction

},...

}

Page 70: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Transaction ::= CHOICE{

transactionRequest TransactionRequest,transactionPending TransactionPending,transactionReply TransactionReply,transactionResponseAck TransactionResponseAck,-- use of response acks is dependent on underlying transport...

}

Page 71: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

TransactionRequest ::= SEQUENCE{

transactionId TransactionId,actions SEQUENCE OF ActionRequest,...

}

Page 72: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

ActionRequest ::= SEQUENCE{

contextId ContextID,contextRequest ContextRequest OPTIONAL,contextAttrAuditReq ContextAttrAuditRequest OPTIONAL,commandRequests SEQUENCE OF CommandRequest

}

Page 73: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

CommandRequest ::= SEQUENCE{

command Command,optional NULL OPTIONAL,wildcardReturn NULL OPTIONAL,...

}

Page 74: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - ComandosCommand ::= CHOICE{

addReq AmmRequest,moveReq AmmRequest,modReq AmmRequest,-- Add, Move, Modify requests have the same parameterssubtractReq SubtractRequest,auditCapRequest AuditRequest,auditValueRequest AuditRequest,notifyReq NotifyRequest,serviceChangeReq ServiceChangeRequest,...

}

Page 75: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

AmmRequest ::= SEQUENCE{

terminationID TerminationIDList,descriptors SEQUENCE OF AmmDescriptor,-- At most one descriptor of each type (see AmmDescriptor)-- allowed in the sequence....

}

Page 76: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

AmmDescriptor ::= CHOICE{mediaDescriptor MediaDescriptor,modemDescriptor ModemDescriptor,muxDescriptor MuxDescriptor,eventsDescriptor EventsDescriptor,eventBufferDescriptor EventBufferDescriptor,signalsDescriptor SignalsDescriptor,digitMapDescriptor DigitMapDescriptor,auditDescriptor AuditDescriptor,...

}

Page 77: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 78: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos Add – exemplo:Add – exemplo:

MEGACO/1 [123.123.123.4]:55555 Transaction = 10003 {MEGACO/1 [123.123.123.4]:55555 Transaction = 10003 {Context = $ {Context = $ {

Add = A4444,Add = A4444,Add = $ {Add = $ {

Media {Media {Stream = 1 {Stream = 1 {

LocalControl {LocalControl {Mode = Mode =

ReceiveOnly,nt/jit=40 ; in msReceiveOnly,nt/jit=40 ; in ms},},Local { Local {

v=0 c=IN IP4 v=0 c=IN IP4 $ m=audio $ RTP/AVP 4$ m=audio $ RTP/AVP 4

a=ptime:30 a=ptime:30 v=0 c=IN IP4 $ m=audio $ RTP/AVP 0v=0 c=IN IP4 $ m=audio $ RTP/AVP 0

}}}}

}}}}

} } }}

Page 79: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 80: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos Modify – exemploModify – exemplo

MEGACO/1 [123.123.123.4]: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)}

}}

}

Page 81: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 82: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos Substract – exemploSubstract – exemplo

MEGACO/1 [123.123.123.4]:55555 Transaction = 50009 {Context = 5000 {

Subtract = A5555 {Audit{

Statistics}

},Subtract = A5556 {

Audit{Statistics

}}

} }

Page 83: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 84: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 85: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos AuditValue – exemploAuditValue – exemplo

MEGACO/1 [123.123.123.4]:55555 Transaction = 50007 {Context = - {

AuditValue = A5556{Audit{

Media, DigitMap, Events, Signals, Packages, Statistics

}}

} }

Page 86: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 87: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 88: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

Notify – exemploNotify – exemploMEGACO/1 [124.124.124.222]:55555 Transaction= 10000

{Context = - {

Notify = A4444 {ObservedEvents =2222 {

19990729T22000000:al/of(init=false)

}}

} }

Page 89: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos

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

Page 90: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

H.248 - ComandosH.248 - Comandos ServiceChange – exemploServiceChange – exemplo

MEGACO/1 [124.124.124.222] Transaction = 9998 {MEGACO/1 [124.124.124.222] Transaction = 9998 {Context = - {Context = - {

ServiceChange = ROOT {ServiceChange = ROOT {Services {Services {

Method=Restart,Method=Restart,

ServiceChangeAddress=55555,ServiceChangeAddress=55555,Profile=ResGW/1Profile=ResGW/1

}}}}

} } }}

Page 91: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

Fim da Fim da Parte IIParte II

--H.248H.248

Tá bem pertinho, perseverança acima de tudo!

Page 92: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

ConclusõesConclusões

Protocolos com mesmos objetivosProtocolos com mesmos objetivos MEGACO originado do MGCPMEGACO originado do MGCP MGCP atualmente mais utilizadoMGCP atualmente mais utilizado MGCP mais simples e mais rápido.MGCP mais simples e mais rápido. MEGACO é o futuro.MEGACO é o futuro. Megaco adiciona novos conceitos Megaco adiciona novos conceitos

que provêm mecanismos poderosos que provêm mecanismos poderosos para serviço suplementares.para serviço suplementares.

Page 93: MGCP & H.248(Megaco) Arquiteturas Multimídias Aquiles Burlamaqui

BibliografiaBibliografia [HERSENT02][HERSENT02]

Telefonia IP Comunicação baseada em Telefonia IP Comunicação baseada em pacotes,Addison Wesley,2002.pacotes,Addison Wesley,2002.

[MGCP] [MGCP] http://www.javvin.com/protocolMGCP.htmlhttp://www.javvin.com/protocolMGCP.html

[Megaco] [Megaco] http://www.javvin.com/protocolMegaco.htmhttp://www.javvin.com/protocolMegaco.htmll

[RFC3435] [RFC3435] RFC 3435, MGCP is defined by RFC 3435, MGCP is defined by IETF (IETF (www.ietf.orgwww.ietf.org ) and ITU-T. ) and ITU-T.

[RFC3525] [RFC3525] RFC 3525, Megaco/H.248 is RFC 3525, Megaco/H.248 is defined by IETF (defined by IETF (www.ietf.orgwww.ietf.org ) and ITU-T. ) and ITU-T.