Roster

From PsiWiki

A typical roster

The roster is the window that lists your contacts. In some other Instant Messaging programs it's called a contact list, for obvious reasons.

This is the center of your experience with Psi, and it is from here that your session is controlled.

Contents

Status

You can set your status to enable other users who have you in their roster to see your availability at any given time. You can do this in various ways: you can right click on the 'account header' (the entry in your roster with a padlock icon next to it, which will display the name that you gave to your Psi account) and choose 'set status' from the menu that appears; you can choose your status using the status selection button that appears as default at the bottom of your roster; or if you have configured your roster's apearance to display the different status buttons individually, you can simply select the relevant status. You can choose between: Online, Away, Not Available, Do Not Disturb, Free for Chat, Invisible and Offline. There is the option to add a personalised message to your status display, should you wish to give any details about why you are away/what you are doing etc. This you can do by inserting text into the pop up window that appears when you select your status. As well as this, there are a selection of 'preset' status messages that you can either use, or modify to make them more personal to you. IF you choose to display a status message, other users will see you on their roster as being away/not available etc at a glance, and will be able to read your status message when they hover their cursor over your name in the roster.

Likewise, you can view your contacts' status and status messages - the icon next to their name changes according to their status for 'at-a-glance' information, and you can view any status message they may have set by hovering over their name.

Authorization

Authorization is required to be able to view a contact's status. What does this mean? Basically that if neither you nor the other contact has authorization, you cannot see each other. If only you have authorization, you can see their status and they can't see yours; if only they have authorization they can see your status and you can't see theirs. If you both have authorization, you can see each other.

How do you obtain authorization? When you add a contact, you will have the option both to add authorization to, and request authorization from the contact. When you are added to someone's roster your permission will be requested to grant them authorization.

Although authorization is needed to see a contact's status, it's quite possible to have many contacts in your roster without authorization, and to chat and message them quite normally.

Accounts

Contacts

Your contacts are the names that appear in your roster, also known as the people with whom you communicate using Psi. As well as their names/nicks the roster also displays information pertaining to their status/online presence. You can add a contact to your roster, remove a contact, and you can also rename a contact if you wish (bob@jabber..... could be changed to Bob for example).

Self Contact

Psi has the possibility to show in the roster your own contact. This is particularly useful if you have more resources.

The self contact can't be renamed. It appears in the roster with the Nickname you have entered the VCard.

Adding Contacts

TODO: to be beautified, depending on the future structure of the Wiki

You can add contacts to your roster using the "Add a contact" dialog available in the Psi Menu (click on the Psi button).

If you want to add contacts over a transport, you need to follow these extra steps first

  1. from the services dropdown list select your transport
  2. Psi will initially try do use Service ID translation to "see" how Jabber IDs for that specific transport should look like
    1. In case of success
      1. you'll be asked to enter the ID (as the of your ) of the other user in the Service ID box
      2. click "Get Jabber ID"
      3. the Jabber ID will be automatically filled with the ID of the user over the transport
    2. In case of failure
      1. you'll have to figure out how the Jabber IDs are formed out for that transport (usually: username@transport_jabber_id // Example: myYahooID@yahoo.myserver.net)
    3. enter this ID in the Jabber ID box

Steps for adding any kind of contact:

  1. Make sure the Jabber ID box is not empty
  2. Name your contact (fill the Nick field)
  3. Select a group to put your new contact
  4. You'll probably want to select "Request authorization when adding"
  5. Click "Add"

You're done!

TODO: add automatic nicknaming - links here: http://forum.psi-im.org/thread/3604

Groups

Psi does not support yet in the interface having users in multiple groups, although it is technically possible in Jabber.

Psi will show correctly the users in multiple groups if these changes have been performed in some other client.

If you feel adventurous, start the XML console and send the following piece of XMPP (Jabber) code:

<iq type="set" id="some_id" >
 <query xmlns="jabber:iq:roster">
  <item name="Contact Name" jid="contact_jid@server.org" >
   <group>Group 1</group>
   <group>Group 2</group>
  </item>
 </query>
</iq>

Don't forget to modify:

  • Contact Name to the name you want your contact to have when appearing in Roster
  • contact_jid@server.org to your contact Jabber ID
  • Group 1 and Group 2 to the name of the groups you want the contact to appear.

You will have now Contact Name in both Group 1 and Group 2. If you want more groups simply multiply the <group>...</group> line to add all your wanted groups. If you want less groups, send the code with a new set of groups. Every time you have to enter all the groups you want the contact to appear in.

You can also enter no group. The contact will appear in the "General" group in Psi.

Hidden Group

This is a normal group in the Jabber account which can be hidden by Psi (also available as a normal group in other Jabber clients).

It is special for Psi because it can be hidden. Why would you do this? It is a very convenient way of keeping bots hidden, even though they are online. Also, if you have multiple contacts in your roster of one single user, you could hide some of them with the 'Hidden' group and leave only the most accessible one visible. In case there is an emergency, the 'Hidden' group can be made visible and used as a normal group.

In order to make the 'Hidden' group visible/invisible, go to the 'View' menu and check/uncheck 'Show Hidden' menu item.

If you want to move a user to/from the 'Hidden' group just like you do with any other group.

Gateways (Transports)

About Gateways

Gateways, also known as Transports, are Jabber components used for interacting with proprietary networks (instant messenger networks, SMS etc.).

Typically, gateways are used as translators between different types of instant messengers. If you are using Jabber but a friend uses MSN you can use a MSN gateway that will allow you to send messages to, and chat with, your friend on MSN.

You can choose whether or not to display gateways on your roster by clicking the gateway icon at the top of the roster. By displaying the gateways, as with your contacts, you can view the status of a gateway - if a gateway is offline the contacts in your roster for whom that gateway applies will appear as offline also. For example, if the MSN gateway is offline, your MSN contacts will appear as offline as well.

Connecting to the proprietary network

  1. Before you can use a gateway you must have an account with the selected IM. For example if you want to communicate with friends on MSN you must have created an account on the MSN website. The advantage of using Psi is that it can communicate with all of the major IM networks in one place.
  2. If you are on a server that provides a gateway you just need go to the next step. If your server does not provide the gateway you need you have to search for a different server, that provides the gateway and allows users who are not using this server to register. Many servers block users from other servers and very often google accounts are blocked especially. Look e.g under [1] for a server that has a coloured icon for your needed gateway.
  3. You have to browse using Service Discovery to the server which hosts your Gateway. You may want to enter the address of a different server to get access to different gateways. If you use gateways only on your server, you just need to open Service Discovery and they will come up right away in the window, without modifying the address in the address bar.
  4. You need to let the gateway know your username and password for the proprietary network. This is done through a process called registering with the gateway. Once you have registered with the gateway, the contacts from the proprietary network should be pushed to your roster, if the gateway is functioning right.

How does a gateway work

The gateway (transport) functions like this:

  1. you log into the Jabber account
  2. the server sends your presence info to anyone in your roster (contact list) (this includes Gateways, which are just normal contacts, only displayed differently)
  3. once a gateway receives the presence information it logs into the proprietary network (only if you are registered with the transport)
  4. the gateway sends to your server the presence information of all the gateway contacts

The easiest way to not make the transport log automatically, is to remove authorization (Right click on the transport > Authorization > Remove authorization from). This will save you from entering registering the transport over and over again. You'll have it registered, but "blind", since you've removed its authorization and it won't receive any presence information from you (=it won't see you).

Connecting to an IRC Network

  1. Perform a Service Discovery.
  2. Register with the IRC protocol.
  3. Bring up the Multi User Chat dialogue.
  4. Your hostname is that of the transport you have registered.
  5. The room name is entered in one of the forms:
    1. room%server.domain.tld (for ejabberd's irc gateway)
    2. #room%server.domain.tld (for pyirct ad-hoc server connections)
    3. #room%serveralias (for pyirct pre-registered server connections).
  6. If you're using ejabberd's irc gateway, your nickname cannot be changed using the normal IRC /nick command once connected so choose it carefully if you have not registered the name previously.
  7. If your nickname has been registered previously nickserv will contact you. Simply type "identify password" in a message to it in order to identify yourself.

Once connected you will receive server messages in new windows, these hosts will appear as temporary contacts in your roster. After a short period of time, dependant on the IRC server to which you are connecting, the requested room will open in a new window.

Frequently Asked Questions

We have a special section on the FAQ Page about Gateways. Make sure you check it out.

Gadu-Gadu users

Please check this Forum topic for more help on setting up a Gadu-Gadu gateway.

FAQ

TODO: some of the behaviour described in the FAQs could/should be imported/copied in this page

Useful links