• Stars
    star
    307
  • Rank 136,109 (Top 3 %)
  • Language
    Python
  • License
    Other
  • Created over 9 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SIP SIMPLE implementation for Python
SIP SIMPLE Client SDK
---------------------

Copyright (c) 2008-2020 AG Projects
http://ag-projects.com


Description
-----------

SIP SIMPLE client SDK is a Software Development Kit for easy development of
SIP end-points that support rich media like Audio, Video, Instant Messaging,
File Transfers, Desktop Sharing and Presence.  Other media types can be
easily added by using an extensible high-level API.

The software has undergone in the past years several interoperability tests
at SIPIT (http://www.sipit.net) and today is of industry strength quality.


Background
----------

SIP stands for 'Sessions Initiation Protocol', an IETF standard described by
RFC 3261. SIP is an application-layer control protocol that can establish,
modify and terminate multimedia sessions such as Internet telephony calls
(VoIP). Media can be added to (and removed from) an existing session.

SIP allows the endpoints to negotiate and combine any type of session they
mutually understand like video, instant messaging (IM), file transfer,
desktop sharing and provides a generic event notification system with
real-time publications and subscriptions about state changes that can be
used for asynchronous services like presence, message waiting indicator and
busy line appearance.


Features
--------

The library has cross platform capabilities on Linux OS, Mac OSX and
Microsoft Windows.  The library should work with minimal changes on any
platform that supports C and Python development environments.

The SDK is suitable for building end-points like SIP clients or SIP
Application Servers.  To see what the SDK is capable of, you can try Blink
from http://icanblink.com


General

 * Written in Python
 * Non-blocking asynchronous engine
 * Built-in configuration framework
 * TLS Security for signaling (SIP) and media (MSRP, XCAP)
 * Support for multiple SIP accounts
 * Multiple Media Types per Session (e.g. Video, Audio and IM)
 * Failover support for DNS lookups, SIP and MSRP routing
 * Implements re-INVITEs for adding and removing media streams
 * Automatically handling if IP Address changes
 * Audio conference bridge
 * Wav player and recorder
 * Acoustic Echo Cancelation
 * Answering machine
 * Wide-band Internet audio codecs: Opus and Speex
 * PSTN compatible codecs: G722, G711, iLBC, GSM
 * Video codecs: H.264, VP8

Supported media

 * Audio and Video (RTP/SRTP/ZRTP)
 * Instant Messaging (MSRP and its relay extension)
 * File Transfer (MSRP and its relay extension)
 * Screen Sharing (VNC over MSRP)

All media types can be combined together in the same SIP session.


Normative References
--------------------

SIP Signaling

 * SIP, Session Initiation Protocol (RFC 3261)
 * SDP, Session Description Protocol (RFC 4566)
 * An Offer/Answer Model with Session Description Protocol (SDP) (RFC 3264)
 * Reliability of Provisional Responses in Session Initiation Protocol (RFC 3262)
 * HTTP Authentication: Basic and Digest Access Authentication (RFC 2617)
 * The Reason Header Field for the Session Initiation Protocol (RFC 3326)
 * The Session Initiation Protocol (SIP) Refer Method (RFC 3515)
 * The Session Initiation Protocol (SIP) "Replaces" Header (RFC 3891)
 * Session Initiation Protocol (SIP) Call Control - Transfer  (RFC 5589)

Address Resolution

 * DNS resolution (RFC 3263)
 * Bonjour multicast DNS (draft-lee-sip-dns-sd-uri-03)

NAT Traversal

 * SIP Signaling: Symmetric Response Routing Symmetric media (RFC 3581)
 * RTP media (Audio and Video): ICE, Interactive Connectivity Establishment
   (RFC 5245)
 * MSRP media (Instant Messaging and File Transfer): MSRP protocol relay
   extension (RFC 4976)

Audio and Video

 * RTP, A Transport Protocol for Real-Time Applications (RFC 3550)
 * Real Time Control Protocol (RTCP) attribute in Session Description
   Protocol (SDP) (RFC 3605)
 * SRTP, The Secure Real-time Transport Protocol (RFC 3711)
 * Generation and parsing of telephone-events payload in both RTP and SDP
   (RFC 2833)
 * ZRTP: Media Path Key Agreement for Unicast Secure RTP (RFC 6189)

Instant Messaging

 * CPIM, Common Presence and Instant Messaging: (RFC 3862)
 * Session Initiation Protocol (SIP) Extension for Instant Messaging
   (RFC 3428)
 * MSRP Protocol (RFC 4975)
 * Indication of Message Composition for Instant Messaging (RFC 3994)
 * Message Summary Event Package (RFC 3842)
 * File Transfer (RFC 5547)

Screen Sharing

 * Variation of draft-garcia-mmusic-sdp-collaboration-00 using RFB over MSRP

Conferencing

 * Conference Event Package (RFC 4575)
 * A Framework for Conferencing with the Session Initiation Protocol (RFC 4353)
 * SIP Call Control - Conferencing for User Agents (RFC 4579)
 * MSRP ad-hoc multi-party chat sessions (RFC 7701)

Presence

 * SIP Specific Event Notification (RFC 3265)
 * SIP Extension for Event State Publication (RFC 3903) 
 * PIDF: Presence Data Model (RFC 3863, RFC 3379, RFC 4479)
 * Watcher-info Event Package (RFC 3857, RFC 3858)
 * Rich Presence Extensions to PIDF (RFC 4480)
 * Contact Information Extension to PIDF (RFC 4482)
 * User Agent Capability Extension to PIDF (RFC 5196) 
 * XCAP Protocol (RFC 4825)
 * Common Policy (RFC 4745)
 * Presence Rules (RFC 5025)
 * Resource Lists (RFC 4826)
 * RLS Services (RFC 4826)
 * PIDF manipulation (RFC 4827)
 * XCAP Diff (RFC 5874)
 * OMA Reference Release Definition for XDM v1.1 and Presence SIMPLE v1.1
   Implementation Guidelines
 * OMA XML  Document Management V1.1


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 use the mailing list available at

http://lists.ag-projects.com/mailman/listinfo/sipbeyondvoip

Patches and bug reports must be submitted by opening a ticket at

http://sipsimpleclient.org/projects/sipsimpleclient/issues

To open ticket please Register first.


Acknowledgments
---------------

SIP SIMPLE client SDK has been partly funded by the European Commission
under grant number FP7-IST-216217.

More Repositories

1

sylkserver

SIP/XMPP/WebRTC Application Server
Python
180
star
2

blink-qt

Blink SIP Client
Python
89
star
3

sylk-webrtc

Sylk WebRTC client
JavaScript
53
star
4

python-cjson

A very fast JSON encoder/decoder for Python2
C
43
star
5

mediaproxy

Media relay for RTP/RTCP and UDP streams
Python
42
star
6

sipclients

Command line SIP clients based SIP SIMPLE SDK
Python
29
star
7

sylk-mobile

Sylk WebRTC mobile client
JavaScript
28
star
8

sylkrtc.js

JavaScript SylkRTC API library
JavaScript
27
star
9

python3-sipsimple

SIP SIMPLE SDK written in Python
Python
25
star
10

python-otr

Off-The-Record Messaging protocol implementation for Python
Python
19
star
11

blink-cocoa

Blink - SIP Client for Mac
Python
17
star
12

python-gnutls

GnuTLS bindings for Python
Python
16
star
13

openxcap

Fully featured XCAP server (RFC 4825)
Python
15
star
14

python-application

Basic building blocks for Python applications
Python
15
star
15

cdrtool

CDR mediation and rating engine for Call Details Records.
PHP
15
star
16

sylk-pushserver

Mobile push notifications for RTC infrastructures
Python
13
star
17

python3-otr

Off-The-Record Messaging protocol implementation for Python
Python
12
star
18

msrprelay

MSRP Relay (RFC 4976) implementation
Python
8
star
19

sipclients3

Command line SIP clients based SIP SIMPLE SDK
Python
6
star
20

python-msrplib

MSRP (RFC4975) client library
Python
5
star
21

callcontrol

Call Control Application for OpenSIPS
Python
5
star
22

python-eventlib

Networking library for SIP SIMPLE Client SDK
Python
3
star
23

python-xcaplib

XCAP (RFC4825) client library
Python
3
star
24

python3-xcaplib

XCAP (RFC4825) client library
Python
2
star
25

python3-gnutls

GnuTLS bindings for Python
Python
1
star
26

python3-application

Basic building blocks for Python applications
Python
1
star