-
Notifications
You must be signed in to change notification settings - Fork 20
SIP SIMPLE SDK written in Python
License
AGProjects/python3-sipsimple
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SIP SIMPLE SDK -------------- Copyright (c) 2008-2023 AG Projects https://ag-projects.com Description ----------- SIP SIMPLE SDK is a Python library for desktop operating systems designed for the development of real time communications applications based on SIP protocol and related media like audio, video, messaging, file transfers, desktop sharing and presence. 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. General * Written in Python3 * Non-blocking asynchronous engine * Built-in configuration framework * TLS Security for signaling (SIP) and media (MSRP, XCAP) * TLS server name extention * 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, AMR * Video codecs: H.264, VP8, VP9 Supported media * Audio and Video (RTP) * 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) * Support for http file-transfer (RCS RCC.07) documents * OTR (Off-the-Record Messaging) a cryptographic protocol that provides encryption for instant messaging conversations 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 can also be submitted by opening a ticket at https://github.com/AGProjects/python3-sipsimple Acknowledgments --------------- SIP SIMPLE SDK has been partly funded in 2008 by the European Commission under grant number FP7-IST-216217. Authors ------- Adrian Georgescu Dan Pascu Ruud Klaver Denis Bilenko Lucian Stanescu Saúl Ibarra Corretgé Petar Bozin
About
SIP SIMPLE SDK written in Python
Topics
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published