Opened 8 years ago
Closed 8 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)
Change History (22)
by , 8 years ago
Attachment: | console.log added |
---|
by , 8 years ago
Attachment: | debug2016-08-19.log added |
---|
by , 8 years ago
by , 8 years ago
Attachment: | Config.xml added |
---|
comment:1 by , 8 years ago
Вы запускали программу на машине без устройства аудио ввода/вывода, на что программа не рассчитана. Программа требует для своей работы устройство аудио. Если его нет, товсё будет нормально отрисовываться, но конференция не будет организовываться, так как будет невозможно разговарить и слушать.
Установите на тестовой машине аудио-адаптер.
follow-ups: 3 4 comment:2 by , 8 years ago
На самом деле, в некоторых случаях, програма может работать на компьютере без аудиоустройства. Например в старой версии программы была такая функция "Использовать Sip-телефон" , при включении которой в конференцию, вместо пользователя добавляется преднастроеный Sip-телефон. Пока эта функция не реализована, но будет.
Подключаться к конференции пользователем без аудиоустройства, пожалуй бессмыслено, но в таком случае не плохо бы вместо "Неопределенная ошибка в процессе вызова" выдавать более точную причину отказа подключения.
Алексей, ты пробовал повторить баг на машине с аудиоустройством?
comment:3 by , 8 years ago
comment:4 by , 8 years ago
comment:6 by , 8 years ago
Replying to dimag:
Как вы его обошли?
-
ESL.cpp
23 23 { 24 24 if (handle.connected) return true; 25 25 } 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;27 26 sHost = sNewHost; iPort = iNewPort; sUser = sNewUser; sPassword = sNewPassword; 27 sEventFilterString = sNewEventFilter; 28 28 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; 29 30 if (!sNewEventFilter.empty()) 30 31 { 31 32 esl_events(&handle, ESL_EVENT_TYPE_PLAIN, sNewEventFilter.c_str()); 32 33 } 33 sEventFilterString = sNewEventFilter;34 34 return true; 35 35 } 36 36
См. ticket:308#comment:9.
comment:7 by , 8 years ago
Keywords: | connection added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
r389
Понятно.
Добавлю ваш код в свою программу.
comment:8 by , 8 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:10 by , 8 years ago
comment:11 by , 8 years ago
Milestone: | Текущее → 1 очередь |
---|---|
Priority: | major → critical |
comment:13 by , 8 years ago
follow-up: 15 comment:14 by , 8 years ago
Наверное стоит проверить в последней версии, с тех пор довольно многое поменялось
comment:15 by , 8 years ago
Replying to san:
Наверное стоит проверить в последней версии,
Саша, если это ты мне, то с последней версией проверить не могу, она не собирается с Qt4.
Могу сказать, что, насколько я помню, в ревизиях позже чем r389 я видел другую причину отказа - INCOMPATIBLE DESTINATION. Это (в отличие от HANGUP) могло быть правдой.
follow-up: 17 comment:16 by , 8 years ago
не собирается с Qt4.
Хм.. насколько я помню вы с Дмитрием договорились что программа должна собираться с Qt4, наверное стоит заявить это как баг.
Дмитрий, что будем делать с багом описанным в тикете?
comment:17 by , 8 years ago
Replying to san:
не собирается с Qt4.
Хм.. насколько я помню вы с Дмитрием договорились что программа должна собираться с Qt4, наверное стоит заявить это как баг.
Мы не то чтобы об этом договаривались, просто до сих пор использование функций Qt5, отсутствующих в Qt4, не было оправдано необходимостью, всегда были аналоги, имеющиеся в обеих версиях.
Сейчас Дима применил классы типа QAudioDeviceInfo
/QAudioOutput
, прямых аналогов которых нет в Qt4. К тому же Qt4 в настоящее время, насколько я вижу, имеет статус legacy. В результате я не знаю, имеет ли смысл продолжать поддерживать совместимость с Qt4. Предлагаю принять это решение тебе. Если решишь, что надо - создай тикет.
comment:18 by , 8 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Так как уже долгое время нареканий на подключение к конференции нет, будем считать, что проблема была решена.
вывод в консоль