Opened 8 years ago

Closed 7 years ago

#310 closed баг (fixed)

Пульт не подключается к конференциям

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

Description

Попытка подключиться к любой конференции заканчивается неудачей. "Плашка" пользователя в конференции красная, ошибка "Неопределенная ошибка в процессе вызова".

Проверялось с r339 под Ubuntu 14.04 и 16.04 разных архитектур (amd64 и i386).

Логи прилагаю.

Attachments (4)

console.log (9.3 KB ) - added by alx 8 years ago.
вывод в консоль
debug2016-08-19.log (1.2 KB ) - added by alx 8 years ago.
main.log (757 bytes ) - added by alx 8 years ago.
Config.xml (1.2 KB ) - added by alx 8 years ago.

Download all attachments as: .zip

Change History (22)

by alx, 8 years ago

Attachment: console.log added

вывод в консоль

by alx, 8 years ago

Attachment: debug2016-08-19.log added

by alx, 8 years ago

Attachment: main.log added

by alx, 8 years ago

Attachment: Config.xml added

comment:1 by dimag, 8 years ago

Вы запускали программу на машине без устройства аудио ввода/вывода, на что программа не рассчитана. Программа требует для своей работы устройство аудио. Если его нет, товсё будет нормально отрисовываться, но конференция не будет организовываться, так как будет невозможно разговарить и слушать.
Установите на тестовой машине аудио-адаптер.

comment:2 by san, 8 years ago

На самом деле, в некоторых случаях, програма может работать на компьютере без аудиоустройства. Например в старой версии программы была такая функция "Использовать Sip-телефон" , при включении которой в конференцию, вместо пользователя добавляется преднастроеный Sip-телефон. Пока эта функция не реализована, но будет.

Подключаться к конференции пользователем без аудиоустройства, пожалуй бессмыслено, но в таком случае не плохо бы вместо "Неопределенная ошибка в процессе вызова" выдавать более точную причину отказа подключения.

Алексей, ты пробовал повторить баг на машине с аудиоустройством?

in reply to:  2 comment:3 by alx, 8 years ago

Replying to san:

Алексей, ты пробовал повторить баг на машине с аудиоустройством?

Нет. На имеющейся у меня машине с аудио-устройством (моем рабочем компьютере) я не могу войти в систему из-за бага #308. Когда и если эта проблема будет решена, обязательно проверю.

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

Replying to san:

Алексей, ты пробовал повторить баг на машине с аудиоустройством?

Теперь пробовал (баг #308 не то чтобы поборол, но "обошел"). Не вопроизводится. В смысле, подключается в конференцию.

comment:5 by dimag, 8 years ago

Как вы его обошли?

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

Replying to dimag:

Как вы его обошли?

  • ESL.cpp

     
    2323 {
    2424  if (handle.connected) return true;
    2525 }
    26  if (esl_connect(&handle, sNewHost.c_str(), (iNewPort) ? iNewPort : 8021, sNewUser.empty() ? NULL : sNewUser.c_str(), sNewPassword.empty() ? NULL : sNewPassword.c_str()) != ESL_SUCCESS) return false;
    2726 sHost = sNewHost; iPort = iNewPort; sUser = sNewUser; sPassword = sNewPassword;
     27 sEventFilterString = sNewEventFilter;
    2828 if (!MUTEX) esl_mutex_create(&MUTEX);
     29 if (esl_connect(&handle, sNewHost.c_str(), (iNewPort) ? iNewPort : 8021, sNewUser.empty() ? NULL : sNewUser.c_str(), sNewPassword.empty() ? NULL : sNewPassword.c_str()) != ESL_SUCCESS) return false;
    2930 if (!sNewEventFilter.empty())
    3031 {
    3132  esl_events(&handle, ESL_EVENT_TYPE_PLAIN, sNewEventFilter.c_str());
    3233 }
    33  sEventFilterString = sNewEventFilter;
    3434 return true;
    3535}
    3636

См. ticket:308#comment:9.

comment:7 by dimag, 8 years ago

Keywords: connection added
Resolution: fixed
Status: newclosed

r389
Понятно.
Добавлю ваш код в свою программу.

comment:8 by alx, 8 years ago

Resolution: fixed
Status: closedreopened

В r389 проблема по-прежнему пристуствует. Симптомы те же, только вместо "Неопределенная ошибка в процессе вызова" теперь пишется "HANGUP" - см. #382.

comment:9 by dimag, 8 years ago

Как её воспроизвести?

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

Replying to dimag:

Как её воспроизвести?

Зайдите на 192.168.0.63 как описано здесь, запустите пульт, войдите в сеть и попробуйте добавить себя в любую конференцию.

comment:11 by san, 8 years ago

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

comment:12 by san, 7 years ago

Алексей, баг всё ещё присутствует?

in reply to:  12 comment:13 by alx, 7 years ago

Replying to san:

Алексей, баг всё ещё присутствует?

Вас интересует, присутствует ли баг в какой ревизии программы? В r339 и r389 он был, в других я специально не проверял.

comment:14 by san, 7 years ago

Наверное стоит проверить в последней версии, с тех пор могло что-то поменяться.
Проанализировать изменения будет сложнее чем проверить)

Last edited 7 years ago by san (previous) (diff)

in reply to:  14 comment:15 by alx, 7 years ago

Replying to san:

Наверное стоит проверить в последней версии,

Саша, если это ты мне, то с последней версией проверить не могу, она не собирается с Qt4.
Могу сказать, что, насколько я помню, в ревизиях позже чем r389 я видел другую причину отказа - INCOMPATIBLE DESTINATION. Это (в отличие от HANGUP) могло быть правдой.

comment:16 by san, 7 years ago

не собирается с Qt4.

Хм.. насколько я помню вы с Дмитрием договорились что программа должна собираться с Qt4, наверное стоит заявить это как баг.

Дмитрий, что будем делать с багом описанным в тикете?

in reply to:  16 comment:17 by alx, 7 years ago

Replying to san:

не собирается с Qt4.

Хм.. насколько я помню вы с Дмитрием договорились что программа должна собираться с Qt4, наверное стоит заявить это как баг.

Мы не то чтобы об этом договаривались, просто до сих пор использование функций Qt5, отсутствующих в Qt4, не было оправдано необходимостью, всегда были аналоги, имеющиеся в обеих версиях.

Сейчас Дима применил классы типа QAudioDeviceInfo/QAudioOutput, прямых аналогов которых нет в Qt4. К тому же Qt4 в настоящее время, насколько я вижу, имеет статус legacy. В результате я не знаю, имеет ли смысл продолжать поддерживать совместимость с Qt4. Предлагаю принять это решение тебе. Если решишь, что надо - создай тикет.

comment:18 by alx, 7 years ago

Resolution: fixed
Status: reopenedclosed

Так как уже долгое время нареканий на подключение к конференции нет, будем считать, что проблема была решена.

Note: See TracTickets for help on using tickets.