Строим единую коммуникационную платформу для офиса

59
CommuniGate Pro Internet Communications VoIP, Email, Collaboration, IM www.communigate.com Единая коммуникационная платформа

description

Технический директор CommuniGate Systems Дмитрий Акиндинов о том, как объединить в рамках единой платформы телефонию, электронную почту, видеоконференции, системы учета и документооборота и многое другое. Запись вебинара: http://www.youtube.com/watch?v=mOoS5VKv0po&hd=1

Transcript of Строим единую коммуникационную платформу для офиса

Page 1: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Единая коммуникационная платформа

Page 2: Строим единую коммуникационную платформу для офиса

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 интерфейс

администратора

Page 3: Строим единую коммуникационную платформу для офиса

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 миллионов

подписчиков

Мобильность Унификация

Page 4: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

CommuniGate Pro сегодня

Page 5: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Протоколы

• Почта: SMTP, LMTP

• Доступ к почте: IMAP, POP3

• Сигнализация реального времени:

SIP, XMPP

• Доступ к данным: FTP, TFTP,

HTTP, WebDAV, LDAP

• Многое другое, всё с SSL/TLS

Page 6: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Технологии• Монолитный сервер с расширяемыми

возможностями

• Уникальная производительность

• Статический кластер и распределённые

домены

• Динамический кластер

• “SIP Farm” – кластеризация и балансировка

SIP протокола на UDP транспорте

• Встроенный балансировщик нагрузки на

основе Linux IPVS

• Поддержка WebRTC c DTLS, SRTP, TURN

Page 7: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Применения

• Почтовый сервер для ISP

• Бэкенд для хранения голосовой почты

• Почтовый релей с возможностью фильтрования

• Сервер групповой работы

– Корпоративное применение

– Домашнее применение (агрегатор почты)

• SBC (Пограничный контроллер сессий)

– Прохождение NAT для RTP

– Решение проблем несовместимости

• SIP Proxy/Registrar

• XMPP сервер

Page 8: Строим единую коммуникационную платформу для офиса

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

Page 9: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Открытая платформа

• Основана на стандартных

протоколах

• Документация доступна онлайн

• Позволяет расширять

возможности через плагины

• Весь функционал доступен для

тестирования и использования

Page 10: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Приглашаем попробовать

Скачать

• http://www.communigate.com/CommuniGatePro/

• ftp://ftp.communigate.com/pub/CGatePro/6.0/

Установить

• Стандартные пакеты для большинства ОС

• Минимальные требования

Запустить

• Скрипты автозагрузки

• Для короткого теста можно и в консоли

Page 11: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Две основные директории хранения

Настройки

Домены и Аккаунты

Индивидуализация

/var/Communigate

BaseИсполняемые модули

Утилиты Миграции

Встроенные шаблоны

/opt/CommuniGate

App

Page 12: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Иерархии объектов

Page 13: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Иерархии настроек

Общесерверные

Домен1

акк1 акк2

Домен2

акк1

Page 14: Строим единую коммуникационную платформу для офиса

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==]

• Может быть и внутри массива или словаря

Page 15: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Более сложные объекты тоже - текст

Медиа данные – обычно base64-кодированные

последовательности, но для объектов типа календарных событий,

записей контактов или заданий используются стандартные

текстовые форматы: vCalendar, vCard и vToDo

Page 16: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Форматы почтовых ящиков (папок)

TextMailbox MailDir Sliced

Page 17: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Групповая Работа

Page 18: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Нормальная доставка писем1. Приём соединения одним

из модулей

2. Проверка маршрутов для

адресов доставки

3. Сохранение письма

4. Применение обще-

серверных правил

5. Передача письма для

доставки в локальные

аккаунты

6. Применение правил

аккаунтов и доменов

7. Сохранение письма в

почтовые ящики

Page 19: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Очередь обработки почты

Постановщик

Enqueuer

Модули

доставки

писем

Повторные

попытки

Сборщик

Dequeuer

Модули

приёма

писем

Page 20: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Файл почтовой очереди

Page 21: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Доставка писем в модули

Page 22: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Доступ к почтовым ящикам

Page 23: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Другие протоколы доступа

• CalDAV

– Apple iCal, Thunderbird Lightning

• CardDAV

– Apple AddressBook

• AirSync

– Мобильные клиенты, Аутлук 2013

• XIMSS

Page 24: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Файловые хранилища аккаунтов

• Хранение файлов

• Доступ по FTP и TFTP

• Доступ по HTTP (персональные

странички)

• Доступ по WebDAV

• Виртуальные файлы FreeBusy и

публичных календарей

Page 25: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Обработка запросов реального времени

• Опирается на существующую

инфраструктуру аккаунтов

• Унифицированная модель

обработки адресов

• Запросы – те же письма, но

обрабатываются особо

• Асинхронные очереди объектов

Page 26: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Эволюция адреса

• В протоколах сигнализации в реальном времени

требуется разделение адреса:– Логический: AOR (Address of Record)

– Физический: адрес устройства

Page 27: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Telnum: общее пространство имен

• 201– [email protected]

• +15553837461

• 3837461– +15553837461

• 03637111298– +13637111298

Page 28: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Реализация протокола SIP

• Транзакционный SIP Прокси сервер

• Регистрар SIP

• Функциональность TURN сервера

• Поддержка расширений SIP: presence,

dialogs, MWI и других

• Управление списком контактов (ростер)

• SIP как внутренняя сигнальная модель

Page 29: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

SIGNAL: унифицированный объект

• Асинхронно

обрабатываемый

• Построен по образу

запроса SIP– URI запроса

– Состояние, адреса

– Время жизни

• Обрабатывается

правилами

Page 30: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Обработка сигналов

• Объект «SIP Server»получает запрос и создают «Signal»

• Объект «Signalобрабатывается

• В результате запрос может быть перенаправлен

Page 31: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Узлы обработки Сигналов

• UAC (Клиент)– Шлёт запросы

– Читает ответы

• UAS (Сервер)– Читает запросы

– Шлёт ответы

• Медиа кодеки– Двухсторонняя

передача

– Миксеры

• Интерфейс

Интерфейс

Сервер

Медиа

Клиент

Page 32: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Очереди асинхронных объектов

• Создание

• Переадресация

• Модификация

• Обработка

• Результат

Page 33: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Другие сигнальные протоколы

• XMPP (Jabber)

– IM, presence, групповые чаты и др.

– Клиент-Сервер и Сервер-Сервер

• SMPP

– Клиент, поддержка диалогов

• XIMSS

• Ядро – источник сигналов

– Триггеры SNMP, правила

Page 34: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Поддержка медиа протоколов

• Описание в SDP

• RTP

• Image и другие

• NAT Traversal

• SRTP

• RTP через DTLS

• WebRTC

• G711,Opus / G729,GSM

Page 35: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Архитектура динамического кластера

Page 36: Строим единую коммуникационную платформу для офиса

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

Page 37: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

CLI: внутренний протокол

• Управление настройками

• Аккаунты, домены и другое

• Статистика и мониторинг

• Сессии, PBX задачи, SSO

• Кластерный протокол

• Сценарии пакетной работы

– Perl, Java / PHP, .NET

Page 38: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

CG/PL: среда PBX приложений

• Запуск от имени аккаунта

• Асинхронное выполнение

• Механизмы событий

• Управление медиапотоками

• Именованные задачи

• Запуск по расписанию

Page 39: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Приложение (Задача PBX)

• Узел обработки

сигналов– Принимает

– Создаёт

• Медиа– Генерирует

– Записывает

• Интерфейс– Account

Page 40: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Пример бриджинга (B2BUA)

Page 41: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Соединение через Миксер (B2BUA)

Page 42: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Создание конференций с Миксером

Page 43: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

CG/PL: среда Web приложений

• Разные способы авторизации

– Внутри WebUser сессии

– HTTP Auth

– С правами администратора

• Использование HTML шаблонов

• Синхронное выполнение

Page 44: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Web интерфейс на HTML шаблонах

• Простой и эффективный

• Легко расширяется

• Может быть использован для

конкретных функций

Page 45: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Программы - хэлперы

• Постоянно активны

• Синхронные и

асинхронные модели

• Многопоточная модель– Главный поток

– Рабочие

Process

Response

Request

Worker

Response

Request

Process

Response

Request

Page 46: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Виды пограмм-помощников

• Фильтрация контента

• Внешний аутентификатор

• Помощник RADIUS

• Проверка правописания

• Генератор баннеров

• Обработчик CDR

• Интерфейс балансировщика

Page 47: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

SASL аутентификация

Page 48: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

SASL аутентификация с внешним сервером

Page 49: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

SASL аутентификация - проблема

Page 50: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Универсальный протокол XIMSS

• XML как формат данных

• Существенно протокол типа «клиент-сервер»– Сервер уже многое умеет, не надо учить клиента

• Различные варианты транспорта– Прямое TCP/IP соединение – упрощает отладку

– Синхронные HTTP запросы – нет проблем с файрволами

– Асинхронные HTTP запросы – уменьшают нагрузку на сервер

• Взаимодействие с CG/PL кодом на стороне сервера

• Библиотеки для популярных клиентских платформ– JavaScript

– Java

– Objective C

Page 51: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

XIMSS – лучше чем IMAP для почты

• Расширяемый

• Встроенная поддержка для

распространённых форматов

• Концепция «вида на папку»

• Операции с сообщениями на

стороне сервера

Page 52: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

XIMSS – лучше чем SIP для VoIP

• Расширяемый

• Концепция «узла звонка»

• Готовые команды для

стандартных задач

• Совместимость с SIP телефонией

• Поддержка WebRTC

• Обмен событиями с PBX

задачами

Page 53: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

XIMSS – лучше чем XMPP для IM

• Расширяемый

• Автоматический presence

• Управление ростером

• Управление форматом IM

• Групповые чаты

• Взаимодействие с PBX задачами

Page 54: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

XIMSS – весь сервер в одном протоколе

• Работа с Календарями и

Заданиями

• Работа с контактами

• Поддержка S/MIME

• Работа с CLI, LDAP справочником

• Функции биллинга

• Внешние ресурсы по HTTP

Page 55: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Возможные применения

• Календарный клиент

– Разбор календарей – на сервере

• Клиент VoIP телефонии

– Медиа плагин

– WebRTC

• Клиент мгновенных сообщений

– QIP

– Публичный чат

Page 56: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Унифицированный протокол

Page 57: Строим единую коммуникационную платформу для офиса

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

Page 58: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Конвергенция

• Почта – календари– Стандарт, но не все ему следуют

• Почта – Звонки VoIP– Очевидно: голосовая почта

– Менее очевидно: телефонный спам

• Календари – Звонки VoIP– Конференции

• Мгновенные сообщения (и СМС)– Оповещение о событиях на сервере

– Управление функциями аккаунта

Page 59: Строим единую коммуникационную платформу для офиса

CommuniGate Pro ● Internet Communications ● VoIP, Email, Collaboration, IM ● www.communigate.com

Остались вопросы?

• По ценам, способам

лицензирования и

сотрудничеству:

[email protected]

• По техническим вопросам:

[email protected]