Kamailio - Open Source SIP Server (ex SIP Express Router)
Kamailio - это высокопроизводительный, хорошо конфигурируемый, свободно распространяемый SIP ( RFC3261 ) сервер. Он может выступать в роли сервера регистраций, SIP прокси сервера или redirect сервера. SER содержит интерфейс для работы в роли сервера приложений, поддерживает систему определения наличия абонента (presence), гейт для системы SMS сообщений, SIMPLE2Jabber гейт, авторизацию и хранение учетных записей с использованием RADIUS/syslog, мониторинг состояние сервера, безопасность FCP и т.д. Обеспечивает пользователей Web интерфейсом, например, serweb.
Его высокая производительность позволяет справляться с большинством трудностей, появляющихся в процессе работы, такими как наличие поврежденных компонентов сети, атаки по сети, перезагрузки при сбое питания и лавинообразной пользовательской нагрузке.
Возможности SER сервера позволяют использовать его для различных нужд - от малой офисной АТС до телефонной станции масштабов предприятия, или в роли сервера для предоставления провайдерских услуг.
Оригинальный сайт: https://www.kamailio.org/
В этом Wiki описывается как стабильная версия сервера Kamailio (OpenSER), так и та, что в данный момент находится в стадии разработки. Когда у Вас возникнет желание добавить новые команды, модули или дополнительные опции, пожалуйста, также добавляйте уточнение, *когда* они появились, чтобы пользователи могли сравнить версию своего сервера и смогли определить, есть ли в их сервере поддержка этих новых функций.
- SER - это SIP сервер с открытыми исходными кодами, выпущенный под лицензией GPL.
- SER поддерживает SIP через транспорт TCP и UDP, согласно RFC 3261.
- SER поддерживает систему ENUM.
- SER поддерживает некоторые механизмы для работы с клиентами, находящимся за NAT.
- SER может взаимодействовать с системой доставки мгновенных сообщений jabber.
- SER одновременно поддерживает несколько пользовательских DNS доменов.
- SER может расширять свою функциональность при помощи модулей.
- SER поддерживает балансирование нагрузки с использованием DNS записей SRV.
Сервер SER поддерживает протокол SIP с большим числом функций и с большей мастабируемостью, чем Asterisk. Обычно SER используется в связке с сервером Asterisk, если необходимо дать возможность SIP телефонам выходить в общую телефонную сеть PSTN.
Документация по Kamailio (OpenSER) (v 1.2.0)
- Переменные OpenSER - Ключевые слова, экспортируемые ядром OpenSER.
- Константы OpenSER - Константы, определяемые ядром OpenSER.
- Параметры OpenSER - Параметры для ядра сервера OpenSER.
- Функции OpenSER - Функции ядра сервера OpenSER.
- Блоки маршрутизации OpenSER - Блоки маршрутизации сервера OpenSER.
- Конструкции OpenSER - Конструкции, используемые для конфигурации сервера OpenSER.
- Операторы OpenSER - Операторы, которые используются в конфигурации сервера OpenSER.
Модули сервера SER
- SER module acc: Поддержка аккаутинга.
- SER module auth : Основной модуль для авторизации.
- SER module auth_db : Авторизация с использованием баз данных.
- SER module auth_radius : Авторизация с использованием сервера Radius (Экспериментальный).
- SER module cpl: Поддержка встроенного языка "Call Processing Language" (Экспериментальный).
- SER module cpl-c : Поддержка встроенного языка "Call Processing Language" (Экспериментальный).
- SER module dbtext: Использование текстовых файлов в качестве баз данных (Экспериментальный).
- SER module domain: Управление таблицами поддерживаемых доменов для этого SIP Сервера (Экспериментальный).
- SER module enum: Поиск в ENUM (Экспериментальный).
- SER module exec: Выполнение UNIX/Linux команд операционной системы (Экспериментальный).
- SER module ext (Экспериментальный).
- SER module extcmd (Экспериментальный).
- SER module group: Авторизация для групп.
- SER module group_radius : Авторизация для групп с использованием сервера Radius.
- SER module jabber: SIP - SIMPLE - интеграция с Jabber.
- SER module lcr: Модуль поддержки выбора маршрута с минимальной стоимостью (least cost routing) с: HA PSTN termination, с небольшими изменениями.
- SER module mangler: Управление протоколом SDP для соединений через NAT.
- SER module maxfwd: Сохранение пути переадресации вызова.
- SER module mediaproxy: поддержка географически распределенного NAT.
- SER module msilo: Хранение сообщений (Экспериментальный).
- SER module mysql: Поддержка хранилища данных в MYSQL.
- SER module nathelper: Поддержка клиентов за NAT.
- SER module pa : Агент для поддержки функции "Presence" (Экспериментальный).
- SER module pdt: Маршрутизация вызовов с телефонных номеров в адреса других SIP доменов.
- SER module permissions: Запрещение/Разрешение определенных соединений (OpenSer 1.2.x).
- SER module pike: Keep peek periods under control (Экспериментальный).
- SER module postgres: Поддержка базы данных Postgres.
- SER module print: Модуль, как пример для программистов.
- SER module registrar: Модуль, содержащий логику обработки сообщений REGISTER.
- SER module rr : Логика маршрутизации сообщений и поддержка SIP диалогов.
- SER module sl: Статусонезависимые сообщения.
- SER module sms: SMS Шлюз.
- SER module textops: Функции для работы с текстовыми сообщениями.
- SER module tm: Управление транзакциями.
- SER module uri: Различные проверки, связанные с SIP URI.
- SER module uri_db: Различные проверки, связанные с SIP URI, с использованием базы данных.
- SER module uri_radius: Проверка URI с использованием сервера Radius (Экспериментальный).
- SER module usrloc: Поддержка сервиса поиска пользователей.
- SER module vm: Интерфейс для голосовой почты,
- SER module osp: Multi-Lateral Peering (Экспериментальный).
- SER module xlog: Ведение логов в формате, заданном пользователем.
Документация
- SER или OpenSER - краткое сравнение.
- Для начала, что такое SIP и как он работает?
- Простые примеры применения.
- Простейшая конфигурация ser.cfg.
- SER - добавляем авторизацию и работу с базой данных MySQL.
- Работа через маршрутизаторы с NAT, с использованием Mediaproxy.
- Работа через шлюз маршрутизаторы с NAT, с использованием RTPproxy.
- Создание шлюза в публичную телефонную сеть - PSTN.
- Создание файла ser.cfg для переназначения поступающих вызовов.
- Приложение: Где скачать и как сконфигурировать последнюю версию SER.
- Приложение: Call Processing Language - Язык обработки вызовов (CPL).
Дополнительные страницы, посвященные серверу SER.
WEB интерфейсы для сервера SER
- SERadmin: Написан автором Xten, из Индии.
- SERweb: Web интерфейс для регистрации и управления пользователями.
- SER-SIP-Provisioning: Базовые функции для Web Account Provisioning (PHP/MySQL)
- Managed DNS: Web интерфейс для взаимодействия SIP, DNS зон, регистрации доменов и системой ENUM.
Поддерживаемые платформы
- SER написан на стандартном ANSI C. Он был тщательно протестирован на платформах PC/Linux и Sun/Solaris. Существуют порты для BSD систем и для IPAQ/Linux.
- Проект SIPatH - порт сервера ser для архитектуры mipsel OpenWRT - Summary - Website
- SER OS Platforms - На каких операционных системах может работать сервер SER.
- SER Linksys NSLU2
Ссылки
- Сервер SER используется в проектах SIPphone, TeleSIP, Free World Dialup и Free IP Call . Смотри рекомендации на: http://mail.iptel.org/pipermail/serusers/2003-August/002155.html.
- Сервер SER используется в проекте: http://www.alototal.com.
Ресурсы
- Mailing List
- SER LiveCD
- CDR mediation, accounting and prepaid for SER CDRTool
- SER Getting Started
- SER admin's guide (Acrobat PDF)