Features

Version 6 (Adrian Georgescu, 04/29/2012 04:38 pm) → Version 7/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 SIP-XMPP Gateway specifications (roadmap)

The server implements relevant features from the following standards:

* SIP (RFC3261) Extensible Messaging and related RFCs for DNS, ICE and RTP
Presence Protocol (XMPP) Core RFC 6120
* MSRP protocol RFC4975 "XMPP Extensions":http://xmpp.org/xmpp-protocols/xmpp-extensions/
* MSRP relay extension RFC4976 http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-presence-02.html
* MSRP File Transfer RFC5547 http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-im-01.html
* MSRP switch draft-ietf-simple-chat-12 http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-chat-03.html
* MSRP Alternative Connection Model RFC6135 http://xmpp.org/internet-drafts/draft-saintandre-sip-xmpp-groupchat-01.html
* Indication of Message Composition RFC3994 "Google Talk":http://code.google.com/apis/talk/call_signaling.html
* 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
"Instant Messaging and Presence http://xmpp.org/rfcs/rfc6121.html (XMPP) RFC 6121":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
"File Transfers XEP-0096 XEP-0096":http://xmpp.org/extensions/xep-0096.html
* Jingle XEP-0166 "Jingle XEP-0166":http://xmpp.org/extensions/xep-0166.html
* Jingle "Jingle RTP Sessions XEP-0167 XEP-0167":http://xmpp.org/extensions/xep-0167.html
* Jingle "Jingle ICE-UDP Transport Method XEP-0176 XEP-0176":http://xmpp.org/extensions/xep-0176.html
* 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