Chciałbym uzyskać poradę dotyczącą konfiguracji Twilio w przypadku problemu, który próbuję rozwiązać.Przekierowywanie połączenia twilio na pocztę głosową, jeśli nie ma odpowiedzi
Przegląd:
Każdy użytkownik w naszym systemie jest zabezpieczony numer telefonu Twilio że mogą rozdać każdemu z nimi skontaktować.
Jeśli personA skontaktuje się z użytkownikiem w naszym systemie (userB) za pośrednictwem udostępnionego twilio numer telefonu, chcielibyśmy połączyć je z użytkownikiem B, jeśli są one dostępne. Jeśli userB nie jest dostępny, chcielibyśmy skierować personA na pocztę głosową. Innymi słowy, chcemy mieć pewność, że mamy kontrolę nad pocztą głosową i samą pocztą głosową, abyśmy mogli przechowywać je w naszym systemie, zamiast pozostawić pocztę głosową na urządzeniu użytkownikaB.
Aktualny rozwiązanie: połączenie przychodzące
- Persona dostaje dodany do kolejki. W tym samym czasie system wybiera numer użytkownika.
- Użytkownik UserB zostanie poproszony o naciśnięcie 1, aby odebrać połączenie. Powodem jawnego wpisu z UserB jest wykrycie, czy UserB jest dostępny do odebrania połączenia. (Na przykład, jeśli połączenie z UserB trafi na osobistą pocztę głosową, wpis w postaci jawnej cyfry nie nastąpi, informując nas, że nie jest dostępny do odpowiedzi.)
- Jeśli UserB nie wprowadzi 1 w określonym czasie, PersonA jest skierowane na pocztę głosową.
- Jeśli UserB naciśnie 1, wywołanie UserB zostanie zmodyfikowane (za pomocą twilio rest api), aby wybrać kolejkę, w której znajduje się PersonA, aby połączyć UserB i PersonA.
problem z bieżącym rozwiązanie:
W tym rozwiązaniu, sterowanie kiedy odwrócić rozmowę Persona do poczty głosowej jest kontrolowana przez wyniku wywołania UserB, co wydaje panującymi. Na przykład możemy nie być w stanie w ogóle wywołać UserB. W tym przypadku osoba A pozostanie w kolejce przez czas nieokreślony.
W tym przypadku chciałbym odpytać osobę z kolejkiA, aby sprawdzić czas w kolejce i przekierować połączenie na pocztę głosową, jeśli czas w kolejce jest większy niż próg. Jednak nie wydaje się, jak to jest możliwe, aby dokładnie wiedzieć, jak długo połączenie jest bez opieki w kolejce, ponieważ:
Status połączenia w kolejce jest
in-progress
nawet jeśli rozmówca jest słuchanie czekać muzyki . Jest to ten sam status, jak gdyby odpowiedź PersonA została odebrana.Jeśli UserB wybierze się w kolejce, to połączenie zostanie wycofane dopiero, gdy strony zmostkowane rozłączą się, bez zmiany statusu połączenia w wywołaniu PersonA, aby wskazać, że są one podłączone do UserB.
Pytania
- Czy mój zrozumienie, dlaczego nie mogę sondować kolejki połączeń przekierowywanie połączeń na pocztę głosową prawidłowe?
- Czy zamiast tego powinienem wywołać PersonA w konferencji, a jeśli dostępny jest UserB, podłączyć go do konferencji, w której znajduje się PersonA?
- Jeśli używam konfiguracji konferencji, jaki byłby najłatwiejszy sposób wykrycia, jak długo PersonA czekała na konferencji, aby przekierować połączenie PersonA na pocztę głosową w przypadku, gdy użytkownik UserB nigdy nie przystąpi do konferencji?
Dziękuję bardzo za szczegółową odpowiedź tutaj. To ma wiele sensu. Ulepszam teraz moją konfigurację! – kajham
Nie ma problemu, daj mi znać na [email protected], jeśli masz jakiekolwiek problemy. – philnash
Być może robię coś złego, ale musiałem wprowadzić dyrektywę "Zawieszenie" po czasopiśmie "Zbierz", aby uchwycić sytuację, w której Gromadzenie danych przekracza limit czasu. Twilio nie wywoływał adresu URL akcji, jeśli przed upływem limitu czasu nie wprowadzono żadnych danych wejściowych użytkownika, więc moje '/ szeptanie' było: ' Masz połączenie przychodzące. Naciśnij 1, aby odebrać. ' –
kajham