At first glance, dialing a telephone may appear to be a trivial task. Some attention to detail is required to maximize user convenience.

Usernames or phone numbers?

A user may want to call or chat to various people. For some people, they may only have the email/SIP/XMPP address and for other people they may only have a phone number.

It is important to select phones that work intuitively for either type of input, an address of the form user@example.org or a phone number. It is also important to ensure that the server processes, such as SIP proxies, are correctly configured to route calls to arbitrary Internet addresses. The repro SIP proxy and most XMPP servers work this way by default.

Some phones can even help convert from a phone number to a SIP or XMPP address, see Chapter 15, Adding ENUM to DNS.

If the user has an entry in their address book with both a phone number and an email/SIP/XMPP address, then it is important that the phone gives the user a helpful way to choose which one to dial without asking too many questions about whether the user wants to use SIP or XMPP. This process can be optimized if the phone uses presence (a buddy list) to work out which contact mechanisms are unreachable.

All of this can be made easier by using named accounts (like email addresses) instead of extension numbers within the server configuration, this is explained in more detail in the section called “Personal account names or extension numbers”.

Dial plans

Users find it easier to dial numbers in a local format (without a country code). Many personal address books and company databases store phone numbers in a local format. This can lead to confusion in situations where somebody tries to use a number in a different country, for example, if they take their mobile/cell phone to another country and try to dial a number stored in the address book.

A dial plan should be designed to convert phone numbers to the international format (E.164), even if a user dials the number in a local format. This makes it easier to send some calls to carriers in different countries and it makes life easier for organizations that expand into multiple countries. This means the user can dial in the local or international format but the phone system will work either way.

Dialing Internet addresses

In many cases, an email address may also be a SIP address or XMPP address. Ideally, when a user tries to dial a contact from their phone, the software should identify whether the contact is reachable over SIP or XMPP and use that route for the call if appropriate.