Protocolo CTI uTech/CMD DND

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Parâmetros)
(Exemplo PHP)
 
(2 edições intermediárias de um usuário não apresentadas)
Linha 5: Linha 5:
 
== Parâmetros ==
 
== Parâmetros ==
  
{| class="wikitable" width="65%"
+
{| class="wikitable" width="75%"
 
! align="center" colspan="2" | Parâmetros enviados para o Servidor
 
! align="center" colspan="2" | Parâmetros enviados para o Servidor
 
|-
 
|-
 
| align="left"| STATUS || Identifica se o comando é para habilitar ou desabilitar a função de DND. Para habilitar, utilize '''STATUS:TRUE''' e para desabilitar '''STATUS:FALSE'''.
 
| align="left"| STATUS || Identifica se o comando é para habilitar ou desabilitar a função de DND. Para habilitar, utilize '''STATUS:TRUE''' e para desabilitar '''STATUS:FALSE'''.
 
|-
 
|-
| align="left"| DEV || Identifica o ramal que será colocado em DND. '''Somente para usuários CTI com permissão de operador E com permissão de colocar outros ramais em DND'''.
+
| align="left"| DEV || Identifica o ramal que será colocado em DND. <font color=red>Somente para usuários CTI com permissão de operador '''E''' com permissão de colocar outros ramais em DND</font>.
 
|}
 
|}
  
 
== Comando ==
 
== Comando ==
  
 +
* '''Colocar o própio ramal em DND:'''
 
{| class="wikitable"
 
{| class="wikitable"
 
! style="text-align: left; font-weight: bold;" | DND STATUS:TRUE\r\n\r\n
 
! style="text-align: left; font-weight: bold;" | DND STATUS:TRUE\r\n\r\n
 
|-
 
|-
 
! style="text-align: left; font-weight: bold;" | DND STATUS:FALSE\r\n\r\n
 
! style="text-align: left; font-weight: bold;" | DND STATUS:FALSE\r\n\r\n
 +
|}
 +
 +
* '''Ou para colocar outro ramal em DND (cti permissão operador)'''
 +
{| class="wikitable"
 +
! style="text-align: left; font-weight: bold;" | DND DEV:200 STATUS:TRUE\r\n\r\n
 +
|-
 +
! style="text-align: left; font-weight: bold;" | DND DEV:200 STATUS:FALSE\r\n\r\n
 
|}
 
|}
  
Linha 42: Linha 50:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
function cti_enable_dnd($socket)
+
function cti_enable_dnd($socket, $dev = null)
 
{
 
{
     $data = "DND STATUS:TRUE\r\n\r\n";
+
    $DEV = "";
 +
    if(isset($dev))
 +
      $DEV = "DEV:$dev";
 +
 
 +
     $data = "DND $DEV STATUS:TRUE\r\n\r\n";
 
     socket_write($socket, $data, strlen($data));
 
     socket_write($socket, $data, strlen($data));
 
     $rd = socket_read($socket, 2048);
 
     $rd = socket_read($socket, 2048);
Linha 53: Linha 65:
 
}
 
}
  
function cti_disable_dnd($socket)
+
function cti_disable_dnd($socket, $dev = null)
 
{
 
{
     $data = "DND STATUS:FALSE\r\n\r\n";
+
    $DEV = "";
 +
    if(isset($dev))
 +
      $DEV = "DEV:$dev";
 +
 
 +
     $data = "DND $DEV STATUS:FALSE\r\n\r\n";
 
     socket_write($socket, $data, strlen($data));
 
     socket_write($socket, $data, strlen($data));
 
     $rd = socket_read($socket, 2048);
 
     $rd = socket_read($socket, 2048);

Edição atual tal como 14h46min de 28 de junho de 2022

Tabela de conteúdo


O DND é um comando enviado pela Aplicação CTI ao Servidor para habilitar ou desabilitar a função de Não Perturbe (Do Not Disturb).

[editar] Parâmetros

Parâmetros enviados para o Servidor
STATUS Identifica se o comando é para habilitar ou desabilitar a função de DND. Para habilitar, utilize STATUS:TRUE e para desabilitar STATUS:FALSE.
DEV Identifica o ramal que será colocado em DND. Somente para usuários CTI com permissão de operador E com permissão de colocar outros ramais em DND.

[editar] Comando

  • Colocar o própio ramal em DND:
DND STATUS:TRUE\r\n\r\n
DND STATUS:FALSE\r\n\r\n
  • Ou para colocar outro ramal em DND (cti permissão operador)
DND DEV:200 STATUS:TRUE\r\n\r\n
DND DEV:200 STATUS:FALSE\r\n\r\n

[editar] Fluxo

APP CTI > SERVIDOR CTI
DND STATUS:TRUE\r\n\r\n
SERVIDOR CTI > APP CTI
DND RESP:OK\r\n\r\n Comando aceito pelo PABX
DND RESP:ERROR\r\n\r\n Erro reportado pelo PABX


[editar] Exemplo PHP

<?php
function cti_enable_dnd($socket, $dev = null)
{
    $DEV = "";
    if(isset($dev))
      $DEV = "DEV:$dev";
 
    $data = "DND $DEV STATUS:TRUE\r\n\r\n";
    socket_write($socket, $data, strlen($data));
    $rd = socket_read($socket, 2048);
    if(!$rd)
        return 1;
 
    return 0;
}
 
function cti_disable_dnd($socket, $dev = null)
{
    $DEV = "";
    if(isset($dev))
      $DEV = "DEV:$dev";
 
    $data = "DND $DEV STATUS:FALSE\r\n\r\n";
    socket_write($socket, $data, strlen($data));
    $rd = socket_read($socket, 2048);
    if(!$rd)
        return 1;
 
    return 0;
}
 
?>




Volta ao menu

Ferramentas pessoais
Espaços nominais

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