Protocolo CTI uTech/CMD ATTENDANT TRANSFER

De uTech Tecnologia
Ir para: navegação, pesquisa

Tabela de conteúdo


O ATTENDANT_TRANSFER é um comando enviado pela Aplicação CTI ao Servidor para fazer uma transferência com consulta. A transferência com consulta quando efetuada pelo usuário, coloca a chamada atual em espera e é realizada uma segunda chamada para o destino a quem deseja transferir. É chamada transferência com consulta, pois o usuário gera uma segunda chamada para o novo destino e a chamada é transferida quando o usuário que está transferindo desliga a nova chamada. Ao enviar o comando de transferência, é necessário passar como parâmetro o CALLID da chamada atual, recebido no evento de chamada e o destino para onde a chamada será transferida.

Parâmetros

Parâmetros enviados para o Servidor
CALLID ID da chamada recebida nos eventos de chamadas.
TO Número destino, para onde a chamada será transferida.
<< CALL CALLID:30303944 STATE:delivered CALLING:2001 CALLED:2000
<< CALL CALLID:30303944 STATE:established CALLING:2001 CALLED:2000
>> ATTENDANT_TRANSFER CALLID:30303944 TO:2099

Comando

ATTENDANT_TRANSFER CALLID:30303944 TO:2099\r\n\r\n

Fluxo

APP CTI > SERVIDOR CTI
ATTENDANT_TRANSFER CALLID:30303046 TO:2099\r\n\r\n
SERVIDOR CTI > APP CTI
ATTENDANT_TRANSFER RESP:OK\r\n\r\n Comando aceito pelo PABX
ATTENDANT_TRANSFER RESP:ERROR\r\n\r\n Erro reportado pelo PABX

A => liga para B que transfere para C. B é o transferidor.

  • NOTA: Normalmente, a transferência com consulta é efetivada quando o transferidor desliga a chamada e, A e C iniciam a conversa. Caso o aplicativo queira efetivar a transferência sem esperar pelo desligamento do transferidor (B), DEVE-SE enviar novamente o comando ATTENDANT_TRANSFER com o mesmo CALLID que iniciou a transferência (mesmo comando de transferência enviado anteriormente.


Exemplo PHP

<?php
function cti_attendant_transfer_call($socket, $callid, $destination)
{
    $data = "ATTENDANT_TRANSFER CALLID:$callid TO:destination\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