Polycom + PFSense 2.3.2



  • Здравствуйте всем.
    Вобщем был настроен поликом на 2.0 версии, все работало через NAT 1:1.
    После обновления вызов стал прекращаться каждые 10 минут. Не могу разобраться в чем проблема. Но грешу на Nat Reflection у меня он для правила поликома выключен (disable). У кого какие мысли?



  • Здравствуйте, у нас в компании работает Polycom, но версия PFsense 2.2.5 и работа осуществляется не через NAT 1:1, а посредством проброса портов Port Forward. Глюков замечено не было. Если интересно могу выложить - что пробрасывали и как.



  • Былобы очень интересно.
    Сейчас просматриваю таймауты. Может что поможет. Както странно отрубает через ровно 10 минут.



  • 2 all
    Ув. коллеги.
    Есть отличная работающая альтернатива Polycom-у.
    Это открытое решение Spreed.ME + Webrtc + coTurn (+ Nginx для авторизации). Видео вплоть до FullHD (зависит от вашего оборудования и скорости сети у вас и клиентов).

    Шифрование всего трафика. Кол-во участников конференции неограничено. Можно одновременно вести нес-ко конференций (комнаты)
    Работает за NAT. Разворачивал у себя.

    Также есть в виде дополнения для Nextcloud - https://nextcloud.com/webrtc/

    P.s. Для себя (!) написал простенькую инс-цию (Debian 8 x64). Пользуйте.

    First download go

    cd /root
    wget https://storage.googleapis.com/golang/go1.7.x.linux-amd64.tar.gz
    tar xzvf go1.7.x.linux-amd64.tar.gz
    mv go/ /usr/local
    nano /root/.profile

    add after fi and before mesg n
    export PATH=$PATH:/usr/local/go/bin

    I also run this command straight from the command line to make available instantly

    export PATH=/opt/bin:/usr/local/bin:/usr/contrib/bin:/bin:/usr/bin:/usr/sbin:/usr/bin/X11

    export PATH=$PATH:/usr/local/go/bin

    Now test if go can be found and is working

    go version
    go version go1.7.1 linux/amd64

    To install the latest stable version of Nginx available on the Debian repositories, run:

    nano /etc/apt/sources.list.d/nginx.list

    #nginx mainline
    deb http://nginx.org/packages/mainline/debian/ jessie nginx
    deb-src http://nginx.org/packages/mainline/debian/ jessie nginx

    wget -O - http://nginx.org/keys/nginx_signing.key | apt-key add -

    apt-get update && apt-get dist-upgrade && apt-get autoremove && apt-get autoclean

    apt install nginx -y

    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/webrtc.key -out /etc/nginx/ssl/webrtc.crt
    openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

    chmod 700 /etc/nginx/ssl/ && chmod 600 /etc/nginx/ssl/*

    Now install WebRTC

    First we need some more packages. Git and node.js

    apt install wget git build-essential nodejs make automake autoconf -y

    cd /var/www
    wget https://github.com/strukturag/spreed-webrtc/archive/master.zip
    unzip master.zip
    rm master.zip

    cd spreed-webrtc
    ./autogen.sh
    ./configure
    make

    cp server.conf.in server.conf && nano server.conf

    Generate sessionSecret = and encryptionSecret =  with openssl rand -hex 32

    Restart the Spreed WebRTC server to reload its configuration
    cd /var/www/spreed-webrtc-master && ./spreed-webrtc-server

    This command makes spreed run in the forground. Use the next command to run in background (at least until your next boot. U can ofcourse make a init script. Please leave samples below i’m not that good in init scripts)

    nohup ./spreed-webrtc-server > /dev/null 2>&1 &

    Check if it is running

    ps -e |grep spreed

    Kill webrtc (or any other process)
    /bin/ps aux | grep 'spreed' | awk '{print $2}' | xargs sudo kill -9

    Now the Spreed.me app is installed and configured
    –----------

    If you are installing the coturn package in Debian, Ubuntu or Mint, or if you installing the "turnserver" port in FreeBSD, or if you are installing one of the supplied binaries in the "downloads" section of the project, then the OS and the third party packages are installed automatically. The instrudctions below are for those who are setting the TURN server from scratch.

    Before installing and configuring the TURN server, the latest stable libevent library should be downloaded, built and installed:

    https://github.com/libevent/libevent/releases
    https://gist.github.com/chathudan/2024fc8ab182d789205d

    $ wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

    As root, build and install the library with the usual:
    $ tar xvfz libevent-2.0.21-stable.tar.gz
    $ cd libevent-2.0.21-stable
    $ ./configure
    $ make
    $ make install

    --
    Coturn installation

    We assume that you are installing the Coturn from the sources.

    apt-get update && apt-get dist-upgrade && apt-get autoremove && apt-get autoclean -y
    apt-get install libssl-dev libevent-dev libhiredis-dev make -y    # install the dependencies

    Download the TURN server from https://github.com/coturn/coturn/wiki/Downloads. Build and install with:
    wget http://turnserver.open-sys.org/downloads/x.x.x.x/turnserver-x.x.x.x.tar.gz
    tar -zxvf turnserver-xxx.tar.gz
    cd turnserver-*
    ./configure
    make
    make install

    If your OS is Redhat / Centos / Fedora : sudo yum install openssl-devel

    nano /usr/local/etc/turnserver.conf

    #listening-port нужно будет пробросить на fw
    listening-port=8443
    alt-listening-port=3478
    fingerprint
    lt-cred-mech
    use-auth-secret

    static-auth-secret генерируем с пом. ком. openssl rand -hex 32

    static-auth-secret=7602fc0cd4dc799de9cdca691f5dfe415c90674b4a63d4ae611ce6563a0ca44b
    #realm реальный IP или dyn\dns имя
    realm=1.1.1.1
    total-quota=100
    bps-capacity=0
    stale-nonce
    cipher-list="ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AES:RSA+3DES:!ADH:!AECDH:!MD5"
    log-file=/var/log/turnserver.log
    no-loopback-peers
    no-multicast-peers

    Исп. сертификат,ключ,dh от nginx ssl

    cert=/etc/nginx/ssl/webrtc.crt
    pkey=/etc/nginx/ssl/webrtc.key
    dh-file=/etc/nginx/ssl/dhparam.pem

    nano /var/www/spreed-webrtc/server.conf

    ; Minimal Spreed WebRTC configuration for Nextcloud

    [http]
    ; Если нужно слушать все интерфейсы, то listen = 0.0.0.0:8080
    listen = 127.0.0.1:8080

    [app]
    sessionSecret = 6c2d67b01053bd6b6a5fd1c81fa151e7348f7ddec22508f2964f26824d21bexx
    encryptionSecret = 5bf643bf24469cb60e419569a66bef23bda3466b17fcdc677a079d9bbd2e8cxx
    ;authorizeRoomJoin = true
    ;serverToken = 7f6a45fdfcc74985ece3ae1152414480ec424602d13e702bec334df637e35dxx
    serverRealm = local
    ; turnURIs указывать реальный внешний IP или dyn\dns имя и протокол
    turnURIs = turn:1.1.1.1:8443?transport=udp
    ; turnSecret брать из turnserver.conf (openssl rand -hex 32)
    turnSecret = 7602fc0cd4dc799de9cdca691f5dfe415c90674b4a63d4ae611ce6563a0ca4xx

    [users]
    enabled = true
    mode = sharedsecret
    sharedsecret_secret = e2047a0bd76d478d3a42d01b953f264641b13e4ca778db2777f3aa89a85222xx

    After run webrtc server
    $ cd /var/www/spreed-webrtc/ && nohup ./spreed-webrtc-server > /dev/null 2>&1 &

    Check if it is running
    ps -e |grep spreed

    And run coturn
    $ nohup turnserver > /dev/null 2>&1 &

    Check if it is running
    ps -e | grep turn

    Kill webrtc (or any other process)
    /bin/ps aux | grep 'spreed' | awk '{print $2}' | xargs sudo kill -9
    –------

    Настройка HTTP-аутентификации на Nginx в Ubuntu 14.04
    https://www.8host.com/blog/nastrojka-http-autentifikacii-na-nginx-v-ubuntu-14-04/

    Можно и без аутентификации на nginx. Почему ? Потому что можно каждый раз генерировать новое произвольное название
    комнаты для конференции и озвучивать его только для ваших клиентов.



  • Я бы с радостью. Но министерство спустило данное оборудование и надо чтобы оно работало.



  • @Bansardo:

    Я бы с радостью. Но министерство спустило данное оборудование и надо чтобы оно работало.

    Поднять и потестить крайне рекомендую. Реально может пригодиться. Особенно в случае выхода из строя Polycom  ::)