Módulo de Comutação de Alta Disponibilidade

Interface de programação de aplicativos fácil de usar

SECDATA

»

API

As comunicações da API HAsm ocorrem em texto simples (opcionalmente criptografado), e a conexão pode existir em uma variedade de mídias, incluindo TCP/IP, serial (RS-232 ou RS-485), CAN bus e muito mais. As mensagens são compostas por pares chave-valor, com cada mensagem composta por dois ou mais pares chave-valor seguidos por uma linha em branco. Cada mensagem deve conter um identificador exclusivo, um tipo de mensagem e parâmetros apropriados para o tipo. Três tipos de mensagens são de suporte:
  • Comando: Uma solicitação de um lado para o outro. A solicitação instrui o outro lado a tomar alguma ação ou fornecer informações.
  • Resposta: Cada comando deve ser seguido por uma resposta. No mínimo, ele reconhece o comando, mas também pode conter resultados de dados do comando. Se uma resposta não for recebida do outro lado em um período de tempo predeterminado, a API do cliente retornará uma resposta de tempo limite para o cliente local.
  • Notificação: um aviso de um lado para o outro de que um estado foi alterado e o evento ocorreu, ou algum sinal foi recebido.
HAs
Os aplicativos do cliente podem se comunicar com HAsm tão facilmente quanto ler/gravar um arquivo (usando a interface de soquete de domínio) ou ler/gravar em uma porta TCP (usando a interface TCP/IP). O cliente pode usar qualquer linguagem de desenvolvimento (por exemplo: C, Python, JavaScript, C++, Perl, etc.) para se comunicar com a API HAsm. O Telium também oferece um cliente de API de cliente pré-compilado (arquivo .so ou .a do Linux ou .dll do Windows) que lida com todos os aspectos das comunicações. A API do cliente pré-compilada é necessária se estiver usando criptografia de API, mas também pode acelerar o desenvolvimento do produto.

Exemplo de resposta de comando

A imagem à direita contém duas mensagens, um comando e sua resposta associada. Cada mensagem é composta por pares chave-valor em formato de texto plano, seguidos por uma linha em branco para indicar o final da mensagem. O comando de exemplo instrui o outro lado (neste caso, HAsm) a desconectar uma chamada em andamento. O parâmetro obrigatório é o ID da chamada (que pode ter sido recebido anteriormente por meio de um comando/resposta ou uma notificação).

Abaixo do comando está a mensagem de resposta associada. Observe que a mensagem de resposta contém a mesma ID que o comando, permitindo que o cliente reconcilie respostas com comandos. Como muitos comandos podem ser enviados sequencialmente, não há uma ordem garantida de respostas, então os ID’s devem ser considerados. Neste caso, a resposta indica sucesso (código de resultado 0) com mais detalhes disponíveis no próximo parâmetro (mensagem de resultado).
Esses comandos e respostas são apenas exemplos e podem não existir em todas as implantações do cliente. O Telium incluirá apenas os comandos/respostas necessários para fornecer a funcionalidade especificada pelo cliente. Todos os comandos/respostas supérfluos são removidos.
API Message Command Response

Exemplo de notificação

A imagem à direita contém duas mensagens, ambas notificações. As mensagens são compostas por pares chave-valor em formato de texto plano, seguidos por uma linha em branco para indicar o final da mensagem. O primeiro exemplo notifica o outro lado (neste caso, o aplicativo do cliente) que um agente do usuário se registrou. Os parâmetros obrigatórios são o aviso (que tipo de notificação é essa), o agente do usuário identificado, a cadeia de caracteres do agente do usuário e a cadeia de caracteres de contato para o UA. Neste exemplo, esses são os campos exigidos pelo cliente (mas muitos outros campos informativos estão disponíveis). A segunda mensagem notifica o outro lado (novamente o aplicativo do cliente) de que o nó local está sendo promovido para ativo, pois perdeu contato com seu par. Os parâmetros obrigatórios são o código de motivo (129) e a mensagem de motivo.

Essas notificações são apenas exemplos e podem não existir em todas as implantações do cliente. A Telium incluirá apenas as notificações necessárias para fornecer a funcionalidade especificada pelo cliente. Todas as notificações e campos supérfluos são removidos.
API Notification Message