Opened 7 years ago
Last modified 6 years ago
#238 new улучшение
Продолжать разговор после неудачного трансфера
Reported by: | alx | Owned by: | alx |
---|---|---|---|
Priority: | средний | Milestone: | 2 очередь |
Component: | any | Keywords: | |
Cc: | san |
Description
Сейчас окончание FXS, получив уведомление об окончании трансфера, разрывает соединение независимо от результата трансфера. Если трансфер инициировался опусканием трубки, никаких других вариантов у абонента все равно нет. Но если трансфер инициирован комбинацией Flash+цифра, есть возможность дать инициатору трансфера знать о результате, и при неудачном трансфере вернуться к разговору.
Note:
See TracTickets
for help on using tickets.
Саша, здесь, по-моему, есть много над чем подумать, особенно учитывая реализацию #297. То есть, теоретически, возможно много разных случаев, в каждом из которых хотелось бы иметь максимально адекватную реакцию канального окончания.
Например для успешной передачи вызова требуется, чтобы один UAS поддерживал REFER, а другой - replaces. При инициировании передачи вызова канальное окончание выполняет соответствующие проверки и в зависимости от результата направляет REFER либо одному, либо другому UAS. В случае же когда, например, ни один из UAS не поддерживает replaces, оба соединения отбиваются, и абонент слышит "Занято". И он не понимает, что произошло - вызов успешно передан, или что-то пошло не так. Если в этом случае не делать ничего - ситуация не намного лучше: абонент инициировал передачу вызова, но ничего не произошло. А почему? Можно, конечно, в лог вывести сообщение, но не будет же абонент в каждом подобном случае обращаться к оператору с просьбой почитать лог станции! :)
И вообще, как дать понять абоненту, что что-то отработало неправильно или не может быть выполнено? Абонент инициирует передачу вызова, передача вызова невозможна (см. предыдущий пример). Собеседник молчит и ждет, когда его вызов переведут, наш абонент тоже молчит и ждет, когда вызов переведется. В результате оба ждут и слушают тишину, тогда как перевод даже не начался. Может надо давать в линию какие=-то звуковые (или голосовые) сигналы о том, что перевод успешен и/или неуспешен?
А еще интереснее, когда создается конференция: одного собеседника смогли перевести в конференцию, другого - нет. Что делать в таком случае? Как дать понять, что не все были включены в конференцию?