The One Ring

m (Formatting)
m (minor cleanup)
 
(5 intermediate revisions not shown)
Line 13: Line 13:
* Support for system contacts (Maemo 5 only)
* Support for system contacts (Maemo 5 only)
* Setting of presence: Available, Away (check for messages less often), and Do Not Disturb (disables in-bound phone calls)
* Setting of presence: Available, Away (check for messages less often), and Do Not Disturb (disables in-bound phone calls)
-
* Sending and receiving texts/voicemails
+
* Sending and receiving texts/voicemail
** Receiving texts can be disabled by setting the polling time to -1
** Receiving texts can be disabled by setting the polling time to -1
-
* Initiating a google voice callback
+
* Initiating a GoogleVoice callback
== Getting The One Ring ==
== Getting The One Ring ==
Getting The One Ring
Getting The One Ring
-
* Maemo 4.1: Available in [[extras] through the Application Manager.
+
* Maemo 4.1: Available in [[extras-devel]] through the Application Manager.  This requires [http://rtcomm.garage.maemo.org/ RTComm] to be configured.
-
* [http://maemo.org/downloads/product/Maemo5/theonering/ Maemo 5] or available in extras through the Application Manager.
+
* [http://maemo.org/downloads/product/Maemo5/telepathy-theonering Maemo 5] or available in extras through the Application Manager.
* [http://theonering.garage.maemo.org/telepathy-theonering.deb Ubuntu]
* [http://theonering.garage.maemo.org/telepathy-theonering.deb Ubuntu]
Line 34: Line 34:
* [https://bugs.maemo.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&content=&field-1-0-0=bug_status&field-1-1-0=product&field0-0-0=content&field0-0-1=short_desc&field1-0-0=content&field1-0-1=short_desc&field2-0-0=content&field2-0-1=short_desc&field3-0-0=content&field3-0-1=short_desc&field4-0-0=content&field4-0-1=short_desc&product=The%20One%20Ring&query_format=specific&remaction=&type-1-0-0=anyexact&type-1-1-0=anyexact&type0-0-0=matches&type0-0-1=allwords&type1-0-0=matches&type1-0-1=allwords&type2-0-0=matches&type2-0-1=allwords&type3-0-0=matches&type3-0-1=allwords&type4-0-0=matches&type4-0-1=allwords&value-1-0-0=UNCONFIRMED%2CNEW%2CASSIGNED%2CREOPENED&value-1-1-0=The%20One%20Ring&value0-0-0=&value0-0-1=&value1-0-0=&value1-0-1=&value2-0-0=&value2-0-1=&value3-0-0=&value3-0-1=&value4-0-0=&value4-0-1=&order=bugs.priority%2Cbugs.votes%2Cbugs.bug_severity%2Cbugs.priority&query_based_on= View existing bug reports]
* [https://bugs.maemo.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&content=&field-1-0-0=bug_status&field-1-1-0=product&field0-0-0=content&field0-0-1=short_desc&field1-0-0=content&field1-0-1=short_desc&field2-0-0=content&field2-0-1=short_desc&field3-0-0=content&field3-0-1=short_desc&field4-0-0=content&field4-0-1=short_desc&product=The%20One%20Ring&query_format=specific&remaction=&type-1-0-0=anyexact&type-1-1-0=anyexact&type0-0-0=matches&type0-0-1=allwords&type1-0-0=matches&type1-0-1=allwords&type2-0-0=matches&type2-0-1=allwords&type3-0-0=matches&type3-0-1=allwords&type4-0-0=matches&type4-0-1=allwords&value-1-0-0=UNCONFIRMED%2CNEW%2CASSIGNED%2CREOPENED&value-1-1-0=The%20One%20Ring&value0-0-0=&value0-0-1=&value1-0-0=&value1-0-1=&value2-0-0=&value2-0-1=&value3-0-0=&value3-0-1=&value4-0-0=&value4-0-1=&order=bugs.priority%2Cbugs.votes%2Cbugs.bug_severity%2Cbugs.priority&query_based_on= View existing bug reports]
* [http://talk.maemo.org/showthread.php?p=488632 talk.maemo.org thread]
* [http://talk.maemo.org/showthread.php?p=488632 talk.maemo.org thread]
-
* [https://garage.maemo.org/projects/theonering/ Garage Project (including code)]
+
* [https://garage.maemo.org/projects/theonering/ Garage Project (including code)] or [https://github.com/epage/The-One-Ring github]
* Learn about [[extras-testing]] and checkout the [http://maemo.org/packages/view/telepathy-theonering/ Package page (including voting)]
* Learn about [[extras-testing]] and checkout the [http://maemo.org/packages/view/telepathy-theonering/ Package page (including voting)]
The One Ring is available under the [http://www.gnu.org/licenses/lgpl-2.1.html LGPL v2.1 license]
The One Ring is available under the [http://www.gnu.org/licenses/lgpl-2.1.html LGPL v2.1 license]
-
=== Troubleshooting and Reporting of Bugs ===
+
== Troubleshooting and Reporting of Bugs ==
-
==== When Reporting a bug ====
+
=== When Reporting a bug ===
Please report an approximate percentage of how reproducible the issue is
Please report an approximate percentage of how reproducible the issue is
Line 48: Line 48:
Does what you are doing work in Dialcentral?
Does what you are doing work in Dialcentral?
 +
 +
==== Debug Prompt ====
Try out the Debug Prompt.
Try out the Debug Prompt.
Line 54: Line 56:
* Type "help COMMAND" for information on that command
* Type "help COMMAND" for information on that command
* Report back the result of various commands
* Report back the result of various commands
 +
 +
==== Log ====
Please include a log (will include sensitive information) when reporting issues. The log can be found at
Please include a log (will include sensitive information) when reporting issues. The log can be found at
Line 65: Line 69:
  save_log ~/MyDocs/.documents
  save_log ~/MyDocs/.documents
-
It would be really helpful if some dbus output was captured. To do that run the following command, reproduce the bug in The One Ring, and then stop logging by hitting Ctrl+c
+
==== DBus ====
 +
 
 +
It would be really helpful if some DBus output was captured. To do that run the following command, reproduce the bug in The One Ring, and then stop logging by hitting Ctrl+c
(Experienced DBUS people, is there a more specific command to filter for TOR only?)
(Experienced DBUS people, is there a more specific command to filter for TOR only?)
Code:
Code:
Line 71: Line 77:
  dbus-monitor --session > dbus.log
  dbus-monitor --session > dbus.log
-
Note: DBus logs might include your password. I recommend grepping for and censoring it before sending it in.
+
Note: '''DBus logs might include your password'''. I recommend grepping for and censoring it before sending it in.
 +
 
 +
==== Raw GV Data ====
 +
 
 +
If things are looking really bad I might request you also throw in this added little bundle of joy:
 +
 
 +
python /opt/telepathy-theonering/lib/gvoice/backend.py USERNAME PASSWORD
 +
 
 +
Whatever directory you are in it will dump a lot of files with '''sensitive information'''.
-
==== Internal Behavior ====
+
=== Internal Behavior ===
''' Checking for new Texts, Voicemail, and Contacts: '''
''' Checking for new Texts, Voicemail, and Contacts: '''
Line 79: Line 93:
I know of no official API for Google Voice nor any way to reuse a connection. People have gotten push notifications to work but that was through hacks requiring forwarding texts to an email address that supported push notifications.
I know of no official API for Google Voice nor any way to reuse a connection. People have gotten push notifications to work but that was through hacks requiring forwarding texts to an email address that supported push notifications.
-
The One Ring has a master state machine with a state per presence. There are than state machines per item (contact list, texts, voicemail).
+
The One Ring has a master state machine with a state per presence. There are then state machines per item (contact list, texts, voicemail).
The contact list refreshes on a set schedule (every X minutes)
The contact list refreshes on a set schedule (every X minutes)
-
The voicemails refreshes on a set schedule (every X minutes) or every Y minutes for N times when you reject or miss a call.
+
Voicemail refreshes on a set schedule (every X minutes) or every Y minutes for N times when you reject or miss a call.
When "Available" Texts refresh from every X seconds to every Y minutes, depending on how long its been since you've sent or last received a text. When "Away" texts refresh every Z minutes.
When "Available" Texts refresh from every X seconds to every Y minutes, depending on how long its been since you've sent or last received a text. When "Away" texts refresh every Z minutes.

Latest revision as of 22:19, 16 February 2011

So you might be using Dialcentral and be thinking "the chat system is horrible and I want to use my system's contacts. Why can't it be integrated with my phone software like Skype?

You are in luck. The One Ring is a way for you to integrate That One Number to Rule Them All.

The One Ring lets you setup an account with the system similar to Google Talk, SIP, or Skype. You can then use the same chat interface you use with GoogleTalk as you use to Text through GoogleVoice. You also can initiate callbacks using the dialpad.

Contents

[edit] Features

Basic features:

  • Support for GV Contacts w/ names
    • Can be disabled by setting the contact polling time to -1
  • Support for people not on your contact list.
  • Support for system contacts (Maemo 5 only)
  • Setting of presence: Available, Away (check for messages less often), and Do Not Disturb (disables in-bound phone calls)
  • Sending and receiving texts/voicemail
    • Receiving texts can be disabled by setting the polling time to -1
  • Initiating a GoogleVoice callback

[edit] Getting The One Ring

Getting The One Ring

  • Maemo 4.1: Available in extras-devel through the Application Manager. This requires RTComm to be configured.
  • Maemo 5 or available in extras through the Application Manager.
  • Ubuntu

The One Ring has been tested on:

  • Ubuntu 10.04
  • Maemo 4.1
  • Maemo 5

[edit] Contribute

The One Ring is available under the LGPL v2.1 license

[edit] Troubleshooting and Reporting of Bugs

[edit] When Reporting a bug

Please report an approximate percentage of how reproducible the issue is

Please include what device and/or version of OS/software you are using

Does what you are doing work in Dialcentral?

[edit] Debug Prompt

Try out the Debug Prompt.

  • Start a chat session with your account number
  • Type "help" for a list of available commands
  • Type "help COMMAND" for information on that command
  • Report back the result of various commands

[edit] Log

Please include a log (will include sensitive information) when reporting issues. The log can be found at Code:

~/.telepathy-theonering/theonering.log

or be saved to a nicer location through the command prompt Code:

save_log ~/MyDocs/.documents

[edit] DBus

It would be really helpful if some DBus output was captured. To do that run the following command, reproduce the bug in The One Ring, and then stop logging by hitting Ctrl+c (Experienced DBUS people, is there a more specific command to filter for TOR only?) Code:

dbus-monitor --session > dbus.log

Note: DBus logs might include your password. I recommend grepping for and censoring it before sending it in.

[edit] Raw GV Data

If things are looking really bad I might request you also throw in this added little bundle of joy:

python /opt/telepathy-theonering/lib/gvoice/backend.py USERNAME PASSWORD

Whatever directory you are in it will dump a lot of files with sensitive information.

[edit] Internal Behavior

Checking for new Texts, Voicemail, and Contacts:

I know of no official API for Google Voice nor any way to reuse a connection. People have gotten push notifications to work but that was through hacks requiring forwarding texts to an email address that supported push notifications.

The One Ring has a master state machine with a state per presence. There are then state machines per item (contact list, texts, voicemail).

The contact list refreshes on a set schedule (every X minutes)

Voicemail refreshes on a set schedule (every X minutes) or every Y minutes for N times when you reject or miss a call.

When "Available" Texts refresh from every X seconds to every Y minutes, depending on how long its been since you've sent or last received a text. When "Away" texts refresh every Z minutes.

When configuring polling times, setting a value to "0" means "chose default" and "-1" means "never poll".

Sending a Text

On Maemo 5 there is an interface for texting and one for IM. The One Ring operates through the IM interface.

Callback Number

To provide flexibility with how Telepathy clients implement account configuration and screen names, you can set your callback number one of two ways

  • In the account settings (usually under "Advanced")
  • Through your screenname (sometimes called Nickname)

If you do not configure it in your account settings, The One Ring will guess which callback number to use and set your screen name accordingly. The priority in how it guesses which callback number to use is

  • Area code is 747 (gizmo)
  • Phone name includes "gizmo"
  • Phone name includes "computer"
  • Phone name includes "sip"
  • anything else

Calls

When you make a call (whether through the dialpad or other means), a "phone call" will be started and immediately disconnect. This informed GV to start a call. Immediately after you should have the call connected.