Latest revision |
Your text |
Line 1: |
Line 1: |
− | {{Interwiki
| |
− | | ruwiki =
| |
− | | enwiki =
| |
− | | jworld = Обсуждение:Jingle
| |
− | }}
| |
− |
| |
− | Какие генеральные проблемы мешают нормально общаться голосом и использовать видеокамеру.
| |
− | # Малое количество клиентов поддерживающих Jingle
| |
− | # Неотлаженность реализации Jingle в клиентах.
| |
− | # Конфигурация BSD-based NAT-ов - см. раздел ниже
| |
− |
| |
− | == Инструкция для пользователей ==
| |
− | * В Psi для разговора надо в правокнопочном меню контакта, с которым вы хотите поговорить выбрать Voice Call.
| |
− | * В Gajim в окне чата есть кнопка с пиктограммой старостильного микрофона и вебкамеры. Каждая из кнопок устанавливает свой тип связи. Если кнопки неактивны, а вы знаете что у собеседника все необходимое для мультимедийного звонка есть, то закройте окно и снова откройте - кнопки станут активными (это так проявляется еще неисправленная ошибка)
| |
− | * В Pidgin - в правокнопочтом меню контакта появляется Audio Call с иконкой гарнтитуры, а также Audio/Video Call с иконкой вебкамеры. Появляются они в зависимости от того, поддерживает ли контакт эти способы связи.
| |
− |
| |
− | == Ситуация с FreeBSD ==
| |
− | С FreeBSD и другими BSD-системами. По-видимому, в большинстве этим систем NAT реализуется способами, которые по умолчанию используют случайный выбор портов для установления соединения. Что является серьезным препятствием для работы Jingle. По-видимому, эта рандомизация применяется для повышения безопасности этих систем (защита от спуфинга?). На Linux такого поведения по умолчанию нет.
| |
− |
| |
− | Системным администраторам можно порекомендовать изменять поведение NAT (по-видимому, это большого влияния на безопасность это не окажет), с тем чтобы порты оставались те, которые приложение запросило и согласовало с второй стороной.
| |
− |
| |
− | ;{{w|pf}}
| |
− | Вместо nat on $ext_if from $int_net to any -> $ext_addr следует писать
| |
− | nat on $ext_if from $int_net to any -> ($ext_if) static-port
| |
− |
| |
− | Например, внутренняя сеть 192.168.5.0/24, IP на внешнем интерфейсе (единственный что есть, как указывая явно - надо уточнить), em0 - сетевой контроллер, смотрящий наруж:
| |
− | nat on em0 from 192.168.5.0/24 to any -> (em0) static port
| |
− |
| |
− | ;natd
| |
− | проверить и написать
| |
− |
| |
− | ;ipfw
| |
− | проверить и написать
| |
− |
| |
− | ;ipfilter
| |
− | проверить и написать
| |
− |
| |
| == Конфигурация сети == | | == Конфигурация сети == |
| * [[user:Binary|Binary]]: Primary: Indepndent Mapping, Port Dependent Filter, preserves ports, no hairpin | | * [[user:Binary|Binary]]: Primary: Indepndent Mapping, Port Dependent Filter, preserves ports, no hairpin |
Line 41: |
Line 4: |
| * [[user:leksey|leksey]]@дома: Primary: Port Restricted Nat, preserves ports, no hairpin (natd, FreeBSD 7.0 ''natd_enable="YES"'') | | * [[user:leksey|leksey]]@дома: Primary: Port Restricted Nat, preserves ports, no hairpin (natd, FreeBSD 7.0 ''natd_enable="YES"'') |
| * [[user:b108|b108]]: Primary: Indepndent Mapping, Port Dependent Filter, preserves ports, no hairpin (Return value is 0x000017) | | * [[user:b108|b108]]: Primary: Indepndent Mapping, Port Dependent Filter, preserves ports, no hairpin (Return value is 0x000017) |
− |
| |
− | == Сочетания клиентов ==
| |
− | * Psi+,Ubuntu - Gajim,Gentoo - ок
| |
− |
| |
| | | |
| == Версии ПО == | | == Версии ПО == |
Line 55: |
Line 14: |
| * [[Empathy]] leksey <=> [[Empathy]] b108 (21 April 2011) - не установилось даже соединение | | * [[Empathy]] leksey <=> [[Empathy]] b108 (21 April 2011) - не установилось даже соединение |
| * [[HabaHaba]] leksey <=> [[Empathy]] b108 (21 April 2011) - голос в обе стороны работал. но проблема что после минуты-другой падал флэш хабовский. | | * [[HabaHaba]] leksey <=> [[Empathy]] b108 (21 April 2011) - голос в обе стороны работал. но проблема что после минуты-другой падал флэш хабовский. |
− | * [[Jitsi]] 1.0 beta1 build 3593, Linux <=> Windows — голос работал, но видео тормозилось (фактически статично отображался первый кадр). Через пару минут завис Linux-клиент. <br/> Обновление: тестовый звонок через build 3820 ‒ качество видеосвязи улучшилось, клиент не вис.
| |
| | | |
| == Клиенты которые следует проверить == | | == Клиенты которые следует проверить == |
Line 86: |
Line 44: |
| | | |
| К слову, на FreeBSD этот результат достигается ключом «-same_ports» или «-s» в строчке запуска или конфигурационном файле демона natd. Есть возможность поставить ключ и проверить? | | К слову, на FreeBSD этот результат достигается ключом «-same_ports» или «-s» в строчке запуска или конфигурационном файле демона natd. Есть возможность поставить ключ и проверить? |
| + | |
| | | |
| == FreeBSD, Psi 0.14 + Psi-media == | | == FreeBSD, Psi 0.14 + Psi-media == |
Line 227: |
Line 186: |
| 18:42:32.969277 IP 77.198.33.58.8826 > 89.250.9.95.35691: UDP, length 62 | | 18:42:32.969277 IP 77.198.33.58.8826 > 89.250.9.95.35691: UDP, length 62 |
| --> | | --> |
− |
| |
− | == FreeBSD, [[Gajim]] ==
| |
− | Gajim не ниже версии 0.14.1 должно быть - до этого поддержки голоса не было. Старый клиент можно заметить еще и потому что в у него настройках нету вкладки ''Audio/Video''.
| |
− |
| |
− | С моей стороны публичный IP, у собеседников NATы неизвестного типа. У первого Gentoo, у второго Debian.
| |
− |
| |
− | Обновил порты, установил на днях обновившийся gajim-0.14.3. Все OPTIONS по умолчанию оставлены. Соответственно, [x]DBUS взведен
| |
− | make install clean -C /usr/ports/net-im/gajim
| |
− |
| |
− | {{свернуть|заголовок=Подробности установки|
| |
− | make showconfig-recursive -C /usr/ports/net-im/gajim
| |
− | ===> The following configuration options are available for gajim-0.14.3 and dependencies
| |
− | ===> The following configuration options are available for gajim-0.14.3:
| |
− | DBUS=on "Adds support for D-Bus (Desktop Bus)"
| |
− | NLS=on "Native Language Support via gettext utilities"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for python27-2.7.2:
| |
− | THREADS=on "Enable thread support"
| |
− |
| |
− | HUGE_STACK_SIZE=off "Use a larger thread stack"
| |
− | SEM=off "Use POSIX semaphores (experimental)"
| |
− | PTH=off "Use GNU Pth for threading/multiprocessing"
| |
− | UCS4=on "Use UCS4 for unicode support"
| |
− | PYMALLOC=on "Use python's internal malloc"
| |
− | IPV6=on "Enable IPv6 support"
| |
− | FPECTL=off "Enable floating point exception handling"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for py27-gtk-2.22.0_2:
| |
− | NUMPY=off "Enable numpy support (pulls in gcc44)"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for glib-2.26.1_1:
| |
− | COLLATION_FIX=off "fix string collation"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for gtk-2.22.1_1:
| |
− | CUPS=on "Enable cups printing support"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for libglade2-2.6.4_4:
| |
− | PYTHON=on "Use Python"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for perl-5.12.3:
| |
− | DEBUGGING=off "Build with debugging support"
| |
− | GDBM=off "Build GDBM_File extension"
| |
− | PERL_MALLOC=off "Use Perl malloc"
| |
− | PERL_64BITINT=on "Use 64 bit integers (on i386)"
| |
− | THREADS=off "Build threaded perl"
| |
− | MULTIPLICITY=off "Use multiplicity"
| |
− | SITECUSTOMIZE=off "Run-time customization of @INC"
| |
− | USE_PERL=on "Rewrite links in /usr/bin"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for libiconv-1.13.1_1:
| |
− | EXTRA_ENCODINGS=on "Include extra character sets"
| |
− | EXTRA_PATCHES=off "Apply patches to fix CP932, add EUCJP-MS"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for enchant-1.6.0:
| |
− | ASPELL=on "Enable Aspell backend"
| |
− | HSPELL=off "Enable Hspell backend"
| |
− | HUNSPELL=off "Enable Hunspell backend"
| |
− | ISPELL=off "Enable Ispell backend"
| |
− | ZEMBEREK=off "Enable zemberek backend (requires DBUS)"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for cups-client-1.4.6:
| |
− | GNUTLS=on "Build with GNUTLS library"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for cairo-1.10.2_2,1:
| |
− |
| |
− | GL=off "Enable OpenGL Support"
| |
− | XCB=on "Enable XCB (X C-language Binding) Support"
| |
− | GLIB=on "Enable GObject Functions Feature"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for sqlite3-3.7.6.3:
| |
− | FTS3=on "Enable FTS3/4 (Full Text Search) module"
| |
− | ICU=off "Enable built with ICU"
| |
− | RTREE=off "Enable R*Tree module"
| |
− | RAMTABLE=off "Store temporary tables in RAM = yes"
| |
− | UPD_DEL_LIMIT=off "ORDER BY and LIMIT on UPDATE and DELETE"
| |
− | SOUNDEX=off "Enables the soundex() SQL function"
| |
− | METADATA=on "Enable column metadata"
| |
− | STAT2=off "Help SQLite to chose a better query plan"
| |
− | MEMMAN=off "Allows it to release unused memory"
| |
− | SECURE_DELETE=on "Overwrite deleted information with zeros"
| |
− | UNLOCK_NOTIFY=on "Enable notification on unlocking"
| |
− | THREADSAFE=on "Build thread-safe library"
| |
− | EXTENSION=on "Allow loadable extensions"
| |
− | TCLWRAPPER=off "Enable TCL wrapper"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for gamin-0.1.10_4:
| |
− | GAM_POLLER=off "Use gamin's poller instead of kqueue's"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for libxslt-1.1.26_2:
| |
− | MEM_DEBUG=off "Enable memory debugging"
| |
− | CRYPTO=on "Enable crypto support for exslt"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for png-1.4.5:
| |
− | APNG=off "Animated PNG support"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for jasper-1.900.1_9:
| |
− | OPENGL=off "OpenGL support"
| |
− | UUID=off "UUID support (required by GDAL)"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for pixman-0.22.0:
| |
− | SIMD=off "Enable autodetection of SIMD features (MMX, SSE2, VMX)"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for tcl-8.5.10:
| |
− | TCL85_MAN=off "Install tcl 8.5 function manpages"
| |
− | TZDATA=off "Install tcl timezone data"
| |
− | TCL_MODULES=on "Install tcl common modules"
| |
− | ===> Use 'make config' to modify these settings
| |
− | ===> The following configuration options are available for m4-1.4.16,1:
| |
− | LIBSIGSEGV=off "Use libsigsegv for better diagnostics"
| |
− | ===> Use 'make config' to modify these settings
| |
− | }}
| |
− |
| |
− | На вкладке Audio/Video в настройках Gajim все контролы заблокированы.
| |
− |
| |
− | Установил програмный каркас [[w:en:Farsight|Farsight]].
| |
− | make install clean -C /usr/ports/net-im/farsight2
| |
− |
| |
− | На вкладке Audio/Video появились слова Autodetect, но никакие явные названия устройств не отображаются (так на всех системах выглядит).
| |
− |
| |
− | [[File:Gajim-audio video tab.png|center]]
| |
− |
| |
− | Собеседник с Debian выполнил
| |
− | apt-get install gajim
| |
− | apt-get install python-farsight
| |
− |
| |
− | В окне чата, контакта который поддерживает передачу звука (в этом случае был другой Gajim) кнопки с изображением микрофона и камеры активные. По нажатию на первую установилось соединение. Но меня не слышно. В самом окне после установления соединения появляется уровень микрофона и звука, но все равно не слышно.
| |
− |
| |
− | Выполнил в консоли (до этого было Mixer mic is currently set to 0:0)
| |
− | mixer mic 100
| |
− | Стало меня слышно. Регулятор микрофона тоже стал влиять на уволень звука.
| |
− |
| |
− | Интерфейс для звонков достаточно простой - кнопкой с трубкой нажал - вызов пошел. У собеседника появляется окно с предложением ответить на звонок. Для установления видеосоединения надо нажать кнопку с веб-камерой. Соответственно, нажуно нажать две кнопки, придет два запроса, с которыми нужно согласиться. Т.е. установка видеосоединения не приводит к автоматическому аудиосоединению.
| |
− |
| |
− | При работе столкнулись с тем, что при одновременном вызове друг друга мессаджбоксы с запросам зависают и не реагируют на выбранный в них вариант.
| |
− |
| |
− | В Gajim существует баг (нужно указать номер в траке для контроля), что для видеосвязи камеры должны быть у обоих участников. также есть момент с тем что кнопка видеовызова активна вне зависимости от возможностей оппонента и собственных - она всегда активна, когда есть возможность общения голосом (т.е. есть Jingle).
| |
− |
| |
− | Также есть еще ошибка, при которой кнопки голосового и видеовызова неактивны (хотя клиент собеседника имеет необходимые возможности) - для этого надо закрыть окно чата и открыть его повторно.
| |
− |
| |
− | Еще один баг заключается в том, что если вы один раз не приняли вызов, то он подвисает и нельзя уже согласиться с последующими вызовами. Это исправляется только перезапуском клиента.
| |
− |
| |
− | ;Вариант NAT-NAT
| |
− | На той же вкладке Audio/Video указывается ''stun.iptel.org''
| |
− |
| |
− | == FreeBSD + [[Empathy]] ==
| |
− | Сломана сборка из порта - [http://lists.pcbsd.org/pipermail/pbibuild/2011-June/034842.html см вывод Make]. Отписал на gnome@freebsd.org
| |
− |
| |
− | == FreeBSD + [[Jitsi]] ==
| |
− | В портах отсутствует.
| |
− |
| |
− | == FreeBSD + [[Psi+]] ==
| |
− | В портах нет, готовые сборки только под i386. Собрать [http://psi-plus.com/wiki/doku.php/ru:freebsd по инструкции] самостоятельно пока не получилось.
| |
− |
| |
− | == Отладка ==
| |
− | У Psi выводятся сообщения в STDOUT, но все равно единственный вариант это tcpdump:
| |
− | tcpdump -n -i age0 "udp and (src 217.25.221.127 or dst 217.25.221.127)"
| |