= apt-get way(for Linux) =
 apt-get install linphone

= Installing for windowes =
directly download from official site
http://download-mirror.savannah.gnu.org/releases/linphone/3.5.x/win32/linphone-3.5.2-setup.exe

=install following packages=
 
<h2>pre packages</h2>
<pre class="_fck_mw_lspace">sudo apt-get install intltool libspeex-dev libspeexdsp-dev libavcodec-dev libavformat-dev \
    libswscale-dev libx11-dev libortp-dev libasound-dev libtool libexosip2-dev libreadline-dev libxv-dev \
    libtheora-dev libgsm1-dev libspandsp-dev libgtk-3-dev subversion libltdl-dev libcurl4-openssl-dev libi2c-dev \
    libyaml-dev libgtk2.0-dev libsqlite3-dev libdbus-1-dev bluez libbluetooth-dev libsndfile1-dev libdbus-glib-1-dev uuid-dev
</pre>
<ul><li> no video configure: 
</li></ul>
<pre class="_fck_mw_lspace">./configure --disable-libv4l2
</pre>
on arm, u can try this for better performance
<pre>
  CFLAGS='-O3 -mfloat-abi=hard -mfpu=neon' CXXFLAGS='-O3 -mfloat-abi=hard -mfpu=neon' CPPFLAGS='-O3 -mfloat-abi=hard -mfpu=neon' ./configure --disable-libv4l2 --enable-float-approx 
</pre>
on arm, safe to do this:
on arm, u can try this for better performance
<pre>
  CFLAGS='-O2 -mfloat-abi=hard -mfpu=neon' CXXFLAGS='-O2 -mfloat-abi=hard -mfpu=neon' CPPFLAGS='-O2 -mfloat-abi=hard -mfpu=neon' ./configure --disable-libv4l2 --enable-float-approx 
</pre>

<ul><li> install libv4l2 if needed.
</li></ul>
<p>Note: gstreamer0.10-fluendo-mp3 gstreamer0.10-ffmpeg is for some tools to sound to work properly in some tools.
</p>
<ul><li> after installation, u may need to run: <b>sudo ldconfig</b> to update the linking cache, otherwise, u may have missing so notification when running the app.
</li><li> need GTK+ 3 (Version&gt;=3.2), GLib 2.0 (Version&gt;=2.32) and libcurl (Version&gt;=7.0) to build client UI plug-in.
</li></ul>
==kernel module building==
===x86/64===
make sure install the linux headers. it should do it. not very sure
<pre>
  sudo apt-get install linux-headers-generic
</pre>

===arm===
Since we are building our own kernel, so we have to build from it. 
# put our kernel source to: /usr/src/luna-itc-kernel-c2h2/
# the modules depends on /lib/modules/$(uname -r)/build. which is link to /usr/src/luna-itc-kernel-c2h2/
# copy Module.symvers from building directory to /usr/src/luna-itc-kernel-c2h2/
# run following commands in the kernel: 
<pre>
make oldconfig && make prepare
make scripts
</pre>

==build errors==
===unused function===
if you see a unused function error, try following: 
<pre>
  export CC="gcc -Wno-unused-function"
  ./configure --disable-libv4l2
</pre>

if you cannot compile linphone on new system, you may need to add "--enable-strict=no" as configure argument.

==libosip2/libeXosip2 out of date==
we needs to install extra two packages.
<pre>
wget http://ftp.gnu.org/gnu/osip/libosip2-3.6.0.tar.gz
tar xvzf ./libosip2-3.6.0.tar.gz
cd ./libosip2-3.6.0 && ./autogen.sh && ./configure && make
sudo make install
</pre>
<pre>
wget http://download.savannah.gnu.org/releases/exosip/libeXosip2-3.6.0.tar.gz
tar xvzf ./libeXosip2-3.6.0.tar.gz
cd ./libeXosip2-3.6.0 && ./autogen.sh && ./configure && make
sudo make install
</pre>

=linphone configuration notes=

* config a sip account
[[File:Linphone.png]]

* (OPTIONAL) if there is another process listening on 5060, please set SIP  port number to 5062 or 5061, do not use 5060 .
[[File:sipport.png]]

=startup=
start linphone first then start the web.
== linphone ==
* linphonec --pipe
== web ==
1. bundle (install)
2. rake db:migrate
3. bundle exec rackup (visit http://localhost:9292)

=Release options for configure=
<pre>
./configure --disable-libv4l2 --disable-FEATURE --disable-x11 --enable-gtk_ui=no --enable-notify=no --enable-debug=no --enable-nonstandard-gsm=no --disable-speex --enable-video=yes --enable-tests_enabled=no --disable-sdl --enable-sv=no --enable-gl=no --disable-theora  --disable-vp8
</pre>
=Rotation=
<pre>
Section "Device"
Identifier "Card0"
Driver "fbdev"
Option "ShadowFB" "on"
Option "Rotate" "UD"
EndSection
0度时不打印Rotate行, 90度UD替换为CW, 270度UD替换为CCW
</pre>