diff --git a/sflphone-gtk/pixmaps/Makefile.am b/sflphone-gtk/pixmaps/Makefile.am
index 05dd51bf392d2dd916004f1ed2c3cb9fbf58b691..dddc174e5fbb57de5efb782d4f8b623d93555658 100644
--- a/sflphone-gtk/pixmaps/Makefile.am
+++ b/sflphone-gtk/pixmaps/Makefile.am
@@ -2,6 +2,6 @@ icondir   = $(datadir)/pixmaps
 
 icon_DATA = sflphone.png
 
-buttons_DATA = accept.svg current.svg transfert.svg hang_up.svg hold.svg unhold.svg refuse.svg call.svg ring.svg dial.svg mic.svg mic_25.svg mic_50.svg mic_75.svg speaker.svg speaker_25.svg speaker_50.svg speaker_75.svg fail.svg incoming.svg outgoing.svg missed.svg mailbox.svg busy.svg icon_accept.svg icon_hold.svg icon_unhold.svg icon_hangup.svg icon_call.svg icon_dialpad.svg icon_volume.svg icon_dialpad_off.svg icon_volume_off.svg history.svg history2.svg sflphone.png stock_person.svg
+buttons_DATA = accept.svg current.svg transfert.svg hang_up.svg hold.svg unhold.svg refuse.svg call.svg ring.svg dial.svg mic.svg mic_25.svg mic_50.svg mic_75.svg speaker.svg speaker_25.svg speaker_50.svg speaker_75.svg fail.svg incoming.svg outgoing.svg missed.svg mailbox.svg busy.svg icon_accept.svg icon_hold.svg icon_unhold.svg icon_hangup.svg icon_call.svg icon_dialpad.svg icon_volume.svg icon_dialpad_off.svg icon_volume_off.svg history.svg history2.svg sflphone.png stock_person.svg rec_call.svg record.svg icon_rec.svg
 buttonsdir   = $(datadir)/sflphone
 EXTRA_DIST   = $(buttons_DATA) $(icon_DATA)
diff --git a/sflphone-gtk/pixmaps/icon_rec.svg b/sflphone-gtk/pixmaps/icon_rec.svg
new file mode 100644
index 0000000000000000000000000000000000000000..309aa07807f19d8345afcc68129121c6a91cc9a3
--- /dev/null
+++ b/sflphone-gtk/pixmaps/icon_rec.svg
@@ -0,0 +1,1677 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="16"
+   height="16"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docbase="/home-local/plbeaudoin/SFLPhone/sflphone/sflphone-gtk/pixmaps"
+   sodipodi:docname="icon_rec.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape">
+  <defs
+     id="defs4">
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2491"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2489"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2487"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2485"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2483"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2433">
+      <stop
+         style="stop-color:#008000;stop-opacity:1;"
+         offset="0"
+         id="stop2435" />
+      <stop
+         style="stop-color:#008000;stop-opacity:0;"
+         offset="1"
+         id="stop2437" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2433"
+       id="linearGradient2439"
+       x1="2.965755"
+       y1="-0.80084854"
+       x2="32.578228"
+       y2="16.739393"
+       gradientUnits="userSpaceOnUse" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       id="perspective4283" />
+    <linearGradient
+       id="linearGradient3370">
+      <stop
+         style="stop-color:#d7d7d7;stop-opacity:1;"
+         offset="0"
+         id="stop3372" />
+      <stop
+         style="stop-color:#7c7c7c;stop-opacity:1;"
+         offset="1"
+         id="stop3374" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3362">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3364" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3366" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4045">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop4047" />
+      <stop
+         style="stop-color:#fcfbcb;stop-opacity:1"
+         offset="1"
+         id="stop4049" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4269">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop4271" />
+      <stop
+         style="stop-color:#1db000;stop-opacity:0;"
+         offset="1"
+         id="stop4273" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4183">
+      <stop
+         id="stop4185"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop4187"
+         offset="1"
+         style="stop-color:#0f5f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4167">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop4169" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop4171" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2224"
+       x1="16.826796"
+       y1="6.7288713"
+       x2="27.5625"
+       y2="22.512505"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1388"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient1386"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient1384"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient1382"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient1380"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1374">
+      <stop
+         id="stop1376"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop1378"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1368">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop1370" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop1372" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1362">
+      <stop
+         id="stop1364"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop1366"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1406"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1408"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1410"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1412"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1414"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2925"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.113755"
+       x2="7.293807"
+       y1="16.110582"
+       x1="11.408385"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3160"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2921"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.949513"
+       x2="2.7672646"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2919"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2917"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2762"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2764"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2766"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2768"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2770"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2433"
+       id="linearGradient3144"
+       x1="2.965755"
+       y1="-0.80084854"
+       x2="32.578228"
+       y2="16.739393"
+       gradientUnits="userSpaceOnUse" />
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       id="perspective3142" />
+    <linearGradient
+       id="linearGradient3136">
+      <stop
+         style="stop-color:#d7d7d7;stop-opacity:1;"
+         offset="0"
+         id="stop3138" />
+      <stop
+         style="stop-color:#7c7c7c;stop-opacity:1;"
+         offset="1"
+         id="stop3140" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3130">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop3132" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3134" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2783">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop2785" />
+      <stop
+         style="stop-color:#fcfbcb;stop-opacity:1"
+         offset="1"
+         id="stop2787" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2789">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2791" />
+      <stop
+         style="stop-color:#1db000;stop-opacity:0;"
+         offset="1"
+         id="stop2793" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2795">
+      <stop
+         id="stop2797"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2799"
+         offset="1"
+         style="stop-color:#0f5f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2801">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2803" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2805" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2807"
+       x1="16.826796"
+       y1="6.7288713"
+       x2="27.5625"
+       y2="22.512505"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2809"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient2811"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient2813"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient2815"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient2817"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2819">
+      <stop
+         id="stop2821"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2823"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2825">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2827" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop2829" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2831">
+      <stop
+         id="stop2833"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2835"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2837"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2839"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2841"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2843"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2845"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3374"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3372"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="168.2903"
+       x2="224.82684"
+       y1="-5.1353641"
+       x1="160.2529"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2646"
+       xlink:href="#linearGradient3308"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3368"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3366"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="168.2903"
+       x2="224.82684"
+       y1="-5.1353641"
+       x1="160.2529"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3364"
+       xlink:href="#linearGradient3308"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2641"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3360"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="168.2903"
+       x2="224.82684"
+       y1="-5.1353641"
+       x1="160.2529"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3340"
+       xlink:href="#linearGradient3308"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3338"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3336"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="168.2903"
+       x2="224.82684"
+       y1="-5.1353641"
+       x1="160.2529"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3326"
+       xlink:href="#linearGradient3308"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3324"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3322"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="168.2903"
+       x2="224.82684"
+       y1="-5.1353641"
+       x1="160.2529"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3306"
+       xlink:href="#linearGradient3308"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,376.2049,402.98248)"
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3301"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="66.61824"
+       x2="172.07999"
+       y1="259.7438"
+       x1="224.26379"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3287"
+       xlink:href="#linearGradient3289"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="62.412689"
+       x2="204.55589"
+       y1="262.45413"
+       x1="204.55589"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3213"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="62.412689"
+       x2="204.55589"
+       y1="262.45413"
+       x1="204.55589"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3211"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="65.800499"
+       x2="226.90887"
+       y1="259.03506"
+       x1="175.13184"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient3203"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="62.412689"
+       x2="204.55589"
+       y1="262.45413"
+       x1="204.55589"
+       id="linearGradient3199"
+       xlink:href="#linearGradient3193"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="23.016739"
+       x2="184.85791"
+       y1="316.97113"
+       x1="175.76654"
+       id="linearGradient3179"
+       xlink:href="#linearGradient3181"
+       inkscape:collect="always" />
+    <radialGradient
+       gradientUnits="userSpaceOnUse"
+       r="140.91121"
+       fy="163.42795"
+       fx="184.85791"
+       cy="163.42795"
+       cx="184.85791"
+       id="radialGradient3163"
+       xlink:href="#linearGradient2385"
+       inkscape:collect="always" />
+    <inkscape:perspective
+       id="perspective10"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       id="linearGradient2385">
+      <stop
+         id="stop2387"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.55172414;"
+         offset="0.87037039"
+         id="stop3175" />
+      <stop
+         id="stop2389"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3169">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop3171" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0;"
+         offset="1"
+         id="stop3173" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3181">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop3183" />
+      <stop
+         id="stop3185"
+         offset="0.11529652"
+         style="stop-color:#ff0000;stop-opacity:0.65271967" />
+      <stop
+         style="stop-color:#000000;stop-opacity:0.15481172"
+         offset="1"
+         id="stop3187" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3193"
+       inkscape:collect="always">
+      <stop
+         id="stop3195"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop3197"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3289">
+      <stop
+         style="stop-color:#999999;stop-opacity:1"
+         offset="0"
+         id="stop3291" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop3293" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3308"
+       inkscape:collect="always">
+      <stop
+         id="stop3310"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:1" />
+      <stop
+         id="stop3312"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:0" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3169"
+       id="linearGradient2702"
+       x1="192.86734"
+       y1="118.36168"
+       x2="189.20502"
+       y2="355.44769"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient2278">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop2280" />
+      <stop
+         style="stop-color:#fefee7;stop-opacity:0.89308178"
+         offset="1"
+         id="stop2282" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2284">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2286" />
+      <stop
+         style="stop-color:#1db000;stop-opacity:0;"
+         offset="1"
+         id="stop2288" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2290">
+      <stop
+         id="stop2292"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2294"
+         offset="1"
+         style="stop-color:#0f5f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2296">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2298" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2300" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2302"
+       x1="16.826796"
+       y1="6.7288713"
+       x2="27.5625"
+       y2="22.512505"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2304"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient2306"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient2308"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient2310"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient2312"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2314">
+      <stop
+         id="stop2316"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2318"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2320">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2322" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop2324" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2326">
+      <stop
+         id="stop2328"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2330"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2332"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2334"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2336"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2338"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2340"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4045"
+       id="radialGradient2342"
+       cx="19.285715"
+       cy="9.8571424"
+       fx="19.285715"
+       fy="9.8571424"
+       r="10.885714"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.418975,2.444023e-18,-2.444023e-18,0.418975,11.20548,5.727248)" />
+    <linearGradient
+       gradientTransform="matrix(1.256521,0,0,-1.256521,-7.854319,28.773309)"
+       gradientUnits="userSpaceOnUse"
+       y2="8.5305319"
+       x2="15.630395"
+       y1="22.874208"
+       x1="15.630395"
+       id="linearGradient2444"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,31.179578,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2442"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.1362892,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient2440"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient2438"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-1.9107675,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient2436"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.9220986,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient2434"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2428">
+      <stop
+         id="stop2430"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2432"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2422">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2424" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop2426" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2416">
+      <stop
+         id="stop2418"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2420"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient3003"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient3001"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="2.7672646"
+       y2="12.949513" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2999"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2997"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="11.408385"
+       y1="16.110582"
+       x2="7.293807"
+       y2="12.113755" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2995"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <radialGradient
+       gradientTransform="matrix(0.418975,0,0,0.418975,11.20548,5.727248)"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       r="10.885714"
+       fy="9.8571424"
+       fx="19.285715"
+       cy="9.8571424"
+       cx="19.285715"
+       id="radialGradient2993"
+       xlink:href="#linearGradient4045"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2991"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2989"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2987"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2985"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2983"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2977">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2979" />
+      <stop
+         style="stop-color:#26b000;stop-opacity:0;"
+         offset="1"
+         id="stop2981" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2971">
+      <stop
+         id="stop2973"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2975"
+         offset="1"
+         style="stop-color:#145f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2965">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2967" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2969" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2963"
+       x1="1.0046476"
+       y1="12.825893"
+       x2="7.9239235"
+       y2="12.825893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2961"
+       x1="24.397505"
+       y1="12.535715"
+       x2="31.31678"
+       y2="12.535715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2959"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2957"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2955"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient4275"
+       x1="15.630395"
+       y1="22.874208"
+       x2="15.806232"
+       y2="6.6770978"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.62913,0,0,-1.62913,-10.06608,39.71987)" />
+    <linearGradient
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)"
+       gradientUnits="userSpaceOnUse"
+       y2="22.512505"
+       x2="27.5625"
+       y1="6.7288713"
+       x1="16.826796"
+       id="linearGradient2952"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient4260"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       id="linearGradient4256"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient4203"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       id="linearGradient4195"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       id="linearGradient4181"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2941">
+      <stop
+         id="stop2943"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2945"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2935">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2937" />
+      <stop
+         style="stop-color:#0f5f00;stop-opacity:1;"
+         offset="1"
+         id="stop2939" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2929">
+      <stop
+         id="stop2931"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2933"
+         offset="1"
+         style="stop-color:#1db000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2923">
+      <stop
+         id="stop2925"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0" />
+      <stop
+         id="stop2927"
+         offset="1"
+         style="stop-color:#fcfbcb;stop-opacity:1" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective4757"
+       inkscape:persp3d-origin="12 : 8 : 1"
+       inkscape:vp_z="24 : 12 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 12 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="20.635709"
+     inkscape:cy="3.1660007"
+     inkscape:document-units="px"
+     inkscape:current-layer="g2892"
+     width="16px"
+     height="16px"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1014"
+     inkscape:window-height="726"
+     inkscape:window-x="336"
+     inkscape:window-y="209"
+     showgrid="false">
+    <sodipodi:guide
+       orientation="vertical"
+       position="24.821428"
+       id="guide3146" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g2446"
+       inkscape:label="Calque 1"
+       transform="matrix(0.7408994,0,0,0.6585858,15.041353,0.5591868)">
+      <g
+         style="fill:none;stroke:#000000;stroke-opacity:0.44968555"
+         transform="matrix(-0.4376782,-0.758081,0.7581751,-0.4377326,3.5952686,30.820492)"
+         id="g2181">
+        <path
+           sodipodi:nodetypes="csccczccsccccc"
+           id="path2183"
+           d="M 41.109694,-0.41817229 C 40.505298,0.20454826 39.040867,0.77635346 37.592239,0.77635106 C 36.102089,0.77635106 34.114653,0.15682998 33.532659,-0.49267807 L 33.569913,-2.0031726 L 33.569913,-3.0835065 C 31.027414,-3.5787101 30.997014,-3.8285637 27.525623,-3.8285643 C 24.054233,-3.8285649 23.830777,-3.5759718 21.29017,-3.0462535 L 21.29017,-0.3436665 C 20.685773,0.27905404 19.221343,0.87609843 17.772714,0.87609724 C 16.282564,0.87609724 14.623294,0.43325774 13.915083,-0.41817229 L 14.138601,-5.7646408 C 18.129172,-7.3187814 22.030595,-8.3970767 27.437882,-8.5586077 C 32.38601,-8.450833 36.259126,-7.7053161 40.886177,-5.8763994 L 41.109694,-0.41817229 z"
+           style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.65573961;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.44968555" />
+      </g>
+      <g
+         transform="matrix(-0.4400595,-0.7622054,0.7622054,-0.4400595,-10.917299,27.830684)"
+         id="g2451">
+        <path
+           style="opacity:1;fill:url(#linearGradient2483);fill-opacity:1;stroke:#0f5600;stroke-width:0.625;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           d="M 16.100095,4.59375 C 10.946289,4.7477067 7.2256019,5.7999634 3.4220983,7.28125 L 3.2345983,10.227679 C 3.7846813,10.972881 5.0136533,11.508929 6.4220983,11.508929 C 7.7912983,11.508929 8.9758403,11.004648 9.5470983,10.290179 L 9.5470983,9.1875 C 11.968608,8.682612 12.862258,8.4375 16.125,8.4375 C 19.479577,8.4375001 20.38467,8.6842603 22.807982,9.15625 L 22.807982,10.165179 C 23.37924,10.879648 24.563781,11.383929 25.932982,11.383929 C 27.341427,11.383929 28.53915,10.847881 29.089232,10.102679 L 28.901732,7.15625 C 24.491586,5.413068 20.816266,4.6964725 16.100095,4.59375 z"
+           id="path2453"
+           sodipodi:nodetypes="cccsccsccsccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient2485);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           d="M 6.4075414,13.019293 C 7.7882612,13.019293 8.983936,12.610489 9.5600003,12.01696 L 9.5600003,10.430989 C 8.8231919,11.109285 7.789205,11.494948 6.4075414,11.494948 C 4.9854414,11.494948 3.9881276,11.13019 3.2127675,10.48174 L 3.2127675,11.966208 C 3.7674786,12.585269 4.9872465,13.019293 6.4075414,13.019293 z"
+           id="path2455"
+           sodipodi:nodetypes="cccsccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient2487);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           d="M 25.967532,12.944669 C 27.348252,12.944669 28.543927,12.535865 29.119991,11.942336 L 29.119991,10.356365 C 28.383183,11.034661 27.349196,11.420324 25.967532,11.420324 C 24.545432,11.420324 23.548118,11.055566 22.772758,10.407116 L 22.772758,11.891584 C 23.327469,12.510645 24.547237,12.944669 25.967532,12.944669 z"
+           id="path2457"
+           sodipodi:nodetypes="cccsccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient2489);fill-opacity:1;stroke:none;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           d="M 6.6822725,11.157918 C 8.0629923,11.157918 8.7535908,10.73333 9.3296551,10.139801 L 9.0644746,7.3100024 C 8.3276662,7.9882984 8.1270706,8.5445024 6.745407,8.5445024 C 5.323307,8.5445024 4.4996132,8.1797444 3.7242531,7.5312944 L 3.4874986,10.104833 C 4.0422097,10.723894 5.2619776,11.157918 6.6822725,11.157918 z"
+           id="path2459"
+           sodipodi:nodetypes="cccsccc" />
+        <path
+           style="opacity:1;fill:url(#linearGradient2491);fill-opacity:1;stroke:none;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+           d="M 25.633599,11.055324 C 24.252879,11.055324 23.56228,10.630736 22.986216,10.037207 L 22.418005,7.3779497 C 23.154814,8.0562457 24.188801,8.4419087 25.570464,8.4419087 C 26.992564,8.4419087 27.816258,8.0771507 28.591618,7.4287007 L 28.828373,10.002239 C 28.273662,10.6213 27.053894,11.055324 25.633599,11.055324 z"
+           id="path2461"
+           sodipodi:nodetypes="cccsccc" />
+      </g>
+    </g>
+    <g
+       id="g3163"
+       inkscape:label="Calque 1"
+       transform="matrix(0.9893246,0,0,1,21.699174,-4.0949332)">
+      <path
+         style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.50400001;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;visibility:visible;display:inline;overflow:visible"
+         d="M 18.019888,12.625004 C 18.48189,11.534667 18.765826,10.027007 18.765826,8.3750001 C 18.765826,6.7229936 18.48189,5.2153338 18.019888,4.1249963"
+         id="path3488"
+         sodipodi:nodetypes="csc" />
+      <g
+         transform="matrix(0.642707,0,0,0.6390328,-37.329383,5.2087423)"
+         inkscape:label="Calque 1"
+         id="g2892">
+        <g
+           id="g2651"
+           inkscape:label="Layer 1"
+           transform="matrix(4.9064853e-2,-8.3536268e-2,8.8523433e-2,4.8433051e-2,19.350371,10.666504)">
+          <g
+             transform="matrix(0.4480735,0,0,0.4170774,98.907461,118.01666)"
+             id="g3342">
+            <path
+               sodipodi:type="arc"
+               style="opacity:1;fill:url(#linearGradient3372);fill-opacity:1;stroke:none"
+               id="path3209"
+               sodipodi:cx="201.02036"
+               sodipodi:cy="162.41779"
+               sodipodi:rx="100.0051"
+               sodipodi:ry="100.0051"
+               d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+               transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)" />
+            <path
+               sodipodi:type="arc"
+               style="opacity:0.24886876;fill:url(#linearGradient3374);fill-opacity:1;stroke:none"
+               id="path3201"
+               sodipodi:cx="201.02036"
+               sodipodi:cy="162.41779"
+               sodipodi:rx="100.0051"
+               sodipodi:ry="100.0051"
+               d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+               transform="matrix(0.9122383,-0.2444335,0.2444335,0.9122383,-91.758986,25.004372)" />
+            <path
+               sodipodi:type="arc"
+               style="opacity:0.59728507;fill:url(#linearGradient2702);fill-opacity:1;stroke:none"
+               id="path3295"
+               sodipodi:cx="201.02036"
+               sodipodi:cy="162.41779"
+               sodipodi:rx="78.284782"
+               sodipodi:ry="79.05574"
+               d="M 279.30514,162.41779 A 78.284782,79.05574 0 1 1 122.73557,162.41779 A 78.284782,79.05574 0 1 1 279.30514,162.41779 z"
+               transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)" />
+          </g>
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/sflphone-gtk/pixmaps/rec_call.svg b/sflphone-gtk/pixmaps/rec_call.svg
new file mode 100644
index 0000000000000000000000000000000000000000..45b6bf69abd8adab3e14d4eaa3c4e1e7edfc5c5d
--- /dev/null
+++ b/sflphone-gtk/pixmaps/rec_call.svg
@@ -0,0 +1,1406 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="24"
+   height="24"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docbase="/home/plbeaudoin/SFLPhone/sflphone/sflphone-gtk/pixmaps"
+   sodipodi:docname="rec_call.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 12 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="24 : 12 : 1"
+       inkscape:persp3d-origin="12 : 8 : 1"
+       id="perspective4757" />
+    <linearGradient
+       id="linearGradient4045">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop4047" />
+      <stop
+         style="stop-color:#fcfbcb;stop-opacity:1"
+         offset="1"
+         id="stop4049" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4269">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop4271" />
+      <stop
+         style="stop-color:#1db000;stop-opacity:0;"
+         offset="1"
+         id="stop4273" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4183">
+      <stop
+         id="stop4185"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop4187"
+         offset="1"
+         style="stop-color:#0f5f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4167">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop4169" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop4171" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient4181"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient4195"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient4203"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient4256"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient4260"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2224"
+       x1="16.826796"
+       y1="6.7288713"
+       x2="27.5625"
+       y2="22.512505"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" />
+    <linearGradient
+       gradientTransform="matrix(1.62913,0,0,-1.62913,-10.06608,39.71987)"
+       gradientUnits="userSpaceOnUse"
+       y2="6.6770978"
+       x2="15.806232"
+       y1="22.874208"
+       x1="15.630395"
+       id="linearGradient4275"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1388"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient1386"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient1384"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient1382"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient1380"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1374">
+      <stop
+         id="stop1376"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop1378"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1368">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop1370" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop1372" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1362">
+      <stop
+         id="stop1364"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop1366"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1406"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1408"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1410"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1412"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1414"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4045"
+       id="radialGradient4051"
+       cx="19.285715"
+       cy="9.8571424"
+       fx="19.285715"
+       fy="9.8571424"
+       r="10.885714"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.418975,0,0,0.418975,11.20548,5.727248)" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2491"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.113755"
+       x2="7.293807"
+       y1="16.110582"
+       x1="11.408385"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2489"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2487"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.949513"
+       x2="2.7672646"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2485"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2483"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2416">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2418" />
+      <stop
+         style="stop-color:#26b000;stop-opacity:0;"
+         offset="1"
+         id="stop2420" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2422">
+      <stop
+         id="stop2424"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2426"
+         offset="1"
+         style="stop-color:#145f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2428">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2430" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2432" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2434"
+       x1="1.0046476"
+       y1="12.825893"
+       x2="7.9239235"
+       y2="12.825893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.9220986,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2436"
+       x1="24.397505"
+       y1="12.535715"
+       x2="31.31678"
+       y2="12.535715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-1.9107675,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2438"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2440"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.1362892,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2442"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,31.179578,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2444"
+       x1="15.630395"
+       y1="22.874208"
+       x2="15.630395"
+       y2="8.5305319"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.256521,0,0,-1.256521,-7.854319,28.773309)" />
+    <radialGradient
+       gradientTransform="matrix(0.418975,2.444023e-18,-2.444023e-18,0.418975,11.20548,5.727248)"
+       spreadMethod="reflect"
+       gradientUnits="userSpaceOnUse"
+       r="10.885714"
+       fy="9.8571424"
+       fx="19.285715"
+       cy="9.8571424"
+       cx="19.285715"
+       id="radialGradient2342"
+       xlink:href="#linearGradient4045"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2340"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2338"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2336"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2334"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2332"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2326">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2328" />
+      <stop
+         style="stop-color:#26b000;stop-opacity:0;"
+         offset="1"
+         id="stop2330" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2320">
+      <stop
+         id="stop2322"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2324"
+         offset="1"
+         style="stop-color:#145f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2314">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2316" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2318" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2312"
+       x1="1.0046476"
+       y1="12.825893"
+       x2="7.9239235"
+       y2="12.825893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2310"
+       x1="24.397505"
+       y1="12.535715"
+       x2="31.31678"
+       y2="12.535715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2308"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2306"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2304"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)"
+       gradientUnits="userSpaceOnUse"
+       y2="22.512505"
+       x2="27.5625"
+       y1="6.7288713"
+       x1="16.826796"
+       id="linearGradient2302"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2296">
+      <stop
+         id="stop2298"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2300"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2290">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2292" />
+      <stop
+         style="stop-color:#0f5f00;stop-opacity:1;"
+         offset="1"
+         id="stop2294" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2284">
+      <stop
+         id="stop2286"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2288"
+         offset="1"
+         style="stop-color:#1db000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2278">
+      <stop
+         id="stop2280"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0" />
+      <stop
+         id="stop2282"
+         offset="1"
+         style="stop-color:#fefee7;stop-opacity:0.89308178" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="355.44769"
+       x2="189.20502"
+       y1="118.36168"
+       x1="192.86734"
+       id="linearGradient2702"
+       xlink:href="#linearGradient3169"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3308">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop3310" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop3312" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3289"
+       inkscape:collect="always">
+      <stop
+         id="stop3291"
+         offset="0"
+         style="stop-color:#999999;stop-opacity:1" />
+      <stop
+         id="stop3293"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3193">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop3195" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop3197" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3181">
+      <stop
+         id="stop3183"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.65271967"
+         offset="0.11529652"
+         id="stop3185" />
+      <stop
+         id="stop3187"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0.15481172" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3169">
+      <stop
+         id="stop3171"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         id="stop3173"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2385">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop2387" />
+      <stop
+         id="stop3175"
+         offset="0.87037039"
+         style="stop-color:#ff0000;stop-opacity:0.55172414;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="1"
+         id="stop2389" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="radialGradient3163"
+       cx="184.85791"
+       cy="163.42795"
+       fx="184.85791"
+       fy="163.42795"
+       r="140.91121"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3181"
+       id="linearGradient3179"
+       x1="175.76654"
+       y1="316.97113"
+       x2="184.85791"
+       y2="23.016739"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3199"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3203"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3211"
+       gradientUnits="userSpaceOnUse"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3213"
+       gradientUnits="userSpaceOnUse"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3287"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3301"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,376.2049,402.98248)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3306"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3322"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3324"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3326"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3336"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3338"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3340"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3360"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient2641"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3366"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3368"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient2646"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3372"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3374"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2845"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2843"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2841"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2839"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2837"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2831">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2833" />
+      <stop
+         style="stop-color:#26b000;stop-opacity:0;"
+         offset="1"
+         id="stop2835" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2825">
+      <stop
+         id="stop2827"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2829"
+         offset="1"
+         style="stop-color:#145f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2819">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2821" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2823" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2817"
+       x1="1.0046476"
+       y1="12.825893"
+       x2="7.9239235"
+       y2="12.825893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2815"
+       x1="24.397505"
+       y1="12.535715"
+       x2="31.31678"
+       y2="12.535715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2813"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2811"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2809"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)"
+       gradientUnits="userSpaceOnUse"
+       y2="22.512505"
+       x2="27.5625"
+       y1="6.7288713"
+       x1="16.826796"
+       id="linearGradient2807"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2801">
+      <stop
+         id="stop2803"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2805"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2795">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2797" />
+      <stop
+         style="stop-color:#0f5f00;stop-opacity:1;"
+         offset="1"
+         id="stop2799" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2789">
+      <stop
+         id="stop2791"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2793"
+         offset="1"
+         style="stop-color:#1db000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2783">
+      <stop
+         id="stop2785"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0" />
+      <stop
+         id="stop2787"
+         offset="1"
+         style="stop-color:#fcfbcb;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3362">
+      <stop
+         id="stop3364"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3366"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3370">
+      <stop
+         id="stop3372"
+         offset="0"
+         style="stop-color:#d7d7d7;stop-opacity:1;" />
+      <stop
+         id="stop3374"
+         offset="1"
+         style="stop-color:#7c7c7c;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective4283"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 8 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="16.739393"
+       x2="32.578228"
+       y1="-0.80084854"
+       x1="2.965755"
+       id="linearGradient2439"
+       xlink:href="#linearGradient2433"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2433"
+       inkscape:collect="always">
+      <stop
+         id="stop2435"
+         offset="0"
+         style="stop-color:#008000;stop-opacity:1;" />
+      <stop
+         id="stop2437"
+         offset="1"
+         style="stop-color:#008000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2770"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2768"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2766"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2764"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2762"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2917"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2919"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="2.7672646"
+       y2="12.949513" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2921"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2923"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="11.408385"
+       y1="16.110582"
+       x2="7.293807"
+       y2="12.113755" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2925"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="7.919596"
+     inkscape:cx="15.568279"
+     inkscape:cy="13.617397"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="32px"
+     height="32px"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1600"
+     inkscape:window-height="926"
+     inkscape:window-x="0"
+     inkscape:window-y="220"
+     showgrid="false">
+    <sodipodi:guide
+       orientation="vertical"
+       position="11.237947"
+       id="guide3146" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <g
+       id="g2364"
+       inkscape:label="Calque 1"
+       transform="translate(14.730114,-3.4355522)">
+      <g
+         transform="translate(7.9455775,4.2707653)"
+         inkscape:label="Calque 1"
+         id="g2446">
+        <g
+           id="g2181"
+           transform="matrix(-0.4376782,-0.758081,0.7581751,-0.4377326,3.5952686,30.820492)"
+           style="fill:none;stroke:#000000;stroke-opacity:0.44968555">
+          <path
+             style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.65573961;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.44968555"
+             d="M 41.109694,-0.41817229 C 40.505298,0.20454826 39.040867,0.77635346 37.592239,0.77635106 C 36.102089,0.77635106 34.114653,0.15682998 33.532659,-0.49267807 L 33.569913,-2.0031726 L 33.569913,-3.0835065 C 31.027414,-3.5787101 30.997014,-3.8285637 27.525623,-3.8285643 C 24.054233,-3.8285649 23.830777,-3.5759718 21.29017,-3.0462535 L 21.29017,-0.3436665 C 20.685773,0.27905404 19.221343,0.87609843 17.772714,0.87609724 C 16.282564,0.87609724 14.623294,0.43325774 13.915083,-0.41817229 L 14.138601,-5.7646408 C 18.129172,-7.3187814 22.030595,-8.3970767 27.437882,-8.5586077 C 32.38601,-8.450833 36.259126,-7.7053161 40.886177,-5.8763994 L 41.109694,-0.41817229 z "
+             id="path2183"
+             sodipodi:nodetypes="csccczccsccccc" />
+        </g>
+        <g
+           id="g2451"
+           transform="matrix(-0.4400595,-0.7622054,0.7622054,-0.4400595,-10.917299,27.830684)">
+          <path
+             sodipodi:nodetypes="cccsccsccsccc"
+             id="path2453"
+             d="M 16.100095,4.59375 C 10.946289,4.7477067 7.2256019,5.7999634 3.4220983,7.28125 L 3.2345983,10.227679 C 3.7846813,10.972881 5.0136533,11.508929 6.4220983,11.508929 C 7.7912983,11.508929 8.9758403,11.004648 9.5470983,10.290179 L 9.5470983,9.1875 C 11.968608,8.682612 12.862258,8.4375 16.125,8.4375 C 19.479577,8.4375001 20.38467,8.6842603 22.807982,9.15625 L 22.807982,10.165179 C 23.37924,10.879648 24.563781,11.383929 25.932982,11.383929 C 27.341427,11.383929 28.53915,10.847881 29.089232,10.102679 L 28.901732,7.15625 C 24.491586,5.413068 20.816266,4.6964725 16.100095,4.59375 z "
+             style="opacity:1;fill:url(#linearGradient2483);fill-opacity:1;stroke:#0f5600;stroke-width:0.625;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccsccc"
+             id="path2455"
+             d="M 6.4075414,13.019293 C 7.7882612,13.019293 8.983936,12.610489 9.5600003,12.01696 L 9.5600003,10.430989 C 8.8231919,11.109285 7.789205,11.494948 6.4075414,11.494948 C 4.9854414,11.494948 3.9881276,11.13019 3.2127675,10.48174 L 3.2127675,11.966208 C 3.7674786,12.585269 4.9872465,13.019293 6.4075414,13.019293 z "
+             style="opacity:1;fill:url(#linearGradient2485);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccsccc"
+             id="path2457"
+             d="M 25.967532,12.944669 C 27.348252,12.944669 28.543927,12.535865 29.119991,11.942336 L 29.119991,10.356365 C 28.383183,11.034661 27.349196,11.420324 25.967532,11.420324 C 24.545432,11.420324 23.548118,11.055566 22.772758,10.407116 L 22.772758,11.891584 C 23.327469,12.510645 24.547237,12.944669 25.967532,12.944669 z "
+             style="opacity:1;fill:url(#linearGradient2487);fill-opacity:1;stroke:#0f5600;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccsccc"
+             id="path2459"
+             d="M 6.6822725,11.157918 C 8.0629923,11.157918 8.7535908,10.73333 9.3296551,10.139801 L 9.0644746,7.3100024 C 8.3276662,7.9882984 8.1270706,8.5445024 6.745407,8.5445024 C 5.323307,8.5445024 4.4996132,8.1797444 3.7242531,7.5312944 L 3.4874986,10.104833 C 4.0422097,10.723894 5.2619776,11.157918 6.6822725,11.157918 z "
+             style="opacity:1;fill:url(#linearGradient2489);fill-opacity:1;stroke:none;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+          <path
+             sodipodi:nodetypes="cccsccc"
+             id="path2461"
+             d="M 25.633599,11.055324 C 24.252879,11.055324 23.56228,10.630736 22.986216,10.037207 L 22.418005,7.3779497 C 23.154814,8.0562457 24.188801,8.4419087 25.570464,8.4419087 C 26.992564,8.4419087 27.816258,8.0771507 28.591618,7.4287007 L 28.828373,10.002239 C 28.273662,10.6213 27.053894,11.055324 25.633599,11.055324 z "
+             style="opacity:1;fill:url(#linearGradient2491);fill-opacity:1;stroke:none;stroke-width:0.57204324;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+        </g>
+      </g>
+    </g>
+    <path
+       sodipodi:nodetypes="csc"
+       id="path3488"
+       d="M 18.019888,12.625004 C 18.48189,11.534667 18.765826,10.027007 18.765826,8.3750001 C 18.765826,6.7229936 18.48189,5.2153338 18.019888,4.1249963"
+       style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.50400000000000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0;visibility:visible;display:inline;overflow:visible" />
+    <g
+       id="g2892"
+       inkscape:label="Calque 1"
+       transform="translate(-53.149937,4.9260696)">
+      <g
+         transform="matrix(4.9064853e-2,-8.3536268e-2,8.8523433e-2,4.8433051e-2,48.54228,7.2086084)"
+         inkscape:label="Layer 1"
+         id="g2651">
+        <g
+           id="g3342"
+           transform="matrix(0.4480735,0,0,0.4170774,98.907461,118.01666)">
+          <path
+             transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+             d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+             sodipodi:ry="100.0051"
+             sodipodi:rx="100.0051"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3209"
+             style="opacity:1;fill:url(#linearGradient3372);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             transform="matrix(0.9122383,-0.2444335,0.2444335,0.9122383,-91.758986,25.004372)"
+             d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+             sodipodi:ry="100.0051"
+             sodipodi:rx="100.0051"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3201"
+             style="opacity:0.24886876;fill:url(#linearGradient3374);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+             d="M 279.30514,162.41779 A 78.284782,79.05574 0 1 1 122.73557,162.41779 A 78.284782,79.05574 0 1 1 279.30514,162.41779 z"
+             sodipodi:ry="79.05574"
+             sodipodi:rx="78.284782"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3295"
+             style="opacity:0.59728507;fill:url(#linearGradient2702);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/sflphone-gtk/pixmaps/record.svg b/sflphone-gtk/pixmaps/record.svg
new file mode 100644
index 0000000000000000000000000000000000000000..9147567fec03ead2e355bc685db957fd18da2db0
--- /dev/null
+++ b/sflphone-gtk/pixmaps/record.svg
@@ -0,0 +1,1057 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="24"
+   height="24"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docbase="/home/plbeaudoin/SFLPhone/sflphone/sflphone-gtk/pixmaps"
+   sodipodi:docname="rec_call2.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   sodipodi:modified="true">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 12 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="24 : 12 : 1"
+       inkscape:persp3d-origin="12 : 8 : 1"
+       id="perspective77" />
+    <linearGradient
+       id="linearGradient4045">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="0"
+         id="stop4047" />
+      <stop
+         style="stop-color:#fefee7;stop-opacity:0.89308178"
+         offset="1"
+         id="stop4049" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4269">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop4271" />
+      <stop
+         style="stop-color:#1db000;stop-opacity:0;"
+         offset="1"
+         id="stop4273" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4183">
+      <stop
+         id="stop4185"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop4187"
+         offset="1"
+         style="stop-color:#0f5f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4167">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop4169" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop4171" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2224"
+       x1="16.826796"
+       y1="6.7288713"
+       x2="27.5625"
+       y2="22.512505"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient1388"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient1386"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient1384"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient1382"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient1380"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient1374">
+      <stop
+         id="stop1376"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop1378"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1368">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop1370" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop1372" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient1362">
+      <stop
+         id="stop1364"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop1366"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1406"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1408"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient1410"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1412"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient1414"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4045"
+       id="radialGradient4051"
+       cx="19.285715"
+       cy="9.8571424"
+       fx="19.285715"
+       fy="9.8571424"
+       r="10.885714"
+       gradientUnits="userSpaceOnUse"
+       spreadMethod="reflect"
+       gradientTransform="matrix(0.418975,0,0,0.418975,11.20548,5.727248)" />
+    <linearGradient
+       gradientTransform="matrix(1.256521,0,0,-1.256521,-7.854319,28.773309)"
+       gradientUnits="userSpaceOnUse"
+       y2="8.5305319"
+       x2="15.630395"
+       y1="22.874208"
+       x1="15.630395"
+       id="linearGradient2444"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,31.179578,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2442"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.1362892,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       id="linearGradient2440"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       id="linearGradient2438"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(-1.9107675,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.535715"
+       x2="31.31678"
+       y1="12.535715"
+       x1="24.397505"
+       id="linearGradient2436"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="translate(1.9220986,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       y2="12.825893"
+       x2="7.9239235"
+       y1="12.825893"
+       x1="1.0046476"
+       id="linearGradient2434"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2428">
+      <stop
+         id="stop2430"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2432"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2422">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2424" />
+      <stop
+         style="stop-color:#145f00;stop-opacity:1;"
+         offset="1"
+         id="stop2426" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2416">
+      <stop
+         id="stop2418"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2420"
+         offset="1"
+         style="stop-color:#26b000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2483"
+       gradientUnits="userSpaceOnUse"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2485"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)"
+       x1="10.57493"
+       y1="12.115559"
+       x2="-0.68574232"
+       y2="12.115559" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2487"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       x1="31.692968"
+       y1="11.264216"
+       x2="23.888865"
+       y2="13.35532" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2489"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)"
+       x1="7.8517423"
+       y1="15.912388"
+       x2="7.1114841"
+       y2="11.597325" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2491"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="355.44769"
+       x2="189.20502"
+       y1="118.36168"
+       x1="192.86734"
+       id="linearGradient2702"
+       xlink:href="#linearGradient3169"
+       inkscape:collect="always" />
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3308">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop3310" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:0"
+         offset="1"
+         id="stop3312" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3289"
+       inkscape:collect="always">
+      <stop
+         id="stop3291"
+         offset="0"
+         style="stop-color:#999999;stop-opacity:1" />
+      <stop
+         id="stop3293"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient3193">
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="0"
+         id="stop3195" />
+      <stop
+         style="stop-color:#000000;stop-opacity:1"
+         offset="1"
+         id="stop3197" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3181">
+      <stop
+         id="stop3183"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:0.65271967"
+         offset="0.11529652"
+         id="stop3185" />
+      <stop
+         id="stop3187"
+         offset="1"
+         style="stop-color:#000000;stop-opacity:0.15481172" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3169">
+      <stop
+         id="stop3171"
+         offset="0"
+         style="stop-color:#ff0000;stop-opacity:1;" />
+      <stop
+         id="stop3173"
+         offset="1"
+         style="stop-color:#ff0000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2385">
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="0"
+         id="stop2387" />
+      <stop
+         id="stop3175"
+         offset="0.87037039"
+         style="stop-color:#ff0000;stop-opacity:0.55172414;" />
+      <stop
+         style="stop-color:#ff0000;stop-opacity:1;"
+         offset="1"
+         id="stop2389" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2385"
+       id="radialGradient3163"
+       cx="184.85791"
+       cy="163.42795"
+       fx="184.85791"
+       fy="163.42795"
+       r="140.91121"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3181"
+       id="linearGradient3179"
+       x1="175.76654"
+       y1="316.97113"
+       x2="184.85791"
+       y2="23.016739"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3199"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3203"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3211"
+       gradientUnits="userSpaceOnUse"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3213"
+       gradientUnits="userSpaceOnUse"
+       x1="204.55589"
+       y1="262.45413"
+       x2="204.55589"
+       y2="62.412689" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3287"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3301"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,376.2049,402.98248)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3306"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3322"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3324"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3326"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3336"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3338"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3340"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3360"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient2641"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient3364"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,558.73494,665.96877)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3366"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3368"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3308"
+       id="linearGradient2646"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,747.63347,397.26819)"
+       x1="160.2529"
+       y1="-5.1353641"
+       x2="224.82684"
+       y2="168.2903" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3289"
+       id="linearGradient3372"
+       gradientUnits="userSpaceOnUse"
+       x1="224.26379"
+       y1="259.7438"
+       x2="172.07999"
+       y2="66.61824" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3193"
+       id="linearGradient3374"
+       gradientUnits="userSpaceOnUse"
+       x1="175.13184"
+       y1="259.03506"
+       x2="226.90887"
+       y2="65.800499" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2809"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2807"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2805"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2803"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2801"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2795">
+      <stop
+         style="stop-color:#26b000;stop-opacity:1;"
+         offset="0"
+         id="stop2797" />
+      <stop
+         style="stop-color:#26b000;stop-opacity:0;"
+         offset="1"
+         id="stop2799" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2789">
+      <stop
+         id="stop2791"
+         offset="0"
+         style="stop-color:#26b000;stop-opacity:1;" />
+      <stop
+         id="stop2793"
+         offset="1"
+         style="stop-color:#145f00;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2783">
+      <stop
+         style="stop-color:#80000e;stop-opacity:1;"
+         offset="0"
+         id="stop2785" />
+      <stop
+         style="stop-color:#b00014;stop-opacity:0;"
+         offset="1"
+         id="stop2787" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2781"
+       x1="1.0046476"
+       y1="12.825893"
+       x2="7.9239235"
+       y2="12.825893"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(1.262691,-1.100752)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2779"
+       x1="24.397505"
+       y1="12.535715"
+       x2="31.31678"
+       y2="12.535715"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(-0.947018,-0.885198)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4183"
+       id="linearGradient2777"
+       x1="15.647213"
+       y1="2.7028866"
+       x2="14.013638"
+       y2="10.576721"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2775"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(0.426158,-2.762136)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4269"
+       id="linearGradient2773"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       x1="2.0651877"
+       y1="12.625902"
+       x2="6.8378897"
+       y2="13.920053" />
+    <linearGradient
+       gradientTransform="matrix(0.875025,0,0,0.875025,0.666703,0.177907)"
+       gradientUnits="userSpaceOnUse"
+       y2="22.512505"
+       x2="27.5625"
+       y1="6.7288713"
+       x1="16.826796"
+       id="linearGradient2771"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2765">
+      <stop
+         id="stop2767"
+         offset="0"
+         style="stop-color:#80000e;stop-opacity:1;" />
+      <stop
+         id="stop2769"
+         offset="1"
+         style="stop-color:#b00014;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2759">
+      <stop
+         style="stop-color:#1db000;stop-opacity:1;"
+         offset="0"
+         id="stop2761" />
+      <stop
+         style="stop-color:#0f5f00;stop-opacity:1;"
+         offset="1"
+         id="stop2763" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2753">
+      <stop
+         id="stop2755"
+         offset="0"
+         style="stop-color:#1db000;stop-opacity:1;" />
+      <stop
+         id="stop2757"
+         offset="1"
+         style="stop-color:#1db000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2747">
+      <stop
+         id="stop2749"
+         offset="0"
+         style="stop-color:#ffffff;stop-opacity:0" />
+      <stop
+         id="stop2751"
+         offset="1"
+         style="stop-color:#fcfbcb;stop-opacity:1" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3362">
+      <stop
+         id="stop3364"
+         offset="0"
+         style="stop-color:#000000;stop-opacity:1;" />
+      <stop
+         id="stop3366"
+         offset="1"
+         style="stop-color:#ffffff;stop-opacity:1;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3370">
+      <stop
+         id="stop3372"
+         offset="0"
+         style="stop-color:#d7d7d7;stop-opacity:1;" />
+      <stop
+         id="stop3374"
+         offset="1"
+         style="stop-color:#7c7c7c;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       id="perspective4283"
+       inkscape:persp3d-origin="8 : 5.3333333 : 1"
+       inkscape:vp_z="16 : 8 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 8 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="16.739393"
+       x2="32.578228"
+       y1="-0.80084854"
+       x1="2.965755"
+       id="linearGradient2439"
+       xlink:href="#linearGradient2433"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2433"
+       inkscape:collect="always">
+      <stop
+         id="stop2435"
+         offset="0"
+         style="stop-color:#008000;stop-opacity:1;" />
+      <stop
+         id="stop2437"
+         offset="1"
+         style="stop-color:#008000;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       y2="10.576721"
+       x2="14.013638"
+       y1="2.7028866"
+       x1="15.647213"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2734"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="12.115559"
+       x2="-0.68574232"
+       y1="12.115559"
+       x1="10.57493"
+       gradientTransform="translate(1.262691,-1.100752)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2732"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.35532"
+       x2="23.888865"
+       y1="11.264216"
+       x1="31.692968"
+       gradientTransform="translate(-0.947018,-0.885198)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2730"
+       xlink:href="#linearGradient4183"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="11.597325"
+       x2="7.1114841"
+       y1="15.912388"
+       x1="7.8517423"
+       gradientTransform="translate(0.426158,-2.762136)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2728"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+    <linearGradient
+       y2="13.920053"
+       x2="6.8378897"
+       y1="12.625902"
+       x1="2.0651877"
+       gradientTransform="matrix(-1,0,0,1,32.04188,-2.86473)"
+       gradientUnits="userSpaceOnUse"
+       id="linearGradient2726"
+       xlink:href="#linearGradient4269"
+       inkscape:collect="always" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="8"
+     inkscape:cx="22.991745"
+     inkscape:cy="-5.4508769"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     width="32px"
+     height="32px"
+     showguides="true"
+     inkscape:guide-bbox="true"
+     inkscape:window-width="1014"
+     inkscape:window-height="726"
+     inkscape:window-x="513"
+     inkscape:window-y="291"
+     showgrid="false">
+    <sodipodi:guide
+       orientation="vertical"
+       position="15.982143"
+       id="guide3146" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Calque 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       sodipodi:type="arc"
+       style="fill:url(#radialGradient4051);fill-opacity:1;stroke:none;stroke-width:5.69999981;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path3162"
+       sodipodi:cx="19.285715"
+       sodipodi:cy="9.8571424"
+       sodipodi:rx="8.0357141"
+       sodipodi:ry="8.0357141"
+       d="M 27.321429,9.8571424 A 8.0357141,8.0357141 0 1 1 11.250001,9.8571424 A 8.0357141,8.0357141 0 1 1 27.321429,9.8571424 z"
+       transform="matrix(0.723409,0,0,0.723409,6.772732,3.51761)" />
+    <g
+       id="g2856"
+       inkscape:label="Calque 1"
+       transform="matrix(2.1932723,0,0,2.2300726,-70.331114,24.270266)">
+      <g
+         transform="matrix(4.3630449e-2,-7.2802504e-2,7.8718613e-2,4.2209779e-2,17.455978,-1.2908081)"
+         inkscape:label="Layer 1"
+         id="g2651">
+        <g
+           id="g3342"
+           transform="matrix(0.4480735,0,0,0.4170774,98.907461,118.01666)">
+          <path
+             transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+             d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+             sodipodi:ry="100.0051"
+             sodipodi:rx="100.0051"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3209"
+             style="opacity:1;fill:url(#linearGradient3372);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             transform="matrix(0.9122383,-0.2444335,0.2444335,0.9122383,-91.758986,25.004372)"
+             d="M 301.02545,162.41779 A 100.0051,100.0051 0 1 1 101.01526,162.41779 A 100.0051,100.0051 0 1 1 301.02545,162.41779 z"
+             sodipodi:ry="100.0051"
+             sodipodi:rx="100.0051"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3201"
+             style="opacity:0.24886876;fill:url(#linearGradient3374);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+          <path
+             transform="matrix(-1.1122783,-0.2980341,0.2980341,-1.1122783,306.50437,364.59668)"
+             d="M 279.30514,162.41779 A 78.284782,79.05574 0 1 1 122.73557,162.41779 A 78.284782,79.05574 0 1 1 279.30514,162.41779 z"
+             sodipodi:ry="79.05574"
+             sodipodi:rx="78.284782"
+             sodipodi:cy="162.41779"
+             sodipodi:cx="201.02036"
+             id="path3295"
+             style="opacity:0.59728507;fill:url(#linearGradient2702);fill-opacity:1;stroke:none"
+             sodipodi:type="arc" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c
index 6efb5cbcc125d58bc629f2cddcf0b1107a4e7471..4f5e911a52a0d6e32584a4d8c7dbf6744d265a06 100644
--- a/sflphone-gtk/src/actions.c
+++ b/sflphone-gtk/src/actions.c
@@ -259,6 +259,7 @@ sflphone_hang_up()
 			case CALL_STATE_HOLD:
 			case CALL_STATE_BUSY:
 			case CALL_STATE_FAILURE:
+                        case CALL_STATE_RECORD:
 				dbus_hang_up (selectedCall);
 				selectedCall->state = CALL_STATE_DIALING;
 				(void) time(&selectedCall->_stop);
@@ -330,6 +331,10 @@ sflphone_on_hold ()
 			case CALL_STATE_CURRENT:
 				dbus_hold (selectedCall);
 				break;
+                        case CALL_STATE_RECORD:
+                                dbus_hold (selectedCall);
+                                break;
+                                
 			default:
 				g_warning("Should not happen in sflphone_on_hold!");
 				break;
@@ -382,6 +387,16 @@ sflphone_current( call_t * c )
   update_menus();
 }
 
+void
+sflphone_record( call_t * c )
+{
+  if( c->state != CALL_STATE_HOLD )
+	(void) time(&c->_start);
+  c->state = CALL_STATE_RECORD;
+  update_call_tree(current_calls,c);
+  update_menus();
+}
+
 void 
 sflphone_set_transfert()
 {
@@ -702,6 +717,30 @@ sflphone_place_call ( call_t * c )
     }
 }
 
+
+void
+sflphone_rec_call()
+{
+  call_t * selectedCall = call_get_selected(current_calls);
+  dbus_set_record(selectedCall);
+  
+
+  switch(selectedCall->state)
+  {
+      case CALL_STATE_CURRENT:
+            selectedCall->state = CALL_STATE_RECORD;
+            break; 
+      case CALL_STATE_RECORD:
+            selectedCall->state = CALL_STATE_CURRENT;
+            break;
+      default: 
+            g_warning("Should not happen in sflphone_off_hold ()!");
+        break;
+  }
+  update_call_tree(current_calls,selectedCall);
+  update_menus();
+}
+
 /* Internal to action - set the __CURRENT_ACCOUNT variable */
 void
 sflphone_set_current_account()
@@ -736,7 +775,7 @@ sflphone_fill_codec_list()
     c->_bandwidth = atof(details[3]);
     codec_list_add(c);
   }
- 
+
   for(pl=codecs; *codecs; codecs++)
   {
     details = (gchar **)dbus_codec_details(atoi(*codecs));
diff --git a/sflphone-gtk/src/calllist.h b/sflphone-gtk/src/calllist.h
index c6d28c175104ce9afa4b1d4fdf62cc51fe76e41b..98ed11dd7d3791f91b925aab902e15d1ef804a68 100644
--- a/sflphone-gtk/src/calllist.h
+++ b/sflphone-gtk/src/calllist.h
@@ -47,7 +47,9 @@ typedef enum
    /** Call is busy */
    CALL_STATE_BUSY,        
    /** Call is being transfert.  During this state, the user can enter the new number. */
-   CALL_STATE_TRANSFERT       
+   CALL_STATE_TRANSFERT,
+   /** Call is on hold */
+   CALL_STATE_RECORD       
 } call_state_t;
 
 /**
diff --git a/sflphone-gtk/src/callmanager-glue.h b/sflphone-gtk/src/callmanager-glue.h
index ca92aa95cbb5057f884b5e900520c84773adb39a..c4123cd1e39732f6931696431c5de88d78df6c31 100644
--- a/sflphone-gtk/src/callmanager-glue.h
+++ b/sflphone-gtk/src/callmanager-glue.h
@@ -1,7 +1,6 @@
 /* Generated by dbus-binding-tool; do not edit! */
 
-#include <glib/gtypes.h>
-#include <glib/gerror.h>
+#include <glib.h>
 #include <dbus/dbus-glib.h>
 
 G_BEGIN_DECLS
@@ -422,6 +421,43 @@ static
 inline
 #endif
 gboolean
+org_sflphone_SFLphone_CallManager_set_recording (DBusGProxy *proxy, const char * IN_callID, GError **error)
+
+{
+  return dbus_g_proxy_call (proxy, "setRecording", error, G_TYPE_STRING, IN_callID, G_TYPE_INVALID, G_TYPE_INVALID);
+}
+
+typedef void (*org_sflphone_SFLphone_CallManager_set_recording_reply) (DBusGProxy *proxy, GError *error, gpointer userdata);
+
+static void
+org_sflphone_SFLphone_CallManager_set_recording_async_callback (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data)
+{
+  DBusGAsyncData *data = (DBusGAsyncData*) user_data;
+  GError *error = NULL;
+  dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID);
+  (*(org_sflphone_SFLphone_CallManager_set_recording_reply)data->cb) (proxy, error, data->userdata);
+  return;
+}
+
+static
+#ifdef G_HAVE_INLINE
+inline
+#endif
+DBusGProxyCall*
+org_sflphone_SFLphone_CallManager_set_recording_async (DBusGProxy *proxy, const char * IN_callID, org_sflphone_SFLphone_CallManager_set_recording_reply callback, gpointer userdata)
+
+{
+  DBusGAsyncData *stuff;
+  stuff = g_new (DBusGAsyncData, 1);
+  stuff->cb = G_CALLBACK (callback);
+  stuff->userdata = userdata;
+  return dbus_g_proxy_begin_call (proxy, "setRecording", org_sflphone_SFLphone_CallManager_set_recording_async_callback, stuff, g_free, G_TYPE_STRING, IN_callID, G_TYPE_INVALID);
+}
+static
+#ifdef G_HAVE_INLINE
+inline
+#endif
+gboolean
 org_sflphone_SFLphone_CallManager_get_call_details (DBusGProxy *proxy, const char * IN_callID, GHashTable** OUT_infos, GError **error)
 
 {
diff --git a/sflphone-gtk/src/calltree.c b/sflphone-gtk/src/calltree.c
index 2e27a0a6485866e8af7cdde62112943c44fdb38e..6a8888ea830c500c775c7c000e0ef77725375c78 100644
--- a/sflphone-gtk/src/calltree.c
+++ b/sflphone-gtk/src/calltree.c
@@ -39,6 +39,7 @@ GtkToolItem * transfertButton;
 GtkToolItem * unholdButton;
 GtkToolItem * historyButton;
 GtkToolItem * mailboxButton;
+GtkToolItem * recButton;
 guint transfertButtonConnId; //The button toggled signal connection ID
 gboolean history_shown;
 
@@ -219,6 +220,18 @@ call_mailbox( GtkWidget* widget UNUSED, gpointer data UNUSED)
   if( active_calltree == history )  switch_tab();
 }
 
+
+
+/**
+ * Static rec_button
+ */
+static void 
+rec_button( GtkWidget *widget UNUSED, gpointer   data UNUSED)
+{
+  sflphone_rec_call();
+}
+
+
   void 
 toolbar_update_buttons ()
 {
@@ -228,6 +241,7 @@ toolbar_update_buttons ()
   gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  FALSE);
   gtk_widget_set_sensitive( GTK_WIDGET(mailboxButton) ,   FALSE);
   gtk_widget_set_sensitive( GTK_WIDGET(unholdButton),     FALSE);
+  gtk_widget_set_sensitive( GTK_WIDGET(recButton),        FALSE);
   g_object_ref(holdButton);
   g_object_ref(unholdButton);
   if( is_inserted( GTK_WIDGET(holdButton) ) )   gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(holdButton));
@@ -238,6 +252,7 @@ toolbar_update_buttons ()
   if( is_inserted( GTK_WIDGET(callButton) ) )	gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(callButton));
   if( is_inserted( GTK_WIDGET(pickupButton) ) )	gtk_container_remove(GTK_CONTAINER(toolbar), GTK_WIDGET(pickupButton));
   gtk_toolbar_insert(GTK_TOOLBAR(toolbar), callButton, 0);
+  //gtk_toolbar_insert(GTK_TOOLBAR(toolbar), recButton, 0);
 
 
   gtk_signal_handler_block(GTK_OBJECT(transfertButton),transfertButtonConnId);
@@ -280,6 +295,7 @@ toolbar_update_buttons ()
 	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
 	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
 	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
+        gtk_widget_set_sensitive( GTK_WIDGET(recButton),        TRUE);
 	break;
       case CALL_STATE_BUSY:
       case CALL_STATE_FAILURE:
@@ -294,6 +310,13 @@ toolbar_update_buttons ()
 	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
 	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
 	break;
+      case CALL_STATE_RECORD:
+	gtk_widget_set_sensitive( GTK_WIDGET(hangupButton),     TRUE);
+	gtk_widget_set_sensitive( GTK_WIDGET(holdButton),       TRUE);
+	gtk_widget_set_sensitive( GTK_WIDGET(transfertButton),  TRUE);
+	gtk_widget_set_sensitive( GTK_WIDGET(callButton),       TRUE);
+        gtk_widget_set_sensitive( GTK_WIDGET(recButton),        TRUE);
+	break;
       default:
 	g_warning("Should not happen!");
 	break;
@@ -312,6 +335,9 @@ toolbar_update_buttons ()
     }
   }
 }
+
+
+
 /* Call back when the user click on a call in the list */
   static void 
 selected(GtkTreeSelection *sel, void* data UNUSED ) 
@@ -487,6 +513,18 @@ create_toolbar ()
       G_CALLBACK (call_mailbox), NULL);
   gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(mailboxButton), -1);
 
+  
+  image = gtk_image_new_from_file( ICONS_DIR "/record.svg");
+  recButton = gtk_tool_button_new (image, _("Record a call"));
+#if GTK_CHECK_VERSION(2,12,0)
+  gtk_widget_set_tooltip_text(GTK_WIDGET(recButton), _("Record a call"));
+#endif
+  gtk_widget_set_state( GTK_WIDGET(recButton), GTK_STATE_INSENSITIVE);
+  g_signal_connect (G_OBJECT (recButton), "clicked",
+      G_CALLBACK (rec_button), NULL);
+  gtk_toolbar_insert(GTK_TOOLBAR(ret), GTK_TOOL_ITEM(recButton), -1);
+
+
   return ret;
 
 }  
@@ -679,6 +717,9 @@ update_call_tree (calltab_t* tab, call_t * c)
 	      break;
 	    case CALL_STATE_TRANSFERT:
 	      pixbuf = gdk_pixbuf_new_from_file(ICONS_DIR "/transfert.svg", NULL);
+              break;
+            case CALL_STATE_RECORD:
+	      pixbuf = gdk_pixbuf_new_from_file(ICONS_DIR "/rec_call.svg", NULL);
 	      break;
 	    default:
 	      g_warning("Should not happen!");
diff --git a/sflphone-gtk/src/dbus.c b/sflphone-gtk/src/dbus.c
index aa2edb87b9cb287bc1924d1fc5f0ba3a901321b4..c1d5d616a27547e5f8185a6b534fa9dbd7039d7f 100644
--- a/sflphone-gtk/src/dbus.c
+++ b/sflphone-gtk/src/dbus.c
@@ -115,10 +115,14 @@ call_state_cb (DBusGProxy *proxy UNUSED,
       sflphone_hung_up (c);
       update_call_tree( history, c );
     }
-    else if ( strcmp(state, "UNHOLD") == 0 )
+    else if ( strcmp(state, "UNHOLD_CURRENT") == 0 )
     {
       sflphone_current (c);
     }
+    else if ( strcmp(state, "UNHOLD_RECORD") == 0 )
+    {
+      sflphone_record (c);
+    }
     else if ( strcmp(state, "HOLD") == 0 )
     {
       sflphone_hold (c);
@@ -1278,6 +1282,21 @@ dbus_set_volume_controls(  )
 		g_print("DBus called set_volume_controls on ConfigurationManager\n");
 }
 
+
+void
+dbus_set_record(const call_t * c)
+{
+       g_print("calling dbus_set_record on CallManager\n");
+       printf("CallID : %s \n", c->callID);
+       GError* error = NULL;
+       org_sflphone_SFLphone_CallManager_set_recording (
+                       callManagerProxy,
+                       c->callID,
+                       error);
+       g_print("called dbus_set_record on CallManager\n");
+}
+
+
 void
 dbus_set_max_calls( const guint calls  )
 {
diff --git a/sflphone-gtk/src/dbus.h b/sflphone-gtk/src/dbus.h
index f621cd04b10d75cf9bd98792b34bfa8d368f9432..7f12192c54485903511356c7bdcfb6d454b9d9d0 100644
--- a/sflphone-gtk/src/dbus.h
+++ b/sflphone-gtk/src/dbus.h
@@ -435,4 +435,5 @@ void dbus_set_stun_server( gchar* server);
 guint dbus_stun_is_enabled (void);
 void dbus_enable_stun (void);
 
+void dbus_set_record (const call_t * c);
 #endif
diff --git a/sflphone-gtk/src/mainwindow.c b/sflphone-gtk/src/mainwindow.c
index 6565d512fb425f0d724819f0e917055b4972a12d..e2490be9cc8bbcb06b7c3e4a15a3a5e4979b0e43 100644
--- a/sflphone-gtk/src/mainwindow.c
+++ b/sflphone-gtk/src/mainwindow.c
@@ -101,7 +101,7 @@ create_main_window ()
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   gtk_container_set_border_width (GTK_CONTAINER (window), 0);
   gtk_window_set_title (GTK_WINDOW (window), PACKAGE);
-  gtk_window_set_default_size (GTK_WINDOW (window), 230, 320);
+  gtk_window_set_default_size (GTK_WINDOW (window), 260, 320);
   gtk_window_set_default_icon_from_file (ICONS_DIR "/sflphone.png", 
                                           NULL);
   gtk_window_set_position( GTK_WINDOW( window ) , GTK_WIN_POS_MOUSE);
diff --git a/sflphone-gtk/src/menus.c b/sflphone-gtk/src/menus.c
index 2f7a36f156e6520a97137cae06b0b1c7f952df82..e933a6b24686fb0cd07aadc71dd3beaca7de1aa5 100644
--- a/sflphone-gtk/src/menus.c
+++ b/sflphone-gtk/src/menus.c
@@ -92,6 +92,11 @@ void update_menus()
       case CALL_STATE_FAILURE:
 	gtk_widget_set_sensitive( GTK_WIDGET(hangUpMenu), TRUE);
 	break; 
+      case CALL_STATE_RECORD:
+	gtk_widget_set_sensitive( GTK_WIDGET(hangUpMenu), TRUE);
+	gtk_widget_set_sensitive( GTK_WIDGET(holdMenu),   TRUE);
+	gtk_widget_set_sensitive( GTK_WIDGET(newCallMenu),TRUE);
+        break;
       default:
 	g_warning("Should not happen in update_menus()!");
 	break;
diff --git a/src/audio/audiorecord.cpp b/src/audio/audiorecord.cpp
deleted file mode 100644
index 65f63803942947e3cac58e91adcab2e76e1a9cf4..0000000000000000000000000000000000000000
--- a/src/audio/audiorecord.cpp
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- *  Copyright (C) 2008 Savoir-Faire Linux inc.
- *  Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include "audiorecord.h"
-
-AudioRecord::AudioRecord(){
-  sndSmplRate_ = 44100;
-  channels_ = 1;
-  byteCounter_ = 0;
-
-}
-
-
-void AudioRecord::setSndSamplingRate(int smplRate){
-  sndSmplRate_ = smplRate;
-}
-
-
-void AudioRecord::openFile(std::string fileName, FILE_TYPE type, SOUND_FORMAT format) {
-
-  channels_ =1;
-  fileType_ = type;
-  byteCounter_ = 0;
-  sndFormat_ = format;
-
-  bool result = false;
-
-  if(fileType_ == FILE_RAW){
-    result = setRawFile( fileName.c_str() );
-  }
-  else if (fileType_ == FILE_WAV){
-    result = setWavFile( fileName.c_str() );
-  }
-
-}
-
-
-void AudioRecord::closeFile() {
-
-  if (fp == 0) return;
-
-  if (fileType_ == FILE_RAW)
-    fclose(fp);
-  else if (fileType_ == FILE_WAV)
-    this->closeWavFile();
-
-}
-
-
-bool AudioRecord::isOpenFile() {
-  
-  if(fp)
-    return true;
-  else
-    return false;
-}
-
-
-bool AudioRecord::setRawFile(const char *fileName) {
-
-  char name[8192];
-  strncpy(name, fileName, 8192);
-  if ( strstr(name, ".raw") == NULL) strcat(name, ".raw");
-  fp = fopen(name, "wb");
-  if ( !fp ) {
-    cout << "AudioRecord: could not create RAW file: " << name << '.';
-    return false;
-  }
-
-  if ( sndFormat_ != INT16 ) { // TODO need to change INT16 to SINT16
-    sndFormat_ = INT16;
-    cout << "AudioRecord: using 16-bit signed integer data format for file " << name << '.';
-  }
-
-  cout << "AudioRecord: creating RAW file: " << name;
-  return true;
-}
-
-
-bool AudioRecord::setWavFile(const char *fileName) {
-  
-  char name[8192];
-  strncpy(name, fileName, 8192);
-  if ( strstr(name, ".wav") == NULL) strcat(name, ".wav");
-  fp = fopen(name, "wb");
-  if ( !fp ) {
-    cout << "AudioRecord: could not create WAV file: " << name;
-    return false;
-  }
-
-  struct wavhdr hdr = {"RIF", 44, "WAV", "fmt", 16, 1, 1,
-                        44100, 0, 2, 16, "dat", 0};
-  hdr.riff[3] = 'F';
-  hdr.wave[3] = 'E';
-  hdr.fmt[3]  = ' ';
-  hdr.data[3] = 'a';
-  hdr.num_chans = channels_;
-  if ( sndFormat_ == INT16 ) { //  TODO need to write INT16 to SINT16
-    hdr.bits_per_samp = 16;
-  }
-  hdr.bytes_per_samp = (SINT16) (channels_ * hdr.bits_per_samp / 8);
-  hdr.bytes_per_sec = (SINT32) (hdr.sample_rate * hdr.bytes_per_samp);
-
-
-  if ( fwrite(&hdr, 4, 11, fp) != 11 ) {
-    cout << "AudioRecord: could not write WAV header for file " << name << '.';
-    return false;
-  }
-
-  cout << "AudioRecord: creating WAV file: " << name;
-  return true;
-}
-
-
-void AudioRecord::closeWavFile()
-{
-  int bytes_per_sample = 1;
-  if ( sndFormat_ == INT16 )
-    bytes_per_sample = 2;
-
-
-  SINT32 bytes = byteCounter_ * channels_ * bytes_per_sample;
-  fseek(fp, 40, SEEK_SET); // jump to data length
-  fwrite(&bytes, 4, 1, fp);
-
-  bytes = byteCounter_ * channels_ * bytes_per_sample + 44; // + 44 for the wave header
-  fseek(fp, 4, SEEK_SET); // jump to file size
-  fwrite(&bytes, 4, 1, fp);
-  fclose( fp );
-}
-
-
-void AudioRecord::recData(SFLDataFormat* buffer, int nSamples) {
-
-  if (fp == 0){
-    cout << "AudioRecord: Can't record data, a file has not yet been opened!";
-    return;
-  }
- 
-  if ( sndFormat_ == INT16 ) { // TODO change INT16 to SINT16
-    if (nSamples <= 1){
-      if ( fwrite(buffer, 2, 1, fp) != 1)
-        cout << "AudioRecord: Could not record data!";
-    }
-    else { 
-      for ( int k=0; k<nSamples; k++ ) {
-        cout << "Buffer[" << k << "] : " << buffer[k] << "\n";
-        if ( fwrite(&buffer[k], 2, 1, fp) != 1 )
-          cout << "AudioRecord: Could not record data!";
-      }
-    }
-  }
-
-  
-
-
-  byteCounter_ += (unsigned long)(sizeof(buffer) / sizeof(SINT16));
-
-  return;
-}
-
diff --git a/src/audio/audiorecord.h b/src/audio/audiorecord.h
deleted file mode 100644
index b38eefb29a59be117d896e9c2c6147ff43011ef3..0000000000000000000000000000000000000000
--- a/src/audio/audiorecord.h
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- *  Copyright (C) 2008 Savoir-Faire Linux inc.
- *  Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#include <iostream>
-#include <string.h>
-
-#include "global.h"
-
-using namespace std;
-
-
-// structure for the wave header
-struct wavhdr {
-  char riff[4];           // "RIFF"
-  SINT32 file_size;       // in bytes
-  char wave[4];           // "WAVE"
-  char fmt[4];            // "fmt "
-  SINT32 chunk_size;      // in bytes (16 for PCM)
-  SINT16 format_tag;      // 1=PCM, 2=ADPCM, 3=IEEE float, 6=A-Law, 7=Mu-Law
-  SINT16 num_chans;       // 1=mono, 2=stereo
-  SINT32 sample_rate;
-  SINT32 bytes_per_sec;
-  SINT16 bytes_per_samp;  // 2=16-bit mono, 4=16-bit stereo
-  SINT16 bits_per_samp;
-  char data[4];           // "data"
-  SINT32 data_length;     // in bytes
-};
-
-class AudioRecord
-{
-
-public:
-
-  AudioRecord();
-
-  void setSndSamplingRate(int smplRate);
-
-  /**
-   * Check if no otehr file is opened, then create a new one
-   * @param fileName A string containing teh file (with/without extension)
-   * @param type     The sound file format (FILE_RAW, FILE_WAVE)
-   * @param format   Internal sound format (INT16 / INT32)
-   */
-  void openFile(std::string fileName, FILE_TYPE type, SOUND_FORMAT format);
-
-  /**
-   * Close the opend recording file. If wave: cout the number of byte
-   */
-  void closeFile();
-
-  /**
-   * Check if a file is already opened
-   */
-  bool isOpenFile();
-
-  /**
-   * Record a chunk of data in an openend file
-   * @param buffer  The data chunk to be recorded
-   * @param nSamples Number of samples (number of bytes) to be recorded 
-   */
-  void recData(SFLDataFormat* buffer, int nSamples); // TODO ad the data to rec
-
-protected:
-
-  /**
-   * Set the header for raw files
-   */
-  bool setRawFile(const char* fileName);
-
-  /**
-   * Set the header for wave files
-   */
-  bool setWavFile(const char* fileName);
-
-  /**
-   * Compute the number of byte recorded and close the file
-   */
-  void closeWavFile();
-
-  /**
-   * Pointer to the recorded file
-   */
-  FILE *fp;                      //file pointer
-
-  /**
-   * File format (RAW / WAVE)
-   */
-  FILE_TYPE fileType_;
-
-  /**
-   * Sound format (SINT16/SINT32)
-   */
-  SOUND_FORMAT sndFormat_;
-
-  /**
-   * Number of channels
-   */
-  int channels_;
-
-  /**
-   * Number f byte recorded
-   */
-  unsigned long byteCounter_;
-
-  /**
-   * Sampling rate
-   */
-  int sndSmplRate_;
-
-};
diff --git a/src/audio/audiortp.cpp b/src/audio/audiortp.cpp
index 34adf65db881d1e5fba25db81fd217e2315169c6..9a58c7ec0a3d65f6b17a3f475400a7855cc1413f 100644
--- a/src/audio/audiortp.cpp
+++ b/src/audio/audiortp.cpp
@@ -29,6 +29,7 @@
 #include <math.h>
 #include <dlfcn.h>
 #include <iostream>
+#include <sstream>
 
 #include "../global.h"
 #include "../manager.h"
@@ -52,6 +53,7 @@ AudioRtp::~AudioRtp (void) {
 
 int 
 AudioRtp::createNewSession (SIPCall *ca) {
+   
     ost::MutexLock m(_threadMutex);
 
     // something should stop the thread before...
@@ -74,16 +76,19 @@ AudioRtp::createNewSession (SIPCall *ca) {
     _debugException("! ARTP Failure: when trying to start a thread");
     throw;
   }
+
   return 0;
 }
 
 
 void
 AudioRtp::closeRtpSession () {
+
   ost::MutexLock m(_threadMutex);
   // This will make RTP threads finish.
   _debug("Stopping AudioRTP\n");
   try {
+    
     delete _RTXThread; _RTXThread = 0;
   } catch(...) {
     _debugException("! ARTP Exception: when stopping audiortp\n");
@@ -93,6 +98,17 @@ AudioRtp::closeRtpSession () {
   audiolayer->stopStream();
 }
 
+
+void
+AudioRtp::setRecording() {
+  
+  _debug("AudioRtp::setRecording\n");
+  _RTXThread->_ca->setRecording();
+
+}
+
+
+
 ////////////////////////////////////////////////////////////////////////////////
 // AudioRtpRTX Class                                                          //
 ////////////////////////////////////////////////////////////////////////////////
@@ -133,7 +149,7 @@ AudioRtpRTX::~AudioRtpRTX () {
   } else {
     delete _session;     _session = NULL;
   }
-
+ 
   delete [] micData;  micData = NULL;
   delete [] micDataConverted;  micDataConverted = NULL;
   delete [] micDataEncoded;  micDataEncoded = NULL;
@@ -177,7 +193,7 @@ AudioRtpRTX::initAudioRtpSession (void)
       return;
     }
 
-    // Initialization
+
     if (!_sym) {
       _sessionRecv->setSchedulingTimeout (10000);
       _sessionRecv->setExpireTimeout(1000000);
@@ -226,6 +242,8 @@ AudioRtpRTX::initAudioRtpSession (void)
 	}
       }
     }
+
+
   } catch(...) {
     _debugException("! ARTP Failure: initialisation failed");
     throw;
@@ -260,6 +278,10 @@ AudioRtpRTX::sendSessionFromMic(int timestamp)
     //_debug("get data from mic\n");
     int nbSample = audiolayer->getMic( micData , bytesAvail ) / sizeof(SFLDataFormat);
     int nb_sample_up = nbSample;
+    
+    // Store the length of the mic buffer in samples for recording
+    _nSamplesMic = nbSample;
+
     int nbSamplesMax = _layerFrameSize * _audiocodec->getClockRate() / 1000;
 
     //_debug("resample data = %i\n", nb_sample_up);
@@ -322,6 +344,7 @@ AudioRtpRTX::receiveSessionForSpkr (int& countTime)
     }
 
     if (_audiocodec != NULL) {
+  
 
       int expandedSize = _audiocodec->codecDecode( spkrDataDecoded , spkrData , size );
       //buffer _receiveDataDecoded ----> short int or int16, coded on 2 bytes
@@ -339,7 +362,10 @@ AudioRtpRTX::receiveSessionForSpkr (int& countTime)
 #ifdef DATAFORMAT_IS_FLOAT
 #else
 #endif
-      
+    
+      // Stor the number of samples for recording
+      _nSamplesSpkr = nbSample;
+        
     //audiolayer->playSamples( spkrDataConverted, nbSample * sizeof(SFLDataFormat), true);
     audiolayer->putMain (spkrDataConverted, nbSample * sizeof(SFLDataFormat));
       
@@ -419,10 +445,14 @@ AudioRtpRTX::run () {
       ////////////////////////////
       receiveSessionForSpkr(countTime);
       // Let's wait for the next transmit cycle
-      Thread::sleep(TimerPort::getTimer());
+
+      _ca->recAudio.recData(spkrDataConverted,micData,_nSamplesSpkr,_nSamplesMic);
+
+      Thread::sleep(TimerPort::getTimer()); 
       TimerPort::incTimer(_layerFrameSize); // 'frameSize' ms
     }
-    //_debug("stop stream for audiortp loop\n");
+
+    // _debug("stop stream for audiortp loop\n");
     audiolayer->stopStream();
     _debug("- ARTP Action: Stop\n");
   //} catch(std::exception &e) {
@@ -434,6 +464,7 @@ AudioRtpRTX::run () {
     //_debugException("* ARTP Action: Stop");
     //throw;
   //}
+    
 }
 
 
diff --git a/src/audio/audiortp.h b/src/audio/audiortp.h
index 030840f94ee3f19041e27914e6b633e737fd75f1..fe75441c0ee6ad36a84f77a103707e5daf2c8064 100644
--- a/src/audio/audiortp.h
+++ b/src/audio/audiortp.h
@@ -29,6 +29,7 @@
 #include <cc++/numbers.h>
 
 #include "../global.h"
+// #include "plug-in/audiorecorder/audiorecord.h"
 #include "../samplerateconverter.h"
 
 #define UP_SAMPLING 0
@@ -39,6 +40,7 @@
  * @brief Manage the real-time data transport in a SIP call
  */
 
+
 class SIPCall;
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -51,7 +53,7 @@ class AudioRtpRTX : public ost::Thread, public ost::TimerPort {
      * @param sipcall The pointer on the SIP call
      * @param sym     Tells whether or not the voip links are symmetric
      */
-    AudioRtpRTX (SIPCall* sipcall, bool sym);
+  AudioRtpRTX (SIPCall* sipcall, bool sym);
 
     /**
      * Destructor
@@ -64,6 +66,14 @@ class AudioRtpRTX : public ost::Thread, public ost::TimerPort {
     /** Thread associated method */    
     virtual void run ();
 
+    /**
+     * Audio recording object
+     */
+    AudioRecord recAudio;
+
+    /** A SIP call */
+    SIPCall* _ca;    
+
   private:
 
     // copy constructor
@@ -72,9 +82,6 @@ class AudioRtpRTX : public ost::Thread, public ost::TimerPort {
     // assignment operator
     AudioRtpRTX& operator=(const AudioRtpRTX& rh);
 
-    /** A SIP call */
-    SIPCall* _ca;
-
     /** RTP session to send data */
     ost::RTPSession *_sessionSend;
     
@@ -105,12 +112,24 @@ class AudioRtpRTX : public ost::Thread, public ost::TimerPort {
     /** Variables to process audio stream: sample rate for playing sound (typically 44100HZ) */
     int _layerSampleRate;  
 
-    /** Sample rate of the codec we use to encode and decode (most of time 8000HZ) */
+    /** Sample rate of te codec we use to encode and decode (most of time 8000HZ) */
     int _codecSampleRate; 
 
     /** Length of the sound frame we capture in ms(typically 20ms) */
     int _layerFrameSize; 
 
+    /** Speaker buffer length in samples once the data are resampled
+     *  (used for mixing and recording)
+     */
+    int _nSamplesSpkr; 
+
+    /** Mic buffer length in samples once the data are resampled
+     *  (used for mixing and recording)
+     */
+    int _nSamplesMic;
+    
+  
+    
     /**
      * Init the RTP session. Create either symmetric or double sessions to manage data transport
      * Set the payloads according to the manager preferences
@@ -146,7 +165,12 @@ class AudioRtpRTX : public ost::Thread, public ost::TimerPort {
     int reSampleData(int sampleRate_codec, int nbSamples, int status);
     
     /** The audio codec used during the session */
-    AudioCodec* _audiocodec;	
+    AudioCodec* _audiocodec;
+   
+    /**
+     * Audio recording object
+     */
+    // AudioRecord recAudio;
 };
 
 ///////////////////////////////////////////////////////////////////////////////
@@ -175,6 +199,12 @@ class AudioRtp {
      */
     void closeRtpSession( void );
 
+    /**
+     * Start recording
+     */
+    void setRecording ();
+    
+
   private:
     // copy constructor
     AudioRtp(const AudioRtp& rh);
diff --git a/src/audio/pulselayer.cpp b/src/audio/pulselayer.cpp
index 8882ebe09ae56b369768b4b09a8b23e8034925e5..a3566314fb0d4ad4a05f1b6ec961f0eac334d672 100644
--- a/src/audio/pulselayer.cpp
+++ b/src/audio/pulselayer.cpp
@@ -89,6 +89,7 @@ PulseLayer::connectPulseAudioServer( void )
   //serverinfo();
   //muteAudioApps(99);
   _debug("Context creation done\n");
+
 }
 
 void PulseLayer::context_state_callback( pa_context* c, void* user_data )
@@ -202,6 +203,7 @@ PulseLayer::startStream (void)
   pa_threaded_mainloop_lock(m);
   pa_stream_cork( record->pulseStream(), NULL, NULL, NULL);
   pa_threaded_mainloop_unlock(m);
+
 }
 
   void 
@@ -251,7 +253,8 @@ PulseLayer::processData( void )
   }
 }
 
-void PulseLayer::writeToSpeaker( void )
+void
+PulseLayer::writeToSpeaker( void )
 {   
   /** Bytes available in the urgent ringbuffer ( reserved for DTMF ) */
   int urgentAvail; 
diff --git a/src/audio/pulselayer.h b/src/audio/pulselayer.h
index 36ca8057ce47dccc78c23455dfa9b4ae40cb6ce7..7476d6052ec41fe04013e9068c2f863ef82e6109 100644
--- a/src/audio/pulselayer.h
+++ b/src/audio/pulselayer.h
@@ -22,7 +22,6 @@
 
 #include "audiolayer.h"
 #include "audiostream.h"
-#include "plug-in/audiorecorder/audiorecord.h"
 
 #include <pulse/pulseaudio.h>
 
@@ -190,6 +189,7 @@ class PulseLayer : public AudioLayer {
     int spkrVolume;
     int micVolume;
 
+
 public: 
     static int streamState;
 };
diff --git a/src/audio/ringbuffer.cpp b/src/audio/ringbuffer.cpp
index 12cac26c34e9ed63b1881c9bacf84f05b20ba424..52317ffffb90225e9c000a8f1da91d0cddb4228d 100644
--- a/src/audio/ringbuffer.cpp
+++ b/src/audio/ringbuffer.cpp
@@ -82,7 +82,8 @@ RingBuffer::Put(void* buffer, int toCopy, unsigned short volume) {
       toCopy = (mBufferSize-4) - len;
 
    src = (samplePtr) buffer;
-
+   
+  
    copied = 0;
    pos = mEnd;
 
diff --git a/src/call.cpp b/src/call.cpp
index a29c60adfa092110ec1f2372d09e7f62ddc0c984..08d64d88351f032fab655f4c91589a7fd8efcdaa 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -36,11 +36,51 @@ Call::Call(const CallID& id, Call::CallType type)
            , _peerName()
            , _peerNumber()
 {
+    time_t rawtime;
+    struct tm * timeinfo;
+
+    rawtime = std::time(NULL);
+    timeinfo = localtime ( &rawtime );
+
+    std::stringstream out;
+
+    out << timeinfo->tm_year+1900;
+    if (timeinfo->tm_mon < 9) // january is 01, not 1
+      out << 0;
+    out << timeinfo->tm_mon+1;
+    if (timeinfo->tm_mday < 10) // 01 02 03, not 1 2 3
+      out << 0;
+    out << timeinfo->tm_mday;
+    if (timeinfo->tm_hour < 10) // 01 02 03, not 1 2 3
+      out << 0;
+    out << timeinfo->tm_hour;
+    if (timeinfo->tm_min < 10) // 01 02 03, not 1 2 3
+      out << 0;
+    out << timeinfo->tm_min;
+    if (timeinfo->tm_sec < 10) // 01 02 03,  not 1 2 3
+      out << 0;
+    out << timeinfo->tm_sec;
+
+    _filename = out.str();
+
+    printf("Call::constructor filename for this call %s \n",_filename.c_str());
+ 
+    FILE_TYPE fileType = FILE_WAV;
+    SOUND_FORMAT soundFormat = INT16;
+    recAudio.setRecordingOption(_filename.c_str(),fileType,soundFormat,44100);
+
+    _debug("CALL::Constructor for this clss is called \n");    
 }
 
 
 Call::~Call()
 {
+   _debug("CALL::~Call(): Destructor for this clss is called \n");
+   
+   if(recAudio.isOpenFile()) {
+     _debug("CALL::~Call(): A recording file is open, close it \n");
+     recAudio.closeFile();
+   }
 }
 
 void 
@@ -127,3 +167,15 @@ Call::isAudioStarted()
   return _audioStarted;
 }
 
+void
+Call::setRecording()
+{
+  recAudio.setRecording();
+}
+
+bool
+Call::isRecording()
+{
+  return recAudio.isRecording();
+}
+
diff --git a/src/call.h b/src/call.h
index 32ce4f30e7a8c6085228765d9ea7ec1eef4163cf..b549e360f292675f90a3a6a53158172a657baad6 100644
--- a/src/call.h
+++ b/src/call.h
@@ -21,8 +21,10 @@
 #define CALL_H
 
 #include <cc++/thread.h> // for mutex
+#include <sstream>
 
 #include "audio/codecDescriptor.h"
+#include "plug-in/audiorecorder/audiorecord.h"
 
 /* 
  * @file call.h 
@@ -208,6 +210,26 @@ class Call{
      */
     AudioCodecType getAudioCodec();
 
+    /**
+     * @return Return the file name for this call
+     */
+    std::string getFileName() {return _filename;}
+
+    /**
+     * A recorder for this call
+     */
+    AudioRecord recAudio;
+  
+    /**
+     * SetRecording
+     */
+    void setRecording();
+    
+    /**
+     * Return Recording state
+     */
+    bool isRecording(); 
+
   protected:
     /** Protect every attribute that can be changed by two threads */
     ost::Mutex _callMutex;
@@ -257,6 +279,7 @@ class Call{
 
 
   private:  
+  
     /** Unique ID of the call */
     CallID _id;
 
@@ -273,6 +296,8 @@ class Call{
     /** Number of the peer */
     std::string _peerNumber;
 
+    /** File name for his call : time YY-MM-DD */
+    std::string _filename;
 };
 
 #endif
diff --git a/src/dbus/callmanager-glue.h b/src/dbus/callmanager-glue.h
index 8490479e50b5ceddd353c99eba8863581298d111..4abf94d05cbb97ae8bb735547f9d401f251307aa 100644
--- a/src/dbus/callmanager-glue.h
+++ b/src/dbus/callmanager-glue.h
@@ -31,6 +31,7 @@ public:
         register_method(CallManager_adaptor, startTone, _startTone_stub);
         register_method(CallManager_adaptor, setVolume, _setVolume_stub);
         register_method(CallManager_adaptor, getVolume, _getVolume_stub);
+        register_method(CallManager_adaptor, setRecording, _setRecording_stub);
         register_method(CallManager_adaptor, getCallDetails, _getCallDetails_stub);
         register_method(CallManager_adaptor, getCurrentCallID, _getCurrentCallID_stub);
     }
@@ -98,6 +99,11 @@ public:
             { "value", "d", false },
             { 0, 0, 0 }
         };
+        static ::DBus::IntrospectedArgument setRecording_args[] = 
+        {
+            { "callID", "s", true },
+            { 0, 0, 0 }
+        };
         static ::DBus::IntrospectedArgument getCallDetails_args[] = 
         {
             { "callID", "s", true },
@@ -158,6 +164,7 @@ public:
             { "startTone", startTone_args },
             { "setVolume", setVolume_args },
             { "getVolume", getVolume_args },
+            { "setRecording", setRecording_args },
             { "getCallDetails", getCallDetails_args },
             { "getCurrentCallID", getCurrentCallID_args },
             { 0, 0 }
@@ -208,6 +215,7 @@ public:
     virtual void startTone(const int32_t& start, const int32_t& type) = 0;
     virtual void setVolume(const std::string& device, const double& value) = 0;
     virtual double getVolume(const std::string& device) = 0;
+    virtual void setRecording(const std::string& callID) = 0;
     virtual std::map< std::string, std::string > getCallDetails(const std::string& callID) = 0;
     virtual std::string getCurrentCallID() = 0;
 
@@ -374,6 +382,15 @@ private:
         wi << argout1;
         return reply;
     }
+    ::DBus::Message _setRecording_stub(const ::DBus::CallMessage &call)
+    {
+        ::DBus::MessageIter ri = call.reader();
+
+        std::string argin1; ri >> argin1;
+        setRecording(argin1);
+        ::DBus::ReturnMessage reply(call);
+        return reply;
+    }
     ::DBus::Message _getCallDetails_stub(const ::DBus::CallMessage &call)
     {
         ::DBus::MessageIter ri = call.reader();
diff --git a/src/dbus/callmanager-introspec.xml b/src/dbus/callmanager-introspec.xml
index 29caa7f0fc4f737fcaf906023e6fd8762aeeaa2e..6e415f9bfb71c26a48d3495733a9ced0545b1f32 100644
--- a/src/dbus/callmanager-introspec.xml
+++ b/src/dbus/callmanager-introspec.xml
@@ -51,6 +51,10 @@
       <arg type="s" name="device" direction="in"/>
       <arg type="d" name="value" direction="out"/>
     </method>
+
+    <method name="setRecording">
+      <arg type="s" name="callID" direction="in"/>
+    </method>
     
     <method name="getCallDetails">
       <arg type="s" name="callID" direction="in"/>
@@ -87,6 +91,8 @@
       <arg type="s" name="device"  direction="out"/>
       <arg type="d" name="value"  direction="out"/>
     </signal>
+
+ 
     
     <signal name="error">
       <arg type="a{ss}" name="details"  direction="out"/>
diff --git a/src/dbus/callmanager.cpp b/src/dbus/callmanager.cpp
index 2fa7a779edcfad17266412642454f1eb177a218a..d516dba31b305fe9c8e30e30cbb7ed5b8d628e46 100644
--- a/src/dbus/callmanager.cpp
+++ b/src/dbus/callmanager.cpp
@@ -115,6 +115,14 @@ CallManager::getVolume( const std::string& device )
     return 0;
 }
 
+void
+CallManager::setRecording(const std::string& callID)
+{ 
+  _debug("CallManager::setRecording received\n");
+    Manager::instance().setRecordingCall(callID);
+}
+
+
 std::map< std::string, std::string > 
 CallManager::getCallDetails( const std::string& callID UNUSED )
 {
diff --git a/src/dbus/callmanager.h b/src/dbus/callmanager.h
index aa825a80ee30241db93b628348a233787b414262..a8c4c0c2ed8dba4bc841d258ab7fa6a9c70bc2bc 100644
--- a/src/dbus/callmanager.h
+++ b/src/dbus/callmanager.h
@@ -48,6 +48,7 @@ public:
     void transfert( const std::string& callID, const std::string& to );
     void setVolume( const std::string& device, const double& value );
     double getVolume( const std::string& device );
+    void setRecording( const std::string& callID );
     std::map< std::string, std::string > getCallDetails( const std::string& callID );
     std::string getCurrentCallID(  );
     void playDTMF( const std::string& key );
diff --git a/src/iaxvoiplink.cpp b/src/iaxvoiplink.cpp
index bb7d060895507de250eb10054c742b15e51c565a..9f95f699050679e4ec34c1419eee9e2d78dcaf5e 100644
--- a/src/iaxvoiplink.cpp
+++ b/src/iaxvoiplink.cpp
@@ -501,11 +501,28 @@ IAXVoIPLink::refuse(const CallID& id)
     _mutexIAX.enterMutex();
     iax_reject(call->getSession(), (char*) reason.c_str());
     _mutexIAX.leaveMutex();
+
     removeCall(id);
 
     return true;
 }
 
+
+void 
+IAXVoIPLink::setRecording(const CallID& id)
+{
+  _debug("IAXVoIPLink::setRecording!");
+}
+
+bool 
+IAXVoIPLink::isRecording(const CallID& id)
+{
+  _debug("IAXVoIPLink::setRecording!");
+}
+
+
+
+
     bool
 IAXVoIPLink::carryingDTMFdigits(const CallID& id, char code)
 {
diff --git a/src/iaxvoiplink.h b/src/iaxvoiplink.h
index b82949f640760b474913204c596616018ece1c98..c66112d1b2fe63027d04a0436fa46c35cf6a2788 100644
--- a/src/iaxvoiplink.h
+++ b/src/iaxvoiplink.h
@@ -151,7 +151,19 @@ class IAXVoIPLink : public VoIPLink
      *		  false otherwise
      */
     bool refuse (const CallID& id);
-    
+   
+    /**
+     * Set Recording
+     * @param id The call identifier
+     */
+    void setRecording(const CallID& id);
+
+    /**
+     * Return recording state
+     * @param id The call identifier
+     */
+    bool isRecording(const CallID& id);
+ 
     /**
      * Send DTMF  
      * @param id The ID of the call
diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 1881dae46c12cd08ff1fcf14523063e72758215a..8019eac48a39cf7da1f56f393531eada1bca573a 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -342,8 +342,23 @@ ManagerImpl::offHoldCall(const CallID& id)
 
   _debug("Setting OFFHOLD, Account %s, callid %s\n", accountid.c_str(), id.c_str());
 
+  bool rec = getAccountLink(accountid)->isRecording(id);
+  
+  /*
+  if(rec)
+    _debug("ManagerImpl::offHoldCall(): Record state is true \n");
+  else
+    _debug("ManagerImpl::offHoldCall(): Record state is false \n");
+  */
+
   bool returnValue = getAccountLink(accountid)->offhold(id);
-  if (_dbus) _dbus->getCallManager()->callStateChanged(id, "UNHOLD");
+
+  if (_dbus){ 
+    if (rec)
+      _dbus->getCallManager()->callStateChanged(id, "UNHOLD_RECORD");
+    else 
+      _dbus->getCallManager()->callStateChanged(id, "UNHOLD_CURRENT");
+  }
   switchCall(id);
 
   return returnValue;
@@ -1435,6 +1450,25 @@ ManagerImpl::setVolumeControls( void )
   ( getConfigInt( PREFERENCES , CONFIG_VOLUME ) == DISPLAY_VOLUME_CONTROLS )? setConfig(PREFERENCES , CONFIG_VOLUME , NO_STR ) : setConfig( PREFERENCES , CONFIG_VOLUME , YES_STR );
 }
 
+void
+ManagerImpl::setRecordingCall(const CallID& id)
+{
+  _debug("ManagerImpl::setRecording()! \n");
+  AccountID accountid = getAccountFromCall( id );
+
+  // printf("ManagerImpl::CallID: %s", id);
+  getAccountLink(accountid)->setRecording(id);
+}
+
+bool
+ManagerImpl::isRecording(const CallID& id)
+{
+  _debug("ManagerImpl::isRecording()! \n");
+  AccountID accountid = getAccountFromCall( id );
+
+  return getAccountLink(accountid)->isRecording(id);
+}
+
 void 
 ManagerImpl::startHidden( void )
 {
diff --git a/src/managerimpl.h b/src/managerimpl.h
index 45471b7b211e5b23a93d2c40d74eceb958cbd85a..82a067298feea8136ebd9b49a354549b87c5d8e4 100644
--- a/src/managerimpl.h
+++ b/src/managerimpl.h
@@ -61,6 +61,9 @@ typedef std::map<CallID, AccountID> CallAccountMap;
 /** Define a type for CallID vector (waiting list, incoming not answered) */
 typedef std::set<CallID> CallIDSet;
 
+/** Define a type for recorded audio file names vector */
+typedef std::map<CallID, std::string> RecFileNames; 
+
 /** To send multiple string */
 typedef std::list<std::string> TokenList;
 
@@ -454,6 +457,18 @@ class ManagerImpl {
      */
     void setVolumeControls( void );
 
+    /**
+     * Set recording on / off
+     * Start recording
+     * @param id  The call identifier
+     */
+    void setRecordingCall(const CallID& id);
+
+    /**
+     * Return true if the call is currently recorded
+     */
+    bool isRecording(const CallID& id);
+
     /**
      * Set the maximum number of calls to keep in the history
      * @param calls The number of calls
@@ -970,7 +985,8 @@ class ManagerImpl {
      */
     bool removeCallAccount(const CallID& callID);
 
-    /** Contains a list of account (sip, aix, etc) and their respective voiplink/calls */
+    /** 
+     *Contains a list of account (sip, aix, etc) and their respective voiplink/calls */
     AccountMap _accountMap;
 
     /**
@@ -992,6 +1008,12 @@ class ManagerImpl {
      */
     bool accountExists(const AccountID& accountID);
 
+    /**
+     * Map the call id to coresponding call
+     */
+    RecFileNames _fileNamesMap;
+    
+
 public:
     /**
      * Get an account pointer
diff --git a/src/plug-in/audiorecorder/Makefile.am b/src/plug-in/audiorecorder/Makefile.am
index 37a2ce4ed072fc300b0d85771f72e81d2fdf42e6..ca2d7602155ec58a9f093eccce5c412670517a4b 100644
--- a/src/plug-in/audiorecorder/Makefile.am
+++ b/src/plug-in/audiorecorder/Makefile.am
@@ -4,4 +4,4 @@ noinst_LTLIBRARIES = libaudiorecorder.la
 
 libaudiorecorder_la_SOURCES = \
 		audiorecord.cpp 
-
+		libsndfile.h
diff --git a/src/plug-in/audiorecorder/audiorecord.cpp b/src/plug-in/audiorecorder/audiorecord.cpp
index 65f63803942947e3cac58e91adcab2e76e1a9cf4..b547d06933a5aab43ed1db249b46f6b9b033a617 100644
--- a/src/plug-in/audiorecorder/audiorecord.cpp
+++ b/src/plug-in/audiorecorder/audiorecord.cpp
@@ -19,35 +19,72 @@
 
 #include "audiorecord.h"
 
+
+
 AudioRecord::AudioRecord(){
+  
   sndSmplRate_ = 44100;
   channels_ = 1;
   byteCounter_ = 0;
+  recordingEnabled_ = false;
+  fp = 0;
 
 }
 
 
 void AudioRecord::setSndSamplingRate(int smplRate){
-  sndSmplRate_ = smplRate;
+  sndSmplRate_ = smplRate;  
 }
 
+void AudioRecord::setRecordingOption(std::string name, FILE_TYPE type, SOUND_FORMAT format, int sndSmplRate){
 
-void AudioRecord::openFile(std::string fileName, FILE_TYPE type, SOUND_FORMAT format) {
-
-  channels_ =1;
+  strncpy(fileName_, name.c_str(), 8192);
+ 
   fileType_ = type;
-  byteCounter_ = 0;
   sndFormat_ = format;
+  channels_ = 1;
+  sndSmplRate_ = sndSmplRate;
+  
+  if (fileType_ == FILE_RAW){
+     if ( strstr(fileName_, ".raw") == NULL){
+       printf("AudioRecord::openFile::concatenate .raw file extension: name : %s \n", fileName_); 
+       strcat(fileName_, ".raw");
+     }
+   }
+   else if (fileType_ == FILE_WAV){
+     if ( strstr(fileName_, ".wav") == NULL){ 
+       printf("AudioRecord::openFile::concatenate .wav file extension: name : %s \n", fileName_);
+       strcat(fileName_, ".wav");
+     }
+   }
+}
 
-  bool result = false;
-
-  if(fileType_ == FILE_RAW){
-    result = setRawFile( fileName.c_str() );
-  }
-  else if (fileType_ == FILE_WAV){
-    result = setWavFile( fileName.c_str() );
-  }
-
+void AudioRecord::openFile(){
+  
+   _debug("AudioRecord::openFile()\n");  
+  
+   bool result = false;
+   
+   if(isFileExist()) {
+     _debug("AudioRecord::Filename does not exist, creating one \n");
+     byteCounter_ = 0;
+
+     if(fileType_ == FILE_RAW){
+       result = setRawFile();
+     }
+     else if (fileType_ == FILE_WAV){
+       result = setWavFile();
+     }
+   }
+   else {
+     _debug("AudioRecord::Filename already exist opening it \n");
+     if(fileType_ == FILE_RAW){
+       result = openExistingRawFile();
+     }   
+     else if (fileType_ == FILE_WAV){
+       result = openExistingWavFile();      
+     }
+   }  
 }
 
 
@@ -65,42 +102,80 @@ void AudioRecord::closeFile() {
 
 bool AudioRecord::isOpenFile() {
   
-  if(fp)
+  if(fp){
+    _debug("AudioRecord::isOpenFile(): file already openend\n");
     return true;
-  else
+  }
+  else {
+    _debug("AudioRecord::isOpenFIle(): file not openend \n");
     return false;
+  }
 }
 
 
-bool AudioRecord::setRawFile(const char *fileName) {
+bool AudioRecord::isFileExist() {
+  
+  printf("AudioRecord::isFileExist(): try to open name : %s \n", fileName_);
+  if(fopen(fileName_,"rb")==0) {
+    return true;
+  }
+  
+  return false;  
+}
+
+bool AudioRecord::isRecording() {
+  _debug("AudioRecording::setRecording() \n");
+  
+  if(recordingEnabled_)
+    return true;
+  else 
+    return false;
+}
 
-  char name[8192];
-  strncpy(name, fileName, 8192);
-  if ( strstr(name, ".raw") == NULL) strcat(name, ".raw");
-  fp = fopen(name, "wb");
+
+bool AudioRecord::setRecording() {
+  _debug("AudioRecord::setRecording()\n");
+  
+  if (isOpenFile()){
+    _debug("AuioRecord::setRecording()::file already opened\n");
+    if(!recordingEnabled_)
+      recordingEnabled_ = true;
+    else 
+      recordingEnabled_ = false;
+  }
+  else {
+    _debug("AudioRecord::setRecording():Opening the wave file in call during call instantiation\n");
+    openFile();
+
+    recordingEnabled_ = true; // once opend file, start recording
+  }
+  
+}
+
+
+bool AudioRecord::setRawFile() {
+
+  fp = fopen(fileName_, "wb");
   if ( !fp ) {
-    cout << "AudioRecord: could not create RAW file: " << name << '.';
+    _debug("AudioRecord::setRawFile() : could not create RAW file!\n");
     return false;
   }
 
   if ( sndFormat_ != INT16 ) { // TODO need to change INT16 to SINT16
     sndFormat_ = INT16;
-    cout << "AudioRecord: using 16-bit signed integer data format for file " << name << '.';
+    _debug("AudioRecord::setRawFile() : using 16-bit signed integer data format for file.\n");
   }
 
-  cout << "AudioRecord: creating RAW file: " << name;
+  _debug("AudioRecord:setRawFile() : created RAW file.\n");
   return true;
 }
 
 
-bool AudioRecord::setWavFile(const char *fileName) {
+bool AudioRecord::setWavFile() {
   
-  char name[8192];
-  strncpy(name, fileName, 8192);
-  if ( strstr(name, ".wav") == NULL) strcat(name, ".wav");
-  fp = fopen(name, "wb");
+  fp = fopen(fileName_, "wb");
   if ( !fp ) {
-    cout << "AudioRecord: could not create WAV file: " << name;
+    _debug("AudioRecord::setWavFile() : could not create WAV file.\n");
     return false;
   }
 
@@ -117,61 +192,189 @@ bool AudioRecord::setWavFile(const char *fileName) {
   hdr.bytes_per_samp = (SINT16) (channels_ * hdr.bits_per_samp / 8);
   hdr.bytes_per_sec = (SINT32) (hdr.sample_rate * hdr.bytes_per_samp);
 
-
-  if ( fwrite(&hdr, 4, 11, fp) != 11 ) {
-    cout << "AudioRecord: could not write WAV header for file " << name << '.';
+  
+  if ( fwrite(&hdr, 4, 11, fp) != 11) {
+    _debug("AudioRecord::setWavFile() : could not write WAV header for file. \n");
     return false;
   }
 
-  cout << "AudioRecord: creating WAV file: " << name;
+  _debug("AudioRecord::setWavFile() : created WAV file. \n");
   return true;
 }
 
 
-void AudioRecord::closeWavFile()
+bool AudioRecord::openExistingRawFile()
+{ 
+  fp = fopen(fileName_, "ab+");
+  if ( !fp ) {
+    _debug("AudioRecord::openExistingRawFile() : could not create RAW file!\n");
+    return false;
+  }
+}
+
+
+bool AudioRecord::openExistingWavFile()
+{ 
+  _debug("AudioRecord::openExistingWavFile() \n");
+
+  fp = fopen(fileName_, "rb+");
+  if ( !fp ) {
+    _debug("AudioRecord::openExistingWavFile() : could not open WAV file rb+!\n");
+    return false;
+  }
+
+  printf("AudioRecord::openExistingWavFile()::Tried to open %s \n",fileName_);
+  
+  if(fseek(fp, 40, SEEK_SET) != 0) // jump to data length
+    _debug("AudioRecord::OpenExistingWavFile: 1.Couldn't seek offset 40 in the file \n");
+  
+  if(fread(&byteCounter_, 4, 1, fp))
+    _debug("AudioRecord::OpenExistingWavFile : bytecounter Read successfully \n");
+  
+  if(fseek (fp, 0 , SEEK_END) != 0)
+    _debug("AudioRecors::OpenExistingWavFile : 2.Couldn't seek at the en of the file \n");
+
+  printf("AudioRecord::OpenExistingWavFile : Byte counter after oppening : %d \n",(int)byteCounter_);
+
+  if ( fclose( fp ) != 0)
+    _debug("AudioRecord::openExistingWavFile()::ERROR: can't close file r+ \n");
+
+
+  
+  fp = fopen(fileName_, "ab+");
+  if ( !fp ) {
+    _debug("AudioRecord::openExistingWavFile() : could not createopen WAV file ab+!\n");
+    return false;
+  }
+
+  if(fseek (fp, 4 , SEEK_END) != 0)
+    _debug("AudioRecors::OpenExistingWavFile : 2.Couldn't seek at the en of the file \n");
+  
+}
+
+
+void AudioRecord::closeWavFile() 
 {
-  int bytes_per_sample = 1;
-  if ( sndFormat_ == INT16 )
-    bytes_per_sample = 2;
+  if (fp == 0){
+    _debug("AudioRecord:: Can't closeWavFile, a file has not yet been opened!\n");
+    return;
+  }
+ 
+  _debug("AudioRecord::closeWavFile() \n");
 
+  if ( fclose( fp ) != 0)
+    _debug("AudioRecord::closeWavFile()::ERROR: can't close file ab \n");
 
-  SINT32 bytes = byteCounter_ * channels_ * bytes_per_sample;
+  
+
+  fp = fopen(fileName_, "rb+");
+  if ( !fp ) {
+    _debug("AudioRecord::closeWavFile() : could not open WAV file rb+!\n");
+    return;
+  }
+
+
+  SINT32 bytes = byteCounter_ * channels_;
   fseek(fp, 40, SEEK_SET); // jump to data length
-  fwrite(&bytes, 4, 1, fp);
+  if (ferror(fp))perror("AudioRecord::closeWavFile()::ERROR: can't reach offset 40\n");
+  
+  fwrite(&bytes, sizeof(SINT32), 1, fp);
+  if (ferror(fp))perror("AudioRecord::closeWavFile()::ERROR: can't write bytes for data length \n");
+  printf("AudioRecord::closeWavFile : data bytes: %i \n",(int)bytes);
 
-  bytes = byteCounter_ * channels_ * bytes_per_sample + 44; // + 44 for the wave header
-  fseek(fp, 4, SEEK_SET); // jump to file size
+  bytes = byteCounter_ * channels_ + 44; // + 44 for the wave header 
+  fseek(fp, 4, SEEK_SET);  // jump to file size
+  if (ferror(fp))perror("AudioRecord::closeWavFile()::ERROR: can't reach offset 4\n");
+  
   fwrite(&bytes, 4, 1, fp);
-  fclose( fp );
+  if (ferror(fp))perror("AudioRecord::closeWavFile()::ERROR: can't reach offset 4\n");
+  
+  printf("AudioRecord::closeWavFile : bytes : %i \n",(int)bytes);
+  
+  if ( fclose( fp ) != 0)
+    _debug("AudioRecord::closeWavFile()::ERROR: can't close file\n");
+ 
+  // i = fclose(fp);
+  // printf("AudioRecord::closeWavFile : indicator i : %i \n",i);
+
 }
 
 
 void AudioRecord::recData(SFLDataFormat* buffer, int nSamples) {
 
-  if (fp == 0){
-    cout << "AudioRecord: Can't record data, a file has not yet been opened!";
-    return;
-  }
- 
-  if ( sndFormat_ == INT16 ) { // TODO change INT16 to SINT16
-    if (nSamples <= 1){
-      if ( fwrite(buffer, 2, 1, fp) != 1)
-        cout << "AudioRecord: Could not record data!";
+  if (recordingEnabled_) {
+
+    if (fp == 0){
+      _debug("AudioRecord: Can't record data, a file has not yet been opened!\n");
+      return;
     }
-    else { 
-      for ( int k=0; k<nSamples; k++ ) {
-        cout << "Buffer[" << k << "] : " << buffer[k] << "\n";
-        if ( fwrite(&buffer[k], 2, 1, fp) != 1 )
-          cout << "AudioRecord: Could not record data!";
+ 
+    // int size = nSamples * (sizeof(SFLDataFormat));
+    // int size = sizeof(buffer);
+    // int count = sizeof(buffer) / sizeof(SFLDataFormat);
+  
+    // printf("AudioRecord : sizeof(buffer) : %d \n",size); 
+    // printf("AudioRecord : sizeof(buffer) / sizeof(SFLDataFormat) : %d \n",count);
+    // printf("AudioRecord : nSamples : %d \n",nSamples);
+    // printf("AudioRecord : buffer: %x : ", buffer);
+ 
+    if ( sndFormat_ == INT16 ) { // TODO change INT16 to SINT16
+      if ( fwrite(buffer, sizeof(SFLDataFormat), nSamples, fp) != nSamples)
+        _debug("AudioRecord: Could not record data! \n");
+      else {
+        // printf("Buffer : %x \n",*buffer);
+        fflush(fp);
+        // _debug("Flushing!\n");
+        byteCounter_ += (unsigned long)(nSamples*sizeof(SFLDataFormat));
       }
-    }
+    } 
   }
 
+  return;
+}
+
+
+void AudioRecord::recData(SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int nSamples_1, int nSamples_2) {
+
+  if (recordingEnabled_) {
+
+    if (fp == 0){
+      _debug("AudioRecord: Can't record data, a file has not yet been opened!\n");
+      return;
+    }
+
+    mixBuffer_ = new SFLDataFormat[nSamples_1]; 
+ 
+    // int size = nSamples * (sizeof(SFLDataFormat));
+    // int size = sizeof(buffer);
+    // int count = sizeof(buffer) / sizeof(SFLDataFormat);
   
+    // printf("AudioRecord : sizeof(buffer) : %d \n",size); 
+    // printf("AudioRecord : sizeof(buffer) / sizeof(SFLDataFormat) : %d \n",count);
+    // printf("AudioRecord : nSamples : %d \n",nSamples);
+    // printf("AudioRecord : buffer: %x : ", buffer);
+
+    if ( sndFormat_ == INT16 ) { // TODO change INT16 to SINT16
+      for (int k=0; k<nSamples_1; k++){
+      
+        mixBuffer_[k] = (buffer_1[k]+buffer_2[k])/2;
+      
+        if ( fwrite(&buffer_1[k], 2, 1, fp) != 1)
+          _debug("AudioRecord: Could not record data!\n");
+        else {
+          // printf("Buffer : %x \n",*buffer);
+          fflush(fp);
+          // _debug("Flushing!\n");
+        }
+      }
+    }
+   
+     byteCounter_ += (unsigned long)(nSamples_1*sizeof(SFLDataFormat));
 
+    printf("AudioRecord::recData():: byteCounter_ : %i \n",(int)byteCounter_ );
 
-  byteCounter_ += (unsigned long)(sizeof(buffer) / sizeof(SINT16));
+    delete [] mixBuffer_;
+  }
 
   return;
 }
-
diff --git a/src/plug-in/audiorecorder/audiorecord.h b/src/plug-in/audiorecorder/audiorecord.h
index b38eefb29a59be117d896e9c2c6147ff43011ef3..69ed651225517f0539377dc18a2f6c9bc0f66a13 100644
--- a/src/plug-in/audiorecorder/audiorecord.h
+++ b/src/plug-in/audiorecorder/audiorecord.h
@@ -20,6 +20,7 @@
 
 #include <iostream>
 #include <string.h>
+#include <sndfile.h>
 
 #include "global.h"
 
@@ -43,6 +44,8 @@ struct wavhdr {
   SINT32 data_length;     // in bytes
 };
 
+typedef std::string CallID;
+
 class AudioRecord
 {
 
@@ -52,13 +55,15 @@ public:
 
   void setSndSamplingRate(int smplRate);
 
+  void setRecordingOption(std::string name, FILE_TYPE type, SOUND_FORMAT format, int sndSmplRate);
+
   /**
    * Check if no otehr file is opened, then create a new one
    * @param fileName A string containing teh file (with/without extension)
    * @param type     The sound file format (FILE_RAW, FILE_WAVE)
    * @param format   Internal sound format (INT16 / INT32)
    */
-  void openFile(std::string fileName, FILE_TYPE type, SOUND_FORMAT format);
+  void openFile();
 
   /**
    * Close the opend recording file. If wave: cout the number of byte
@@ -70,30 +75,69 @@ public:
    */
   bool isOpenFile();
 
+  /** 
+   * Check if a file already exist
+   */
+  bool isFileExist();
+
+  /**
+   * Check recording state 
+   */ 
+  bool isRecording();
+
+  /**
+   * Set recording flag
+   */
+  bool setRecording();
+
   /**
    * Record a chunk of data in an openend file
    * @param buffer  The data chunk to be recorded
    * @param nSamples Number of samples (number of bytes) to be recorded 
    */
-  void recData(SFLDataFormat* buffer, int nSamples); // TODO ad the data to rec
+  void recData(SFLDataFormat* buffer, int nSamples);
+
+  /**
+   * Record a chunk of data in an openend file, Mix two differnet buffer
+   * @param buffer_1  The first data chunk to be recorded
+   * @param buffer_2  The second data chunk to be recorded
+   * @param nSamples_1 Number of samples (number of bytes) of buffer_1
+   * @param nSamples_2 Number of samples (number of bytes) of buffer_2
+   */
+  void recData(SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int nSamples_1, int nSamples_2);
 
 protected:
 
   /**
    * Set the header for raw files
    */
-  bool setRawFile(const char* fileName);
+  bool setRawFile();
 
   /**
    * Set the header for wave files
    */
-  bool setWavFile(const char* fileName);
+  bool setWavFile();
+
+  /**
+   * Open an existing raw file, used when the call is set on hold    
+   */
+  bool openExistingRawFile();
+
+  /**
+   * Open an existing wav file, used when the call is set on hold
+   */
+  bool openExistingWavFile();
 
   /**
    * Compute the number of byte recorded and close the file
    */
   void closeWavFile();
 
+  /**
+   * Given two buffers, return one mixed audio buffer
+   */
+  void mixBuffers(SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int nSamples_1, int nSamples_2);
+
   /**
    * Pointer to the recorded file
    */
@@ -115,7 +159,7 @@ protected:
   int channels_;
 
   /**
-   * Number f byte recorded
+   * Number of byte recorded
    */
   unsigned long byteCounter_;
 
@@ -124,4 +168,20 @@ protected:
    */
   int sndSmplRate_;
 
+  /**
+   * Recording flage
+   */
+  bool recordingEnabled_;
+
+  /**
+   * Buffer used for mixing two channels
+   */
+  SFLDataFormat* mixBuffer_;
+  
+  /**
+   * Filename for this recording
+   */
+  char fileName_[8192];
+
+
 };
diff --git a/src/sipcall.cpp b/src/sipcall.cpp
index d43ea938ac230ce691722de456a39a3dcaa7c32a..74a183c84f47f3c75025f99eac799e26be4480a7 100644
--- a/src/sipcall.cpp
+++ b/src/sipcall.cpp
@@ -37,10 +37,13 @@ SIPCall::SIPCall(const CallID& id, Call::CallType type) : Call(id, type)
             , _xferSub(NULL)
             , _invSession(NULL)
 {
+  _debug("SIPCALL::Constructor for this clss is called \n");
 }
 
 SIPCall::~SIPCall() 
 {
+
+  _debug("SIPCALL::Destructor for this clss is called \n");
 }
 
 
diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp
index c1a747292f40b3a856c135f9834d1e126ac6782e..77bdde30a9cc3f4fd5367d4f0d45f832b1254348 100644
--- a/src/sipvoiplink.cpp
+++ b/src/sipvoiplink.cpp
@@ -223,6 +223,7 @@ SIPVoIPLink::terminateSIPCall()
         call = dynamic_cast<SIPCall*>(iter->second);
         if (call) {
             // terminate the sip call
+      	    _debug("SIPVoIPLink::terminateSIPCall()::the call is deleted, should close recording file \n");
             delete call; call = 0;
         }
         iter++;
@@ -501,7 +502,7 @@ SIPVoIPLink::hangup(const CallID& id)
         return false;
 
     call->getInvSession()->mod_data[getModId()] = NULL;
-
+    
     // Release RTP thread
     if (Manager::instance().isCurrentCall(id)) {
         _debug("* SIP Info: Stopping AudioRTP for hangup\n");
@@ -739,6 +740,26 @@ SIPVoIPLink::refuse (const CallID& id)
     return true;
 }
 
+void 
+SIPVoIPLink::setRecording(const CallID& id)
+{
+  //SIPCall *call;
+  //call = getSIPCall(id);
+  
+  //call->setRecording();
+
+  _audiortp->setRecording();
+}
+
+bool
+SIPVoIPLink::isRecording(const CallID& id)
+{
+  SIPCall *call;
+  call = getSIPCall(id);
+  
+  return call->isRecording();
+}
+
     bool 
 SIPVoIPLink::carryingDTMFdigits(const CallID& id, char code)
 {
@@ -950,6 +971,8 @@ SIPVoIPLink::SIPCallServerFailure(SIPCall *call)
 void
 SIPVoIPLink::SIPCallClosed(SIPCall *call) 
 {
+
+    _debug("SIPVoIPLink::SIPCallClosed():: function called when peer hangup");
     // it was without did before
     //SIPCall* call = findSIPCallWithCid(event->cid);
     if (!call) { return; }
@@ -984,9 +1007,9 @@ SIPVoIPLink::SIPCallReleased(SIPCall *call)
     removeCall(id);
 }
 
-    void
-        SIPVoIPLink::SIPCallAnswered(SIPCall *call, pjsip_rx_data *rdata)
-        {
+void
+SIPVoIPLink::SIPCallAnswered(SIPCall *call, pjsip_rx_data *rdata)
+{
             //SIPCall* call = dynamic_cast<SIPCall *>(theCall);//findSIPCallWithCid(event->cid);
             if (!call) {
                 _debug("! SIP Failure: unknown call\n");
diff --git a/src/sipvoiplink.h b/src/sipvoiplink.h
index 4a87f111c9d25160e947e0009f5fcea14404cac5..5c3490ea40b6c8f75463e4edd719dd632c63a7e5 100644
--- a/src/sipvoiplink.h
+++ b/src/sipvoiplink.h
@@ -279,6 +279,18 @@ class SIPVoIPLink : public VoIPLink
         /** Decrement the number of SIP account connected to this link */
         void decrementClients (void);
 
+ 	/**
+     	* Set Recording
+     	* @param id The call identifier
+     	*/
+    	void setRecording(const CallID& id);
+      
+        /**
+     	* Returning state (true recording)
+     	* @param id The call identifier
+     	*/
+    	bool isRecording(const CallID& id);
+
     private:
         /**
          * Constructor
@@ -338,7 +350,6 @@ class SIPVoIPLink : public VoIPLink
 
         /* Number of SIP accounts connected to the link */
         int _clients;
-
 };
 
 #endif
diff --git a/src/voiplink.h b/src/voiplink.h
index 4038394ccf6446663bba7e5d0d465d7cd955c2a8..fa216a39acb914c797ecbca7fa8a3970570a9958 100644
--- a/src/voiplink.h
+++ b/src/voiplink.h
@@ -40,7 +40,6 @@ typedef std::map<CallID, Call*> CallMap;
  * @brief Listener and manager interface for each VoIP protocol
  */
 class VoIPLink {
-
     public:
         /**
          * Constructor
@@ -155,6 +154,18 @@ class VoIPLink {
          */
         virtual bool carryingDTMFdigits(const CallID& id, char code) = 0;
 
+    	/**
+     	* Set Recording
+     	* @param id The call identifier
+     	*/
+    	virtual void setRecording(const CallID& id) = 0;
+
+        /**
+     	* Return recording state
+     	* @param id The call identifier
+     	*/
+    	virtual bool isRecording(const CallID& id) = 0;
+
         bool initDone (void) { return _initDone; }
         void initDone (bool state) { _initDone = state; }