Protocolo CTI uTech/CMD LOGIN

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Criou página com '__TOC__ 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 a...')
 
(Parâmetros)
 
(3 edições intermediárias de um usuário não apresentadas)
Linha 11: Linha 11:
 
|-
 
|-
 
| align="left"| PASSWORD || Senha do usuário.
 
| align="left"| PASSWORD || Senha do usuário.
 +
|-
 +
| align="left"| 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 ==
 
== Comando ==
Linha 35: Linha 37:
 
|}
 
|}
  
 +
== 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.
 +
 +
{| class="wikitable" width="65%"
 +
! align="center" colspan="2" | '''''BITMASK''''' '''PERMISSIONS'''
 +
|-
 +
| align="left"| '''Bit 0''' ||
 +
* 0 - Permissão de Atendente
 +
* 1 - Permissão de Operador
 +
|-
 +
| align="left"| '''Bit 1''' || Se '''setado''' usuário CTI pode '''visualizar gravações'''
 +
|-
 +
| align="left"| '''Bit 2''' || Se '''setado''' usuário CTI pode '''editar gravações'''
 +
|-
 +
| align="left"| '''Bit 3''' || Se '''setado''' usuário CTI pode '''editar agenda'''
 +
|-
 +
| align="left"| '''Bit 4''' || Se '''setado''' usuário CTI pode '''capturar chamadas'''
 +
|-
 +
| align="left"| '''Bit 5''' || Se '''setado''' usuário CTI pode '''espionar chamadas'''
 +
|-
 +
| align="left"| '''Bit 6''' || Se '''setado''' usuário CTI pode '''derrubar chamadas'''
 +
|-
 +
| align="left"| '''Bit 7''' || Se '''setado''' usuário CTI pode '''transferir chamadas'''
 +
|-
 +
| align="left"| '''Bit 8''' || Se '''setado''' usuário CTI pode '''Controle de acesso'''
 +
|}
  
 
== Exemplo PHP ==
 
== Exemplo PHP ==

Edição atual tal como 11h06min de 18 de agosto de 2017

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.

[editar] 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...

[editar] Comando

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

[editar] 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

[editar] 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

[editar] 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