По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Дружище! В этой статье мы пошагово разберем процесс установки и первичной настройки Kamailio SIP сервера. Установку будем производить на Ubuntu 18.04/16.04. Готов приблизиться к телефонии уровня энтерпрайз, построенной на open – source? :)
А что есть Kamailio?
Kamailio берет начало от SER/Open SER. Откровенно говоря, Kamailio это масштабируемая и гибкая SIP – платформа, созданная как для маленьких инсталляций, так и для больших проектов уровня сервис – провайдеров. Продукт написан на C и работает на Linux/Unix машинах. Kamailio используется в связке с медиа – сервером (RTP потоки и данные, например, Asterisk) и обеспечивает такие фичи как:
До 5000 вызовов в секунду;
Поддержка 300 000 абонентов (WOW!) при условии наличия всего 4ГБ оперативной памяти для сервера Kamailio!
Легкая кластеризация и добавление новых нод в существующих кластер;
Вообще, Kamailio может выполнять такие роли как:
Registrar server - точка для регистрации клиентов (UAC) ;
Location server - сервер определения местоположения. Сервер хранит адрес (сетевой) абонента и отдает его SIP – серверам по запросу;
Proxy server - роль посредника для дальнейшего проксирования этих запросов далее по цепочке SIP - серверов;
SIP Application server - он же SAS. Сервер приложений. Любых. Плечи в БД, API, XML и так далее – все здесь;
Redirect server - информация клиенту (UAC) о его маршруте. Условно говоря, перенаправляет SIP – потоки по нужному пути;
На этом прелести Kamailio не заканчиваются. Вот еще немного фич, на которые стоит обратить внимание:
Поддержка NAT –T (NAT traversal) для SIP и RTP трафика;
Балансировка нагрузки и отказоустойчивость с множеством сценариев/алгоритмов распределения трафика (на случай отказа);
Лёгкий механизм настрйоки правил маршрутизации;
Простота в реализации отказоустойчивой маршрутизации! Отвалился один маршрут – легко перенаправить трафик на другой;
Поддержка IPv4 и IPv6;
SCTP (Stream Control Transmission Protocol) с поддержкой многопоточности и так называемого multi – homing (синхронизация хостов по двум и более физическим каналам);
Коммуникация по протоколам UDP, TCP, TLS и SCTP;
Кодите на Java, Python, Lua, Perl? Ваши навыки точно пригодятся :)
Приступаем
Перед началом работ, у вас должны быть выполнены следующие требования:
У вас есть сервер, с установленной на него Ubuntu 18.04/16.04;
Вы установили MariaDB на этот сервер;
Вы добавили репозитории Kamailio;
Мы предполагаем, что 1 и 2 пункты вы выполнили :) Приступаем к третьему.
Добавляем репозиторий Kamailio
Если у вас установлена Ubuntu версии 16.04 вам нужно добавить репозиторий Kamailio, который будет использован при установке этой SIP – платформы.
Для начала скачиваем и добавляем GPG ключ:
wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -
После этого нужно добавить строки в файл /etc/apt/sources.list. Работать мы будем с версией 5.1 Kamailio:
$ sudo vim /etc/apt/sources.list.d/kamailio.list
Добавляем данные:
deb http://deb.kamailio.org/kamailio51 xenial main
deb-src http://deb.kamailio.org/kamailio51 xenial main
Установка Kamailio
Как только мы сконфигурировали репозитории, приступаем к установке самого продукта. В том числе, мы установим некоторые MySQL модули:
$ sudo apt install kamailio kamailio-mysql-modules
Установим так же модуль для web – сокетов:
$ sudo apt install kamailio-websocket-modules
Ждем. Как только процессы, рождаемые этими командами будут выполнены, мы можем проверить приложение kamailio и увидеть его версию командой kamailio -V:
$ which kamailio
/usr/sbin/kamailio
$ kamailio -V
version: kamailio 5.1.2 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 7.3.0
Огонь. После этого, правим файл /etc/kamailio/kamctlrc (откройте так же через vim) и проверяем, что параметр DBENGINE выставлен в значение MySQL.
Раскомментируйте значение DBENGINE=MYSQL, удалив # перед строчкой
Далее, создаем базу данных. Команда, указанная ниже, создаст пользователей и таблицы, необходимые для Kamailio:
$ kamdbctl create
INFO: creating database kamailio ...
INFO: granting privileges to database kamailio ...
INFO: creating standard tables into kamailio ...
INFO: Core Kamailio tables succesfully created.
Install presence related tables? (y/n): y
INFO: creating presence tables into kamailio ...
INFO: Presence tables succesfully created.
Install tables for imc cpl siptrace domainpolicy carrierroute
drouting userblacklist htable purple uac pipelimit mtree sca mohqueue
rtpproxy rtpengine? (y/n): y
INFO: creating extra tables into kamailio ...
INFO: Extra tables succesfully created.
Install tables for uid_auth_db uid_avp_db uid_domain uid_gflags
uid_uri_db? (y/n): y
INFO: creating uid tables into kamailio ...
INFO: UID tables succesfully created.
Во время инсталляции, вам нужно будет указать пароль для MySQL. Инсталлятор сделает следующих юзеров:
kamailio - с паролем kamailiorw. Этот юзер имеет права на чтение и запись в БД;
kamailioro - с паролем kamailioro. Этот юзер имеет права только на чтение;
Почти готово. Теперь слегка поправим конфигурационный файл Kamailio /etc/kamailio/kamailio.cfg. Настроим SIP – домен:
$ sudo vim /etc/kamailio/kamctlrc
## ваш SIP домен
SIP_DOMAIN=wiki.merionet.ru
В том же файле, включим некоторые нужные модули. Расположите следующий код в том же файле, прямо под строкой #!KAMAILIO:
#!define WITH_MYSQL
#!define WITH_AUTH
#!define WITH_USRLOCDB
#!define WITH_ACCDB
Включаем Kamailio!
$ sudo systemctl restart kamailio
Командой systemctl status kamailio можно проверить текущий статус Kamailio. Если что-либо не работает, лог – файл приложения можно найти в /var/log/kamailio.log.
Команда sudo предназначена для того, чтобы пользователи могли запускать программы с привилегиями другого пользователя, по умолчанию - рутового пользователь.
В этом руководстве мы покажем вам, как создать нового пользователя с привилегиями sudo в CentOS. Вы можете использовать пользователя sudo для выполнения административных задач на вашем компьютере с CentOS без необходимости входа в систему как пользователь root.
Создание пользователя Sudo
Чтобы создать пользователя sudo на вашем сервере CentOS, выполните следующие действия:
1. Войдите на свой сервер
Начните с входа на сервер CentOS через ssh от имени пользователя root:
ssh root@server_ip_address
2. Создайте новую учетную запись пользователя
Создайте новую учетную запись пользователя с помощью команды useradd:
useradd username
Замените username на имя пользователя, которое вы хотите создать.
3. Установите пароль пользователя
Запустите команду passwd, чтобы установить пароль для нового пользователя:
passwd username
Вам будет предложено подтвердить пароль. Убедитесь, что вы используете надежный пароль.
Для выбора устойчивого пароля воспользуйтесь нашим генератором паролей.
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
4. Добавьте нового пользователя в группу sudo
По умолчанию в системах CentOS членам группового колеса предоставляется доступ sudo. Добавьте нового пользователя в группу wheel:
usermod -aG wheel username
Группа wheel - это специальная группа пользователей, для управления доступом к команде su или sudo.
Как использовать Sudo
Переключитесь на вновь созданного пользователя:
su - username
Чтобы использовать sudo, просто добавьте к команде префикс sudo и пробел.
sudo [COMMAND]
Например, для просмотра содержимого каталога /root вы должны использовать:
sudo ls -l /root
При первом использовании sudo из этой учетной записи вы увидите следующее баннерное сообщение и вам будет предложено ввести пароль для учетной записи пользователя.
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for username:
Итог
Это все! Вы успешно создали пользователя sudo в своей системе CentOS. Теперь вы можете использовать этого пользователя для выполнения административных задач на вашем сервере. И помните: с большой силой приходит большая ответственность.
Как дела, дорогой коллега? :) Сегодня в статье мы рассмотрим настройку трансфера (Call Transfer) в CME(CUCME) .
Перевод звонка является одной из самых используемых функций в голосовых сетях. Для перевода звонка нужно нажать клавишу Trnsfer (softkey), во время активного звонка. После этого будет слышен гудок, и можно будет набрать номер телефона, на который необходимо перевести вызов. То, что произойдет дальше, будет зависеть от того, как сконфигурирован CME роутер.
Доступно два метода перевода звонка:
Consult transfer– консультативный трансфер позволяет непосредственно перед переводом говорить с абонентом на который будет переведен вызов. После того как вы набрали номер другой стороны нужно дождаться ответа, и затем нажать второй раз клавишу Trnsfer. Звонок будет переведен, а вы будете отключены от разговора. Этот вид трансфера требует второю линию или конфигурацию dual-line;
Blind transfer – слепой трансфер немедленно переводит звонок после нажатия клавиши Trnsfer и набора номера. Этот вид трансфера работает с single-line конфигурацией;
Настройка трансфера происходит с помощью команды transfer-system:
CME(config)# telephony-service
CME(config-telephony)# transfer-system ?
full-blind
full-consult
local-consult
CME(config-telephony)# transfer-system full-consult
Здесь доступно три метода трансфера: full-blind, full-consult и local-consult. Full-blind и full-consult методы используют стандарт H.450.2, при котором при переводе звонка CME роутер полностью сбрасывает вызов с переводящего телефона и инициирует новый вызов к телефону на который переводится вызов. Метод local-consult использует проприетарный метод трансфера Cisco, который выполняет перевод, если настроены множественные линии или настроена конфигурация ephone-dn dual-line, но если доступна только одна линия, то будет выполнен blind transfer.
Также можно настраивать виды трансфера индивидуально для каждого ephone-dn:
CME(config)# ephone-dn 1000
CME(config-ephone-dn)# transfer-mode blind
CME(config)# ephone-dn 1001
CME(config-ephone-dn)# transfer-mode consult
По умолчанию роутеры Cisco запрещают делать перевод вызова на внешние номера. Для того чтобы разрешить это делать необходимо использовать команду transfer-pattern [паттерн] , где паттерн отражает номера, на которые можно переводить звонки (где точка “.” это означает любую цифру от 0 до 9):
CME(config)# telephony-service
CME(config-telephony)# transfer-pattern 8……….
Также для настройки паттерна можно использовать Cisco Configuration Professional (CCP) в разделе Unified Communications → Advanced Telephony Settings, выбрать вкладку Transfer Pattern и нажать Add.