Features

Version 7 (Adrian Georgescu, 01/30/2013 10:31 am) → Version 8/9 (Adrian Georgescu, 01/30/2013 10:31 am)

h1. 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.

h2. 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.



h2. Features

|_.SIP Signaling|_.Conferencing|_.NAT Traversal|
| TLS, TCP and UDP transports| Wideband RTP mixer|SIP Outbound Proxy|
| INVITE and REFER |MSRP switch| ICE and STUN|
| SUBSCRIBE/NOTIFY |Conference event package|MSRP Relay|
| Protocol tracing | Add/remove participant |MSRP ACM|

|_.Voice over IP|_.Instant Messaging|_. File Transfer|
| * Wideband (G722 and Speex)|\2=.MSRP protocol|
|* Narrowband (G711 and GSM)|CPIM envelope|Progress reports|
|* sRTP encryption|Is-composing indicator|Conference-info extension|
| * Hold/Unhold|Delivery reports |Conference room persistent|

h2.
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

h3. Implemented Standards

The server implements relevant features from the following standards:

* SIP (RFC3261) and related RFCs for DNS, ICE and RTP
* MSRP protocol RFC4975
* MSRP relay extension RFC4976
* MSRP File Transfer RFC5547
* MSRP switch draft-ietf-simple-chat-12
* MSRP Alternative Connection Model RFC6135
* 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
* 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
* XMPP core (RFC 6120) http://xmpp.org/rfcs/rfc6120.html
* XMPP extensions http://xmpp.org/xmpp-protocols/xmpp-extensions
* Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html
* Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
* Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
* Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html

h4. SIP-XMPP Gateway specifications (roadmap)

* Google Talk
* 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