The One Ring

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.


[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:


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/ 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


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.