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/[email protected]
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
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/[email protected]
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/[email protected] MGCP 1.0N: [email protected]: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/[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
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/[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
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/[email protected] MGCP 1.0C: A3C47F21456789F0I: FDE234C8N: [email protected]: 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/[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
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/[email protected]: aaln/[email protected]
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
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/[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
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/[email protected] 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.
Top Related