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+цифра, есть возможность дать инициатору трансфера знать о результате, и при неудачном трансфере вернуться к разговору.

Change History (1)

comment:1 by alx, 6 years ago

Cc: san added

Саша, здесь, по-моему, есть много над чем подумать, особенно учитывая реализацию #297. То есть, теоретически, возможно много разных случаев, в каждом из которых хотелось бы иметь максимально адекватную реакцию канального окончания.

Например для успешной передачи вызова требуется, чтобы один UAS поддерживал REFER, а другой - replaces. При инициировании передачи вызова канальное окончание выполняет соответствующие проверки и в зависимости от результата направляет REFER либо одному, либо другому UAS. В случае же когда, например, ни один из UAS не поддерживает replaces, оба соединения отбиваются, и абонент слышит "Занято". И он не понимает, что произошло - вызов успешно передан, или что-то пошло не так. Если в этом случае не делать ничего - ситуация не намного лучше: абонент инициировал передачу вызова, но ничего не произошло. А почему? Можно, конечно, в лог вывести сообщение, но не будет же абонент в каждом подобном случае обращаться к оператору с просьбой почитать лог станции! :)

И вообще, как дать понять абоненту, что что-то отработало неправильно или не может быть выполнено? Абонент инициирует передачу вызова, передача вызова невозможна (см. предыдущий пример). Собеседник молчит и ждет, когда его вызов переведут, наш абонент тоже молчит и ждет, когда вызов переведется. В результате оба ждут и слушают тишину, тогда как перевод даже не начался. Может надо давать в линию какие=-то звуковые (или голосовые) сигналы о том, что перевод успешен и/или неуспешен?

А еще интереснее, когда создается конференция: одного собеседника смогли перевести в конференцию, другого - нет. Что делать в таком случае? Как дать понять, что не все были включены в конференцию?

Note: See TracTickets for help on using tickets.