Строим единую коммуникационную платформу для офиса
-
Upload
skillfactory -
Category
Technology
-
view
564 -
download
1
description
Transcript of Строим единую коммуникационную платформу для офиса
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Единая коммуникационная платформа
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
О компании CommuniGate Systems
• 1991: Stalker Software, Inc
• Коммуникационные продукты
– SoftBTX, PortShare, LineShare, SCSIShare
• CommuniGate для MacOS
– SMTP, POP3, IMAP, Voice
• SIMS (Stalker Internet Mail Server)
– SMTP, POP3 и Web интерфейс
администратора
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Эволюция: Великое Объединение
Мировой рекорд почтового теста
производительности SPECmail 2001:
12,500 писем в минуту или 2.5 миллиона
пользователей, отправляющих 30
миллионов писем в день.
1999 2001 2003 2005 2007 2008
Почта Кластеры Безопасность КастомизацияVoIP/IMS
Вызовы рынка
HP Benchmark
10 миллионов
подписчиков
телефонии
Нагр
ад
ыЛ
уч
ши
е в
ин
дустр
ии
IBM Benchmark
25 миллионов
подписчиков
Мобильность Унификация
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
CommuniGate Pro сегодня
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Протоколы
• Почта: SMTP, LMTP
• Доступ к почте: IMAP, POP3
• Сигнализация реального времени:
SIP, XMPP
• Доступ к данным: FTP, TFTP,
HTTP, WebDAV, LDAP
• Многое другое, всё с SSL/TLS
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Технологии• Монолитный сервер с расширяемыми
возможностями
• Уникальная производительность
• Статический кластер и распределённые
домены
• Динамический кластер
• “SIP Farm” – кластеризация и балансировка
SIP протокола на UDP транспорте
• Встроенный балансировщик нагрузки на
основе Linux IPVS
• Поддержка WebRTC c DTLS, SRTP, TURN
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Применения
• Почтовый сервер для ISP
• Бэкенд для хранения голосовой почты
• Почтовый релей с возможностью фильтрования
• Сервер групповой работы
– Корпоративное применение
– Домашнее применение (агрегатор почты)
• SBC (Пограничный контроллер сессий)
– Прохождение NAT для RTP
– Решение проблем несовместимости
• SIP Proxy/Registrar
• XMPP сервер
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Уникальная позиция в IP коммуникациях
Microsoft
ExchangeLotus
Notes
Novell
GroupWise
Sun/iPlanet
CommuniGate
Pro
Openwave
Совместная
работа с
сообщениями
Масштабируемые
решения для
почты
Critical
Path
Nortel
Avaya
Cisco
Инфраструктура
SIP и XMPPSIP и PBX приложения
Голос и видео
Sylantro
VoIP и мгновенные
сообщения
Broadsoft
Zimbra
Jabber
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Открытая платформа
• Основана на стандартных
протоколах
• Документация доступна онлайн
• Позволяет расширять
возможности через плагины
• Весь функционал доступен для
тестирования и использования
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Приглашаем попробовать
Скачать
• http://www.communigate.com/CommuniGatePro/
• ftp://ftp.communigate.com/pub/CGatePro/6.0/
Установить
• Стандартные пакеты для большинства ОС
• Минимальные требования
Запустить
• Скрипты автозагрузки
• Для короткого теста можно и в консоли
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Две основные директории хранения
Настройки
Домены и Аккаунты
Индивидуализация
/var/Communigate
BaseИсполняемые модули
Утилиты Миграции
Встроенные шаблоны
/opt/CommuniGate
App
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Иерархии объектов
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Иерархии настроек
Общесерверные
Домен1
акк1 акк2
Домен2
акк1
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Структуры данных и их представление
Строки• “this is a string\ethe second line”
• aword
Массивы• (1, 2, three, #4)
• (“five six”, (7, 8), nine)
Словари• {“three-four”=one; two=#2; 3=();}
• {“”=(0); 1={5=“6-1”;}; 7=#T15-01-2014_14:49:25;}
Данные• [base64block==]
• Может быть и внутри массива или словаря
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Более сложные объекты тоже - текст
Медиа данные – обычно base64-кодированные
последовательности, но для объектов типа календарных событий,
записей контактов или заданий используются стандартные
текстовые форматы: vCalendar, vCard и vToDo
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Форматы почтовых ящиков (папок)
TextMailbox MailDir Sliced
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Групповая Работа
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Нормальная доставка писем1. Приём соединения одним
из модулей
2. Проверка маршрутов для
адресов доставки
3. Сохранение письма
4. Применение обще-
серверных правил
5. Передача письма для
доставки в локальные
аккаунты
6. Применение правил
аккаунтов и доменов
7. Сохранение письма в
почтовые ящики
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Очередь обработки почты
Постановщик
Enqueuer
Модули
доставки
писем
Повторные
попытки
Сборщик
Dequeuer
Модули
приёма
писем
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Файл почтовой очереди
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Доставка писем в модули
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Доступ к почтовым ящикам
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Другие протоколы доступа
• CalDAV
– Apple iCal, Thunderbird Lightning
• CardDAV
– Apple AddressBook
• AirSync
– Мобильные клиенты, Аутлук 2013
• XIMSS
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Файловые хранилища аккаунтов
• Хранение файлов
• Доступ по FTP и TFTP
• Доступ по HTTP (персональные
странички)
• Доступ по WebDAV
• Виртуальные файлы FreeBusy и
публичных календарей
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Обработка запросов реального времени
• Опирается на существующую
инфраструктуру аккаунтов
• Унифицированная модель
обработки адресов
• Запросы – те же письма, но
обрабатываются особо
• Асинхронные очереди объектов
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Эволюция адреса
• В протоколах сигнализации в реальном времени
требуется разделение адреса:– Логический: AOR (Address of Record)
– Физический: адрес устройства
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Telnum: общее пространство имен
• 201– [email protected]
• +15553837461
• 3837461– +15553837461
• 03637111298– +13637111298
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Реализация протокола SIP
• Транзакционный SIP Прокси сервер
• Регистрар SIP
• Функциональность TURN сервера
• Поддержка расширений SIP: presence,
dialogs, MWI и других
• Управление списком контактов (ростер)
• SIP как внутренняя сигнальная модель
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
SIGNAL: унифицированный объект
• Асинхронно
обрабатываемый
• Построен по образу
запроса SIP– URI запроса
– Состояние, адреса
– Время жизни
• Обрабатывается
правилами
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Обработка сигналов
• Объект «SIP Server»получает запрос и создают «Signal»
• Объект «Signalобрабатывается
• В результате запрос может быть перенаправлен
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Узлы обработки Сигналов
• UAC (Клиент)– Шлёт запросы
– Читает ответы
• UAS (Сервер)– Читает запросы
– Шлёт ответы
• Медиа кодеки– Двухсторонняя
передача
– Миксеры
• Интерфейс
Интерфейс
Сервер
Медиа
Клиент
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Очереди асинхронных объектов
• Создание
• Переадресация
• Модификация
• Обработка
• Результат
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Другие сигнальные протоколы
• XMPP (Jabber)
– IM, presence, групповые чаты и др.
– Клиент-Сервер и Сервер-Сервер
• SMPP
– Клиент, поддержка диалогов
• XIMSS
• Ядро – источник сигналов
– Триггеры SNMP, правила
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Поддержка медиа протоколов
• Описание в SDP
• RTP
• Image и другие
• NAT Traversal
• SRTP
• RTP через DTLS
• WebRTC
• G711,Opus / G729,GSM
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Архитектура динамического кластера
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
От сервера к платформе
XIMSSXML Interface for
Messaging,
Scheduling, and
Signaling
Приложения
Web, Pronto!
API внешних
программExternal Auth
External Plugins
External Radius
External Routing
Базы данных,
директорий,
приложения
CGI &
WSSPСлужбы Web
Интеграция в
Web порталы и
приложения
CLIУправление
аккаунтами и
платформой
Автоматическое
управление
CGPLПриложения
обработки
VoIP и IM
событийПриложения PBX,
Объединение с
календарями
ПравилаПочтовые
Сигнальные
CommuniGate
Pro
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
CLI: внутренний протокол
• Управление настройками
• Аккаунты, домены и другое
• Статистика и мониторинг
• Сессии, PBX задачи, SSO
• Кластерный протокол
• Сценарии пакетной работы
– Perl, Java / PHP, .NET
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
CG/PL: среда PBX приложений
• Запуск от имени аккаунта
• Асинхронное выполнение
• Механизмы событий
• Управление медиапотоками
• Именованные задачи
• Запуск по расписанию
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Приложение (Задача PBX)
• Узел обработки
сигналов– Принимает
– Создаёт
• Медиа– Генерирует
– Записывает
• Интерфейс– Account
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Пример бриджинга (B2BUA)
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Соединение через Миксер (B2BUA)
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Создание конференций с Миксером
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
CG/PL: среда Web приложений
• Разные способы авторизации
– Внутри WebUser сессии
– HTTP Auth
– С правами администратора
• Использование HTML шаблонов
• Синхронное выполнение
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Web интерфейс на HTML шаблонах
• Простой и эффективный
• Легко расширяется
• Может быть использован для
конкретных функций
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Программы - хэлперы
• Постоянно активны
• Синхронные и
асинхронные модели
• Многопоточная модель– Главный поток
– Рабочие
Process
Response
Request
Worker
Response
Request
Process
Response
Request
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Виды пограмм-помощников
• Фильтрация контента
• Внешний аутентификатор
• Помощник RADIUS
• Проверка правописания
• Генератор баннеров
• Обработчик CDR
• Интерфейс балансировщика
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
SASL аутентификация
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
SASL аутентификация с внешним сервером
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
SASL аутентификация - проблема
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Универсальный протокол XIMSS
• XML как формат данных
• Существенно протокол типа «клиент-сервер»– Сервер уже многое умеет, не надо учить клиента
• Различные варианты транспорта– Прямое TCP/IP соединение – упрощает отладку
– Синхронные HTTP запросы – нет проблем с файрволами
– Асинхронные HTTP запросы – уменьшают нагрузку на сервер
• Взаимодействие с CG/PL кодом на стороне сервера
• Библиотеки для популярных клиентских платформ– JavaScript
– Java
– Objective C
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
XIMSS – лучше чем IMAP для почты
• Расширяемый
• Встроенная поддержка для
распространённых форматов
• Концепция «вида на папку»
• Операции с сообщениями на
стороне сервера
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
XIMSS – лучше чем SIP для VoIP
• Расширяемый
• Концепция «узла звонка»
• Готовые команды для
стандартных задач
• Совместимость с SIP телефонией
• Поддержка WebRTC
• Обмен событиями с PBX
задачами
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
XIMSS – лучше чем XMPP для IM
• Расширяемый
• Автоматический presence
• Управление ростером
• Управление форматом IM
• Групповые чаты
• Взаимодействие с PBX задачами
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
XIMSS – весь сервер в одном протоколе
• Работа с Календарями и
Заданиями
• Работа с контактами
• Поддержка S/MIME
• Работа с CLI, LDAP справочником
• Функции биллинга
• Внешние ресурсы по HTTP
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Возможные применения
• Календарный клиент
– Разбор календарей – на сервере
• Клиент VoIP телефонии
– Медиа плагин
– WebRTC
• Клиент мгновенных сообщений
– QIP
– Публичный чат
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Унифицированный протокол
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Универсальные клиенты Pronto!
Pronto! is a family of Unified
Communication services
provided by our platform to multiple
users interfaces
- Pronto! Web
- Pronto! Pro
- Pronto! Mobile
- Pronto! HTML5
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Конвергенция
• Почта – календари– Стандарт, но не все ему следуют
• Почта – Звонки VoIP– Очевидно: голосовая почта
– Менее очевидно: телефонный спам
• Календари – Звонки VoIP– Конференции
• Мгновенные сообщения (и СМС)– Оповещение о событиях на сервере
– Управление функциями аккаунта
CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com
Остались вопросы?
• По ценам, способам
лицензирования и
сотрудничеству:
• По техническим вопросам: