VoipProposalSpec

Proposal for a Formal Specification on VoIP Integration

***this document is work in progress***

Mission Statement

To bring an easy voice & video call experience to the Desktop.

a Desktop Call Service..

The main idea is to inform the user efficiently about incoming calls: in consideration of his state of Presence[1]. We usually expect important events to interrupt what we are doing in the foreground, since we would otherwise miss them passing unnoticed in the background. A voice call is such an important event, provided i want to be "available" for voice calls.

In order to make myself available for incoming voice calls, i turn on the Desktop Call Service. With this service activated, the Desktop also notifies me about about incoming calls. In order to fine-tune how strongly call notification may interrupt in order to get my attention[2], Desktop Call Service honors my Presence settings. This way calls will be patched through to my computer, but will not interrupt what i'm doing, if i set my Presence to "NotAvailable", also often called "Busy" or "Do Not Disturb". Either i will then have an answering machine software installed for these situations, or the missed calls will simply be listed in an easily accessible history of missed calls.

The combined state of having Desktop Call Service enabled and my Presence being set to "Available" can be regarded as a Call Priority Mode[3].

What is Presence?

Presence is the proximity which a phenomenon has to its observer, making it perception, communication or interaction possible. One could argue that the concept of spacial presence is so similar to the concept of temporal "present", that we need a more conceptual way about this. In order to keep things simple, we will use a human definition of Presence: state of availability.

Many poeple use the terms "presence" and "availability" synonymously in discussions. This document will use the name Presence to represent the concept of "availability state" as we know them from e.g. Chat and VoIP software such as Skype™.

The Presence metaphor's connotational semantics expose the ambivalence of the word. It holds reference to both spacial and temporal proximity.

Presence, broken down into availability states, is already known to us as follows:

present

online

available

chatty

Skype Me

absent (auto)

away

extended away

idle[time]

busy

not available

do not disturb

off

offline

invisible

hidden

logged out

Information Route

Caller -> remote VoIP client <-> relaying service(XMPP or Skype) <-> local VoIP client -> Indicator-Me -> Indicator-Messaging -> NotifyOSD -> User

Actors

Actors[4]:

  • Notification System
  • MeMenu

  • Messaging Indicator
  • Voice Call Software
  • Caller
  • User
  • Desktop Session State (busy, default)

Use Cases

Do Not Disturb!
If i want to listen to music only, all communications off for a while, i can achieve that undisturbeness easily, Desktop Call Service enabled, by setting my Presence to "Do Not Disturb". People attempting to call me will be able to see me as "Busy" or "Not Available", so they probably won't expect me to answer at all.

References

[1] http://en.wikipedia.org/wiki/Presence_information
[2] http://en.wikipedia.org/wiki/Attention#cite_note-0
[3] https://lists.launchpad.net/ayatana/msg03068.html
[4] http://en.wikipedia.org/wiki/Actor_%28UML%29

others:
http://msdn.microsoft.com/en-us/library/bb878933%28office.12%29.aspx
http://tools.ietf.org/html/rfc3863
http://www.ietf.org/rfc/rfc2779.txt
http://saunderslog.com/voice-20/
http://saunderslog.com/2006/12/19/new-presence-and-the-voice-20-manifesto/
http://www.rageboy.com/stupidnet.html

VoipProposalSpec (last edited 2010-12-17 02:35:34 by brln-4d0c525c)