<?xml version="1.0" encoding="UTF-8"?>
<appendix id="kopete-jabber">
<appendixinfo>
<authorgroup>
<author>
<personname>
    <firstname>This documentation was converted from the KDE UserBase <ulink url=" http://userbase.kde.org/Kopete/Jabber">Kopete/Jabber</ulink> page.</firstname>
<surname></surname>
</personname>
    </author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
    </authorgroup>
<date>2010-12-05</date>
    <releaseinfo>&kde; SC 4.6</releaseinfo>
</appendixinfo>
<!--userbase <timestamp>2010-12-05T08:12:25Z</timestamp>-->
<title>Jabber Handbook</title>
<!--userbase-content-->
<sect1 id="about-jabber-xmpp"><title>About Jabber XMPP</title>
<para><ulink url="http://en.wikipedia.org/wiki/XMPP">XMPP</ulink> or Jabber (these words actually mean the same) is the name of an open, decentral network protocol which is used for instant messaging. It is designed as a server-client-infrastructure with many servers all over the Internet, where everyone can get an account. The <ulink url="http://en.wikipedia.org/wiki/Server_%28computing%29">servers</ulink> are normally connected to many <ulink url="http://en.wikipedia.org/wiki/Client_%28computing%29">clients</ulink> on one side and to other XMPP-servers of the Internet on the other side. Let's invent a small example to explain how it's working:
</para>
<para>Romeo loves Juliet and wants to communicate with her through the Jabber network. He can write messages from his client (which is connected with <userinput>montague.net</userinput>) to his girlfriend, whose client is connected to a server called <userinput>capulet.com</userinput>. 
</para>
<para>When he registered an account on a server, he chose a so-called JID (Jabber-Identifier). This JID works basically like an E-Mail-Address and is connected to the server's name with an <quote>@</quote>. An example for Romeo's valid JID is <userinput>romeo@montague.net</userinput>. 
</para>
<para>In order to talk to other people, Romeo has to add their JIDs to his contact list. They may be connected to the same server (&eg; <userinput>bob@montague.net</userinput>) as well as they can originate from another server (&eg; <userinput>peter@wasinet.org</userinput> or, of course, <userinput>juliet@capulet.com</userinput>).
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_jabbernetwork.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Visualization of the Jabber network</phrase>
    </textobject>
    <caption>
      <para>Visualization of the Jabber network</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Jabber/XMPP is of course capable of a lot more services (&eg; end-to-end encryption of the messages, <ulink url="http://en.wikipedia.org/wiki/Voicechat">voice-</ulink> and <ulink url="http://en.wikipedia.org/wiki/Video_conferencing">videochat</ulink>, groupchat), which the tutorial will partly introduce later.
</para>
<para>Two very big instant messaging providers use Jabber/XMPP on their servers in the background: Google Talk and facebook chat. Accounts within these systems can be used just like normal Jabber accounts in &kopete;. Details will be explained <link linkend="fill-in-your-account-data-in-kopete">later</link> or can be found at these provider's websites.
</para>
<para>With this information we can begin with the main part tutorial: How to set up a working jabber-client and which nice features &kopete; has got.
</para>
</sect1>
<sect1 id="first-steps"><title>First steps</title>
<sect2 id="get-kopete"><title>Get Kopete</title> 
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopeteicon.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Icon of Kopete</phrase>
    </textobject>
    <caption>
      <para>Icon of Kopete</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Of course, you have to get &kopete; first before you will be able to work with it. If you use a <ulink url="http://en.wikipedia.org/wiki/Linux">GNU/Linux-system</ulink> there are very good chances you can find &kopete; already installed (if you have already installed the <ulink url="http://en.wikipedia.org/wiki/KDE_Software_Compilation">KDE Software Compilation</ulink>) or it will be in one of your distribution's repositories.
</para>
<para>Now install &kopete; and start it for the first time.
</para>
</sect2>
</sect1>
<sect1 id="create-your-jabber-account"><title>Create your Jabber account</title>
<para>When you now start &kopete; you will see an empty window. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap001_emptykopete.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Empty Kopete window</phrase>
    </textobject>
    <caption>
      <para>Empty Kopete window</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>In the bottom section it says <guilabel>Click here to add an account</guilabel>. Click there or open <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure...</guimenuitem></menuchoice> to create a new account. We actually want to create a Jabber-account, so we select the menu-item <guilabel>Jabber</guilabel> and click <guilabel>Next</guilabel>. After clicking on <guilabel>Register new account</guilabel>, a new window opens where we can write in a Jabber-server, where the account shall be created. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap002_configacc.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Configure Kopete</phrase>
    </textobject>
    <caption>
      <para>Configure Kopete</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>You can either manually write it into the textbox <guilabel>Jabber server</guilabel> or select it from the provided list, which appears after clicking on the button <guilabel>Choose...</guilabel>
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutoial_snap003_selectserver.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Server selection dialog</phrase>
    </textobject>
    <caption>
      <para>Server selection dialog</para>
    </caption>
  </mediaobject>
</screenshot> 
</para>
<para>After selecting a server you are able to complete your desired Jabber-ID, &ie; your username. Add your preferred name in front of the <quote>@</quote> in the field <guilabel>Desired Jabber ID</guilabel>. After filling in your password and repeating it you should tick the checkbox <guilabel>Use protocol encryption (SSL)</guilabel> for having an <ulink url="http://en.wikipedia.org/wiki/Secure_Sockets_Layer">encrypted</ulink> client-server connection. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap004_createacc.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Create your account</phrase>
    </textobject>
    <caption>
      <para>Create your account</para>
    </caption>
  </mediaobject>
</screenshot> 
</para>
<para>Some servers might not be capable of this option, but most of them are. Now click on <guilabel>Register</guilabel> to finish the registration. 
</para>
<para>Congratulations, you have now registered a new account on a Jabber server!
</para>
</sect1>
<sect1 id="fill-in-your-account-data-in-kopete"><title>Fill in your account data in Kopete</title>
<para>You now own an account on a Jabber server and &kopete; asks you for <emphasis>Step two: Account information</emphasis>. &kopete; adds your Jabber ID and your password into the required fields automatically. If you want &kopete; to remember your password in order to not type it in every time you connect with your server, check <guilabel>Remember password</guilabel>.
</para>
<para>If you want to use your existing accounts of <ulink url="http://www.google.com/support/chat/bin/answer.py?hl=en&amp;answer=57557">Google Talk</ulink> or Facebook chat in &kopete; (these are actually Jabber servers, too), use your GMail address or your facebook account data (<ulink url="http://www.facebook.com/sitetour/chat.php">explained here</ulink>) to connect to these servers.
</para>
<para>Optionally you can check <guilabel>Exclude from connect all</guilabel>. This advises &kopete; not to go online when you go online with all of your &kopete; accounts (as &kopete; is a multimessenger with support for many other protocols like <ulink url="http://en.wikipedia.org/wiki/ICQ">ICQ</ulink> or <ulink url="http://en.wikipedia.org/wiki/.NET_Messenger_Service">MSN</ulink>). When you checked this, you will later have to go online explicitly for this one account every time you want to connect with your server.
</para>
<para>Your &kopete; should now look like this: 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap005_enterjid.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Account information window</phrase>
    </textobject>
    <caption>
      <para>Account information window</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Click on the Tab <guilabel>Connection</guilabel> to check additional options. Especially selecting <guilabel>Use protocol encryption</guilabel> and the unselection of <guilabel>Allow plain-text password authentication</guilabel> should be chosen for basic security reasons.
</para>
<para>The <guilabel>default server information</guilabel> should be okay, if you are in a normal home network without special <ulink url="http://en.wikipedia.org/wiki/Firewall_%28computing%29">firewall</ulink> configuration.
</para>
<para>The section <emphasis>Location Settings</emphasis> is another specialty of Jabber: You can set so-called <quote>Resources</quote> to identify where you chat from. For example if you log in to Jabber from your mobile phone and your notebook at the same time (yes, you can do that) the resource explains your contacts where you are. So you could call it <quote>Notebook</quote> or <quote>Android</quote>, depending on which device you're installing Kopete. Remember that your resources can be seen from your chat partners (they will be added to the JID like this: <userinput>romeo@montague.net/Notebook</userinput>), so you might consider privacy issues while choosing your resource name.
</para>
<para>In our example, the <guilabel>Resource</guilabel> will be set to <replaceable>Laptop</replaceable>. The priority is mainly useful when you handle multiple devices and tells your partner's client which of your devices being online at the moment (&eg; your mobile phone or your laptop) to contact in this case. The highest priority number of your resources being online receives the message. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap006_connection.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Set the account configuration</phrase>
    </textobject>
    <caption>
      <para>Set the account configuration</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>The next tab, <guilabel>File Transfer</guilabel>, is normally not affected when setting up a Jabber account in a normal network.
</para>
<para>Finally, there are some privacy configurations in the tab <guilabel>Privacy</guilabel>, they are mostly self-explanatory. The option <guilabel>Use old inline PGP format for signed and encrypted messages</guilabel> (read here what <ulink url="http://en.wikipedia.org/wiki/Pretty_Good_Privacy">PGP</ulink> means) is not recommended, because there exists a method to do this with the built-in OTR, which will be explained <link linkend="useful-configuration-hints">later in this tutorial</link>.
</para>
<para>At this point you can click <guilabel>Next</guilabel> again and your account is configured now. You can choose an optional color for your account and when you feel ready to connect the very first time to your Jabber server, the checkbox <guilabel>Connect now</guilabel> has to be ticked. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap007_conf-ready.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Last step of configuration</phrase>
    </textobject>
    <caption>
      <para>Last step of configuration</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Now you can finish the configuration.
</para>
<para>Otherwise you can manually connect to the server by clicking <menuchoice><guimenu>Status</guimenu><guimenuitem>Online</guimenuitem></menuchoice> in the Kopete main window or by right-clicking the Kopete symbol in your tray and selecting <menuchoice><guimenu>Set status</guimenu><guimenuitem>Online</guimenuitem></menuchoice>. If you chose the option <guilabel>Exclude from connect all</guilabel> earlier, you will have to log in by right-clicking on the Kopete tray icon and selecting <menuchoice><guimenu>yourJID@example.org</guimenu><guimenuitem>Online</guimenuitem></menuchoice>. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap008_goonline.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Going online</phrase>
    </textobject>
    <caption>
      <para>Going online</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
</sect1>
<sect1 id="adding-friends"><title>Adding friends</title>
<para>After your first login, your &kopete; window is quite empty. There might be a default contact added by your server which perhaps sends you a welcome message, but there are no real contacts in your roster (this is by the way the word for <quote>contact list</quote> in the Jabber world). The first step for adding friends in Jabber is, of course, asking them for their Jabber ID. When you got one, you can immediately add it to &kopete;. You can either click <menuchoice><guimenu>Add</guimenu><guimenuitem>yourJID@example.org</guimenuitem></menuchoice> or <menuchoice><guimenu>File</guimenu><guisubmenu>Add Contact</guisubmenu><guimenuitem>yourJID@example.org</guimenuitem></menuchoice>. A new window appears asking for the <guilabel>Jabber ID</guilabel> we want to add to our roster. Just type it in and click <guilabel>OK</guilabel>. The <guilabel>Group</guilabel> option is used, when you specified groups of contacts (&eg; <quote>family</quote> and <quote>work</quote>). A connection to your <ulink url="http://userbase.kde.org/Special:myLanguage/KAddressBook">KAddressBook</ulink> can be established with <guilabel>Address book entry</guilabel>, so that you can exchange information like profile pictures between the two applications. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap009_addfriend.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Adding a friend</phrase>
    </textobject>
    <caption>
      <para>Adding a friend</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Now you've added your first friend to your roster. But before you can start writing messages to him or her, your contact has to authorize your request. Until this happens, the contact appears with a small yellow exclamation mark on the right side of his contact field. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap010_exlamationmarkfriend.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Your contact</phrase>
    </textobject>
    <caption>
      <para>Your contact</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>When your friend authorized your request or added you to his or her roster, its icon will appear colored when online. The exact meanings of the different icons (Online, Away &etc;) can be seen at <guilabel>Status</guilabel> where you can set them yourself, too. You receive a notification when you are authorized. 
</para>
<para>Normally, your friend will put you also to his or her contact list, so you have to authorize this request by yourself, too. &kopete; notifies about that at the bottom with a green flag and the description of the request. Click on <guilabel>Authorize</guilabel> to accept. The notification area can be closed by clicking on the cross on the upper-right side of the area. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap011_addedbyfriend.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>You're now added by your contact</phrase>
    </textobject>
    <caption>
      <para>You're now added by your contact</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>After that procedure you should see a contact list like in the next image. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap012_fullauthorized.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Your contact is fully authorized</phrase>
    </textobject>
    <caption>
      <para>Your contact is fully authorized</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>You successfully added your first contact to your roster now.
</para>
</sect1>
<sect1 id="messaging-and-sending-files"><title>Messaging and sending files</title>
<para>You can start chatting with a contact by clicking on the name. A new window will open and you can type in messages into the smaller field at the bottom, where the cursor already resides. When you want to send your text, hit &Enter; or press the <guilabel>Send</guilabel> button. You and your partner can communicate now via Jabber.
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap013_firstchat.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Your first chat</phrase>
    </textobject>
    <caption>
      <para>Your first chat</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<sect2 id="transfer-files"><title>Transfer files</title> 
<para>To transfer files via Jabber click on <guilabel>Send File</guilabel> and select the file you want to send in the popup window. You will be notified when the transaction is complete or failed for some reason.
</para>
<para><warning><para>This may not work in some cases due to incompatible configurations of some servers</para></warning>
</para>
</sect2>
<sect2 id="group-chat"><title>Group chat</title> 
<para>Jabber is not only capable of communicating with one person. You can use Group Chat to do an <ulink url="http://en.wikipedia.org/wiki/IRC">IRC</ulink> style discussion, where many people can talk with each other. To use Group Chat, you have to right-click on the &kopete; systray icon, and select <menuchoice><guimenu><replaceable>yourJID</replaceable></guimenu><guimenuitem>Join Groupchat...</guimenuitem></menuchoice>, where <replaceable>yourJID</replaceable> stands for your own Jabber ID. A new window appears where you can join a chatroom. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopete_snap021_groupchat.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Groupchat</phrase>
    </textobject>
    <caption>
      <para>Groupchat</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Click on <guilabel>Query</guilabel> to show the list of existing chatrooms on your Jabber server. Select one and press &Enter; to enter this room. 
</para>
<para>Alternatively you can type in and create your own chatroom by writing its name into the line <guilabel>Room</guilabel>. Then press &Enter; or click <guilabel>Join</guilabel> to join.
</para>
<para>After you created the chatroom, you'll see a new field appearing in your &kopete; window with the JID <replaceable>chatroomname@jabber.example.org</replaceable>. Treat it as a normal contact, &ie; you have to click on this JID to chat &etc; 
</para>
<para>At this point you have set up a working Jabber client and are in principle able to chat with your contacts. But for a better experience of &kopete;, you are able to configure the application for your best needs. A set of <link linkend="useful-configuration-hints">Useful configuration hints</link> is the content of the next page in this tutorial.
</para>
</sect2>
</sect1>
<sect1 id="useful-configuration-hints"><title>Useful configuration hints</title>
<para>These hints all refer to &kopete;'s main configuration window residing under <menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure...</guimenuitem></menuchoice>. Be sure to click on <guilabel>Apply</guilabel> or <guilabel>OK</guilabel> if you want your changes to be saved.
</para>
<para>All adjustments affecting your account setup and configuration of multiple accounts in &kopete; (Jabber/XMPP as well as <ulink url="http://en.wikipedia.org/wiki/Icq">ICQ</ulink>, <ulink url="http://en.wikipedia.org/wiki/.NET_Messenger_Service">MSN</ulink> and many other messaging protocols) can be found under the tab <guilabel>Accounts</guilabel>. If you want to set your personal information or are willing to use a contact photo, click on <guilabel>Modify Identity...</guilabel> and make your settings. A photo can be uploaded by clicking on the small icon on the left hand side at the bottom of the image area. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap014_setidentity.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Setting identity</phrase>
    </textobject>
    <caption>
      <para>Setting identity</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>The next tab in the vertical list at the left hand side is <guilabel>Contact List</guilabel>. These settings are mainly self-explanatory and it seems useful to enable <guilabel>Use contact photos when available</guilabel>. The other three horizontal tabs (<guilabel>Colors &amp; Fonts</guilabel>, <guilabel>Advanced</guilabel> and <guilabel>Layout</guilabel>) include quite special settings you will perhaps fine-tune when you have used &kopete; for a few weeks.
</para>
<para>The <guilabel>Status</guilabel> configurations enable you to set your default <ulink url="http://en.wikipedia.org/wiki/Status_message">status messages</ulink> when you're set as Online, Away, Invisible &etc;
</para>
<para>Clicking on <guilabel>Behavior</guilabel> opens a quite detailed set of configuration. The most interesting ones, that can be found in the tab <guilabel>General</guilabel> are <guilabel>Message Handling</guilabel> and <guilabel>Initial Status</guilabel>. The first one decides if incoming messages from your contacts open instantly a new window or if they are queued until you open &kopete; yourself. The second one tells &kopete; if it shall go online when you start the program. When you set this, you are always available for your contacts once you run &kopete;. The tab <guilabel>Events</guilabel> lets you set in what cases &kopete; notifies you via your computer's notification system (in most cases <guilabel>KNotify</guilabel>). When you want &kopete; to set your status automatically to <quote>Away</quote>, open the tab <guilabel>Away Settings</guilabel> and enable the first checkbox. You can set the time that has to pass after your last action (keyboard input or mouse movement) that &kopete; will set you as <quote>away</quote>. The default value is 10 minutes. Options located in <guilabel>Chat</guilabel> are again self-explanatory and already set to useful values.
</para>
<para>The next item in the vertical row on the left is <guilabel>Chat Window</guilabel>. The first tab in there, <guilabel>Style</guilabel>, can be used to set another appearance than the default one. You can also install your own styles or download new ones from the Internet by clicking on <guilabel>Get New...</guilabel>. When you type in an <ulink url="http://en.wikipedia.org/wiki/Emoticon">Emoticon</ulink> during a conversation, &kopete; will convert it into a graphical emoticon by default. To disable this feature or to use another set of emoticons go to <guilabel>Emoticons</guilabel>. The last tab, <guilabel>Colors &amp; Fonts</guilabel> is again self-explanatory and configures these preferences of your chat window.
</para>
<para><ulink url="http://en.wikipedia.org/wiki/Webcam">Webcams</ulink> are supported in &kopete;, but at the moment (November 2010) there are still some difficulties concerning video chat, so settings in <guilabel>Video</guilabel> are made at your own responsibility, because it's quite possible it doesn't work in the right way. The <ulink url="http://forum.kde.org/viewforum.php?f=18">KDE Forums</ulink> may be helpful while dealing with webcam issues.
</para>
</sect1>
<sect1 id="jabber-plugins"><title>Plugins</title> 
<para>A very powerful feature of &kopete; is the capability of using plugins. There is a set of plugins pre-installed (new ones can be installed for example with your &Linux; distro's package manager) and they can be enabled and configured under <guilabel>Plugins</guilabel>. You can enable them by setting the tick into the respective checkbox. Most of them are again self-explanatory, but the most useful ones will be explained here anyway. A very helpful plugin is the <guilabel>History</guilabel>. With this option enabled, Kopete will log all your chats and write it onto your hard disk. You can read it in your chat window, when you select the <guilabel>View History</guilabel> icon or you open it with <menuchoice><guimenu>Tools</guimenu><guimenuitem>View History</guimenuitem></menuchoice>. 
</para>
<sect2 id="otr"><title>OTR</title> 
<para>One of the most important plugins considering privacy issues is <ulink url="http://en.wikipedia.org/wiki/Off-the-Record_Messaging">OTR</ulink>. This piece of software encrypts your entire conversation from one end to the other and makes it impossible for third persons to read your conversation. After you enabled the plugin, you have to open its settings (click on the wrench icon) and <guilabel>Generate</guilabel> a key. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap015_otrgenerate.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Generate an OTR key</phrase>
    </textobject>
    <caption>
      <para>Generate an OTR key</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>This may take a while and you have to wait until &kopete; finished. After that close the OTR window with <guilabel>OK</guilabel> and <guilabel>Apply</guilabel> the changes. You eventually will have to restart &kopete; after this. Then open a chat window of the contact you want to safely communicate with. Go to <menuchoice><guimenu>Tools</guimenu><guisubmenu>OTR Settings</guisubmenu><guimenuitem>Start OTR Session</guimenuitem></menuchoice> or use the icon <menuchoice><guimenu>OTR Encryption</guimenu><guimenuitem>Start OTR Session</guimenuitem></menuchoice>. &kopete; will start the session if your contact is capable of OTR, otherwise you'll receive an error message. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap016_otrfirstuse.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>First use of OTR</phrase>
    </textobject>
    <caption>
      <para>First use of OTR</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>To ensure your added contact is really the one he or she is pretending, it's necessary to authenticate him or her one time. You can do this by calling <menuchoice><guimenu>Tools</guimenu><guisubmenu>OTR Settings</guisubmenu><guimenuitem>Authenticate contact</guimenuitem></menuchoice>. You may choose between three options:
</para>
<itemizedlist>
<listitem><para>The first one is to ask your chat partner a question whose answer can only be known by him or her and you. 
</para></listitem>
<listitem><para>The next possibility is a secret passphrase your partner has to know (you may consider giving the secret to him or her via another secure communication channel, &eg; telephone). 
</para></listitem>
<listitem><para>Thirdly, there's the option of manually checking the OTR fingerprint. This is the most secure option, but it's not very handy and if you can choose one of the others it may be more comfortable and faster. When checking the fingerprint, you have to ask your partner for his or her OTR fingerprint over a secure connection (&eg; telephone or encrypted E-Mail) so that the fingerprint can be checked.
</para></listitem>
</itemizedlist>
<para>Let's assume we choose option one and ask our partner a question. Type it into the field and define the expected answer your partner has to give, so that he or she can be authenticated.
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap017_seqretquestion.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Asking a secret question</phrase>
    </textobject>
    <caption>
      <para>Asking a secret question</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>When we continue, your partner will see the question and if the answer is correct, OTR is set up ready now. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap018_otrsuccess.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>Finished OTR setup</phrase>
    </textobject>
    <caption>
      <para>Finished OTR setup</para>
    </caption>
  </mediaobject>
</screenshot>
</para>
<para>Your partner may do the same thing in return, so when you see a window asking you for authentication just answer the question and you are an authenticated user in your friend's contact list, too. 
</para>
<para>
<screenshot>
<screeninfo></screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="Kopetetutorial_snap019_otrauth.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase>OTR authentication</phrase>
    </textobject>
    <caption>
      <para>OTR authentication</para>
    </caption>
  </mediaobject>
</screenshot> 
</para>
<para>Every time you communicate safely, you'll see the green armored keylock icon at the top of your chat window. To finish the secure connection, you can either close your chat window or click on <menuchoice><guimenu>OTR Encryption</guimenu><guimenuitem>End OTR Session</guimenuitem></menuchoice>.
</para>
</sect2>
</sect1>
</appendix>