По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Cisco Unity Connection (CUC) это решение, которое создано для обеспечения обмена голосовыми сообщениям в корпоративной сети и удовлетворения целого множества других бизнес – требований. Пользователи CUC могу прослушивать оставленные для них голосовые сообщения с помощью телефона, технологий по распознаванию речи и множества других клиентских приложений. Гибкий интерфейс администратора, позволяет легко настраивать приложения для конвертации текста в речь с целью удовлетворения бизнеса. CUC – масштабируется до 20 000 пользователей в рамках одного сервера. Если необходима поддержка большего количества пользователей, решение позволяет одновременно разворачивать до 10 серверов а так же поддерживает кластеризацию. Начиная с версии 8.5, поддерживается Unified Messaging, который обеспечивает синхронизацию голосовой почты с Exchange сервером. С версии 7.x, CUC поддерживает кластерные пары модели «active-active», в рамках которой обеспечивается высокий показатель отказоустойчивости и масштабируемости по сравнению с единичным сервером. Важно отметить, что Cisco Unity поддерживает протокол VPIM (Voice Profile for Internet Mail), который описан в RFC 2423 и RFC 3801 и обеспечивает использование различных платформ для голосовой почты таких производителей как Cisco, Nortel или Avaya, в рамках одной сети. Для организаций, которым не нужна крупная и сильно производительная система, существует возможность инсталляции CUC как части Cisco Unified Communications Manager Business Edition, который совмещает в себе функционал CUCM и CUC в рамках единого сервера, с возможностью поддержки до 500 телефонных аппаратов и пользователей голосовой почты и 24 порта Unity Connection. Разработанный специально для среднего бизнеса, Business Edition не обладает такими высокими показателями масштабируемости и отказоустойчивости, однако является привлекательным решением с точки зрения цены и удобства администрирования. Администраторы, которые поработил с интерфейсом Cisco Unified Communications Manager смогут оценить достоинства интерфейса CUC. Так же как и CUCM, Unity использует операционную систему на базе Linux с базой данных IBM Informix. Схожесть интерфейса, обеспечит быструю адаптацию администратора к интерфейсу Unity Connection. Более того, многие конфигурационные параметры настраиваются идентично на CUCM и CUC, например, такие как настройка интеграции с AD по протоколу Lightweight Directory Access Protocol (LDAP). Итог В итоге, хочется подчеркнуть следующие особенности Cisco Unity Connection: Обеспечение обмена голосовой почтой для 20 000 пользователей в рамках одного сервера. CUC использует VPIM для увеличение числа пользователей (свыше 20 000) Cisco Unity Connection использует ОС Linux и базу данных IBM Informix для хранения конфигурации и сообщений.
img
В сегодняшней статье поговорим об одном очень полезном инструменте Asterisk, который называется Call Flow. Данный инструмент позволяет управлять отправкой вызовов на основании положения переключателя. Переключатель может находиться в режиме Normal и Override. По сути, данный функционал является чем-то наподобие тумблера. Когда он в положении “включено”, входящие звонки будут отправляться по одному назначению, когда “выключено”, по другому. Например, в рабочие часы, необходимо настроить отправку входящих звонков на специальную ринг-группу, а в нерабочие – на IVR. С такой задачей поможет справиться модуль Time Conditions. Но если компания не имеет чётко определенного рабочего времени, то данный модуль уже не поможет, поскольку он переключает режим обработки вызовов автоматически в определенно заданное время. /p> С помощью Call Flow переключить “тумблер” можно в любое время и нужный режим обработки вызовов сохранится до тех пор, пока не будет изменен вручную. Для переключения режимов в Call Flow предусмотрены специальные коды (feature code). Существует 100 кодов (0-99), каждый из которых может включать определенный режим обработки вызовов. Чтобы использовать Call Flow нужно ввести специальный индекс ( 0-99) и дополнить его специальным кодом -28. Например, если индекс– 1, то feature code, включающий Call Flow будет *281. Call Flow Control Рассмотрим модуль Call Flow Control на примере FreePBX 13. Для того, чтобы открыть панель управления модулем, переходим по следующему пути Applications -> Call Flow. По умолчанию, никаких записей нет. Жмём кнопку Add и перед нами открывается панель добавления нового переключателя. Рассмотрим основные параметры, которые нужно настроить: Call Flow Toggle Feature Code Index – Индекс переключателя. Как было сказано ранее, каждый feature code модуля Call Flow начинается с *28. Индекс это последняя часть кода, который может иметь значения от 0 до 99. Если вы выбрали 1 в качестве индекса, то код будет *281, если 78, то *2878 и так далее. Description – Описание помогает быстро идентифицировать нужный переключатель среди остальных в списке. Current Mode – Текущий режим. Выбор начального состояния переключателя Normal (Green/BLF off) или Override (Red/BLF on). Позднее эти кнопки (в дополнение к feature code’у) можно использовать для изменения режима. Normal (Green/BLF off) - Эта настройка говорит о том, что звонки отправляются по стандартному назначению. Если на телефоне есть BLF, запрограммированный под данный feature code, то в данном состоянии лампочка будет гореть зеленым или не гореть вообще. Override (Red/BLF on) – Эта настройка, говорит о том, что звонки отправляются по другому (нестандартному) назначению. Если на телефоне есть BLF запрограммированный под данный feature code, то в данном состоянии лампочка будет гореть красным. Recording for Normal Mode – Позволяет настроить запись, которая будет проигрываться при переключении в нормальный режим. По умолчанию, сначала будет гудок (beep), а затем объявление о том, что feature code деактивирован. Вы можете записать собственное объявление при помощи модуля System Recordings Optional Password – Опционально можно настроить специальный пароль для использования данного feature code’а. Пользователь, желающий воспользоваться кодом, должен будет сначала ввести пароль на своём телефоне. Normal Flow Destination – Назначение, куда должны отправляться входящие звонки, когда переключатель находится в режиме Normal (Green/BLF off). Это может быть любое назначение на PBX, как то внутренний номер, IVR, ринг группа и т.д. Override Flow – Это назначение, куда должны отправляться вызову, когда переключатель находится в режиме Override (Red/BLF on). Это может быть любое назначение на PBX, как то внутренний номер, IVR, ринг группа и т.д. На примере ниже мы создали переключатель, который в нормальном режиме отправляет все звонки на IVR, а когда включен – на Announcement, который уведомит абонентов о том, что компания не работает. Для использования данного feature code’а, необходимо ввести на телефоне *2852
img
Многие слышали, но боялись "пощупать" страшного зверя по имени FreeSwitch (FS). Уверяю Вас, что страшного ничего нет. Правда придется перестроить свои мозги на его понимание. Он сильно отличается от Asterisk. И хотя FS такая же программная АТС как и Asterisk, но задачи у них разные. FS позиционируется как "провайдерская" АТС, а Asterisk офисный вариант. Несмотря на это, я его использую даже, как говорится, "для дома, для семьи", то есть дома на одноплатнике Orange PI Plus 2E. Так как на нем стоит Ubuntu 16, то описывать установку я буду для Ubuntu из исходников. Если кому-то нужно попроще, то может установить на Debian (разработчики именно его рекомендуют. Как поставить из пакетов можно почитать здесь https://freeswitch.org/confluence/display/FREESWITCH/Linux А для самых искушенных даже на Windows :) https://freeswitch.org/confluence/display/FREESWITCH/Windows Сначала необходимо выполнить обновление системы: apt-get update apt-get upgrade Установим зависимости: apt-get install autoconf automake devscripts gawk g++ git-core libjpeg-dev libncurses5-dev libtool make python-dev gawk pkg-config libtiff5-dev libperl-dev libgdbm-dev libdb-dev gettext libssl-dev libcurl4-openssl-dev libpcre3-dev libspeex-dev libspeexdsp-dev libsqlite3-dev libedit-dev libldns-dev libpq-dev libtool-bin libopus-dev libshout3-dev libmpg123-dev libmp3lame-dev libsndfile-dev libavresample-dev libswscale-dev libpng-dev libpng++-dev mpg123 После этого перезагружаемся: reboot Создаем папку и клонируем гит: cd /usr/src git clone -b v1.6 https://freeswitch.org/stash/scm/fs/freeswitch.git cd /usr/src/freeswitch ./bootstrap.sh –j Подключаем необходимые модули: mcedit modules.conf + mod_rtmp + mod_directory + mod_callcenter + mod_dingaling + mod_shout + mod_cidlookup + mod_curl + mod_xml_curl Мне нужно было использовать zrtp и хранить данные в базе PostgreSQL (кстати, разработчики считают MySQL недобазой :)) Собираем с ключами: ./configure --enable-zrtp --enable-core-pgsql-support make make install Если при сборке FS ругается на openssl (switch_core_cert.lo) или что то подобное, то нужно проверить версию. Под 1.1.0 не устанавливается. Нужно ставить 1.0.2 Устанавливаем звуковые файлы: 8 kHz Standard Audio make sounds-install make moh-install 16 kHz High Definition Audio make hd-moh-install make hd-sounds-install 32 kHz Ultra High Definition Audio make uhd-moh-install make uhd-sounds-install 48 kHz CD Quality Audio make cd-sounds-install make cd-moh-install Установим русские звуковые файлы: make sounds-ru-install make cd-sounds-ru-install make uhd-sounds-ru-install make hd-sounds-ru-install Установим права и владельцев: adduser --disabled-password --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup daemon freeswitch chown -R freeswitch:daemon /usr/local/freeswitch/ chmod -R o-rwx /usr/local/freeswitch/ Создадим init скрипт для запуска /etc/init.d/freeswitch: #!/bin/bash ### BEGIN INIT INFO # Provides: freeswitch # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: Freeswitch debian init script. # Author: Matthew Williams # ### END INIT INFO # Do NOT "set -e" # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin DESC="Freeswitch" NAME=freeswitch DAEMON=/usr/local/freeswitch/bin/$NAME DAEMON_ARGS="-nc" PIDFILE=/usr/local/freeswitch/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME FS_USER=freeswitch FS_GROUP=daemon # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. # Depend on lsb-base (>= 3.0-6) to ensure that this file is present. . /lib/lsb/init-functions # # Function that sets ulimit values for the daemon # do_setlimits() { ulimit -c unlimited ulimit -d unlimited ulimit -f unlimited ulimit -i unlimited ulimit -n 999999 ulimit -q unlimited ulimit -u unlimited ulimit -v unlimited ulimit -x unlimited ulimit -s 240 ulimit -l unlimited return 0 } # # Function that starts the daemon/service # do_start() { # Set user to run as if [ $FS_USER ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -u $FS_USER" fi # Set group to run as if [ $FS_GROUP ] ; then DAEMON_ARGS="`echo $DAEMON_ARGS` -g $FS_GROUP" fi # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null -- || return 1 do_setlimits start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --background -- $DAEMON_ARGS || return 2 # Add code here, if necessary, that waits for the process to be ready # to handle requests from services started subsequently which depend # on this one. As a last resort, sleep for some time. } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Wait for children to finish too if this is a daemon that forks # and if the daemon is only ever run from this initscript. # If the above conditions are not satisfied then add some other code # that waits for the process to drop all resources that could be # needed by services started subsequently. A last resort is to # sleep for some time. start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON [ "$?" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f $PIDFILE return "$RETVAL" } # # Function that sends a SIGHUP to the daemon/service # do_reload() { # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME return 0 } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; esac ;; status) status_of_proc -p $PIDFILE $DAEMON $NAME && exit 0 || exit $? ;; #reload|force-reload) # # If do_reload() is not implemented then leave this commented out # and leave 'force-reload' as an alias for 'restart'. # #log_daemon_msg "Reloading $DESC" "$NAME" #do_reload #log_end_msg $? #;; restart|force-reload) # # If the "reload" option is implemented then remove the # 'force-reload' alias # log_daemon_msg "Restarting $DESC" "$NAME" do_stop case "$?" in 0|1) do_start case "$?" in 0) log_end_msg 0 ;; 1) log_end_msg 1 ;; # Old process is still running *) log_end_msg 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 3 ;; esac exit 0 Установим ссылку на CLI cd /usr/local/bin/ ln -s /usr/local/freeswitch/bin/fs_cli fs_cli Проверим всё ли запускается: cd /usr/local/freeswitch/bin ./freeswitch freeswitch@s02d> sofia status (или просто нажимаем F5) freeswitch@s02d> list_users Если нет ошибок, и высветились профили и пользователи, то можно отключаться: freeswitch@s02d> shutdown Меняем стандартный пароль для всех пользователей (указав свой): mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="default_password=lkhd456hkhggl2"/> Включаем русский язык, если нужно: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/ru/RU/elena"/> <X-PRE-PROCESS cmd="set" data="default_language=ru"/> После правки применяем изменения: fs_cli -x "reloadxml" Устанавливаем необходимые кодеки: mcedit /usr/local/freeswitch/conf/vars.xml <X-PRE-PROCESS cmd="set" data="global_codec_prefs=OPUS,PCMU,PCMA,VP8"/> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=OPUS,PCMU,PCMA,VP8"/> Ну и в конце стартуем FS: service freeswitch start Для подключения к FS используем следующую команду: fs_cli -rRS Вот и всё. Мы установили и запустили FreeSwitch. О том, как настраивать пользователей, гейты, диалплан читайте в следующих статьях.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59