Desvío de dos llamadas al correo de voz si no hay respuesta

Me encantaría recibir algunos consejos sobre mi configuración twilio para un problema que estoy tratando de resolver.

Visión de conjunto:

A cada usuario en nuestro sistema se le proporciona un número de teléfono twilio que pueden entregar a cualquiera para que se comunique con ellos.

Si la persona A contacta a un usuario en nuestro sistema (usuario B) a través del número de teléfono twilio provisto, nos gustaría conectarlo con el usuario B si están disponibles. Si el usuario B no está disponible, nos gustaría dirigir a la persona A al correo de voz. En otras palabras, queremos asegurarnos de que tenemos el control de la experiencia del correo de voz y del correo de voz en sí para poder almacenarlo en nuestro sistema, en lugar de dejar el correo de voz en el dispositivo del usuario B.

Solución actual:

La llamada entrante de PersonA se agrega a una cola. Al mismo tiempo, el sistema marca al usuario B.Se le pide al usuario B que presione 1 para aceptar la llamada. El motivo de la entrada explícita de UserB es detectar si UserB está disponible para responder la llamada. (Por ejemplo, si la llamada al Usuario B va a su correo de voz personal, la entrada de dígitos explícitos no sucederá diciéndonos que no están disponibles para responder).Si el usuario B no ingresa 1 en un período de tiempo específico, la persona A se dirige al correo de voz.Si el Usuario B presiona 1, la llamada al Usuario B se modifica (a través de la api de resto twilio) para marcar la cola en la que se encuentra la Persona A para conectar el Usuario B y la Persona A.

Problema con la solución actual:

En esta solución, el control de cuándo desviar la llamada de la persona A al correo de voz está controlado por el resultado de la llamada al Usuario B, que parece subóptimo. Por ejemplo, es posible que no podamos llamar a UserB en absoluto. En este caso, la persona A permanecería en la cola indefinidamente.

Lo que me gustaría que ocurriera en este caso es sondear la persona en cola A para verificar el tiempo en la cola y desviar la llamada al correo de voz si el tiempo en la cola es mayor que un umbral. Sin embargo, no parece que sea posible saber con precisión cuánto tiempo una llamada está desatendida en una cola porque:

El estado de una llamada en una cola esin-progress incluso si la persona que llama escucha música en espera. Este es el mismo estado que si la llamada de PersonA hubiera sido contestada.

Si el Usuario B marca en la cola, la llamada solo se cancela cuando las partes conectadas se desconectan, sin cambios en el estado de la llamada de la Persona A para indicar que se han conectado al Usuario B.

Preguntas

¿Entiendo por qué no puedo sondear la cola de llamadas para desviar las llamadas al correo de voz?¿Debería llamar a PersonA a una conferencia y, si el Usuario B está disponible, conectarlo a la conferencia en la que está PersonA?Si uso una configuración de conferencia, ¿cuál sería la forma más fácil de detectar cuánto tiempo ha estado esperando PersonA en la conferencia para desviar la llamada de PersonA al correo de voz en caso de que UserB nunca se una a la conferencia?

Respuestas a la pregunta(1)

Su respuesta a la pregunta