美文网首页
linphone-LIBLINPHONE

linphone-LIBLINPHONE

作者: Flannery | 来源:发表于2016-07-19 11:10 被阅读0次
Linphone学习目标

Description##

Liblinphone is a high level library integrating all the SIP video calls feature into a single easy to use API. Usually telecommunications is made of two things: media (transport of voice or video, encoding and decoding...), and signaling (routing calls, ringing, accepting a call etc...).
Liblinphone aims at combining the two things together and doing most things automatically. This makes it easier to the programmer to implement video calls in any application, without being an expert in VoIP and telecommunications. Liblinphone is an open source library based on Mediastreamer2 for voice/video streaming, and belle-sip for SIP signaling.


Liblinphone in Linphone architecture

Linphone and linphonec are directly based on Liblinphone.

schema-liblinphone

Features##


Signaling features
SIP user agent compliant with RFC 3261
SIP/UDP, SIP/TCP, SIP/TLS
IPv6 dual stack mode
Digest authentication
Supports multiple calls simultaneously(同时的) with call management features: hold on with music, resume, transfer...
Multiple SIP proxy support: registrar, proxies, outbound proxies
Text instant messaging with delivery notification
Presence using the SIMPLE standard in peer to peer mode
DTMF (telephone tones) support using SIP INFO or RFC 2833
Generic SUBSCRIBE/NOTIFY and PUBLISH


Media features
Liblinphone leverages(利用) on mediastreamer2 engine for rendering audio & video streams, and as such takes advantages of all features implemented in mediastreamer2.


Portability
Liblinphone is available on the following platforms:
Linux Debian 6/7, Centos 6/7 (x86, x86_64, ARM v5 to v7, blackfin)
Windows XP, Vista, 7 and 8 (x86, works also on x86_64)
Apple Mac OS X 10.7 to 10.10 (x86_64)
Apple iOS 6 to 8 (ARM v7, ARM 64)
Google Android 4 to 6 (ARM v5 to v7, x86)
BlackBerry OS10 (ARM v7)
Windows Phone 8 and 8.1 (ARM v7)


Implemented standards
Registration(注册), calls
Session Initiation Protocol, RFC 3261

  1. General User Agent behaviour
  2. Cancelling a request
  3. Registrations
  4. Dialogs
  5. Initiating a session
  6. Modifying an existing session
  7. Terminating a session
  8. Transactions
  9. Transports
    22.4 The Digest Authentication Scheme

Session Description Protocol, RFC 4566
An Offer/Answer Model with the Session Description Protocol (SDP), RFC 3264
An Extension to the Session Initiation Protocol (SIP), RFC 3581 (use of rport parameter)
Session Initiation Protocol (SIP) INFO Method and Package Framework, RFC 60864. The INFO Method

The Session Initiation Protocol (SIP) Refer Method, RFC 35152. The REFER Method

Session Description Protocol (SDP) Security Descriptions for Media Streams, RFC 4568
Managing Client-Initiated Connections in the Session Initiation Protocol (+sip.instance parameter), RFC5626
Connection reuse in the Session Initiation Protocol (alias parameter), RFC5923
Correct Transaction Handling for 2xx Response to Session Initiation Protocol (SIP) INVITE Requests, RFC6026
A privacy mechanism for the Session Initiation Protocol, RFC3323
Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks, RFC3325
Indication of message composition in instant messaging, RFC3994

Presence and Instant Messaging
Session Initiation Protocol (SIP)-Specific Event Notification, RFC 3265
A Presence Event Package for the Session Initiation Protocol (SIP), RFC 3856
Session Initiation Protocol (SIP) Extension for Instant Messaging, RFC 3428 (only text/plain messages)
Session Initiation Protocol (SIP) Extension for Event State Publication, RFC 3903 (Creation of PUBLISH requests)
A Data Model for Presence, RFC 4479
RPID: Rich Presence Extensions to the Presence Information Data Format (PIDF), RFC 4480

vCard
vCard 4.0, RFC 6350
extension, RFC 6474
CardDAV, RFC 6352

Documentation##

The Liblinphone wiki gives good hints to start programming with liblinphone.
The API reference documentations are available in various formats depending on the target programming language:
Liblinphone C API documentation (used for Linux, Windows, Mac and iOS) documented with Doxygen.
Liblinphone's Java wrapper for Android applications.
Python wrapper documentation
JavaScript API documentation for programming with the linphone-web plugin.

相关文章

网友评论

      本文标题:linphone-LIBLINPHONE

      本文链接:https://www.haomeiwen.com/subject/jrpyjttx.html