« Previous - Version 2/9 (diff) - Next » - Current version
Tijmen de Mes, 04/05/2012 05:47 pm


Description

SylkServer is a SIP application server based on SIP SIMPLE Client SDK that can be programmed to perform SIP end-point applications. Examples of such server applications are conferencing, media offline storage, playing voice prompts, IVR, or gateway to other protocols like XMPP. The server supports SIP signaling over TLS, TCP and UDP transports, RTP and MSRP media planes, has built in capabilities for creating ad-hoc SIP multimedia conferences with HD Audio, IM and File Transfer and can be easily extended with other applications by using Python language.

Deployment

SylkServer is not designed to transparently route packets, authorization, accounting and handle NAT traversal for signaling or media. Performing applications like SIP Proxy, Registrar, or Presence Agent are out of its scope. SylkServer must be typically deployed behind a SIP Proxy for providing such functions.

SylkServer is horizontally scalable with the amount of available hardware by using SIP Thor, a P2P based self-organizing network technology.

Features

SIP Signaling Conferencing * NAT Traversal
Voice over IP Instant Messaging File Transfer
* Wideband (G722 and Speex)
* Narrowband (G711 and GSM)
* sRTP encryption
* Hold/Unhold
  • Wideband RTP mixer
  • MSRP switch
  • Conference event package
  • Add/remove participants
SIP Outbound Proxy
  • ICE and STUN
  • MSRP Relay
  • MSRP ACM
Wideband (G722 and Speex)
  • Narrowband (G711 and GSM)
  • sRTP encryption
  • Hold/Unhold *
MSRP protocol
  • CPIM envelope
  • Is-composing indicator
  • Delivery reports *
MSRP protocol
  • Progress reports
  • Conference-info extension
  • Conference room persistent

Implemented Standards

  • MSRP protocol RFC4975
  • MSRP relay extension RFC4976
  • MSRP File Transfer RFC5547
  • MSRP Alternative Connection Model RFC6135
  • MSRP switch draft-ietf-simple-chat-10
  • Indication of Message Composition RFC3994
  • CPIM Message Format RFC3862
  • Conference event package RFC4575
  • A Framework for Conferencing with SIP RFC4353
  • Conferencing for User Agents RFC4579
  • 5.1 INVITE: Joining a Conference Using the Conference URI - Dial-In
  • 5.2 INVITE: Adding a Participant by the Focus - Dial-Out
  • 5.5 REFER: Requesting a Focus to Add a New Resource to a Conference
  • 5.11 REFER with BYE: Requesting a Focus to Remove a Participant from a Conference
  • SIP-XMPP Gateway specifications (roadmap)

Extensible Messaging and Presence Protocol (XMPP) Core RFC 6120
XMPP Extensions
http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html
Google Talk
Instant Messaging and Presence (XMPP) RFC 6121
File Transfers XEP-0096
Jingle XEP-0166
Jingle RTP Sessions XEP-0167
Jingle ICE-UDP Transport Method XEP-0176
Locating IM and Pres services with different protocols
http://tools.ietf.org/html/rfc3861
http://www.iana.org/assignments/pres-srv-labels/pres-srv-labels.xml
http://tools.ietf.org/html/rfc5509
SRV for SIP _im._sip.example.com _pres._sip.example.com
SRV for XMPP _im._xmpp.example.com _pres._xmpp.example.com