sflphone.xml 44.1 KB
Newer Older
1 2 3
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"  [
	<!ENTITY app "SFLphone">
4
	<!ENTITY appversion "0.9.8~rc1">
5
	<!ENTITY docversion "1.0">
6 7 8
]>

<!-- =============Document Header ============================= -->
9
 <article id="index" lang="en">
10 11 12
<!-- please do not change the id; for translations, change lang to -->
<!-- appropriate code -->
  <articleinfo>
13
    <title>SFLphone Manual v&docversion;</title>
14 15 16 17 18 19

    <copyright>
      <year>2006</year>
      <year>2007</year>
      <year>2008</year>
      <year>2009</year>
20
      <year>2010</year>
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
      <holder>Savoir-faire Linux</holder>
    </copyright>

<!-- translators: uncomment this:

   -->
    <abstract role="description">
      <para>
	SFLphone is an enterprise-class SIP/IAX2 compatible softphone for GNU/Linux, published under the GPLv3 license.
		</para>
    </abstract>

    <publisher>
      <publishername>Savoir-faire Linux</publishername>
    </publisher>

    <legalnotice id="legalnotice">
	 <para>Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation Licence (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type="help" url="ghelp:fdl">link</ulink> or in the file COPYING-DOCS distributed with this manual.</para>
         <para>This manual is part of a collection of GNOME manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the licence to the manual, as described in section 6 of the licence.</para>
	</legalnotice>

  <authorgroup>
	<author>
      <firstname>Pierre-Luc</firstname>
      <surname>Bacon</surname>
      <affiliation>
        <address><email>pierre-luc.bacon@savoirfairelinux.com</email></address>
      </affiliation>
    </author>

	<author role="maintainer">
      <firstname>Emmanuel</firstname>
      <surname>Milou</surname>
      <affiliation>
        <address><email>emmanuel.milou@savoirfairelinux.com</email></address>
      </affiliation>
    </author>

    <author>
      <firstname>Jérémy</firstname>
      <surname>Quentin</surname>
      <affiliation>
        <address><email>jeremy.quentin@savoirfairelinux.com</email></address>
      </affiliation>
    </author>

	<author>
      <firstname>Alexandre</firstname>
      <surname>Savard</surname>
      <affiliation>
        <address><email>alexandre.savard@savoirfairelinux.com</email></address>
      </affiliation>
    </author>
</authorgroup>

<revhistory>
77 78 79 80 81 82 83 84 85 86
		<revision>
            <revnumber>SFLphone Manual v1.0.1</revnumber>
            <date>March 2010</date>
            <revdescription>
                <para role="author">SFLphone team</para>
                <para role="publisher">Savoir-faire Linux</para>
				<para>Minor changes</para>
            </revdescription>
      </revision>

87
      <revision>
88
            <revnumber>SFLphone Manual v1.0</revnumber>
89 90 91 92 93 94 95 96
            <date>September 2009</date>
            <revdescription>
                <para role="author">SFLphone team</para>
                <para role="publisher">Savoir-faire Linux</para>
            </revdescription>
      </revision>
</revhistory>

97
<releaseinfo>This manual describes SFLphone version &appversion;.</releaseinfo>
98 99 100 101 102 103 104 105

</articleinfo>

<indexterm>
    <primary>SFLphone</primary>
 </indexterm>

<sect1 id="introduction">
Emmanuel Milou's avatar
Emmanuel Milou committed
106
    <title>Introduction</title>
107 108 109 110 111 112 113
	<para>
		<application>SFLphone</application> is a SIP/IAX2 softphone and VoIP client for GNU/Linux. It aims at being a robust enterprise-class desktop phone and has been designed with a hundred-calls-a-day receptionist in mind.
	</para>
	<para>
		<application>SFLphone</application> is a free software and is distributed under the GNU General Public License version 3. It is developed by Savoir-Faire Linux, a Canadian Linux consulting company, in partnership with the global community.
	</para>
	<para>
114 115 116 117 118
		Among the many features we developed for you, we could
		highlight the high definition sound (wide-band audio
		codecs - speex, G722, Celt), multiple conference call,
		audio recording, voicemail notification, and call history.
		More than a simple softphone, <application>SFLphone</application> supports advanced enterprise-class call features: unlimited number of calls, call transfer, and on/off hold option.
119 120 121 122 123 124 125 126
	</para>
	<para>
		This release also provides advanced security features (secure RTP and TLS).
	</para>

	<para>
		Besides the native ALSA interface, <application>SFLphone</application> now fully supports PulseAudio sound server so you could experience the great possibilities it offers (sound mixing, per application volume control, ...).
	</para>
127 128
</sect1>

129 130 131
<sect1 id="getting-started">
	<title>Getting started</title>
	<para>
132
		The first time you start up SFLphone, you will be ask to complete a wizard to set up your(s) account(s). This account configuration manager offers you two possibilities:
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
		<itemizedlist>
			<listitem>
				<para><guilabel>Create a free SIP/IAX2 account on sflphone.org</guilabel></para>			
				<para>Savoir-faire Linux provides free SIP/IAX2 accounts on an Asterisk server. 
				By clicking this option, you will be created an account to make test calls. The echo service is available, you may also call other accounts registered to the same server.</para>			
				<para>By filling out your email address information, you will receive voicemail notifications by email. This information is not mandatory to get your free account.</para>
			</listitem>
			<listitem>
				<para><guilabel>Register an existing SIP or IAX2 account</guilabel></para>			
				<para>Click there if you already have an account and you want to use it with SFLphone. 
				You will be prompted to select the account type (SIP or IAX2) and to fill out your account information. <application>SFLphone</application> will then try to register it so you could start using it.</para>
			</listitem>
		</itemizedlist>
	</para>
	<para>
		You can always access the account creation manager: <menuchoice><guimenu>Edit</guimenu> <guimenuitem>Account creation assistant</guimenuitem></menuchoice>. 
	</para>
150 151
</sect1>

152 153 154
<sect1 id="accounts">
	<title>Managing your accounts</title>
	<para>
155 156
		<application>SFLphone</application> supports both IAX2
		and SIP accounts.
157 158
	</para>

159 160 161
	<sect2 id="accounts_basic">
	<title>Basic features</title>
	<sect3 id="account_creation">
162 163 164 165 166 167 168 169 170 171 172 173
		<title>Creating a new account</title>
		<para>To create a new account, perform the following steps:</para>
  		<orderedlist>
			<listitem><para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Manage accounts</guimenuitem></menuchoice>.</para></listitem>
			<listitem><para>Click on the <guilabel>Add</guilabel> button. Fill out the following information:</para>
            	<itemizedlist>
                 	<listitem>
                    	<para><guilabel>Alias</guilabel></para>
						<para>The name to identify your account in the list. It is not used for the communications</para>
                  	</listitem>
                  	<listitem>
                    	<para><guilabel>Protocol</guilabel></para>
174
						<para>Select SIP or IAX2. The most commonly used protocol is SIP.</para>
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195
                  	</listitem>
                  	<listitem>
                    	<para><guilabel>Host name</guilabel></para>
						<para>The name or the IP address of the server you want to register on.</para>
                  	</listitem>
                  	<listitem>
                    	<para><guilabel>User name</guilabel></para>
						<para>The name or the extension for your account.</para>
                  	</listitem>
                  	<listitem>
                    	<para><guilabel>Password</guilabel></para>
						<para>The password for your account.</para>
                  	</listitem>
                  	<listitem>
                    	<para><guilabel>Voicemail number</guilabel></para>
						<para>The number to dial to reach your voicemail. Example: 888, or *97. It will be used as a quick dial button on the main interface.</para>
                  	</listitem>
                </itemizedlist>
			</listitem>
    		<listitem><para>Click the <menuchoice><guimenu>Apply</guimenu></menuchoice> button.</para></listitem>
		</orderedlist>
196 197
		<para>You may now check the state of your account(s). If it is registered, you may now use it to make calls.</para>
		<note>You can setup as many accounts as you wish.</note>
198
	</sect3>
199

200
	<sect3 id="account_edit">
201
		<title>Editing a configured account</title>
202 203 204 205 206 207
		<para>To edit an existing account, perform the following steps:</para>
  		<orderedlist>
			<listitem><para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Manage accounts</guimenuitem></menuchoice>.</para></listitem>
			<listitem><para>Select in the list the account you would like to edit, then click on the <guilabel>Edit</guilabel> button.</para></listitem>
			<listitem><para>Make your modifications, then click on the <guilabel>Apply</guilabel> button.</para></listitem>
     	</orderedlist>
208
	</sect3>
209
	
210
	<sect3 id="account_delete">
211 212 213 214
		<title>Deleting an account</title>
		<para>To delete an existing account, perform the following steps:</para>
  		<orderedlist>
			<listitem><para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Manage accounts</guimenuitem></menuchoice>.</para></listitem>
215
			<listitem><para>Select in the list the account you would like to delete, then click on the <guibutton>Delete</guibutton> button.</para></listitem>
216
     	</orderedlist>
217
	</sect3>
218
	
219
	<sect3 id="account_selection">
220
		<title>Selecting a default account</title>
221
		<para>Since it is possible to have an unlimited number of registered accounts at the same time, which account will be used when making a call ? You can not only set up a default account to be used every time you are making a call, but an entire priority list. To do that, perform the following steps:</para>
222 223 224 225 226 227 228 229
			<orderedlist>
				<listitem><para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Manage accounts</guimenuitem></menuchoice> to access the accounts list.</para></listitem>
				<listitem>
					<para>The first account in the account in list will be used as the default account to make calls with. If it is not registered, SFLphone will try to use the second in the list, if still not registered, the third, and so one ...</para>
					<para>To reorder the accounts as you wish, select an account and click on the <menuchoice><guimenu>Up</guimenu></menuchoice> or  <menuchoice><guimenu>Down</guimenu></menuchoice> button.</para>
				</listitem>
     		</orderedlist>
		<para>Note that you also can select an account to make a call with when dialing by right-clicking on it.</para>
230 231 232 233
	</sect3>
</sect2>

	<sect2 id="account_advanced">
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
		<title>Advanced features</title>
		<para>These features are only available with SIP.</para>
		<para>Follow the indications to <link linkend='account_edit'>edit an account</link> and choose the <guimenu>Advanced</guimenu> tab.</para>
		<!-- ==== Figure ==== -->
        <figure id="account-advanced-fig">
            <title>Advanced features configuration panel</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/account_advanced.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
		<sect3 id="accounts_registration">
			<title>Registration</title>
				<para>You may set the expires header for a contact.</para>
252
				<para>It basically represents the duration your registration will remain active. If you don't register again within that time, calls will no longer be routed to you. It should not be used as a keepalive mechanism though. The default value is 600 seconds (ten minutes).</para>
253
				<note><para>Some VoIP services requires that you set this value at at least 1600 seconds (e.g. the French VoIP server freephonie.net).</para>
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271
				</note>
		</sect3>
		<sect3 id="accounts_stun">
			<title>Network</title>
			<para>This section enables you to set advanced network parameters.</para>
				<variablelist>
					<varlistentry>
						<term><guilabel>Local address</guilabel></term>
						<listitem><para>it is initialized to your private/local IP address. Calls will be routed to this address by default.</para></listitem>
					</varlistentry>
					<varlistentry>
						<term><guilabel>Local port</guilabel></term>
						<listitem><para>It is initialized to the default SIP port, 5060.</para></listitem>
					</varlistentry>
					<varlistentry>
						<term><guilabel>Set published address and port</guilabel></term>
						<listitem>
						<itemizedlist>
272
							<listitem><para>Using STUN</para>
273
							<para>If enabled, the core will try to initialize an UDP transport on the mapped address/port number that the NAT (Network Address Translator) has allocated to <application>SFLphone</application>.</para></listitem>
274
							<listitem><para>Same as local parameters</para>
275
							</listitem>
276
							<listitem><para>Manually</para>
277 278 279 280 281 282 283 284 285
							</listitem>
						</itemizedlist>
						</listitem>
					</varlistentry>
				</variablelist>
		</sect3>
	</sect2>
	<sect2 id="account_security">
		<title>Security features</title>
286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
        	<para>These features are only available with SIP.</para>
			<para>Follow the indications to <link linkend='account_edit'>edit an account</link> and choose the <guimenu>Security</guimenu> tab.</para>
        <!-- ==== Figure ==== -->
        <figure id="account-security-fig">
            <title>Security features configuration panel</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/accounts_security.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

		<sect3 id="realms">
			<title>Credentials</title>
			<para>SFLphone supports multiple realms.</para> 
304
		</sect3>
305 306 307 308

		<sect3 id="security_frame">
			<title>Security </title>
			<para>Please refer to the section <link linkend="detailed_security_features">Security features</link> for detailed information about security features.</para>
309
		</sect3>
310 311
	</sect2>
</sect1>
312

313 314 315
<sect1 id="call_features">
	<title>Call features</title>

316
	<para>The following features are available with both SIP and IAX2 accounts.</para>
317

318
	<sect2><title>Dialing a number</title>
319 320 321 322 323 324 325 326 327 328 329 330 331
	<!-- ==== Figure ==== -->
        <figure id="dial-fig">
            <title>Dial button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/dial.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

Emmanuel Milou's avatar
Emmanuel Milou committed
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346
		<para>You may have an unlimited number of calls at the same time, even with different accounts.</para>
		<para>To create a new call when you already have a current call, just click on the <guilabel>Dial</guilabel> button. The current call will automatically be put on hold.</para>
		<!-- ==== Figure ==== -->
        <figure id="call-second-fig">
            <title>Make an other call</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/call-second.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

347
		<para>Keyboard shortcut to perform this action: <guimenuitem><accel>NUMPAD</accel></guimenuitem> or almost any keys.</para>	
Emmanuel Milou's avatar
Emmanuel Milou committed
348

349
	</sect2>
350
	
351
	<sect2><title>Calling a number</title>
Emmanuel Milou's avatar
Emmanuel Milou committed
352

353 354 355 356 357 358 359 360 361 362 363 364
	<!-- ==== Figure ==== -->
        <figure id="call-fig">
            <title>Call button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/call.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
Emmanuel Milou's avatar
Emmanuel Milou committed
365

366
		<para>Keyboard shortcut to perform this action: <guimenuitem><accel>Enter</accel></guimenuitem>.</para>	
Emmanuel Milou's avatar
Emmanuel Milou committed
367

368 369
	</sect2>

370
	<sect2><title>Answering a call</title>
371 372 373 374 375 376 377 378 379 380 381 382
	<!-- ==== Figure ==== -->
        <figure id="answer-fig">
            <title>Answer button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/answer.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
Emmanuel Milou's avatar
Emmanuel Milou committed
383

384
		<para>Keyboard shortcut to perform this action: <guimenuitem><accel>Enter</accel></guimenuitem>.</para>	
385
	</sect2>
386

387
	<sect2><title>Hanging up a call</title>
388 389 390 391 392 393 394 395 396 397 398 399
	<!-- ==== Figure ==== -->
        <figure id="hangup-fig">
            <title>Hangup button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/hangup.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
Emmanuel Milou's avatar
Emmanuel Milou committed
400

401
		<para>Keyboard shortcut to perform this action: <guimenuitem><accel>ESC</accel></guimenuitem>.</para>	
402
	</sect2>
403

404
	<sect2><title>Refusing a call</title>
Emmanuel Milou's avatar
Emmanuel Milou committed
405 406 407

	<para>When you refuse a call, your caller is automatically redirected to your voicemail box, if applicable.</para>

408 409 410 411 412 413 414 415 416 417 418 419
    <!-- ==== Figure ==== -->
        <figure id="refuse-fig">
            <title>Refuse button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/refuse.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
Emmanuel Milou's avatar
Emmanuel Milou committed
420

421
		<para>Keyboard shortcut to perform this action: <guimenuitem><accel>ESC</accel></guimenuitem>.</para>	
422 423 424
    </sect2>


425
	<sect2><title>Holding on/off a call</title>
426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449
		<!-- ==== Figure ==== -->
        <figure id="holdon-fig">
            <title>Hold on button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/holdon.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
		<!-- ==== Figure ==== -->
        <figure id="holdoff-fig">
            <title>Hold off button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/holdoff.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
450 451
	</sect2>

452
	<sect2><title>Transfering a call</title>
453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479
	<!-- ==== Figure ==== -->
        <figure id="transfer-fig">
            <title>Transfer button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/transfer.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

		<para>Then type the number you want to transfer the current call to.</para>
		<!-- ==== Figure ==== -->
        <figure id="transfer-go-fig">
            <title>Validate the transfer</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/transfer-go.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

480
	<para>And press <guimenuitem><accel>Enter</accel></guimenuitem>. Clicking again on the transfer button cancels the transfer.</para>
481 482 483

	</sect2>

484
	<sect2><title>Record a call</title>
Emmanuel Milou's avatar
Emmanuel Milou committed
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500
	
	<para>Go to <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem>  <guimenuitem>Audio</guimenuitem></menuchoice> to configure the recordings destination folder.</para>

	<!-- ==== Figure ==== -->
        <figure id="rec-settings-fig">
            <title>Record settings</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/rec-settings.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->

501 502 503 504 505 506 507 508 509 510 511 512 513 514
    <!-- ==== Figure ==== -->
        <figure id="record-fig">
            <title>Record button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/record.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
    </sect2>

515
	<sect2><title>Voicemail quick dial</title>
516
	
517
	<caution><para>This feature is available only if you fill out the voicemail number information for your default account.</para></caution>
518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533

    <!-- ==== Figure ==== -->
        <figure id="voicemail-fig">
            <title>Voicemail button</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/voicemail.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->
    </sect2>


534
	<sect2 id="directip"><title>Direct IP calls</title>
Emmanuel Milou's avatar
Emmanuel Milou committed
535 536 537 538 539
		<para>A direct IP call is a call established between two peers without any accounts. When dialing, such a call must prefixed with <guilabel>sip:</guilabel>.</para>

		<para>Direct IP calls use SIP protocol to establish communication and RTP to transport data. It is right now not available with IAX2.</para>

		<para>Go to <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem>  <guimenuitem>Direct IP calls</guimenuitem></menuchoice> to configure the advanced security features for this kind of calls.</para>
540
	</sect2>
541

542
	<sect2 id="conferencecall"><title>Conference calls</title>
543 544 545
	<para>SFLphone now supports conference call hosting
        integrating server like features in a simple GUI.
        </para>
546 547 548
        <para>
          <itemizedlist>
            <listitem>
549
	      <para><guilabel>Create a conference</guilabel></para>
550
              <para>To host a conference, simply drag and drop one call
551 552
            on another. Additional participants are
            added the same way, dragging a call on the
553
            conference icon.
554
              </para>
555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
	       <!-- ==== Figure ==== -->
               <figure id="drag_n_frop-fig">
		 <title>Creating a new conference</title>
		 <screenshot>
                   <mediaobject>
                     <imageobject>
                       <imagedata fileref="figures/drag_n_drop.png" format="PNG"/>
                     </imageobject>
                   </mediaobject>
		 </screenshot>
               </figure>
               <!-- ==== End of Figure ==== -->
	       <!-- ==== Figure ==== -->
               <figure id="conference-fig">
		 <title>Conference call</title>
		 <screenshot>
                   <mediaobject>
                     <imageobject>
                       <imagedata fileref="figures/conference.png" format="PNG"/>
                     </imageobject>
                   </mediaobject>
		 </screenshot>
               </figure>
               <!-- ==== End of Figure ==== -->
579 580
            </listitem>
            <listitem>
581
	      <para><guilabel>Leave a conference</guilabel></para>
582
              <para>
583 584 585
            SFLphone conference model let you leave a conference that
            you are currently hosting to answer any other incoming
            communication or even initiate new ones. The conference is
586 587
            not interrupted, double clicking the conference icon
            let you reintroduce it at any moment.
588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612
	      </para>
	    <!-- ==== Figure ==== -->
               <figure id="conference_detached-fig">
		 <title>Conference detached</title>
		 <screenshot>
                   <mediaobject>
                     <imageobject>
                       <imagedata fileref="figures/conference_detached.png" format="PNG"/>
                     </imageobject>
                   </mediaobject>
		 </screenshot>
               </figure>
               <!-- ==== End of Figure ==== -->
	       <!-- ==== Figure ==== -->
               <figure id="conference_attached-fig">
		 <title>Conference attached</title>
		 <screenshot>
                   <mediaobject>
                     <imageobject>
                       <imagedata fileref="figures/conference_attached.png" format="PNG"/>
                     </imageobject>
                   </mediaobject>
		 </screenshot>
               </figure>
               <!-- ==== End of Figure ==== -->
613 614
            </listitem>
            <listitem>
615
	      <para><guilabel>Multiple conference</guilabel></para>
616 617
              <para>
            SFLphone supports multiple conferences running
618
            simultaneously. Two conferences can be joined the same way
619 620 621 622 623
            they are created, dragging one on the
            other.
              </para>
            </listitem>
            <listitem>
624
              <para><guilabel>Hangup/Hold a conference</guilabel></para>
625
              <para>
626 627 628
            Select the conference icon and press hangup/hold button
            on the toolbar. The selected action is applied on every
            conference participants.
629 630 631 632 633 634 635
              </para>
            </listitem>
          </itemizedlist>
        </para>
	</sect2>


636 637 638
</sect1>


639 640 641 642 643 644 645 646 647
<sect1 id="detailed_security_features">
	<title>Security features</title>
             <sect2 id="zrtp_srtp">
				<title>SRTP/ZRTP</title>
				<sect3 id="zrtp_srtp_definition">
             	<title>SRTP and ZRTP, the big picture</title>
                       <para>RTP is the underlying protocol that is used in pair with the widely used SIP protocol to carry voice data. RTP alone does not provide any security features.</para>
                        <para>Details for implementing Secure RTP (SRTP) were described independently in a separate document (RFC). However, in this paper, one aspect was deliberately left unspecified: how should the encryption keys be exchanged between the two parties involved in a secure RTP session ?</para>
                        
648
                        <para>Multiple solutions were proposed to fill in that blank. Among them, are SDES (RFC4568) and ZRTP which are probably the most popular today. For the 0.9.7 release, SFLphone integrates support for Secure RTP through the ZRTP protocol, and SDES is expected to be implemented in the very few next releases.</para>
649
                        
650
                        <para>As of today, blueprints for ZRTP are still laid out and are recognized under the name "zrtp-draftzimmerman" in the RFC machine. The author of ZRTP is Phil Zimmermann, that same person who brought us PGP. Therefore, it is not surprising that he designed ZRTP as an anti-PKI solution for key exchange.</para>
651
                        
652
                        <para>ZRTP makes possible for two parties to automatically establish a shared secret in a very simple way from the user's point of view. Indeed under SFLphone no special configuration is needed, apart from  enabling the option itself.</para>
653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707
                        
                        <para>If you want to use ZRTP, please take note that if you are connecting to a PBX, this one must have been configured to support ZRTP. Unfortunately, security for VoIP communications is still young and chances are that your PBX software won't support it.</para>
                        
                        <para>This does not mean that you want be able to benefit from ZRTP ! In fact, it turns out that you will be able to use it, as long as the server does not need to decode the RTP stream. This is often the case when the person you are calling to uses a codec that you don't support. In that case, the server will need to transcode the RTP packets and obviously need to be able to handle the ZRTP stream.</para>
                        
                        <para>Obviously, if you are calling another user (for example by prefixing the number with "sip:") directly, then this one will have to support ZRTP as well if you want to use it.</para>
					</sect3>
					
					<sect3 id="enabling_srtp">
						<title>Enabling SRTP/ZRTP</title>
							<para>To enable ZRTP per account basis, perform the following steps:</para>
  								<orderedlist>
									<listitem><para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Manage accounts</guimenuitem></menuchoice>.</para></listitem>
									<listitem><para>Select in the list the account you would like to edit, then click on the <guilabel>Edit</guilabel> button.</para></listitem>
									<listitem><para>Select the <guilabel>Security</guilabel> tab.</para></listitem>
									<listitem><para>Select <guilabel>ZRTP</guilabel> from the select box named <guilabel>SRTP Key Exchange</guilabel>.</para></listitem>
     							</orderedlist>
		<!-- ==== Figure ==== -->
        							<figure id="srtp-enabled-fig">
            							<title>Enabling SRTP</title>
            							<screenshot>
                							<mediaobject>
                    							<imageobject>
                        							<imagedata fileref="figures/srtp_enabled.png" format="PNG"/>
                    							</imageobject>
                							</mediaobject>
            							</screenshot>
        							</figure>
        							<!-- ==== End of Figure ==== -->
					</sect3>

					<sect3 id="account_zrtp">
                        <title>Configuration options</title>
                        
                        <para>After enabling SRTP, click the <guilabel>Preferences</guilabel> button.</para>
						<para>For basic usage, one don't have to worry about that.</para>
                        
						<!-- ==== Figure ==== -->
                                    <figure id="zrtp-options-fig">
                                        <title>ZRTP configuration panel</title>
                                        <screenshot>
                                            <mediaobject>
                                                <imageobject>
                                                    <imagedata fileref="figures/zrtp_options.png" format="PNG"/>
                                                </imageobject>
                                            </mediaobject>
                                        </screenshot>
                                    </figure>
                                    <!-- ==== End of Figure ==== -->


							<variablelist>
                    			<varlistentry>
                        			<term><guilabel>Send Hello Hash in SDP</guilabel></term>
                        				<listitem><para>Selecting this option will cause the program to compute an hash function over the "Hello" packet and send it as an SDP field "zrtp-hash:". The remote end might be interested in getting this value to add an additional layer of protection based on another communication channel. Upon receiving this value, the remote point can compute the hash function on the received hello packet and compare it.</para>
708
                        				<para>Take note that for 0.9.7, SFLphone does not perform the comparison on its side.</para></listitem>
709 710 711 712
								</varlistentry>
                        
                        		<varlistentry>
									<term><guilabel>Ask user to confirm SAS</guilabel></term>
713
                        			<listitem><para>The short authentication mechanism is at the heart of the ZRTP protocol. Not requiring the user to manually check the SAS value presents a security risk over Man in the Middle type of attacks.</para>
714 715 716
                        
                        			<para>Disabling this option will stop the program from prompting the user with the SAS.</para>
                        
717
                        			<para>Such an option was motivated to be developed at that time by the the state of the libzrtpcpp library that SFLphone was making use of. It is only from version x.x that this library can cache results of SAS computation between two peers.</para>
718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733
									</listitem>
								</varlistentry>
                        
								<varlistentry>
                        		<term><guilabel>Display SAS once for hold event</guilabel></term>
                        			<listitem><para>When call is put on hold, the RTP stream is stopped and reinitiated later. From the ZRTP point of view, this appears as a "new call".  Therefore, the SAS will be redisplayed unless this option is selected.</para></listitem>
                       			</varlistentry> 
								<varlistentry>
                        			<term><guilabel>ZRTP for direct peer-to-peer calls</guilabel></term>
                        			<listitem><para>If you want to use ZRTP for calls that are placed directly to a user (without an intervening PBX), you must enable the option under the "Direct IP Calls" tab in the "configuration" window, available from the "edit" menu.</para>
                        
                        <para>Configuration instruction from that point are the same as for configured accounts.</para>
									</listitem>
								</varlistentry>
							</variablelist>
                </sect3>
734 735
		</sect2>
		<sect2 id="accounts_tls">
736
                        <title>TLS</title>
737 738
			<para>TODO</para>
		</sect2>
739 740 741 742
</sect1>



743
<sect1 id="audio_interfaces">
744 745
	<title>Audio configuration</title>
	<para>
746
		ALSA and PulseAudio native interfaces are available.
Emmanuel Milou's avatar
Emmanuel Milou committed
747
	</para> 
748

749
    <sect2><title>Pulseaudio</title>
750 751 752 753
        <para>
        </para>
    </sect2>

754
    <sect2><title>ALSA</title>
755 756 757 758 759 760
        <para>
        </para>
    </sect2>
</sect1>

<sect1 id="codecs_overview">
761
	<title>Codecs overview</title>
762
	<para>SFLphone supports several widely used audio codecs:</para>
763 764 765
        <para>
          <itemizedlist>
            <listitem>
766
              <para><guilabel>PCMU/PCMA</guilabel></para>
767
                <para>
768
		  ITU-T telephony standard PCM formats, 8kHz, 64
769
		  kbit/s, using logarithmic byte compression algorithm.
770 771 772
                </para>
            </listitem>
            <listitem>
773
              <para><guilabel>GSM</guilabel></para>
774
              <para>
775 776
		Global System for Mobile communications (GSM)
		narrowband 8kHz standard based on linear prediction encoding.
777 778 779
              </para>
            </listitem>
            <listitem>
780
              <para><guilabel>G722</guilabel></para>
781
              <para>
782
		ITU-T standard wideband 16kHz standard based on linear prediction.
783 784 785
              </para>
            </listitem>
            <listitem>
786
              <para><guilabel>SPEEX</guilabel></para>
787
              <para>
788
		High quality voice encoding/decoding available
789
		in narrowband 8kHz, wideband 16kHz (HD Voice), 
790 791 792
		and ultra-wideband 32 kHz. 
		Integrate additional features such as Variable Bit
		Rate (VBR) and noise reduction. 
793 794 795
              </para>
            </listitem>
            <listitem>
796
              <para><guilabel>CELT</guilabel></para>
797
              <para>
798
		
799 800 801 802 803
              </para>
            </listitem>
          </itemizedlist>
        </para>

804 805 806
</sect1>

<sect1 id="addressbook">
807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825
	<title>Address books</title>
	<sect2 id="adressbook_enable">
	<title>Enable the address book support</title>
	<para>To enable the address book, perform the following steps:</para>
    <orderedlist>
		<listitem>
			<para>Choose <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice>.
			</para>
		</listitem>
		<listitem>
			<para>Select the <menuchoice><guimenu>Address book</guimenu></menuchoice> tab.
			</para>
		</listitem>
		<listitem>
			<para>Check the <guilabel>Use Evolution address books</guilabel> box.</para>
		</listitem>
    </orderedlist>
	<para>Every address books you configured in Evolution will be now available in <application>SFLphone</application>. Please be sure you selected at least one address book.</para>
	</sect2>
826

827 828 829 830 831 832 833 834 835 836 837 838 839 840 841
	<sect2 id="adressbook_options">
		<title>Available options</title>
			<para>In <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem><guimenuitem>Address book</guimenuitem></menuchoice>, you may select one or all of the following options:</para>
		<variablelist>
			<varlistentry>
				<term><guilabel>Display contact photo if available</guilabel></term>
				<listitem><para>
					The contact photo will be displayed as a thumbnail beside the phone number.
				</para></listitem>
			</varlistentry>
			<varlistentry>
				<term><guilabel>Fields from Evolution's address book</guilabel></term>
				<listitem><para>
					You may use one or all of these following information from your contact.</para>
					<itemizedlist>
842 843 844
						<listitem><para>Work phone number</para></listitem>
						<listitem><para>Home phone number</para></listitem>
						<listitem><para>Mobile phone number</para></listitem>
845 846 847 848 849 850 851 852 853 854 855 856 857 858
					</itemizedlist>
				</listitem>
			</varlistentry>
		</variablelist>
	</sect2>
	
	<sect2 id="addressbook_use">
		<title>Using the address book</title>
		<orderedlist>
		<listitem>
		<para>On the toolbar, click on the following button to display the address book window:</para>

		<!-- ==== Figure ==== -->
      	<figure id="addressbook-fig">
859
    		<title>Address book toolbar button</title>
860 861 862 863 864 865 866 867 868 869
    		<screenshot>
      			<mediaobject>
        			<imageobject>
        				<imagedata fileref="figures/addressbook-button.png" format="PNG"/>
        			</imageobject>
      			</mediaobject>
    		</screenshot>
		</figure>
    	<!-- ==== End of Figure ==== -->
		</listitem>
870

871 872 873 874 875 876 877 878 879
		<listitem>
		<para>Search for a contact</para>
		</listitem>

		<listitem>
		<para>New entries should have appeared in the window. Double click on it to call the contact. You may also <menuchoice><guimenu>Right click</guimenu><guimenuitem>Edit before calling</guimenuitem></menuchoice> to modify the entry before calling.</para>
		</listitem>
	</orderedlist>
	</sect2>
880 881
</sect1>

882 883 884 885 886 887 888 889 890
<sect1 id="preferences">
	<title>Preferences</title>

	<para>Go to <menuchoice><guimenu>Edit</guimenu><guimenuitem>Preferences</guimenuitem></menuchoice> to access the configuration panel.</para>
	<para>Each section is detailed below.</para>

	<sect2>
		<title>General</title>
		<para>This section provides the user general settings regarding the application.</para>
891
		<sect3><title>Desktop Notifications</title>
892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926
			<!-- ==== Figure ==== -->
        <figure id="desktop-notif-settings-fig">
            <title>Desktop notifications options</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/desktop-notif-settings.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->


			<variablelist>
            <varlistentry>
                <term><guilabel>Enable notifications</guilabel></term>
                <listitem><para>
					Both clients use their desktop environment notification system. If checked, you will receive desktop notifications for events such as incoming calls and system messages.
				</para>	
			<figure id="notif-example-fig">
            <title>Example of an incoming call notification</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/notif-example.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
               </listitem>
            </varlistentry>
			<varlistentry>
                <term><guilabel>Enable voicemail notifications</guilabel></term>
                <listitem><para>
927
					The voicemail notifications are handled separately. If checked, you will be notified with the number of unread voicemails for your accounts.
928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945
				</para>
				<figure id="voicemail-notif-fig">
            <title>Example of a voicemail notification</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/voicemail-notif.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>


                </listitem>
            </varlistentry>
			</variablelist>
		</sect3>

946
		<sect3><title>System Tray Icon</title>
947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985
			<!-- ==== Figure ==== -->
        <figure id="systemtray-settings-fig">
            <title>System tray options</title>
            <screenshot>
                <mediaobject>
                    <imageobject>
                        <imagedata fileref="figures/systemtray-settings.png" format="PNG"/>
                    </imageobject>
                </mediaobject>
            </screenshot>
        </figure>
        <!-- ==== End of Figure ==== -->


			<variablelist>
            <varlistentry>
                <term><guilabel>Popup main window on incoming call</guilabel></term>
                <listitem><para>
				If SFLphone is closed on the system tray, pops the main window up on foreground when receiving an incoming call.
                </para></listitem>
            </varlistentry>
			<varlistentry>
                <term><guilabel>Never popup main window</guilabel></term>
                <listitem><para>
				If SFLphone is closed on the system tray, never pops the main window up on foreground when receiving an incoming call.
                </para></listitem>
            </varlistentry>
			<varlistentry>
                <term><guilabel>Hide SFLphone window on startup</guilabel></term>
                <listitem><para>
				On startup, SFLphone will go directly on the system tray.
                </para></listitem>
            </varlistentry>

			</variablelist>

		</sect3>


986
		<sect3><title>Calls history</title>
987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009
			    <!-- ==== Figure ==== -->
        	<figure id="callshistory-settings-fig">
            	<title>Calls history options</title>
            		<screenshot>
                		<mediaobject>
                    		<imageobject>
                        		<imagedata fileref="figures/callshistory-settings.png" format="PNG"/>
                    		</imageobject>
                			</mediaobject>
            		</screenshot>
        	</figure>
        	<!-- ==== End of Figure ==== -->

			<variablelist>
            <varlistentry>
                <term><guilabel>Keep my history for at least n days</guilabel></term>
                <listitem><para>
					If checked, calls will be kept up to N days in the history. You may select a custom number of days. Do not check it if you don't want to use this feature.
                </para></listitem>
            </varlistentry>
			</variablelist>
		</sect3>

1010
		<sect3><title>Configuration File</title>
1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038
			   <!-- ==== Figure ==== -->
            <figure id="configfile-settings-fig">
                <title>Configuration file options</title>
                    <screenshot>
                        <mediaobject>
                            <imageobject>
                                <imagedata fileref="figures/configfile-settings.png" format="PNG"/>
                            </imageobject>
                            </mediaobject>
                    </screenshot>
            </figure>
            <!-- ==== End of Figure ==== -->

			<variablelist>
            <varlistentry>
                <term><guilabel>Store SIP credentials as MD5 hash</guilabel></term>
                <listitem><para>
				If checked, your password information will be encrypted in the configuration file, instead of plain text.
                </para></listitem>
            </varlistentry>
            </variablelist>

		
		</sect3>
	</sect2>

	<sect2>
		<title>Audio</title>
1039
		<para>TODO</para>
1040 1041 1042 1043 1044 1045 1046 1047 1048 1049
	</sect2>

	<sect2>
		<title>Address book</title>	

		<para>Refer to the <link linkend='addressbook'>Address books</link> section for more information.</para>
	</sect2>

	<sect2>
		<title>Hooks</title>	
1050
		<para>TODO</para>
1051 1052 1053 1054
	</sect2>

	<sect2>
		<title>Network</title>	
1055
		<para>TODO</para>
1056 1057 1058 1059 1060 1061 1062 1063 1064
	</sect2>

	<sect2>
		<title>Direct IP calls</title>	
		<para>Refer to the <link linkend='directip'>Direct IP calls</link> section for more information.</para>
	</sect2>
</sect1>


1065
</article>