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

Post on 21-Apr-2015

128 views 0 download

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

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

Arquiteturas MultimídiasArquiteturas 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 )

Parte IParte I--

MGCPMGCPA primeira RFC a gente nunca esquece.

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

MGCPMGCP--

DefiniçãoDefinição

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)

MGCP - DefiniçãoMGCP - Definição

MGC

GW

REDE IP

MGCP

Call Agent

Endpoints

MGCPMGCP--

HistóricoHistórico

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)

MGCPMGCP--

Tipos de Tipos de GatewaysGateways

MGCP – Tipos de MGCP – Tipos de GatewaysGateways

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

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.

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.

MGCPMGCP--

CaracterísticaCaracterísticass

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

MGCP – CaracterísticasMGCP – Características

Fonte: teleco – tutorial VoIP

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 ).

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.

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..

MGCPMGCP--

ComandosComandos

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

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

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/1@rgw-2567.whatever.net

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: ca@ca1.whatever.net:5678

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

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/1@rgw-2567.whatever.net

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.

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.

MGCP – ComandosMGCP – Comandos

NotificationRequest - ExemploNotificationRequest - Exemplo

RQNT 1201 aaln/1@rgw-2567.whatever.net MGCP 1.0N: ca@ca1.whatever.net:5678X: 0123456789ACR: l/hd(N)S: l/rg

200 1201 OK

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.

MGCP – ComandosMGCP – Comandos

Notify - exemploNotify - exemplo

NTFY 2002 aaln/1@rgw-2567.whatever.net MGCP 1.0N: ca@ca1.whatever.net: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

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.

MGCP – ComandosMGCP – Comandos CreateConnection – exemploCreateConnection – exemplo

CRCX 1204 aaln/1@rgw-2567.whatever.net 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

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.

MGCP – ComandosMGCP – Comandos

ModifyConnection – exemploModifyConnection – exemplo

MDCX 1209 aaln/1@rgw-2567.whatever.net MGCP 1.0C: A3C47F21456789F0I: FDE234C8N: ca@ca1.whatever.netM: sendrecv

200 1209 OK

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.

MGCP – ComandosMGCP – Comandos

DeleteConnectionDeleteConnection

DLCX 1210 aaln/1@rgw-2567.whatever.net 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

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.

MGCP – ComandosMGCP – Comandos

AuditEndpoint AuditEndpoint

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

200 1200 OKZ: aaln/1@rgw-2567.whatever.netZ: aaln/2@rgw-2567.whatever.net

MGCP – ComandosMGCP – Comandos

AuditEndpoint AuditEndpoint

AUEP 1201 aaln/1@rgw-2567.whatever.net 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

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.

MGCP – ComandosMGCP – Comandos AuditConnection AuditConnection

AUCX 2003 aaln/1@rgw-2567.whatever.net MGCP 1.0I: 32F345E2F: C,N,L,M,,P

200 2003 OKC: A3C47F21456789F0N: ca@ca1.whatever.netL: 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

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.

MGCP – ComandosMGCP – Comandos

RestartInProgress RestartInProgress RSIP 1200 aaln/1@rgw-2567.whatever.net MGCP 1.0RM: gracefulRD: 300

200 1200 OK

MGCPMGCP--

Exemplo de Exemplo de usouso

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.

MGCP – Exemplo de usoMGCP – Exemplo de uso

rgw1

REDE IP

rgw2

MGC/CA

usr1usr2

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.

Fim da Fim da Parte IParte I

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

Parte IIParte II--

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

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

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

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

H.248H.248--

DefiniçãoDefinição

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

H.248H.248--

HistóricoHistórico

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)

H.248H.248--

CaracterísticaCaracterísticass

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

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.

H.248H.248--

ComandosComandos

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

H.248 - ComandosH.248 - Comandos

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

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 } })

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.

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

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

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.

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.

H.248 - ComandosH.248 - Comandos

Sintaxe:Sintaxe:MegacoMessage ::= SEQUENCE{

authHeader AuthenticationHeader OPTIONAL,mess Message

}

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

},...

}

H.248 - ComandosH.248 - Comandos

Transaction ::= CHOICE{

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

}

H.248 - ComandosH.248 - Comandos

TransactionRequest ::= SEQUENCE{

transactionId TransactionId,actions SEQUENCE OF ActionRequest,...

}

H.248 - ComandosH.248 - Comandos

ActionRequest ::= SEQUENCE{

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

}

H.248 - ComandosH.248 - Comandos

CommandRequest ::= SEQUENCE{

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

}

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,...

}

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....

}

H.248 - ComandosH.248 - Comandos

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

}

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.

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

}}}}

}}}}

} } }}

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.

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)}

}}

}

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.

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

}}

} }

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.

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.

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

}}

} }

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).

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.

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)

}}

} }

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.

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

}}}}

} } }}

Fim da Fim da Parte IIParte II

--H.248H.248

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

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.

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.