войти зарегистрироваться

IP-телефонияTalkPad изнутри



Прошел почти год после публикации первой вводной статьи о TalkPad. В процессе эксплуатации и развития сервиса мы столкнулись со многими технологическими проблемами, часть из которых успешно преодолели. Сегодня мы хотим рассказать вам о том, как устроена серверная сторона TalkPad.

Напомню что TalkPad — это сервис, который предоставляет возможность позвонить на городские и мобильные телефоны прямо из браузера, установив плагин.

Итак, как же все-таки может быть устроен бэкенд высоконагруженного сервиса телефонии?

IP-телефонияБудущий дизайн OpenSIPS

Предисловие

OpenSIPS — это сигнальный SIP-коммутатор. Если вы хотите обрабатывать реально много SIP-звонков, то, скорее всего, мимо OpenSIPS не пройдете.
Система реально «mature», проверенная в бою и, со временем, обросшая множеством полезных (и не очень) модулей.

Вместе с этим, очевидно, что архитектура, заложеннная еще в 2001 году не отвечает современным требованиям.
Поэтому разработчики OpenSIPS заявили, что версия 2.0 будет вестись «с чистого листа».

Ниже приведен перевод документа OpenSIPS 2.0 Design. Интересно, что думает хабрасообщество по этому поводу.

Комментарии по существу я постараюсь передать разработчикам.

Зачем нужна новая архитектура

Текущая архитектура OpenSIPS (до версии 2.0) основана на концепциях, которым более 7 лет. В то время требования были простыми (простой stateless SIP-прокси, только UDP) и решения принимались в соответствии с этими требованиями. Но со всеми дополнениями, как в SIP так и функционале (таком как TCP/TLS, манипуляции в скрипте, поддержка диалогов, интеграция с внешними системами и т.д.), существующая архитектура больше не может удовлетворять требованиям и реальным сценариям использования.

Внимание! Внутри большой и структурированный текст с картинками.

IP-телефонияПроект оптимизации распределения входящих Voip звонков

imageimageimage

Работаю я как Voip системный администратор на одну маленькую французскую компанию, как я сюда попал это отдельная история.
Я покажу результаты работы команды над проектом целью которого являлась глобальная эквивалентная стратегия распределения звонков на центры дозвона в зависимости от количества агентов способных принимать звонки. Фраза конечно удалась,

IP-телефонияSIP-proxy своими руками. Немного про OpenSIPS

OpenSIPS — мощный и гибкий SIP-прокси. Разработчики утверждают, что продукт способен обслуживать несколько сот тысяч одновременных подключений. Сервер поддерживает различные базы данных: mysql, postgres, тесктовые файлы и даже псевдоинтерфейс через http. Есть так же модули для load-balancing, geoip, различных типов маршрутизации, xcap. С полным списком для текущей версии 1.6.1 можно ознакомиться на странице документации.

Когда имеет смысл использовать OpenSIPS? Сложно однозначно ответить на этот вопрос, потому, что система позволяет реализовать почти всё, что угодно. Но точно OpenSIPS может пригодиться, когда у вас есть сложный алгоритм обработки вызовов с разветвлённой логикой.
Однако нужно учесть, что задача прокси — обработать запрос и передать его дальше. Проксирование RTP, или music-on-hold делается сторонними сервисами.

В этой статье я постараюсь рассказать о принципах работы OpenSIPS и предоставить рабочую конфигурацию для организации минимального сервиса. Дальше очень много букв.