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

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

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

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

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

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

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

E51d363aa46f4d059d54a15e0bcd8e6f?s=128

Tech Talks @NSU

November 10, 2015
Tweet

Transcript

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

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

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

    у коллег • Интеграция с корпоративными системами • Возможности Asterisk – Голосовое меню – Call center
  4. Asterisk(Freeswitch) - АТС

  5. Интерфейсы Asterisk

  6. Разработка приложения

  7. Архитектура

  8. Модель звонков A* • Channel – Статус (ring/talk) • Dial/Bridge

    – Направление звонка • Дополнительная информация – Статистика очередей – Asterisk DB – etc
  9. Звонок в очередь

  10. Проблемы модели • Отсутствие документации ƒavg= avg+(Ti -avg)/4; • Хаотичность

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

    Надо ждать ответа • Влияние настроек астериска – Единственный сервер для тестирования – Баги, воспроизводящиеся только у определенного заказчика
  12. Сценарное логгирование

  13. Сценарное логгирование • Replay production багов • История конфигов •

    Junit тесты
  14. Выводы • Asterisk(Freeswitch) – хорошая база, но будьте готовы лезть

    в исходники • Не стоит недооценивать сложность модели звонков • Сценарные логи – ключ к победе Группа Axmor вконтакте – https://vk.com/axmor
  15. 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)