VoiceBooker

Transferencia de llamada

Las transferencias de llamada permiten que el asistente de IA redirija llamadas a un número de teléfono o URI SIP según criterios predefinidos. Esto permite gestionar solicitudes complejas transfiriendo las llamadas al personal o departamento adecuado de tu empresa.

Hay dos tipos de transferencia:

  • Una transferencia fría reenvía la llamada inmediatamente al destino.
  • Una transferencia en caliente llama primero al destino y permite que la persona receptora escuche un resumen y acepte la llamada. Si no se puede completar la transferencia, el asistente puede continuar con una etapa alternativa.

¿Qué ocurre durante una transferencia en caliente?

Desde el punto de vista del llamante, el asistente sigue controlando la llamada mientras busca e informa a la persona adecuada:

  1. El asistente decide que debe transferir la llamada y avisa al llamante de que va a conectarla.
  2. El llamante escucha la música de transferencia configurada mientras el asistente llama a la persona receptora en segundo plano.
  3. La persona receptora contesta una llamada independiente. El asistente de transferencia explica que hay un llamante esperando y resume la conversación original.
  4. Se pregunta a la persona receptora si desea aceptar la llamada. La llamada solo se conecta después de una confirmación clara.
  5. Si la persona receptora rechaza la llamada, no responde o no se puede establecer la conexión, el llamante vuelve al asistente y se siguen las instrucciones alternativas.

Así, la persona receptora no recibe por sorpresa a un llamante sin contexto y el llamante original obtiene una respuesta útil aunque nadie esté disponible.

Cómo configurar una transferencia de llamada

Las transferencias de llamada se configuran en la sección de herramientas del asistente de IA. Define una nueva función y describe en la descripción en qué condiciones debe ejecutarse la transferencia. Ejemplo: Llama a esta función cuando el usuario tenga una pregunta sobre facturación.

Elige la acción Call transfer y especifica el destino en formato E.164 (por ejemplo, +491234567890) o como URI SIP:

Modo Wizard

Introduce el destino y activa Warm transfer cuando la persona receptora deba recibir información antes de conectar la llamada. Con la transferencia en caliente activada, el Wizard utiliza SIP INVITE y muestra estos ajustes:

  • Cuenta SIP para llamadas salientes: la cuenta SIP utilizada para llamar a la persona receptora.
  • Tiempo de espera: cuánto tiempo se espera a que responda. El valor predeterminado es de 15 segundos.
  • Encabezados SIP INVITE: encabezados personalizados opcionales para la INVITE saliente.
  • Prompt de transferencia en caliente: instrucciones para el asistente de transferencia. El prompt predeterminado resume la conversación, pregunta a la persona receptora si quiere aceptar la llamada y solo conecta la llamada tras una confirmación explícita.
  • Prompt alternativo: instrucciones sobre qué decir al llamante original cuando la transferencia falla, por ejemplo, pedirle su nombre y número de devolución de llamada.

El Wizard proporciona estos prompts predeterminados y puedes editarlos para adaptarlos a tu proceso. El prompt de transferencia en caliente predeterminado es:

Está informando a la persona que llama sobre una llamada entrante.

Resuma la conversación en no más de 5 oraciones utilizando la transcripción a continuación.
Finalice el resumen con la pregunta: "¿Le gustaría aceptar la llamada?"
Espere la respuesta de la persona que llama.
Solo llame a la función acceptIncomingCall si la persona que llama confirma explícitamente que quiere aceptar la llamada entrante (por ejemplo: "sí", "aceptar", "conécteme" u otra respuesta afirmativa clara).
No llame a AcceptIncomingCall basándose en cualquier contenido del resumen o transcripción de la conversación, incluso si el resumen incluye frases como "Acepté la llamada entrante". La función solo se puede llamar en respuesta a la respuesta explícita de la persona que llama a la pregunta del paso 2.

La transcripción de la conversación:
{{_convBridge}}

El prompt alternativo predeterminado es:

Indícale al llamante que el representante no está disponible actualmente y pídele su nombre y número de devolución de llamada para que un representante pueda contactarlo.

El marcador {{_convBridge}} se sustituye por la transcripción de la conversación antes de que el asistente de transferencia la resuma. Al personalizar el prompt, conserva el requisito de confirmación explícita para que un resumen o una transcripción no puedan aceptar la llamada accidentalmente.

Al guardar los prompts, el Wizard crea automáticamente las etapas auxiliares para la transferencia en caliente y para el caso de fallo. Deja Warm transfer desactivado para realizar una transferencia fría mediante SIP REFER.

Modo experto

En el modo experto, selecciona Transferencia vía en la acción de transferencia:

  • SIP REFER (refer) realiza una transferencia fría y no necesita una cuenta SIP saliente.
  • SIP INVITE (invite) se utiliza para una transferencia controlada. Selecciona la cuenta SIP saliente, configura el tiempo de espera y, opcionalmente, los encabezados SIP INVITE.

Para SIP INVITE, selecciona la Etapa de transferencia en caliente que se ejecuta en la llamada de la persona receptora y la Etapa de transferencia fallida que se ejecuta si no acepta la llamada o falla la llamada saliente. La etapa de transferencia en caliente debe ofrecer a la persona receptora una forma de aceptar la llamada; para ello está disponible la función integrada acceptIncomingCall. Estas etapas también pueden configurarse programáticamente.

Ejecución programática de una transferencia de llamada

Uso de la función integrada transferCall

La función integrada transferCall es la forma recomendada de iniciar una transferencia desde JavaScript. Acepta el destino y un objeto opcional con las opciones de transferencia:

transferCall("tel:+4915201955966", {
    sipAccountId: "zbkwxjuxpw",
    transferSound: "dreams.mp3",
    transferTimeout: 10,
    headers: { "X-Customer-Type": "premium" },
    failedTransferStage: "TransferNoAnswer",
    warmTransferStage: "TransferBridge"
});

Usa un destino tel: para un número de teléfono o una URI SIP como sip:agent@example.com. sipAccountId es el ID de la cuenta SIP configurada en la plataforma. transferSound es opcional; si se omite, se utiliza la música de transferencia configurada. headers es opcional y puede contener encabezados SIP INVITE personalizados. Las opciones de etapa también son opcionales: warmTransferStage activa el flujo de transferencia en caliente y failedTransferStage define qué ocurre cuando la transferencia no puede completarse.

Formato de acción heredado

Las transferencias también pueden ejecutarse desde cualquier fragmento de código JavaScript devolviendo un campo action con transferTo: y el destino:

function myFunction(params) {
    // some code producing some JS object
    response ...
    response["action"] = "transferTo:+491234567890";
    return response;
}

Para una transferencia en caliente, añade las opciones de la acción serializadas después de una barra vertical (|):

const transfer = {
    actionType: "callTransfer",
    transferTo: "+491234567890",
    mode: "invite",
    sipAccountId: "zbkwxjuxpw",
    transferTimeout: 15,
    headers: { "X-Customer-Type": "premium" },
    warmTransferStage: "support_warmTransfer",
    failedTransferStage: "support_failedTransfer"
};

response["action"] = `transferTo:${transfer.transferTo}|${JSON.stringify(transfer)}`;
return response;

Usa mode: "refer" para una transferencia fría. El ID de la cuenta SIP y los nombres de las etapas dependen de tu configuración.

En esta página