Protocolo CTI uTech/CMD DIAL

De uTech Tecnologia
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Comando)
(Parâmetros)
 
(5 edições intermediárias de um usuário não apresentadas)
Linha 5: Linha 5:
  
 
<pre>
 
<pre>
>> DIAL TO:2000
+
>> DIAL INST:9e18e45af865 TO:2000
<< DIAL RESP:OK
+
<< DIAL INST:9e18e45af865 RESP:OK
 
<< CALL CALLID:30303045 STATE:initiated
 
<< CALL CALLID:30303045 STATE:initiated
 
<< CALL CALLID:30303045 STATE:originated CALLING:2001 CALLED:2000
 
<< CALL CALLID:30303045 STATE:originated CALLING:2001 CALLED:2000
Linha 18: Linha 18:
 
{| class="wikitable" width="65%"
 
{| class="wikitable" width="65%"
 
! align="center" colspan="2" | Parâmetros enviados para o Servidor
 
! align="center" colspan="2" | Parâmetros enviados para o Servidor
 +
|-
 +
| align="left"| INST || Instancia/Chave do comando enviado. Será retornado a mesma chave na resposta do comando.
 +
* Exemplo: INST:9e18e45af865
 
|-
 
|-
 
| align="left"| TO || numero destino da chamada.
 
| align="left"| TO || numero destino da chamada.
 
|-
 
|-
 
| align="left"| DEV || Ramal origem da chamada. Campo '''Opcional'''. Se não definido, será utilizado o ramal associado ao usuário CTI, definido na criação/edição.
 
| align="left"| DEV || Ramal origem da chamada. Campo '''Opcional'''. Se não definido, será utilizado o ramal associado ao usuário CTI, definido na criação/edição.
 +
|-
 +
| align="left"| ANSWER || Define se a chamada deve ser atendida automaticamente perlo telefone/softphone.
 +
* '''true''': habilitar autoatendimento.
 +
* '''false''': Não habilitar autoatendimento.
 +
 +
{| style="width: 100%; background-color: red;"
 +
|
 +
* '''NOTA:''' Para o auto atendimento funcionar, os telefones/softphones '''DEVEM''' implementar tal função. Normalmente, o auto atendimento para dispositivos SIP (telefones IP/softphones) é implementado utilizando o ''header'' SIP '''Alert-Info''' ou '''Call-Info'''. Assim, se o usuário inserir no comando DIAL o parâmetro '''ANSWER=true''', o PABX uTech irá enviar os dois headers para o dispositivo SIP.
 +
|}
 
|}
 
|}
  
Linha 39: Linha 51:
 
! align="center" colspan="2" | APP CTI > SERVIDOR CTI
 
! align="center" colspan="2" | APP CTI > SERVIDOR CTI
 
|-
 
|-
| align="left " colspan="2"| '''DIAL TO:2000\r\n\r\n'''
+
| align="left " colspan="2"| '''DIAL INST:9e18e45af865 TO:2000\r\n\r\n'''
 
|-
 
|-
 
! scope="row" colspan=2 align="center"| SERVIDOR CTI > APP CTI
 
! scope="row" colspan=2 align="center"| SERVIDOR CTI > APP CTI
 
|-
 
|-
| align="left"| '''DIAL RESP:OK\r\n\r\n''' || <font color=red>Chamada aceita pelo PABX</font>
+
| align="left"| '''DIAL INST:9e18e45af865 RESP:OK\r\n\r\n''' || <font color=red>Chamada aceita pelo PABX</font>
 
|-
 
|-
| align="left"| '''DIAL RESP:ERROR\r\n\r\n''' || <font color=red>Erro reportado pelo PABX</font>
+
| align="left"| '''DIAL INST:9e18e45af865 RESP:ERROR\r\n\r\n''' || <font color=red>Erro reportado pelo PABX</font>
 
|}
 
|}
  
Linha 56: Linha 68:
 
function cti_make_call($socket, $to)
 
function cti_make_call($socket, $to)
 
{
 
{
     $data = "DIAL TO:$to\r\n\r\n";
+
     $data = "DIAL INST:9e18e45af865 TO:$to\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 12h54min de 29 de julho de 2021

Tabela de conteúdo


O DIAL é um comando enviado pela Aplicação CTI ao Servidor para gerar uma chamada. O servidor CTI responderá com o parâmetro RESP (OK ou ERROR). Caso a resposta seja OK, a aplicação CTI PODE acompanhar o estado da chamada tratando os Eventos de chamada recebidos tratando o Evento CALL como mostrado abaixo.
Após a resposta de OK do servidor, os eventos de chamadas serão encaminhados para a aplicação CTI, sempre passando como parâmetro o identificador da chamada CALLID.

>> DIAL INST:9e18e45af865 TO:2000
<< DIAL INST:9e18e45af865 RESP:OK
<< CALL CALLID:30303045 STATE:initiated
<< CALL CALLID:30303045 STATE:originated CALLING:2001 CALLED:2000
<< CALL CALLID:30303045 STATE:delivered CALLING:2001 CALLED:2000
<< CALL CALLID:30303045 STATE:established CALLING:2001 CALLED:2000
<< HISTORY CALLS:"2001,2000,-,2015-08-17 15:12:34,2015-08-17 15:12:37,2015-08-17 15:12:41,4"
<< CALL CALLID:30303045 STATE:cleared CAUSE:48

[editar] Parâmetros

Parâmetros enviados para o Servidor
INST Instancia/Chave do comando enviado. Será retornado a mesma chave na resposta do comando.
  • Exemplo: INST:9e18e45af865
TO numero destino da chamada.
DEV Ramal origem da chamada. Campo Opcional. Se não definido, será utilizado o ramal associado ao usuário CTI, definido na criação/edição.
ANSWER Define se a chamada deve ser atendida automaticamente perlo telefone/softphone.
  • true: habilitar autoatendimento.
  • false: Não habilitar autoatendimento.
  • NOTA: Para o auto atendimento funcionar, os telefones/softphones DEVEM implementar tal função. Normalmente, o auto atendimento para dispositivos SIP (telefones IP/softphones) é implementado utilizando o header SIP Alert-Info ou Call-Info. Assim, se o usuário inserir no comando DIAL o parâmetro ANSWER=true, o PABX uTech irá enviar os dois headers para o dispositivo SIP.

[editar] Comando

DIAL TO:2000\r\n\r\n

Ou

DIAL DEV:4444 TO:2000\r\n\r\n

[editar] Fluxo

APP CTI > SERVIDOR CTI
DIAL INST:9e18e45af865 TO:2000\r\n\r\n
SERVIDOR CTI > APP CTI
DIAL INST:9e18e45af865 RESP:OK\r\n\r\n Chamada aceita pelo PABX
DIAL INST:9e18e45af865 RESP:ERROR\r\n\r\n Erro reportado pelo PABX

[editar] Exemplo PHP

<?php
function cti_make_call($socket, $to)
{
    $data = "DIAL INST:9e18e45af865 TO:$to\r\n\r\n";
    socket_write($socket, $data, strlen($data));
    $rd = socket_read($socket, 2048);
    if(!$rd)
        return 1;
 
    return 0;
}
?>


[editar] Eventos da Chamada Realizada


[editar] Estados de uma Chamada


[editar] Causas de Desligamento da Chamada



Volta ao menu

Ferramentas pessoais
Espaços nominais

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