05.01 Media Gateway Control Redes de Serviços e Comunicações Multimédia RSCM/ISEL-DEETC-SRC/2004 1
Funções de um Gateway Conversão da sinalização Depende da sinalização utilizada Linguagem utilizada para o controlo das chamadas Conversão do fluxo multimédia Função secundária Permite a manipulação do fluxo multimédia de acordo com a sinalização utilizada R e d e s Sinalização e Controlo de Chamadas Sinalização sobre IP Sinalização e Controlo de Chamadas R e d e s E x t e r n a s Controlo e Estado Conversão dos dados multimédia Dados Multimédia sobre IP Controlo e Estado Conversão dos dados multimédia E x t e r n a s RSCM/ISEL-DEETC-SRC/2004 2
Separação do controlo das chamadas e do fluxo multimédia Os protocolos VoIP já separam o controlo de chamadas do fluxo multimédia de forma lógica Pode ser criada uma separação física facilmente Podem ser colocados equipamentos para a conversão dos dados multimédia perto dos utilizadores e de controlo de chamadas no centro da rede Podem existir um conjunto de equipamentos no centro da rede que controlem os gateways todos Se existir uma centralização do controlo das chamadas é maior a facilidade com que se implementa funcionalidades novas É necessário um protocolo entre o media gateway controller e o call agent e o media gateway Mediga Gateway Control Protocol (MGCP) MEGACO/H.248 RSCM/ISEL-DEETC-SRC/2004 3
Softswitch Architecture SIP + MGCP ou MEGACO/H.248 Softswitch Implementa funções de comutação em software International Softswitch Consortium organização que promove o uso de arquitecturas de comutação por software MGCP Desenvolvido pelo IETF MEGACO/H.248 Desenvolvido pelo IETF e ITU-T (MEGACO para o IETF, H.248 para o ITU-T) MEGACO é considerado o futuro do MGCP RSCM/ISEL-DEETC-SRC/2004 4
Necessidades para o controlo de Gateways multimédia O RFC 2805 define as necessidades para um sistema de gateways distribuído Deve permitir: Criar, modificar e cancelar fluxos multimédia no MG A especificação das transformações aplicadas aos fluxos multimédia no MG A interacção entre o MG e o MGC relativa à ocorrência de determinados eventos (DTMF) Que um MGC peça a uma MG que aplique tons ou avisos dial tone O estabelecimento de fluxos multimédia de acordo com requisitos de QoS e respectivas estatísticas de qualidade Transporte de informação de billing A gestão de múltiplos MGCs Uma arquitectura flexível onde possam ser geridos múltiplos MCs com diferentes capacidades A actualização de forma independente de MGs e MGCs RSCM/ISEL-DEETC-SRC/2004 5
Protocolos para controlo de gateways multimédia MGCP (RFC 2705) RFC informativo, define uma especificação para o protocolo MEGACO/H.248 (RFC 2885) Revisto no RFC 2886 Actualizado com o RFC 3015 MEGACO v1 Está em preparação o MEGACO v2 Apesar do MEGACO ser o futuro, muitos fabricantes continuam a implementar o MGCP RSCM/ISEL-DEETC-SRC/2004 6
MGCP Protocolo master-slave Os call agents controlam a operação dos MGs O call agent é responsável pelo controlo de chamadas O MG limita-se a estabelecer uma ligação a partir de uma linha da PSTN para um porto RTP do lado da rede IP O MGCP define apenas a comunicação entre call agents e MGs não define a comunicação entre call agents Assume a existência de um protocolo de sinalização normalmente SIP RSCM/ISEL-DEETC-SRC/2004 7
Modelo MGCP Define endpoints e ligações Endpoints São fontes ou destinos de dados multimédia Inclui elementos como linhas telefónicas ou trunks Existem nos MGs Ligações Atribuição de recursos IP a um endpoint Um único endpoint pode ter múltiplas ligações RSCM/ISEL-DEETC-SRC/2004 8
Endpoints MGCP DS0 Canal digital a 64Kbps, multiplexado em ligações de maior capacidade (E1, DS1) pode transportar voz (G.711) ou sinalização (ISDN) Linha analógica Liga um telefone analógico Announcement Server Fornece acesso a um anúncio, normalmente one-way Interactive Voice Response (IVR) Acesso a um sistema de IVR Conference Bridge Faz a mistura de fluxos de múltiplos utilizadores Packet Relay Conference Bridge que suporta apenas duas ligações utilizado quando existem firewalls Wiretap Ponto onde uma ligação é feita a outro endpoint para escutar os dados enviados e recebidos pelo outro endpoint ATM trunk terminação de uma ligação ATM, para interfuncionamento com Voz sobre ATM RSCM/ISEL-DEETC-SRC/2004 9
Identificação dos endpoints Cada endpoint tem um identificador único Formato X/Y/Z Wildcards $ - um qualquer * - todos Exemplo: trunk1/5/7@gw.net.ipl.pt Identifica o DSO número 7 dentro do DS1 número 5 no DS3 número 1 no gateway gw.net.ipl.pt RSCM/ISEL-DEETC-SRC/2004 10
Ligações e chamadas MGCP Ligação Relação estabelecida entre um endpoint e uma sessão RTP Chamada Grupo de ligações de forma a que os endpoints associados a essas ligações possam enviar e receber dados multimédia entre eles. Ligação Recursos IP Endpoint Gateway Dados Multimédia sobre IP Endpoint Gateway Chamada RSCM/ISEL-DEETC-SRC/2004 11
Formado dos comandos MGCP Linha com o comando NomeComando ID_Transacção ID_Endpoint Versão (MGCP 1.0) Várias linhas com parâmetros Descritor SDP opcional Separado por uma linha vazia Encapsulamento de comandos Um comando pode ir junto com outro RSCM/ISEL-DEETC-SRC/2004 12
Comandos MGCP EndpointConfiguration (EPCF) Enviado por um call agent a um gateway para o informar sobre as capacidades no lado da linha de um ou mais endpoints CreateConnection (CRCX) Enviado por um call agent a um gateway, usado para criar uma ligação num determinado endpoint ModifyConnection (MDCX) Enviado por um call agent a um gateway e usado para alterar as características de uma ligação já existente DeleteConnection (DLCX) Enviado por um call agent a um gateway ou vice-versa, para indicar que este deve terminar a ligação ou que a ligação terminou RSCM/ISEL-DEETC-SRC/2004 13
Comandos MGCP NotificationRequest (RQNT) Enviado por um call agent a um gateway para pedir a este que notifique o call agent quando certos eventos ocorrem Notify (NTFY) Enviado por um gateway a um call agent para notificar a ocorrência de determinados eventos AuditEndpoint (AUEP) Enviado por um call agent a um gateway para saber o estado de um determinado endpoint AuditConnection (AUCX) Enviado por um call agent a um gateway para obter informação sobre uma determinada ligação RestartInProgress (RSIP) - Enviado por um gateway a um call agent para informar este que um ou mais endpoints estão ou não em serviço RSCM/ISEL-DEETC-SRC/2004 14
Parâmetros MGCP (1) BearInformation (B) Codificação utilizada no lado da linha B:e:mu codificação ulaw CallId (C) Identificador de uma chamada Conjunto de caracteres hexadecimais Capabilities (A) Resposta a um audit Usado para indicar as capacidades de um endpoint ConnectionId (I) Identificador de uma ligação num endpoint Conjunto de caracteres hexadecimais ConnectionMode (M) Só enviar, só receber ou enviar-receber RSCM/ISEL-DEETC-SRC/2004 15
Parâmetros MGCP (2) ConnectionParameters (P) Informação estatística relacionada com a ligação Latência média, jitter, pacotes enviados/recebidos/perdidos GW -> CA DetectEvents (T) Que um endpoint deve detectar Ex., off-hook, on-hook, hook-flash, dígitos DTMF DigiMap (D) Representação de um dialplan Enviado num RQNT EventStates (ES) Usado em resposta a um audit Lista de eventos e seus estados LocalConnectionDescriptor (LC) Um descritor SDP RSCM/ISEL-DEETC-SRC/2004 16
Parâmetros MGCP (3) LocalConnectionOptions (L) Largura de banda, períodos de criação de pacotes, supressão de silêncio, controlo de ganho, cancelamento de eco L: e:off, s:on Desligar o cancelamento de eco e ligar a supressão de silêncio MaxMGCPDatagram (MD) Indica o tamanho máximo de pacote MGCP suportado por um MG Incluido na resposta a um comando AUEP NotifiedEntity (N) Endereço do CA ObservedEvents (O) Lista de eventos detectados por um endpoint PackageList (PL) Suportados por um endpoint Eventos e sinais estão agrupados em pacotes RSCM/ISEL-DEETC-SRC/2004 17
Parâmetros MGCP (4) QuarantineHandling (Q) Indica como um endpoint deve processar eventos que ocorrem durante o periodo em que o GW está a espera da resposta a um Notify Processar os eventos ou ignorá-los ReasonCode (E) Quando um gateway apaga uma ligação ou após o reinicio de um endpoint RemoteConnectionDescriptor (RC) Descritor de sessão SDP RequestedEvents (R) Lista de eventos que o endpoint está atento Cada evento pode ter uma acção associada RequestInfo (F) Informação que vai ser fornecida por um gateway a um CA em resposta a um audit Valores dos RequestedEvents, DigitMap, NotifiedEntity RSCM/ISEL-DEETC-SRC/2004 18
Parâmetros MGCP (5) RequestIdentifier (X) Usado no RQNT e NTFY para indicar um determinado pedido de informação ResponseAck (K) Uma lista de um ou mais identificadores de transacções RestartDelay (RD) Número de segundos indicando quando um determinado endpoint volta a estar em serviço RestartMethod (RM) Elegante (as ligações não são terminadas) ou forçado (as ligações são terminadas) SecondConectionID (I2) ID da ligação num segundo endpoint SecondEndpointID (Z2) Indica um segundo endpoint no mesmo gateway SignalRequests (S) Sinais (ring tone, dial tone) a serem aplicados por um endpoint num fluxo multimédia SpecificEndpointID (Z) Usado para indicar um único endpoint RSCM/ISEL-DEETC-SRC/2004 19
Respostas MGCP Cada comando retorna uma resposta Cabeçalho Uma linha com a resposta Código + TransactionID + Comentário/Razão Conjunto de parâmetros (opcional) Ex.: I: A783F35BF012D3C1 (ConnectionID) Descritor da sessão SDP Separado do cabeçalho por uma linha em branco RSCM/ISEL-DEETC-SRC/2004 20
Establecimento de Chamadas RSCM/ISEL-DEETC-SRC/2004 21
Establecimento de Chamadas (Detalhado) MG B Call Agent MG A CRCX 11 E1@MGA MGCP 1.0 C: 1234567 M: recvonly CRCX 22 E2@MGB MGCP 1.0 C: 1234567 M: sendrecv 200 22 OK I: BBBB M: recvonly v=0 c=in IP4 123.45.3.5 m=audio 8000 RTP/AVP 0 v=0 c=in IP4 234.2.43.5 m=audio 8000 RTP/AVP 0 200 11 OK I: AAAA v=0 c=in IP4 123.45.3.5 m=audio 8000 RTP/AVP 0 MDCX 12 E1@MGA MGCP 1.0 I: AAAA M: sendrecv v=0 c=in IP4 234.2.43.5 m=audio 8000 RTP/AVP 0 Fluxo Multimédia 200 12 OK I: AAAA RSCM/ISEL-DEETC-SRC/2004 22
Packages Agrupar eventos e sinais em pacotes Generic Media (G) DTMF (D) Trunk GW (ISUP) MF (M) Trunk GW (MF) Trunk (T) Line (L) Handset (H) Residential GW RTP (R) Network Access Server (N) Announcement Server (A) Gateway Network Access Server Combined NAS/VOIP GW Access GW (VOIP) Access GW (VOIP + NAS) Announcement GW Pacotes Suportados G, D, T, R G, M, D, T, R G, M, T, N G, M, D, T, N, R G, M, D, R G, M, D, N, R G, D, L, R A, R RSCM/ISEL-DEETC-SRC/2004 23
Digit Map Um CA pede a um GW para recolher os números marcados por um utilizador Uso Criado pelo CA Os gateways detectam um conjunto de dígitos Ex., (11x 800xxxxxx 9xxxxxxxx 2xxxxxxxx) Compara os dígitos acumulados RSCM/ISEL-DEETC-SRC/2004 24
Internetworking MGCP SIP MG B Call Agent Call Agent MG A CRCX 22 E2@MGB MGCP 1.0 C: 1234567 M: sendrecv 200 22 OK I: BBBB M: recvonly v=0 c=in IP4 123.45.3.5 m=audio 8000 RTP/AVP 0 v=0 c=in IP4 234.2.43.5 m=audio 8000 RTP/AVP 0 INVITE v=0 c=in IP4 123.45.3.5 m=audio 8000 RTP/AVP 0 SIP/2.0 200 OK v=0 c=in IP4 234.2.43.5 m=audio 8000 RTP/AVP 0 CRCX 11 E1@MGA MGCP 1.0 C: 1234567 M: recvonly 200 11 OK I: AAAA v=0 c=in IP4 123.45.3.5 m=audio 8000 RTP/AVP 0 MDCX 12 E1@MGA MGCP 1.0 I: AAAA M: sendrecv v=0 c=in IP4 234.2.43.5 m=audio 8000 RTP/AVP 0 ACK Fluxo Multimédia 200 12 OK I: AAAA RSCM/ISEL-DEETC-SRC/2004 25
MEGACO/H.248 MEGACO no IETF H.248 no ITU-T Semelhante ao MGCP na arquitectura Texto ou binário MGCP MEGACO 1 2 Endpoint Ligação (Connection) Terminação (Termination) Contexto (Context) 3 Call Agent (CA) Media Gateway Controller (MGC) RSCM/ISEL-DEETC-SRC/2004 26
Modelo MEGACO Terminações Entidade lógica num MG Que origina/termina fluxos multimédia/controlo TerminationID Uma string arbitrária atribuída pelo MG Dois tipos de terminação Interface física Fluxo RTP Root Termination O MG RSCM/ISEL-DEETC-SRC/2004 27
Modelo MEGACO Contextos Uma associação entre um conjunto de terminações (dentro de um gateway) Context ID Inteiro a 32 bits escolhido pelo MG * : ALL ; - : NULL ; $ : Um qualquer Null Context Contem todas as terminações que não associadas com outras terminações Fluxo multimédia Topologia de um contexto Descreve o fluxo multimédia entre terminações dentro de um contexto Modo de terminação Descreve o fluxo multimédia à entrada ou saída do MG Media Gateway Contexto C1 Terminação T1 Fluxo RTP Contexto C2 Terminação T3 Fluxo RTP Contexto C3 Terminação T6 Fluxo RTP Contexto C4 Terminação T8 Analógica Transição de chamada em espera Terminação T2 DS0 Terminação T4 DS0 Terminação T5 DS0 Terminação T7 Analógica RSCM/ISEL-DEETC-SRC/2004 28
Modelo MEGACO Transacções e Mensagens Transacção Múltiplas mensagens podem ser agrupadas Comandos são executados em sequência Se um comando falha os seguintes não são processados Não é o caso para comandos opcionais Mensagens Agregam múltiplas transacções Cada transacção é tratada de forma independente RSCM/ISEL-DEETC-SRC/2004 29
Comandos MEGACO MEGACO Add Modify Subtract Move AuditValue MGCP CreateConnection ModifyConnection DeleteConnection CreateConnection + DeleteConnection AuditEndpoint AuditCapabilities Notify ServiceChange Notify RestartInProgress RSCM/ISEL-DEETC-SRC/2004 30
Comandos MEGACO Add Adiciona uma terminação a um contexto Modify Altera as propriedades de uma terminação Subtract Remove a terminação de um contexto A resposta fornece estatísticas Move De um contexto para outro Não pode mover para o null AuditValue Obter os valores de propriedades, eventos e sinais AuditCapabilities Obter os valores possíveis de propriedades, eventos e sinais Notify Informar o MGC de eventos que ocorreram Contém um RequestID ServiceChange Informar o MGC que um conjunto de terminações vai ficar fora de serviço RSCM/ISEL-DEETC-SRC/2004 31
Descritores MEGACO Formam os parâmetros utilizados nos comandos e/ou respostas Fornecem informação adicional para qualificar um dado comando/resposta Obrigatório Proibido Opcional RSCM/ISEL-DEETC-SRC/2004 32
Descritores MEGACO Modem Descriptor Descreve o tipo de modem e parâmetros associados para serem usados em ligações para áudio, vídeo ou dados Não é utilizado nas versões mais recentes do MEGACO Multiplex Descriptor Especifica as associações entre fluxos multimédia e canais RSCM/ISEL-DEETC-SRC/2004 33
Descritores MEGACO Media Descriptor Descreve os vários fluxos multimédia Descritor hierárquico Media Descriptor Termination State Descriptor Stream Descriptor Local Control Descriptor Local Descriptor Remote Descriptor RSCM/ISEL-DEETC-SRC/2004 34
Descritores MEGACO Media Descriptor Termination State Descriptor Tem as seguintes propriedades: ServiceStates Test, outofserviceou in service EventBufferControl Off A terminação reporta eventos detectados imediatamente Lockstep Os eventos são memorizados num FIFO Examinados quando recebe um Events Descriptor Stream Descriptor Tem um LocalControlDescriptor, LocalDescriptor, RemoteDescriptor e StreamID Um fluxo é criado especificando um novo StreamID numa terminação dentro de um contexto Dentro de um contexto StreamIDs iguais estão ligados Um fluxo é apagado quando os descritores locais e remotos são colocados a vazio e quando os valores do ReserveGroup e ReserveValue (dentro do LocalControlDescriptor) são colocados a falso RSCM/ISEL-DEETC-SRC/2004 35
Descritores MEGACO Media Descriptor Local Control Descriptor Tem as seguintes propriedades: Mode - sendonly, receiveonly, sendreceive, inactive e loopback ReserveGroup e ReserveValue indicam os recursos a serem reservados Local Descriptor e Remote Descriptor Contêm zero ou mais descritores SDP Permite indicar alternativas implica alterações ao SDP RSCM/ISEL-DEETC-SRC/2004 36
Descritores MEGACO Events Descriptor RequestIdentifier e uma lista de eventos que o MG deve detectar e reportar Off-hook, fax tone, etc. É afectado pelo valor da propriedade EventControlBuffer Signals Descriptor Lista de sinais que uma terminação deve aplicar Aplicados a uma ou a todos os fluxos de uma terminação Tipos de sinais: On/Off O sinal fica activo até desligado explicitamente Timeout O sinal fica activo durante um período Brief O sinal fica activo durante um limite de tempo bastante pequeno RSCM/ISEL-DEETC-SRC/2004 37
Descritores MEGACO Audit Descriptor Lista de informação para ser retornada de um MG a um MGC Lista de outros descritores que devem ser retornados na resposta ServiceChange Descriptor Usado em associação com o comando ServiceChange Tipo de mudança ServiceChangeMethod Graceful remoção de terminações sem interromper as ligações Forced remoção abrupta Restart após um atraso Disconnected aplicado ao MG Handoff do MGC antigo para um novo MGC Failover de um MG para o MGC ServiceChangeDelay um número de segundos SericeChangeReason (Warm boot, Capability Change, etc.) Um novo endereço RSCM/ISEL-DEETC-SRC/2004 38
Descritores MEGACO DigitMap Descritor Um dial plan Uma string ou uma lista de strings [0-9] e [A-K] x: Um wildcard.: Zero ou mais repetições do dígito anterior Um start timer, para começar a coleccionar dígitos Um short timer, quando mais dígitos são necessários Um long timer, para diferenciar encaminhamento (0 00 [1-7]xxx 800xxxxx 2xxxxxxxx 9xxxxxxxx 1xx.) RSCM/ISEL-DEETC-SRC/2004 39
Descritores MEGACO Statistics Descriptor Informação estatística acerca de uma terminação Na resposta a um comando Subtract Na resposta a um comando AuditValue Observed Events Descriptor Obrigatório no comando Notify RequestIdentifier Timestamp opcional para cada evento Para a resposta a um comando ServiceChange Na resposta a um comando AuditValue Os eventos ficam guardados no event buffer RSCM/ISEL-DEETC-SRC/2004 40
Descritores MEGACO Error Descriptor Retornado na resposta a uma transacção quando um comando não pôde ser executado Topology Descriptor Relevante a um contexto Como funcionam os fluxos multimédia dentro de um contexto Por defeito todas as terminações num contexto podem enviar e receber dados multimédia Topologias: Isolate, oneway e bothway Útil para implementar serviços como por exemplo chamadas em espera RSCM/ISEL-DEETC-SRC/2004 41
Descritores MEGACO Transaction Acção 1 para UM Contexto Topology Descriptor Contexto 1 Contexto 2 Contexto 3 T2 T2 T2 Comando 1 Comando 2 T1 T3 T1 T3 T1 T3 Descriptors Descriptors 1. Sem descritor 2. T1, T2 isolate 3. T3, T2 oneway Contexto 4 Contexto 5 Contexto 6 Acção N para Outro Contexto T2 T2 T2 Comando 1 Comando 2 Descriptors Descriptors T1 T3 T1 T3 T1 T3 4. T2, T3 oneway 5. T2, T3 bothway 6. T1, T2 bothway RSCM/ISEL-DEETC-SRC/2004 42
Pacotes Packages Descriptor Grupos de propriedades, sinais, eventos e estatísticas Para diferentes tipos de terminações Cada item é definido e é-lhe atribuído um identificador Tone Detection Package, DTMF Generator Package, Analog Line Supervision Package, Package Descriptor Fornece o MGC com uma lista dos pacotes implementados numa terminação RSCM/ISEL-DEETC-SRC/2004 43
MEGACO Comandos Os comandos são aplicados a terminações num determinado contexto MEGACO/1 [111.111.222.222]:3456 Transaction = 12345 { Context = - { Modify = * { Events = 7777 {al/of}, DigitMap = Map1 { (0 00 [1-7]xxx 800xxxxx 2xxxxxxxx 9xxxxxxxx 1xx.)} } } } RSCM/ISEL-DEETC-SRC/2004 44
MEGACO Resposta MEGACO/1 {111.111.333.333]:5678 Reply = 12345 { context = - { Modify = * } } Reply = 12345 { context = - { Modify = * { Error = 500 {Internal Gateway Error} }}} RSCM/ISEL-DEETC-SRC/2004 45
Establecimento de Chamadas RSCM/ISEL-DEETC-SRC/2004 46