Travis Cross a0e9639a1f Handle Linux TCP keepalives better in Sofia
Sofia accepts a value for the TCP keepalive timeout interval via
TPTAG_KEEPALIVE, however it fails to use this value for the Linux
keepalive socket options TCP_KEEPIDLE and TCP_KEEPINTVL.  In fact, on
Linux it enables the sending of TCP keepalives even if tpp_keepalive
is set to zero which would disable Sofia's internal keepalive
mechanisms.  Sofia then uses a hard coded value of 30 seconds for
these keepalive intervals which affects battery life on mobile
devices.

With this commit we harmonize the sending of TCP keepalives on Linux
with other platforms by using the value from TPTAG_KEEPALIVE and not
enabling the sending of TCP keepalives at all if the value of the
parameter is zero.

FS-6104 --resolve
2014-01-18 15:46:56 +00:00
..
2010-04-02 01:15:18 -04:00
2010-02-23 22:56:54 +00:00
2012-01-19 19:44:08 -06:00

=============================================================
README / Sofia-SIP - RFC3261 compliant SIP User-Agent library
=============================================================

Introduction
------------

Sofia-SIP is an open-source SIP User-Agent library, compliant
with the IETF RFC3261 specification. It can be used as
a building block for SIP client software for uses such as VoIP,
IM, and many other real-time and person-to-person communication
services. The primary target platform for Sofia-SIP is
GNU/Linux. Sofia-SIP is based on a SIP stack developed at
the Nokia Research Center. Sofia-SIP is licensed under the LGPL.


Quick start
-----------

Sofia-SIP uses the GNU autotools, so building procedure
is the usual:

sh> sh autogen.sh (if building from darcs)
sh> ./configure
sh> make
sh> make install

See also 'docs/devel_platform_notes.txt' for notes on compiling
Sofia-SIP in different environments.

See the "options-client-example" (available using darcs at
http://sofia-sip.org/repos/options-client-example/ or with CVS as
a module in Sofia-SIP CVS tree) for an example of a small app that
is utilizing Sofia-SIP, and specifically the libsofia-sip-ua
library component.

There are also multiple example clients under
the "sofia-sip/utils" directory:

- sip-options, query using SIP OPTIONS method
- sip-date, SIP date printer/parser

The Sofia-SIP su submodule also provides some small utilities:

- addrinfo (libsofia-sip-ua/su), resolve host names
- localinfo (libsofia-sip-ua/su), prints information about
  local network interfaces

References
----------

Project website:
- http://sofia-sip.sourceforge.net
- http://www.sourceforge.net/projects/sofia-sip

Mailing list:
- http://sourceforge.net/mail/?group_id=143636

Version control repositories:
- see the project website (link above)

Licensing
---------

Sofia-SIP is licensed under terms of the GNU LGPL.
See the file "COPYING" for more information.