JsSIP — библиотека для языка программирования JavaScript, которая позволяет использовать технологию WebRTC в виде оконечного программного SIP-телефона (софтфона) на любом веб-сайте. JsSIP позволяет организовать аудио и видео общение в режиме реального времени, а также обеспечить передачу текстовых сообщений другим пользователям.[2]
С точки зрения мультимедиа JsSIP может работать с браузером Chrome, начиная с версии 24. На уровне сигнализации (протокол SIP) JsSIP работает в любом браузере с поддержкой WebSocket. При загрузке JsSIP на каком либо сайте, появляется возможность использования WebRTC для подключения браузера к любому SIP-устройству (софтсвичу или другому SIP-клиенту) внутри веб-сокетов.
JsSIP предоставляется как программное обеспечение с открытым исходным кодом по лицензии MIT.[3]
Особенности
- SIP через веб-сокет
- Полноценная поддержка всех основных стандартов SIP
- Аудио и видео вызовы, обмен мгновенными сообщениями, контроль статус других пользователей
- Полноценный код на JavaScript, созданный с нуля
- Простой в использовании и мощный пользовательский API
- Возможность работы с любым SIP-сервером: FreeSwitch, Asterisk, verSIP, Kamailio, и т. д. и т. п.
Стандарты
В JsSIP применяются SIP-спецификации:
- RFC 3261 — SIP: Session Initiation Protocol
- RFC 3311 — SIP Update Method
- RFC 3326 — The Reason Header Field for SIP
- RFC 3327 — SIP Extension Header Field for Registering Non-Adjacent Contacts (Path header)
- RFC 3428 — SIP Extension for Instant Messaging (MESSAGE method)
- RFC 4028 — Session Timers in SIP
- RFC 5626 — Managing Client-Initiated Connections in SIP (Outbound mechanism)
- RFC 5954 — Essential Correction for IPv6 ABNF and URI Comparison in RFC 3261
- RFC 6026 — Correct Transaction Handling for 2xx Responses to SIP INVITE Requests
- RFC 7118 — The WebSocket Protocol as a Transport for SIP
Примечания