SylkServer ---------- Copyright (c) 2010-2011 AG Projects http://ag-projects.com Authors: Adrian Georgescu, Denis Bilenko, Saul Ibarra Home page: http://sylkserver.com License ------- SylkServer is licensed under GNU General Public License version 3. A copy of the license is available at http://www.fsf.org/licensing/licenses/gpl-3.0.html Description ----------- SylkServer is a SIP application server that can be programmed to perform SIP end-point applications. 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 must be typically deployed behind a SIP Proxy as it is not designed to route packets, handle authorization or accounting. SylkServer is horizontally scalable with the amount of available hardware by using SIP Thor, a P2P based self-organizing network technology. Features -------- SIP Signaling - TLS, TCP and UDP transports - INVITE and REFER - SUBSCRIBE/NOTIFY - Protocol tracing NAT Traversal - SIP Outbound - ICE and STUN - MSRP Relay - MSRP ACM Audio - Wideband (G722 and Speex) - Narrowband (G711 and GSM) - sRTP encryption - Hold/Unhold - RTP timeout - DTMF handling Instant Messaging - MSRP protocol - CPIM envelope - Is-composing - Delivery reports File Transfer - MSRP protocol - Progress reports - Conference-info extension - Conference room persistent Conferencing - Wideband RTP mixer - MSRP switch - Conference event package - Add/remove participants Applications ------------ Conference SylkServer allows SIP end-points to create ad-hoc conference rooms by sending INVITE to a random username at the hostname or domain where the server runs. Other participants can then join by sending an INVITE to the same SIP URI used to create the room. The INVITE and subsequent re-INVITE methods may contain one or more media types supported by the server. Each conference room mixed audio, instant messages and uploded files are dispatched to all participants. One can remove or add participants by sending a REFER method to the conference URI. If a participant sends a file to the SIP URI of the room, the server will accept it, store it for the duration of the conference and offer it to all participants either present at that moment, or offer it on demand to those that have joined the conference at a later moment. Standards --------- The server implements relevant features from the following standards: - MSRP protocol RFC4975 - MSRP relay extension RFC4976 - MSRP File Transfer RFC5547 - MSRP switch draft-ietf-simple-chat-08 - 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 Support ------- The project is developed and supported by AG Projects. The support is provided on a best-effort basis. "best-effort" means that we try to solve the bugs you report or help fix your problems as soon as we can, subject to available resources. To request support you must the use SIP Beyond VoIP mailing list: http://lists.ag-projects.com/mailman/listinfo/sipbeyondvoip For commercial support contact AG Projects http://ag-projects.com