конференция

Discussion in 'Web Call Server 3' started by igor_dudkin, Nov 10, 2014.

  1. igor_dudkin

    igor_dudkin New Member

    У меня есть вопрос по поводу конференции основаной на Web Call Server (НЕ wowza server!).
    Можно ли объединить несколько звонков в конференцию на стороне клиента? Я знаю что если какой-то звонок будет отвечен то клиент посылает команду hold на осталдьные текущие звонки, а мне нужно это предотвратить на стороне клиента flashphoner.
    Единственное я сомневаюсь поддерживается ли несколько потоков от WCS сервера до браузера клиента. Я имею в виду поддерживает ли это сервер.
    Возможно есть способ установить конференцию проще?
  2. Max

    Max Administrator Staff Member

    Да, вы можете транслировать любое число потоков WebRTC с страницы и проигрывать их на этой же или другой странице. Таким образом можно сделать конференцию. Также вы можете создать конференцию с помощью моста конференций SIP. В этом случае нужно просто поместить звонок с WCS в конференц-комнату SIP-моста (номер конференции).
  3. igor_dudkin

    igor_dudkin New Member

    В данный момент мы пытаемся сделать конференцию с клиентской стороны на Flash. Два и больше одновременных звонков устанавливаются нормально. Проблема в микшировании аудио потоков во флэш-клиенте.
    В чем суть:
    Два звонка устанавливают четыре NetStreams:
    Дву транслируемых звонка создаются в "/rtmfp/client/api/src/com/flashphoner/api/CallServerProxy.as" с помощью функции CallServerProxy.publish()

    и
    Два слушающих потока создаются в "/rtmfp/client/api/src/com/flashphoner/api/PhoneSpeaker.as" с помощью функции PhoneSpeaker.startNewIncomingStream()
    Мы переписали эти функции и теперь сразу несколько потоков работают одновременно, здесь все ок.
    Проблема появляется дальше.
    Т.е. у нас есть звонок 1 и звонок 2, агенты flashphoner, и четыре потока

    звонок1 -> flashphoner (поток in1)
    звонок2 -> flashphoner (поток in2)
    flashphoner -> звонок1 (поток out1)
    flashphoner -> звонок2 (поток out2)
    Для завершения конферецнии нам нужно:
    взять входное аудио из in1, смикшировать его с микрофоном и послать на out2
    И наоборот взять аудио из in2, смикшировать с микрофоном и послать на out1
    К сожалению, проблема захвата аудио из netstream и микширование с микрофоном - это практически неразрешимые задачи.
    Можете ли вы что-то посоветовать?

    Может есть какое-то иное решение? (микшировать аудио на сервере flashphoner? какой-то прокси между сервером и клиентом?)
  4. Max

    Max Administrator Staff Member

    Flash плеер не поддерживает микширование входящих аудиопотоков и не поддерживает изменение исходящего потока RTMFP.
    Потоки можно микшировать с помощью звуковой карты, т.е. если вы хотите микшировать их так, как вы написали, то нужно выдать аудио на колонки и на микрофон. Правда, здесь может возникнуть эффект эхо. Нужно проверять.
    Я уже писал ранее, что лучший способ сделать конференц-связь - использовать трансляцию WebRTC и воспроизводить потоки (без SIP), либо использовать конференц-сервер SIP (MCU) или другой софт, который позволяет микшировать аудио звонков и видео в рамках одной комнаты конференции. Управлять такой конференцией можно через API, при этом вы сможете задать любую логику приложения такой конферецнии.
    Т.е. рабочая схема выглядит так: FlashphonerClient - FlashphonerServer - Asterisk(Confbridge)

Share This Page