Protocolo CTI uTech/CMD DIAL
De uTech Tecnologia
(Diferença entre revisões)
(→Eventos da Chamada Realizada) |
(→Parâmetros) |
||
(9 edições intermediárias de 3 usuários 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"| 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 26: | Linha 40: | ||
{| class="wikitable" | {| class="wikitable" | ||
! style="text-align: left; font-weight: bold;" | DIAL TO:2000\r\n\r\n | ! style="text-align: left; font-weight: bold;" | DIAL TO:2000\r\n\r\n | ||
+ | |} | ||
+ | '''Ou''' | ||
+ | {| class="wikitable" | ||
+ | ! style="text-align: left; font-weight: bold;" | DIAL DEV:4444 TO:2000\r\n\r\n | ||
|} | |} | ||
Linha 33: | 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 50: | 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); | ||
Linha 70: | Linha 88: | ||
== Estados de uma Chamada == | == Estados de uma Chamada == | ||
− | * [[ | + | * [[Protocolo_CTI_uTech/CALL_STATES|'''Estados de uma chamada''']] |
<br\> | <br\> | ||
+ | |||
== Causas de Desligamento da Chamada == | == Causas de Desligamento da Chamada == | ||
− | * [[ | + | * [[Protocolo_CTI_uTech/CALL_CAUSES|'''Causas de desligamento de uma chamada''']] |
<br\> | <br\> | ||
----- | ----- | ||
[[Protocolo_CTI_uTech#Comandos_e_Eventos|'''Volta ao menu''']] | [[Protocolo_CTI_uTech#Comandos_e_Eventos|'''Volta ao menu''']] |
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.
| |
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.
|
[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