Opened 8 years ago

Closed 7 years ago

#198 closed баг (fixed)

Устранить ненужные запросы к коммутатору

Reported by: alx Owned by: dimag
Priority: minor Milestone: 1 очередь
Component: ПО MC04-Dispatcher. Пульт диспетчера/техника Keywords: login password
Cc: san

Description

Обнаружено (как минимум, в r229), что программа диспетчера запрашивает у коммутатора информацию, которая, как мне кажется, ей, в моем представлении, совершенно не нужна.

Так, я вошел в систему как пользователь 2, и вижу, что программа, например, запрашивает у коммутатора права (атрибут allow) пользователя test11. Секундочку, мы же вошли как пользователь 2, а не test11, зачем ей права пользователя test11? Также вижу, как программа запрашивает пароль пользователя test11. Зачем он ей?

Считаю, что все лишние запросы надо устранить, так как они лишь создают бесполезную нагрузку на сеть и коммутатор.

Change History (33)

comment:1 by dimag, 8 years ago

r236.
Закончил в этой версии, начал в r234, исправил в этой версии излишние запросы к серверу. Далее хочу исправить излишние перерисовки

comment:2 by dimag, 8 years ago

Resolution: fixed
Status: newclosed

r237, исправил все излишние запросы к серверу и сообщения на перерисовку окна приложения какие возможно без существенной переделки программы.

comment:3 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r366 программа по-прежнему запрашивает пароли всех пользователей.

comment:4 by dimag, 8 years ago

Запрашивать пароль необходимо, я сравниваю пароль который ввёл пользователь в окне входа программы с полученным паролём. Если они не равны, то вывожу в окно входа программы сообщение об ошибке.

in reply to:  4 ; comment:5 by alx, 8 years ago

Replying to dimag:

Запрашивать пароль необходимо, я сравниваю пароль который ввёл пользователь в окне входа программы с полученным паролём. Если они не равны, то вывожу в окно входа программы сообщение об ошибке.

  1. Зачем?
  2. Пароли у пользователей разные. Следовательно, хоть с каким-то из них пароль, введенный в окне входа программы, не совпадает. Почему я ни разу не видел сообщения об ошибке?

comment:6 by dimag, 8 years ago

Я поменял пароль у пользователя 1@192.168.0.73 с 1 на 11 в программе, перезапустил её, ввёл пароль 1. Этот пароль сравнился с сохранённым паролём 11, который я загрузил.
Так как пароли не равны, то вывелось сообщение "Не совпадает введённый пароль и пароль с FreeSwitch сервера".
Вопрос к Александру, должен ли проверять введённый в строке "Пароль" пароль с паролём который я получаю с FreeSwitch сервера командой user_data имя паользователя param password.
Если да, то пароли надо загружать, если нет, то парользагружать не нужно.

in reply to:  5 comment:7 by alx, 8 years ago

Replying to alx:

Почему я ни разу не видел сообщения об ошибке?

comment:8 by san, 8 years ago

Replying to dimag:

  • Насколько я понимаю у Алексея нет претензий к тому, что ты проверяешь пароль своего пользователя, речь о том, что запрашиваются ещё и пароли остальных абонентов, которые сейчас тебе не нужны.
  • насчёт сверки пароля своего пользователя. Есть ли необходимость это делать? если пароль не совпадает, то авторизация в Sip будет неуспешной о чём будет соответствующее сообщение, единственное что мы, может быть, при своей проверке получим более точную причину отказа авторизации: "не совпадает пароль"... Алексей, как ты думаешь, имеет смысл сравнивать пароль пользователя с паролем его абонента в настройках фрисвитча?
Last edited 8 years ago by san (previous) (diff)

in reply to:  8 comment:9 by alx, 8 years ago

Replying to san:

  • Насколько я понимаю у Алексея нет претензий к тому, что ты проверяешь пароль своего пользователя,

Претензия есть, и она полностью совпадает с тем, что ты написал: эта проверка бессмысленна, так как сервер уже проверил введенный пароль.

единственное что мы, может быть, при своей проверке получим более точную причину отказа авторизации: "не совпадает пароль".

Как мы ее получим, если сервер нас к себе просто не пустит? Если пользователь ввел неверный пароль, мы при всем желании ничего проверить не сможем...

comment:10 by san, 8 years ago

Если пользователь ввёл неправильный пароль - ошибка будет на этапе подключения к БД.

Ну а если, например, кто-то случайно изменил пароль пользователя в конфиге FS(ну или при смене паролей, наоборот забыл его изменить), тогда программа полключится к БД, затем к ES программа подключится с паролем взятым из БД, ну а при в авторизаци SIP ей будет отказано, и по выданой ошибке всё будет понятно.

Думаю что можно отказаться от "сверки" паролей.

comment:11 by alx, 8 years ago

А, верно. Я не подумал, что в BD может быть один пароль, а в FS - другой...

comment:12 by dimag, 8 years ago

Keywords: login password added
Resolution: fixed
Status: reopenedclosed

Александр, отказываемся от проверки пароля с паролем полученным от FreeSwitch сервера или проверяем?
Что об этом думает заказчик?

comment:13 by san, 8 years ago

Resolution: fixed
Status: closedreopened

По просьбе Димы уточняю: Нужно убрать из программы "сверку паролей".

comment:14 by alx, 8 years ago

На всякий случай еще уточню: программа не только не должна сверять пароли, она не должна их запрашивать с FS.

comment:15 by san, 8 years ago

:)

comment:16 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

r379
Сверка с паролём записанным у FreeSwitch сервера отключенна.

comment:17 by alx, 8 years ago

Увидел, что если в уже вошедшей в сеть программе я нажимаю кнопку "Play" на вкладке записей переговоров, то она (программа) запрашивает у коммутатора список конференций командой "conference list". Зачем она его запрашивает, если этот список уже был запрошен при входе в сеть?

comment:18 by alx, 8 years ago

Keywords: login, password → login password
Resolution: fixed
Status: closedreopened

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

comment:19 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

Исправленно начиная с r395

in reply to:  19 comment:20 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

Replying to dimag:

Исправленно начиная с r395

В r395 вижу все те же ненужные запросы conference list.

comment:21 by dimag, 8 years ago

Resolution: fixed
Status: reopenedclosed

r438
Список конференций не должен больше запрашиваться.

comment:22 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r438 по-прежнему вижу запросы conference list.

comment:23 by dimag, 8 years ago

Список конференций запрашивается после получения сообщения о создание создание конференции conference create.
Я не считаю эти запросы лишними, при обработке данного сообщения.

in reply to:  23 ; comment:24 by alx, 8 years ago

Replying to dimag:

Я не считаю эти запросы лишними, при обработке данного сообщения.

Объясните, пожалуйста, почему Вы не считаете эти запросы лишними, учитывая что список конференций и их участников и так есть в памяти программы. А также как это сочетается со сказанным в comment:21:

Список конференций не должен больше запрашиваться.

Last edited 8 years ago by alx (previous) (diff)

in reply to:  24 ; comment:25 by dimag, 8 years ago

Replying to alx:

Replying to dimag:

Я не считаю эти запросы лишними, при обработке данного сообщения.

Объясните, пожалуйста, почему Вы не считаете эти запросы лишними, учитывая что список конференций и их участников и так есть в памяти программы. А также как это сочетается со сказанным в comment:21:

Но не при создание новой конференции при получение сообщения conference_create

Список конференций не должен больше запрашиваться.

При обработке сообщения PlaySoundFile в потоке Commands.

in reply to:  25 comment:26 by alx, 8 years ago

Replying to dimag:

Но не при создание новой конференции при получение сообщения conference_create

Будьте добры, переведите это, пожалуйста, на русский или английский язык. Я не понимаю, что Вы написали.

Last edited 8 years ago by alx (previous) (diff)

comment:27 by dimag, 8 years ago

Я вызываю api conference [имя конференции] list только после получения сообщения о создание конференции conference-create.

in reply to:  27 comment:28 by alx, 8 years ago

Дима, зачем Вы редактируете мои комментарии? Еще раз раз прошу Вас не делать так.

comment:29 by dimag, 8 years ago

Я не меняю ваши комментарии, можете показать какой комментарий я поменял?

in reply to:  29 comment:30 by alx, 8 years ago

Replying to dimag:

Я не меняю ваши комментарии, можете показать какой комментарий я поменял?

Вы поменяли comment:26. Вот внесенное Вами исправление: ?action=comment-diff&cnum=26&version=1

comment:31 by dimag, 8 years ago

Я перепутал кнопки Ответить и Редактировать.

comment:32 by san, 8 years ago

Milestone: Текущее1 очередь

comment:33 by alx, 7 years ago

Resolution: fixed
Status: reopenedclosed

Так как старый код, взаимодействовавший с FS, (классы ESL, Commands, Events) полностью удален из проекта и переписан "с нуля", этот тикет можно считать неактуальным (см. r725). Заркываю его с резолюцией fixed.

Note: See TracTickets for help on using tickets.