Технический директор CommuniGate Systems Дмитрий Акиндинов о том, как объединить в рамках единой платформы телефонию, электронную почту, видеоконференции, системы учета и документооборота и многое другое.
Запись вебинара: http://www.youtube.com/watch?v=mOoS5VKv0po&hd=1
2. О компании 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
3. Эволюция: Великое Объединение
Вызовы рынка
Почта Кластеры
2001
Кастомизация
2003
2005
VoIP/
IMS
Мобильность Унификация
2007
2008
Лучшие в индустрии
Награды
1999
Безопасность
Мировой рекорд почтового теста
производительности SPECmail 2001:
12,500 писем в минуту или 2.5 миллиона
пользователей, отправляющих 30
миллионов писем в день.
CommuniGate Pro
●
Internet Communications
●
HP Benchmark
10 миллионов
подписчиков
телефонии
VoIP, Email, Collaboration, IM
IBM Benchmark
25 миллионов
подписчиков
●
www.communigate.com
5. Протоколы
• Почта: SMTP, LMTP
• Доступ к почте: IMAP, POP3
• Сигнализация реального времени:
SIP, XMPP
• Доступ к данным: FTP, TFTP,
HTTP, WebDAV, LDAP
• Многое другое, всё с SSL/TLS
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
6. Технологии
• Монолитный сервер с расширяемыми
возможностями
• Уникальная производительность
• Статический кластер и распределённые
домены
• Динамический кластер
• “SIP Farm” – кластеризация и балансировка
SIP протокола на UDP транспорте
• Встроенный балансировщик нагрузки на
основе Linux IPVS
• Поддержка WebRTC c DTLS, SRTP, TURN
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
7. Применения
•
•
•
•
Почтовый сервер для ISP
Бэкенд для хранения голосовой почты
Почтовый релей с возможностью фильтрования
Сервер групповой работы
– Корпоративное применение
– Домашнее применение (агрегатор почты)
• SBC (Пограничный контроллер сессий)
– Прохождение NAT для RTP
– Решение проблем несовместимости
• SIP Proxy/Registrar
• XMPP сервер
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
8. Уникальная позиция в IP коммуникациях
Масштабируемые
решения для
почты
Microsoft
Exchange
Sun/iPlanet
Notes
Openwave
Critical
Path
Zimbra
CommuniGate
Pro
Broadsoft
Nortel
Sylantro
CommuniGate Pro
●
Novell
GroupWise
Jabber
Cisco
Avaya
Инфраструктура
SIP и XMPP
SIP и PBX приложения
Голос и видео
Совместная
работа с
Lotus сообщениями
VoIP и мгновенные
сообщения
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
9. Открытая платформа
• Основана на стандартных
протоколах
• Документация доступна онлайн
• Позволяет расширять
возможности через плагины
• Весь функционал доступен для
тестирования и использования
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
10. Приглашаем попробовать
• http://www.communigate.com/CommuniGatePro/
Скачать
• ftp://ftp.communigate.com/pub/CGatePro/6.0/
• Стандартные пакеты для большинства ОС
Установить
• Минимальные требования
• Скрипты автозагрузки
Запустить
CommuniGate Pro
• Для короткого теста можно и в консоли
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
11. Две основные директории хранения
Base
App
Настройки
Исполняемые модули
Домены и Аккаунты
Утилиты Миграции
Индивидуализация
Встроенные шаблоны
/var/Communigate
/opt/CommuniGate
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
14. Структуры данных и их представление
• “this is a stringethe 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
15. Более сложные объекты тоже - текст
Медиа данные – обычно base64-кодированные
последовательности, но для объектов типа календарных событий,
записей контактов или заданий используются стандартные
текстовые форматы: vCalendar, vCard и vToDo
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
16. Форматы почтовых ящиков (папок)
TextMailbox
CommuniGate Pro
MailDir
●
Internet Communications
Sliced
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
18. Нормальная доставка писем
1.
2.
Передача письма для
доставки в локальные
аккаунты
6.
Применение правил
аккаунтов и доменов
7.
●
Применение общесерверных правил
5.
Internet Communications
Сохранение письма
4.
●
Проверка маршрутов для
адресов доставки
3.
CommuniGate Pro
Приём соединения одним
из модулей
Сохранение письма в
почтовые ящики
VoIP, Email, Collaboration, IM
●
www.communigate.com
21. Доставка писем в модули
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
22. Доступ к почтовым ящикам
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
23. Другие протоколы доступа
• CalDAV
– Apple iCal, Thunderbird Lightning
• CardDAV
– Apple AddressBook
• AirSync
– Мобильные клиенты, Аутлук 2013
• XIMSS
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
24. Файловые хранилища аккаунтов
• Хранение файлов
• Доступ по FTP и TFTP
• Доступ по HTTP (персональные
странички)
• Доступ по WebDAV
• Виртуальные файлы FreeBusy и
публичных календарей
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
25. Обработка запросов реального времени
• Опирается на существующую
инфраструктуру аккаунтов
• Унифицированная модель
обработки адресов
• Запросы – те же письма, но
обрабатываются особо
• Асинхронные очереди объектов
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
26. Эволюция адреса
• В протоколах сигнализации в реальном времени
требуется разделение адреса:
– Логический: AOR (Address of Record)
– Физический: адрес устройства
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
27. Telnum: общее пространство имен
• 201
– 201@dialer.dom
• +15553837461
• 3837461
– +15553837461
• 03637111298
– +13637111298
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
28. Реализация протокола SIP
• Транзакционный SIP Прокси сервер
• Регистрар SIP
• Функциональность TURN сервера
• Поддержка расширений SIP: presence,
dialogs, MWI и других
• Управление списком контактов (ростер)
• SIP как внутренняя сигнальная модель
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
29. SIGNAL: унифицированный объект
• Асинхронно
обрабатываемый
• Построен по образу
запроса SIP
– URI запроса
– Состояние, адреса
– Время жизни
• Обрабатывается
правилами
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
30. Обработка сигналов
• Объект «SIP Server»
получает запрос и
создают «Signal»
• Объект «Signal
обрабатывается
• В результате запрос
может быть
перенаправлен
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
33. Другие сигнальные протоколы
• XMPP (Jabber)
– IM, presence, групповые чаты и др.
– Клиент-Сервер и Сервер-Сервер
• SMPP
– Клиент, поддержка диалогов
• XIMSS
• Ядро – источник сигналов
– Триггеры SNMP, правила
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
34. Поддержка медиа протоколов
• Описание в SDP
• RTP
• Image и другие
• NAT Traversal
• SRTP
• RTP через DTLS
• WebRTC
• G711,Opus / G729,GSM
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
36. От сервера к платформе
Базы данных,
директорий,
приложения
Правила
Почтовые
Сигнальные
API внешних
программ
XIMSS
External Auth
External Plugins
External Radius
External Routing
CommuniGate
Pro
CGPL
Приложения PBX,
Объединение с
календарями
CommuniGate Pro
Приложения
Web, Pronto!
●
Приложения
CLI
обработки
VoIP и IM Управление
событий аккаунтами и
платформой
XML Interface for
Messaging,
Scheduling, and
Signaling
CGI &
WSSP
Службы Web
Автоматическое
управление
Internet Communications
●
VoIP, Email, Collaboration, IM
●
Интеграция в
Web порталы и
приложения
www.communigate.com
37. CLI: внутренний протокол
•
•
•
•
•
•
Управление настройками
Аккаунты, домены и другое
Статистика и мониторинг
Сессии, PBX задачи, SSO
Кластерный протокол
Сценарии пакетной работы
– Perl, Java / PHP, .NET
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
38. CG/PL: среда PBX приложений
•
•
•
•
•
•
Запуск от имени аккаунта
Асинхронное выполнение
Механизмы событий
Управление медиапотоками
Именованные задачи
Запуск по расписанию
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
39. Приложение (Задача PBX)
• Узел обработки
сигналов
– Принимает
– Создаёт
• Медиа
– Генерирует
– Записывает
• Интерфейс
– Account
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
41. Соединение через Миксер (B2BUA)
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
42. Создание конференций с Миксером
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
43. CG/PL: среда Web приложений
• Разные способы авторизации
– Внутри WebUser сессии
– HTTP Auth
– С правами администратора
• Использование HTML шаблонов
• Синхронное выполнение
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
44. Web интерфейс на HTML шаблонах
• Простой и эффективный
• Легко расширяется
• Может быть использован для
конкретных функций
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
45. Программы - хэлперы
• Постоянно активны
• Синхронные и
асинхронные модели
• Многопоточная модель
Process
Request
Response
– Главный поток
– Рабочие
Process
Request
Worker
Request
Response
Response
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
46. Виды пограмм-помощников
•
•
•
•
•
•
•
Фильтрация контента
Внешний аутентификатор
Помощник RADIUS
Проверка правописания
Генератор баннеров
Обработчик CDR
Интерфейс балансировщика
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
48. SASL аутентификация с внешним сервером
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
49. SASL аутентификация - проблема
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
50. Универсальный протокол XIMSS
• XML как формат данных
• Существенно протокол типа «клиент-сервер»
– Сервер уже многое умеет, не надо учить клиента
• Различные варианты транспорта
– Прямое TCP/IP соединение – упрощает отладку
– Синхронные HTTP запросы – нет проблем с файрволами
– Асинхронные HTTP запросы – уменьшают нагрузку на сервер
• Взаимодействие с CG/PL кодом на стороне сервера
• Библиотеки для популярных клиентских платформ
– JavaScript
– Java
– Objective C
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
51. XIMSS – лучше чем IMAP для почты
• Расширяемый
• Встроенная поддержка для
распространённых форматов
• Концепция «вида на папку»
• Операции с сообщениями на
стороне сервера
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
52. XIMSS – лучше чем SIP для VoIP
• Расширяемый
• Концепция «узла звонка»
• Готовые команды для
стандартных задач
• Совместимость с SIP телефонией
• Поддержка WebRTC
• Обмен событиями с PBX
задачами
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
53. XIMSS – лучше чем XMPP для IM
•
•
•
•
•
•
Расширяемый
Автоматический presence
Управление ростером
Управление форматом IM
Групповые чаты
Взаимодействие с PBX задачами
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
54. XIMSS – весь сервер в одном протоколе
• Работа с Календарями и
Заданиями
• Работа с контактами
• Поддержка S/MIME
• Работа с CLI, LDAP справочником
• Функции биллинга
• Внешние ресурсы по HTTP
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
55. Возможные применения
• Календарный клиент
– Разбор календарей – на сервере
• Клиент VoIP телефонии
– Медиа плагин
– WebRTC
• Клиент мгновенных сообщений
– QIP
– Публичный чат
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
57. Универсальные клиенты Pronto!
- Pronto! Web
- Pronto! Pro
- Pronto! Mobile
- Pronto! HTML5
Pronto! is a family of Unified
Communication services
provided by our platform to multiple
users interfaces
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
58. Конвергенция
• Почта – календари
– Стандарт, но не все ему следуют
• Почта – Звонки VoIP
– Очевидно: голосовая почта
– Менее очевидно: телефонный спам
• Календари – Звонки VoIP
– Конференции
• Мгновенные сообщения (и СМС)
– Оповещение о событиях на сервере
– Управление функциями аккаунта
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com
59. Остались вопросы?
• По ценам, способам
лицензирования и
сотрудничеству:
• russia@communigate.com
• По техническим вопросам:
• support@communigate.com
CommuniGate Pro
●
Internet Communications
●
VoIP, Email, Collaboration, IM
●
www.communigate.com