Protocolo CTI uTech/CMD LOGIN

De uTech Tecnologia
Edição feita às 11h06min de 18 de agosto de 2017 por Cassol (disc | contribs)

(dif) ← Versão anterior | ver versão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

Tabela de conteúdo


O LOGIN é um comando enviado pela Aplicação CTI para autenticar-se no Servidor CTI. Esse comando DEVE ser o primeiro enviado pela aplicação. Caso a aplicação não realize o login corretamente, não receberá eventos e não poderá enviar comandos.

Parâmetros

Parâmetros enviados para o Servidor
USER Login do usuário / Ramal.
PASSWORD Senha do usuário.
EXTERNAL Define se o usuário está LOCAL ou REMOTO.
  • FALSE: Usuário local. Chamadas serão geradas e recebidas pelo ramal cadastra no login CTI.
  • TRUE: Usuário remoto. Todas as chamadas serão realizadas e recebidas no numero externo configurado no login CTI. O numero externo pode ser um celular, numero fixo, etc...

Comando

LOGIN USER:2001 PASSWORD:1234\r\n\r\n

Fluxo

APP CTI > SERVIDOR CTI
LOGIN USER:2001 PASSWORD:1234\r\n\r\n
SERVIDOR CTI > APP CTI
LOGIN PERMISSIONS:1 RESP:OK\r\n\r\n Login correto
LOGIN RESP:ERROR\r\n\r\n Login incorreto

Permissões

O parâmetro PERMISSIONS é uma mascara de bits (bitmask), onde é definida as permissões do usuário CTI. As permissões são definidas ao criar/editar um usuário CTI.

BITMASK PERMISSIONS
Bit 0
  • 0 - Permissão de Atendente
  • 1 - Permissão de Operador
Bit 1 Se setado usuário CTI pode visualizar gravações
Bit 2 Se setado usuário CTI pode editar gravações
Bit 3 Se setado usuário CTI pode editar agenda
Bit 4 Se setado usuário CTI pode capturar chamadas
Bit 5 Se setado usuário CTI pode espionar chamadas
Bit 6 Se setado usuário CTI pode derrubar chamadas
Bit 7 Se setado usuário CTI pode transferir chamadas
Bit 8 Se setado usuário CTI pode Controle de acesso

Exemplo PHP

<?php
function cti_send_login($socket, $user, $pass)
{
    $data = "LOGIN USER:$user PASSWORD:$pass\r\n\r\n";
    socket_write($socket, $data, strlen($data));
    $rd = socket_read($socket, 2048);
    if(!$rd) {
        return 1;
    }
 
    $tok = explode(" ", $rd, -1);
    if(!$tok) {
        return 1;
    }
 
    foreach ($tok as $value) {
 
        if(strstr($value, "RESP")) {
            if(strncmp($value, "RESP:OK", 7) == 0)
                return 0;
        }
    }
    return 1;
}
?>


Volta ao menu

Ferramentas pessoais
Espaços nominais

Variantes
Visualizações
Ações
Navegação
Ferramentas