#475 closed задача (fixed)
Функция "дополнительный телефон"
Reported by: | san | Owned by: | dimag |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | algorithm, interface, dispatcher, users |
Cc: | alx |
Description
Функция была в предыдущей версии ПО, называлась "Дополнительный телефон", заказчик просит добавить и в эту версию.
Суть в использовании Диспетчером Sip-телефона в качестве устройства для приёма и вывода звука, при этом программа должна вызывать(и отключать) телефон в Основную конференцию по существующим алгоритмам (авто/вручную/принудительно) вместо вызова(отключения) своего пользователя.
Задание:
- Добавить в программе настройку:
Конференции-> Основная конференция
"Подключать абонента" <выпадающий список>
- первый элемент списка: "Себя", остальные элементы - список абонентов.
- настройка становится активной если выбрано подключение не "вручную", если "вручную" - настройка дизэйблится.
- по умолчанию установлено значение "Себя"
- При выборе в настройках значения отличного от "Себя"
Программа для функций "Подключение в Основную конференцию (авто/принудительное/постоянное)" использует вместо своего абонента, абонента выбранного в настройках.
p.s. может быть есть идеи на что заменить слово "Себя"? мне оно не очень нравится.
Change History (31)
comment:1 by , 8 years ago
comment:4 by , 8 years ago
Keywords: | algorithm interface dispatcher users added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
r490
При использование автоматического, принудительного, постоянного подключения в диспетчерскую, пользователь программы может быть заменён на выбранного пользователя, если пользователь в сети. Если пользователь не подключен, то ничего не происходит.
comment:6 by , 8 years ago
Что делает вызов setCurrentText(item->text());
в строке 8732 файла MainAppFrameWindow3.cpp?
follow-up: 9 comment:7 by , 8 years ago
И еще несколько вопросов по интерфейсу в целом.
- Наименование параметра "Подключать абонента" по-моему ничего не говорит о его действительной функции. Догадаться о том, что и зачем здесь настраивается, по-моему, по такому названию невозможно.
- Для чего служат чекбоксы рядом с каждым элементом выпадающего списка "Подключать абонента", если все равно несколько чекбоксов выбрать нельзя? Что будет, например, если я установлю чекбокс в пункте "opérateur" и выберу пункт "alx"? Почему выпадающий список не такой же как, например, в настройке "Подключение"?
- Непонятно, по какому принципу отсортированы элементы выпадающего списка в параметре "Подключать абонента". Они явно не в алфавитном порядке, а в каком - непонятно...
comment:8 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:9 by , 8 years ago
Replying to alx:
- Наименование параметра "Подключать абонента" по-моему ничего не говорит о его действительной функции.
По заданию(см. текст тикета)
- Эта настойка должна располагаться в группе настроек "Основная конференция"
- Она связана с другой настройкой (подключение в конференцию)
Похоже Дима текст тикета не читал прежде чем выполнять
Про чекбоксы и сортировку - согласен, глупо выглядит
follow-ups: 13 15 comment:11 by , 8 years ago
Меня попросили сделать внешний вид для списка пользователей как для пункта "Авария при отсутствие абонента", поэтому в списке пользователь выделяется галочкой.
follow-up: 14 comment:12 by , 8 years ago
На данный момент пользователи выводятся отсортированными по логину.
comment:13 by , 8 years ago
Replying to dimag:
Меня попросили сделать внешний вид для списка пользователей как для пункта "Авария при отсутствие абонента", поэтому в списке пользователь выделяется галочкой.
Дмитрий, это не правда. Устного разговора по этому тикету даже не было.
follow-up: 18 comment:14 by , 8 years ago
Replying to dimag:
На данный момент пользователи выводятся отсортированными по логину.
Это мне кажется нелогичным: в списке выводится отображаемое имя, а сортируется он почему-то не по нему, а по логину, который в списке не отображается. По-моему будет логично, когда если сотрировка списка выполняется по логину, то логин в списке и отображать.
Тем более что логин уникален, а отображаемое имя - нет. Это второй аргумент, почему в списке должны быть логины а не отображаемые имена.
comment:15 by , 8 years ago
Replying to dimag:
Меня попросили сделать внешний вид для списка пользователей как для пункта "Авария при отсутствие абонента", поэтому в списке пользователь выделяется галочкой.
Вы не ответили на вторую часть вопроса: что будет, если я установил чекбокс напротив пользователя "opérateur" и выбрал пункт "alx" (то есть когда выпадающий список свернут, на экране написано: "Подключать абонента: [alx]"). У какого пользователя зазвенит телефон при вызове диспетчера?
comment:17 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
r494
Изменил внешний вид выбора пользователя на стандартный выпадающий список с возможностью выбора 1 элемента, список отсортирован по имени пользователя, галочки убраны, код полностью переписан. Проверял во вторник с Александром, он остался доволен.
Аналогично измена сортировка для списка пользователей-участников переговоров для окна аудиозаписей и для списка пользователей в списке Авария при отсутствие абонента.
follow-up: 19 comment:18 by , 8 years ago
Логин уникален, а отображаемое имя - нет. Это второй аргумент, почему в списке должны быть логины а не отображаемые имена.
Я думаю было бы не лишним добавить после имени пользователя его логин.
Алексей, Дмитрий пишет о том что полностью изменил код этого фрагмента, твой вопрос по поводу строки кода автоматически снимается?
comment:19 by , 8 years ago
Replying to san:
Я думаю было бы не лишним добавить после имени пользователя его логин.
Думаю, что это наилучший вариант. Если же выбирать что-то одно, то это должен быть логин.
Алексей, Дмитрий пишет о том что полностью изменил код этого фрагмента, твой вопрос по поводу строки кода автоматически снимается?
Что ты подразумеваешь под "снимается"? Мне как была непонятна цель вызова setCurrentText()
в строке 8732, так она мне и непонятна до сих пор. От того что Дима в более поздней ревизии этот вызов убрал, более понятным он не стал. Однако, независимо от того, исчезла вызвавшая вопрос строка из исходников или нет, требовать ответа я не могу - я Дмитрию не начальник, он мне не подчинен. И если он решил игнорировать вопрос, я ничего сделать не могу.
comment:20 by , 8 years ago
В списке выбора нужно было выводить видимое имя пользователя при его выборе в списке выбора. В строке 8732 в строку редактирования выпадающего списка заносилось это имя.
comment:21 by , 8 years ago
Саша, до сих пор я как-то всерьез не задумывался о сути данной функции, а сейчас у меня возник вопрос: для чего здесь вообще задается имя пользователя? Разве есть какой-то смысл в том, чтобы диспетчер в процессе работы с конференциями подключал не себя, а кого-то другого? Как это будет выглядеть?
К примеру, установлен режим подключения к основной конференции "Автоматическое", и при этом в "Дополнительный телефон" выбран пользователь Вася. Теперь в основную конференцию входит Петя. Верно ли я понял, что в этот момент в конференцию должны быть вызваны и диспетчер, а Вася?
А если у диспетчера режим подключения "Ручной" - то при входе Пети Вася уже вызываться не должен? В чем логика?
Чем эта функция отличается от функции "Использовать Sip-телефон", которую ты упоминал в #310? Если это одно и то же, то, насколько я понимаю, суть данной функции в том, что вместо SIP юзер-агента, встроенного в пульт, используется внешний юзер-агент, например SIP-телефон. И, если это действительно так, для конфигурации данной функции достаточно сделать чекбокс "Внешний SIP UA", при включении которого мы просто не будем активировать наш встроенный UA и все... И, кстати, будет логично, если этот чекбокс будет не в основном конфиге пульта, а в диалоге аутентификации, рядом с чекбоксом "Автоматическое подключение"...
comment:22 by , 8 years ago
Replying to san:
Суть в использовании Диспетчером Sip-телефона в качестве устройства для приёма и вывода звука,
То есть, если исходить из заявленной сути, именно ДИСПЕТЧЕР, а не кто-то другой, должен вызываться!
follow-up: 24 comment:23 by , 8 years ago
суть данной функции в том, что вместо SIP юзер-агента, встроенного в пульт, используется внешний юзер-агент, например SIP-телефон.
Да
для конфигурации данной функции достаточно сделать чекбокс "Внешний SIP UA", при включении которого мы просто не будем активировать наш встроенный UA и все.
Да, думаю можно так сделать, это будет существенным упрощением.
Но есть одна особенность:
Сейчас присутствие абонентов в сети, в том числе и Диспетчера, контролируется Техником по их статусу регистрации.
В случае отключенного SIP UA Техник не сможет получить информацию о присутствии самого пульта Диспетчера в сети.
comment:24 by , 8 years ago
Replying to san:
В случае отключенного SIP UA Техник не сможет получить информацию о присутствии самого пульта Диспетчера в сети.
Он и сейчас, даже без этой функции, не может: если диспетчер вместо пульта зарегистрирует "обычный" UAC, техник не увидит никакой разницы!
follow-up: 26 comment:25 by , 8 years ago
Сейчас "диспетчер" и "дополнительный телефон" это два разных UA, они регистрируются под разными именами и присутствие их обоих в сети контролируются Техником по статусу регистрации.
В случае активации функции "внешний UA" UA диспетчера будет отключен и Техник не сможет контролировать присутствие пульта в сети.
comment:26 by , 8 years ago
Replying to san:
два разных UA,
Первый вопрос: зачем одному человеку (диспетчеру) два разных UA, если он, как ранее ты писал в ticket:241#comment:41, "может находиться только в одной конференции в определённый момент времени."?
они регистрируются под разными именами
Второй вопрос: зачем одному человеку (диспетчеру) заводить две разные учетные записи? Это уже шизофрения какая-то получается... :)
и присутствие их обоих в сети контролируются Техником по статусу регистрации.
Верно. Акцентирую внимание: "их" == "Юзер-агентов".
В случае активации функции "внешний UA" UA диспетчера будет отключен и Техник не сможет контролировать присутствие пульта в сети.
А тут я вынужден повторить написанное в comment:23 - он контролирует присутствие не пульта, а UA (выше я на этом акцентировал внимание)! Поправь меня если я ошибаюсь, но по-моему отличить UA пульта от какого-либо другого UA техник не может.
follow-up: 28 comment:27 by , 8 years ago
уфф :)
Я не утверждаю что то как сделано сейчас - логично и правильно.
Я говорю о том, что формально мы потеряем функцию контроля присутствия пульта в сети.
отличить UA пульта от какого-либо другого UA техник не может
Да, но диспетчер и не может по своему желанию регистрироваться от имени себя другими UA кроме пульта
comment:28 by , 8 years ago
Replying to san:
Я не утверждаю что то как сделано сейчас - логично и правильно.
А как сделано сейчас? И сделано кем? Сейчас какой-то реально работающий диспетчер использует сразу две учетные записи? Ну так, наверное, это его право и его дело, к нашему пульту это прямого отношения не имеет. Человек вправе представляться несколькими разными именами, если он этого хочет. И мы, даже если очень захотим, запретить ему этого не сможем - в конце концов, он может запустить несколько пультов... :)
Если же говорить именно о пульте, то он не требует, чтобы его собственный UA и внешний UA ("дополнительный телефон") использовали разные учетные записи. Опять же поправь меня если я ошибаюсь.
Я говорю о том, что формально мы потеряем функцию контроля присутствия пульта в сети.
А я говорю, что не потеряем, так как невозможно потерять то, чего не имеешь.
отличить UA пульта от какого-либо другого UA техник не может
Да, но диспетчер и не может по своему желанию регистрироваться от имени себя другими UA кроме пульта
Как не имеет? Почему не имеет? Что помешает ему это сделать?
comment:29 by , 8 years ago
Обсудили устно, закончим на том, что я согласен с
для конфигурации данной функции достаточно сделать чекбокс "Внешний SIP UA", при включении которого мы просто не будем активировать наш встроенный UA и все.
Предлагаю использовать вместо "Себя" слова "Пользователь программы"