Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Унифицированные коммуникации и Asterisk

Унифицированные коммуникации и Asterisk

Михаил Сидоров (Axmor) рассказывает про решения на базе Asterisk.

«Asterisk – один из самых популярных бесплатных VoIP-серверов. На его основе мы создали клиент-серверное решение, используемое десятками тысяч пользователей по всему миру.

В этом докладе мы расскажем:
- зачем вообще может понадобиться создавать «ещё один клон Skype»
- что умеют VoIP-сервера на примере Asterisk
- на какие грабли можно наступить при интеграции с Asterisk

Кроме того, мы поговорим об архитектуре нашего решения, о модели каналов Asterisk, и о проблеме борьбы с плавающими багами, которые воспроизводятся только на боевом сервере.»

Tech Talks @NSU

November 10, 2015
Tweet

More Decks by Tech Talks @NSU

Other Decks in Education

Transcript

  1. Унифицированные коммуникации • Взаимодействие с коллегами – Звонки – Текстовые

    сообщения – Статус присутствия и звонков – Email • Работа из дома – Screen share – Аудио и видео конференции
  2. УЦ vs Skype • Корпоративный список контактов • Статус звонка

    у коллег • Интеграция с корпоративными системами • Возможности Asterisk – Голосовое меню – Call center
  3. Модель звонков A* • Channel – Статус (ring/talk) • Dial/Bridge

    – Направление звонка • Дополнительная информация – Статистика очередей – Asterisk DB – etc
  4. Проблемы модели • Отсутствие документации ƒavg= avg+(Ti -avg)/4; • Хаотичность

    событий ƒUnlink/link 3 раза подряд ƒПереименование каналов
  5. Плавающие баги • Трудоемкость тестирования звонков – Много сценариев –

    Надо ждать ответа • Влияние настроек астериска – Единственный сервер для тестирования – Баги, воспроизводящиеся только у определенного заказчика
  6. Выводы • Asterisk(Freeswitch) – хорошая база, но будьте готовы лезть

    в исходники • Не стоит недооценивать сложность модели звонков • Сценарные логи – ключ к победе Группа Axmor вконтакте – https://vk.com/axmor
  7. Dial Plan • [Inbound_web] • include => lib • exten

    => 100,1, Playback(welcome) • exten => 100,2, Dial(“SIP/USER_7010”,10,twr) • exten => 200,1, Playback(welcome2) • exten => 200,2, Dial(“SIP/USER_7005”,10,twr)