platform/upstream/ofono.git
13 years agotest: Add script for answering incoming calls
Marcel Holtmann [Sun, 26 Sep 2010 14:25:20 +0000 (23:25 +0900)]
test: Add script for answering incoming calls

13 years agotools: Add simple voice routing to Huawei audio utility
Marcel Holtmann [Sun, 26 Sep 2010 14:12:53 +0000 (23:12 +0900)]
tools: Add simple voice routing to Huawei audio utility

13 years agoifxmodem: Make SIM Toolkit envelope submission work
Marcel Holtmann [Sun, 26 Sep 2010 12:47:19 +0000 (21:47 +0900)]
ifxmodem: Make SIM Toolkit envelope submission work

13 years agocalypsomodem: Make SIM Toolkit envelope submission work again
Marcel Holtmann [Sun, 26 Sep 2010 12:45:50 +0000 (21:45 +0900)]
calypsomodem: Make SIM Toolkit envelope submission work again

13 years agombmmodem: Add comment about optional response data back
Marcel Holtmann [Sun, 26 Sep 2010 12:43:57 +0000 (21:43 +0900)]
mbmmodem: Add comment about optional response data back

13 years agoifx: Fix double free issue
Denis Kenzior [Sun, 26 Sep 2010 12:40:34 +0000 (07:40 -0500)]
ifx: Fix double free issue

13 years agombm: Make stk envelope submission work again
Denis Kenzior [Sun, 26 Sep 2010 12:38:48 +0000 (07:38 -0500)]
mbm: Make stk envelope submission work again

13 years agotools: Update Huawei audio utility with call tracking
Marcel Holtmann [Sun, 26 Sep 2010 12:40:08 +0000 (21:40 +0900)]
tools: Update Huawei audio utility with call tracking

13 years agotools: Add skeleton for Huawei audio utility
Marcel Holtmann [Sun, 26 Sep 2010 08:54:50 +0000 (17:54 +0900)]
tools: Add skeleton for Huawei audio utility

13 years agounit: Fix some copyright and license headers
Marcel Holtmann [Sun, 26 Sep 2010 08:49:19 +0000 (17:49 +0900)]
unit: Fix some copyright and license headers

13 years agoudev: Print error when udev support is not available and not disabled
Marcel Holtmann [Sun, 26 Sep 2010 08:35:26 +0000 (17:35 +0900)]
udev: Print error when udev support is not available and not disabled

13 years agogatchat: Hook up g_at_mux_set_debug to print debug messages for real
Marcel Holtmann [Sun, 26 Sep 2010 08:25:27 +0000 (17:25 +0900)]
gatchat: Hook up g_at_mux_set_debug to print debug messages for real

13 years agoifx: Add warning for unknown SIM states
Marcel Holtmann [Sun, 26 Sep 2010 08:09:25 +0000 (17:09 +0900)]
ifx: Add warning for unknown SIM states

13 years agoifx: Allow +XSIM notification to arrive during AT+XSIMSTATE=1
Marcel Holtmann [Sat, 25 Sep 2010 05:20:32 +0000 (14:20 +0900)]
ifx: Allow +XSIM notification to arrive during AT+XSIMSTATE=1

When not using none_prefix for matching the responses of AT+XSIMSTATE
call, it will consume all notifications. And this includes the initial
SIM state that the modem sends at that point. Without this notification
the SIM will never be marked as inserted.

13 years agoifx: Use internal mutliplexer if line discipline is not specified
Marcel Holtmann [Sat, 25 Sep 2010 05:09:40 +0000 (14:09 +0900)]
ifx: Use internal mutliplexer if line discipline is not specified

If there is no line discipline specified for a kernel based multiplexer,
then fallback to the internal one.

13 years agoifx: Use multiplexer line discipline configuration option
Marcel Holtmann [Sat, 25 Sep 2010 04:21:53 +0000 (13:21 +0900)]
ifx: Use multiplexer line discipline configuration option

Since the udev support allows to specify a line discipline number as
part of the modem configuration, use that one and report and error if
it has not been set.

13 years agoudev: Add support for setting IFX multiplexer line discipline
Marcel Holtmann [Sat, 25 Sep 2010 04:12:36 +0000 (13:12 +0900)]
udev: Add support for setting IFX multiplexer line discipline

The IFX modem plugin uses a kernel based multiplexer. And to support
different line discipline numbers on different target platforms, allow
them to be specified as option:

KERNEL=="ttyIFX[0-9]*", ENV{OFONO_DRIVER}="ifx", ENV{OFONO_IFX_LDISC}="23"

The extra OFONO_IFX_LDISC option specifies to use line discipline 23
for the multiplexer setup. The number is just an example here and the
correct one will be different.

13 years agoifx: Use SIM state notification for SIM insertion and removal
Marcel Holtmann [Sat, 25 Sep 2010 02:49:00 +0000 (11:49 +0900)]
ifx: Use SIM state notification for SIM insertion and removal

The +XSIM notifies us about missing or removed SIM. Use that for telling
the core if a SIM card is present or not. Besides that all other states
are treated as when a SIM card got inserted.

13 years agoatmodem: Add special handling for Infineon SIM ready state
Marcel Holtmann [Sat, 25 Sep 2010 02:32:40 +0000 (11:32 +0900)]
atmodem: Add special handling for Infineon SIM ready state

13 years agoifxmodem: Fix name of voice call driver
Marcel Holtmann [Sat, 25 Sep 2010 02:29:47 +0000 (11:29 +0900)]
ifxmodem: Fix name of voice call driver

13 years agoifx: Add support for multiplexer setup
Marcel Holtmann [Fri, 24 Sep 2010 13:28:49 +0000 (22:28 +0900)]
ifx: Add support for multiplexer setup

This supports a simple static multiplexer that is activated with setting
the line discipline 23 on the TTY. It is static, because the DLC numbers
are hardcoded.

13 years agoifx: Add initial modem plugin implementation
Marcel Holtmann [Fri, 24 Sep 2010 09:32:06 +0000 (18:32 +0900)]
ifx: Add initial modem plugin implementation

This is a first attempt at the Infineon modem support. The support
is limited since it doesn't handle the setup of the multiplexer or
the different SIM states yet.

13 years agoatmodem: Add support for Infineon CNMA without PDU
Marcel Holtmann [Fri, 24 Sep 2010 09:28:32 +0000 (18:28 +0900)]
atmodem: Add support for Infineon CNMA without PDU

Seems like the Infineon modem can't handle a provided PDU to the CNMA
command. So just leave it out.

13 years agoatmodem: Add special handling of Infineon signal strength reporting
Marcel Holtmann [Fri, 24 Sep 2010 09:23:31 +0000 (18:23 +0900)]
atmodem: Add special handling of Infineon signal strength reporting

The custom signal strength reporting could be done inside the modem
plugin actually, but Calypso, Huawei etc. add quirks to the generic
network registration driver. So for now do it the same way until
this gets cleaned up for all modem plugins.

13 years agocalypso: Fix debug for modem callbacks
Marcel Holtmann [Fri, 24 Sep 2010 05:45:31 +0000 (14:45 +0900)]
calypso: Fix debug for modem callbacks

13 years agocalypsomodem: Use better debug strings for DLCs
Marcel Holtmann [Fri, 24 Sep 2010 05:37:13 +0000 (14:37 +0900)]
calypsomodem: Use better debug strings for DLCs

13 years agoifx: Take out the vendor field in voicecall driver
Denis Kenzior [Fri, 24 Sep 2010 05:29:32 +0000 (00:29 -0500)]
ifx: Take out the vendor field in voicecall driver

13 years agoifx: Assume CLIP always arrives
Denis Kenzior [Fri, 24 Sep 2010 05:28:58 +0000 (00:28 -0500)]
ifx: Assume CLIP always arrives

If the CLIP always arrives after a CRING, then we do not ever need to
poll CLCC.

13 years agoifx: Don't bother polling on an ATD
Denis Kenzior [Fri, 24 Sep 2010 05:22:06 +0000 (00:22 -0500)]
ifx: Don't bother polling on an ATD

The core can handle stateless drivers that do not keep clip state, in
the case of IFX we can skip the poll after ATD for finding out our CLIP
and just keep it as invalid / obtained from COLP.  The core should do
the right thing.

13 years agoatmodem: Update comment
Denis Kenzior [Fri, 24 Sep 2010 05:18:16 +0000 (00:18 -0500)]
atmodem: Update comment

13 years agoifxmodem: Reorder voicecall driver before all other
Marcel Holtmann [Fri, 24 Sep 2010 05:16:01 +0000 (14:16 +0900)]
ifxmodem: Reorder voicecall driver before all other

13 years agoMake debug handling with OFONO_AT_DEBUG a bit more consistent
Marcel Holtmann [Fri, 24 Sep 2010 05:14:04 +0000 (14:14 +0900)]
Make debug handling with OFONO_AT_DEBUG a bit more consistent

13 years agoifx: Update comment
Denis Kenzior [Fri, 24 Sep 2010 05:07:57 +0000 (00:07 -0500)]
ifx: Update comment

13 years agoifx: xcallstat should notify active->held
Denis Kenzior [Fri, 24 Sep 2010 05:07:23 +0000 (00:07 -0500)]
ifx: xcallstat should notify active->held

13 years agoifx: Remove a few CLCC polls
Denis Kenzior [Fri, 24 Sep 2010 04:45:05 +0000 (23:45 -0500)]
ifx: Remove a few CLCC polls

Polling here is no longer needed due to XCALLSTAT

13 years agoifx: Don't bother using RING
Denis Kenzior [Fri, 24 Sep 2010 04:26:41 +0000 (23:26 -0500)]
ifx: Don't bother using RING

We enable CRC=1, so only CRING should be sent

13 years agoifx: IFX provides hangup_all and hangup_active
Denis Kenzior [Fri, 24 Sep 2010 03:54:41 +0000 (22:54 -0500)]
ifx: IFX provides hangup_all and hangup_active

13 years agoifx: IFX provides swap_without_accept using CHLD=6
Denis Kenzior [Fri, 24 Sep 2010 03:49:29 +0000 (22:49 -0500)]
ifx: IFX provides swap_without_accept using CHLD=6

13 years agoifx: No need to register to standard notifications
Denis Kenzior [Fri, 24 Sep 2010 03:45:24 +0000 (22:45 -0500)]
ifx: No need to register to standard notifications

XCALLSTAT tells us when a call has been disconnected

13 years agoifx: Use none_prefix on other init commands
Denis Kenzior [Fri, 24 Sep 2010 03:44:39 +0000 (22:44 -0500)]
ifx: Use none_prefix on other init commands

13 years agoifx: Add IFX proprietory XCALLSTAT indicator
Denis Kenzior [Fri, 24 Sep 2010 03:42:40 +0000 (22:42 -0500)]
ifx: Add IFX proprietory XCALLSTAT indicator

13 years agoifx: Copy voicecall driver from atmodem
Denis Kenzior [Fri, 24 Sep 2010 02:56:23 +0000 (21:56 -0500)]
ifx: Copy voicecall driver from atmodem

IFX is a fairly bone stock AT based modem so the atmodem driver is a
good start.

13 years agocalypso: Provide hangup_all and hangup_active
Denis Kenzior [Fri, 24 Sep 2010 02:02:40 +0000 (21:02 -0500)]
calypso: Provide hangup_all and hangup_active

On Calypso, ATH hangs up all calls except waiting calls and CHUP hangs
up only active calls, but not held or waiting.

13 years agostk: Fix missing inlude for encode_hex_own_buf
Marcel Holtmann [Fri, 24 Sep 2010 00:37:14 +0000 (09:37 +0900)]
stk: Fix missing inlude for encode_hex_own_buf

13 years agoTODO: Mark GPRS suspend event task as done
Pekka Pessi [Thu, 23 Sep 2010 15:11:36 +0000 (18:11 +0300)]
TODO: Mark GPRS suspend event task as done

13 years agostk: Add skeleton Refresh handler
Denis Kenzior [Thu, 23 Sep 2010 18:12:22 +0000 (13:12 -0500)]
stk: Add skeleton Refresh handler

13 years agoatmodem: Add vendor quirk for Infineon modems
Marcel Holtmann [Thu, 23 Sep 2010 17:38:23 +0000 (02:38 +0900)]
atmodem: Add vendor quirk for Infineon modems

13 years agoifxmodem: Fix whitespace corruption
Marcel Holtmann [Thu, 23 Sep 2010 16:32:21 +0000 (01:32 +0900)]
ifxmodem: Fix whitespace corruption

13 years agocalypsomodem: Cleanup of SIM Toolkit support
Marcel Holtmann [Thu, 23 Sep 2010 16:21:10 +0000 (01:21 +0900)]
calypsomodem: Cleanup of SIM Toolkit support

13 years agoifxmodem: Add debug for envelope response data
Marcel Holtmann [Thu, 23 Sep 2010 16:13:22 +0000 (01:13 +0900)]
ifxmodem: Add debug for envelope response data

13 years agombmmodem: Add debug for envelope response data
Marcel Holtmann [Thu, 23 Sep 2010 16:13:01 +0000 (01:13 +0900)]
mbmmodem: Add debug for envelope response data

13 years agombmmodem: Fix small typo
Marcel Holtmann [Thu, 23 Sep 2010 16:07:03 +0000 (01:07 +0900)]
mbmmodem: Fix small typo

13 years agombmmodem: Cleanup of SIM Toolkit support
Marcel Holtmann [Thu, 23 Sep 2010 16:05:26 +0000 (01:05 +0900)]
mbmmodem: Cleanup of SIM Toolkit support

13 years agoifxmodem: Add support for SIM Toolkit (raw mode)
Marcel Holtmann [Thu, 23 Sep 2010 15:59:13 +0000 (00:59 +0900)]
ifxmodem: Add support for SIM Toolkit (raw mode)

13 years agoifxmodem: Add support for radio settings
Marcel Holtmann [Thu, 23 Sep 2010 14:27:08 +0000 (23:27 +0900)]
ifxmodem: Add support for radio settings

13 years agoRelease 0.29 0.29
Marcel Holtmann [Thu, 23 Sep 2010 04:42:39 +0000 (13:42 +0900)]
Release 0.29

13 years agosimfs: Fix freeing a NULL queue
Denis Kenzior [Thu, 23 Sep 2010 03:39:29 +0000 (22:39 -0500)]
simfs: Fix freeing a NULL queue

13 years agounit: Make test-sms less verbose
Denis Kenzior [Wed, 22 Sep 2010 21:32:55 +0000 (16:32 -0500)]
unit: Make test-sms less verbose

13 years agoTODO: Mark status report task as done
Denis Kenzior [Wed, 22 Sep 2010 21:31:54 +0000 (16:31 -0500)]
TODO: Mark status report task as done

13 years agosmsutil: Reflow the fuzzy matching code
Denis Kenzior [Wed, 22 Sep 2010 21:27:30 +0000 (16:27 -0500)]
smsutil: Reflow the fuzzy matching code

Make a bit more readable

13 years agounit: add fuzzy address check to test-sms
Petteri Tikander [Tue, 21 Sep 2010 17:12:05 +0000 (20:12 +0300)]
unit: add fuzzy address check to test-sms

13 years agosmsutil: add fuzzy address check for status report
Petteri Tikander [Tue, 21 Sep 2010 17:12:04 +0000 (20:12 +0300)]
smsutil: add fuzzy address check for status report

13 years agodoc: Update SendMessage API
Denis Kenzior [Wed, 22 Sep 2010 02:37:15 +0000 (21:37 -0500)]
doc: Update SendMessage API

13 years agoapi: Fix small copy&paste typo
Marcel Holtmann [Wed, 22 Sep 2010 02:34:21 +0000 (11:34 +0900)]
api: Fix small copy&paste typo

13 years agoFix multi-line comment style issues
Jeevaka Badrappan [Tue, 21 Sep 2010 19:18:15 +0000 (12:18 -0700)]
Fix multi-line comment style issues

13 years agosms: Update signals for introspection
Denis Kenzior [Wed, 22 Sep 2010 02:04:30 +0000 (21:04 -0500)]
sms: Update signals for introspection

13 years agotest: update monitor-ofono with new SMS api
Denis Kenzior [Wed, 22 Sep 2010 02:04:19 +0000 (21:04 -0500)]
test: update monitor-ofono with new SMS api

13 years agosms: Tweak behavior of txq_submit
Denis Kenzior [Tue, 21 Sep 2010 22:32:13 +0000 (17:32 -0500)]
sms: Tweak behavior of txq_submit

If history tracking is desired, expose over D-Bus as well

13 years agosms: Emit MessageRemoved
Denis Kenzior [Tue, 21 Sep 2010 22:32:06 +0000 (17:32 -0500)]
sms: Emit MessageRemoved

13 years agosms: Emit MessageAdded
Denis Kenzior [Tue, 21 Sep 2010 22:31:53 +0000 (17:31 -0500)]
sms: Emit MessageAdded

13 years agosms: Implement GetMessages method
Denis Kenzior [Tue, 21 Sep 2010 22:11:16 +0000 (17:11 -0500)]
sms: Implement GetMessages method

13 years agodoc: Update SMS API
Denis Kenzior [Tue, 21 Sep 2010 22:09:50 +0000 (17:09 -0500)]
doc: Update SMS API

- Add Message interface
- Add Manager GetMessages method
- Add Manager MessageAdded signal
- Add Manager MessageRemoved signal

13 years agotest: Update test/send-sms to the new API
Denis Kenzior [Tue, 21 Sep 2010 21:50:40 +0000 (16:50 -0500)]
test: Update test/send-sms to the new API

13 years agosms: Initial Message interface implementation
Denis Kenzior [Tue, 21 Sep 2010 21:26:20 +0000 (16:26 -0500)]
sms: Initial Message interface implementation

13 years agodbus: Add org.ofono.Message interface
Denis Kenzior [Tue, 21 Sep 2010 21:25:08 +0000 (16:25 -0500)]
dbus: Add org.ofono.Message interface

13 years agoTODO: Mark Better unique ID task as done
Denis Kenzior [Tue, 21 Sep 2010 16:19:44 +0000 (11:19 -0500)]
TODO: Mark Better unique ID task as done

13 years agoFix breakage of make distcheck
Marcel Holtmann [Tue, 21 Sep 2010 23:24:31 +0000 (08:24 +0900)]
Fix breakage of make distcheck

13 years agoSimplify linker script
Lucas De Marchi [Tue, 21 Sep 2010 12:46:31 +0000 (09:46 -0300)]
Simplify linker script

Version linker scripts support function names and globs, so there's no
need to rely on nm tool to gather the exported symbols.

13 years agostk: Language Notification proactive cmd support
Jeevaka Badrappan [Fri, 17 Sep 2010 04:40:07 +0000 (21:40 -0700)]
stk: Language Notification proactive cmd support

13 years agoexample_history: Update to the new internal API
Denis Kenzior [Mon, 20 Sep 2010 21:46:04 +0000 (16:46 -0500)]
example_history: Update to the new internal API

13 years agosms: Update to the new history API
Denis Kenzior [Mon, 20 Sep 2010 21:45:33 +0000 (16:45 -0500)]
sms: Update to the new history API

13 years agobuild: Make unit test compile with new dependency
Denis Kenzior [Mon, 20 Sep 2010 21:44:32 +0000 (16:44 -0500)]
build: Make unit test compile with new dependency

13 years agocommon: Implement ofono_uuid_to_str
Denis Kenzior [Mon, 20 Sep 2010 21:44:13 +0000 (16:44 -0500)]
common: Implement ofono_uuid_to_str

13 years agohistory: Update to the new SHA1 based sms id API
Denis Kenzior [Mon, 20 Sep 2010 21:38:52 +0000 (16:38 -0500)]
history: Update to the new SHA1 based sms id API

13 years agounit: Update test-sms to the new sr assembly api
Denis Kenzior [Mon, 20 Sep 2010 21:22:23 +0000 (16:22 -0500)]
unit: Update test-sms to the new sr assembly api

13 years agosms: Update to the new status report assembly api
Denis Kenzior [Mon, 20 Sep 2010 21:21:50 +0000 (16:21 -0500)]
sms: Update to the new status report assembly api

13 years agosmsutil: update SR assembly to use SHA1 msg ids
Denis Kenzior [Mon, 20 Sep 2010 21:21:12 +0000 (16:21 -0500)]
smsutil: update SR assembly to use SHA1 msg ids

13 years agosms: Get rid of NextMessageId setting
Denis Kenzior [Mon, 20 Sep 2010 19:07:42 +0000 (14:07 -0500)]
sms: Get rid of NextMessageId setting

13 years agosms: Reflow manager methods table
Denis Kenzior [Mon, 20 Sep 2010 19:04:51 +0000 (14:04 -0500)]
sms: Reflow manager methods table

13 years agosms: Refactor __ofono_sms_txq_submit
Denis Kenzior [Mon, 20 Sep 2010 19:02:34 +0000 (14:02 -0500)]
sms: Refactor __ofono_sms_txq_submit

13 years agosms: Refactor txq_entry_create
Denis Kenzior [Mon, 20 Sep 2010 19:02:01 +0000 (14:02 -0500)]
sms: Refactor txq_entry_create

13 years agosms: Refactor outgoing sms id generator
Denis Kenzior [Mon, 20 Sep 2010 18:47:51 +0000 (13:47 -0500)]
sms: Refactor outgoing sms id generator

13 years agosms: replace sequential SMS message ID with hash
Inaky Perez-Gonzalez [Fri, 6 Aug 2010 00:55:23 +0000 (17:55 -0700)]
sms: replace sequential SMS message ID with hash

The SMS messages's ID number (used for history, D-Bus naming and
storage in external database) is updated to use a hash (based on PDUs
and submission time) to further avoid ID collision concerns.

13 years agosms: Compute SHA1 based UUID for incoming messages
Denis Kenzior [Fri, 17 Sep 2010 19:36:32 +0000 (14:36 -0500)]
sms: Compute SHA1 based UUID for incoming messages

13 years agoinclude: Introduce ofono_uuid
Denis Kenzior [Fri, 17 Sep 2010 19:36:23 +0000 (14:36 -0500)]
include: Introduce ofono_uuid

13 years agoUse DBUS_CONFDIR variable instead of DBUS_DATADIR
Marcel Holtmann [Tue, 21 Sep 2010 10:12:15 +0000 (19:12 +0900)]
Use DBUS_CONFDIR variable instead of DBUS_DATADIR

13 years agohuawei: fix online logic
Kalle Valo [Mon, 20 Sep 2010 12:40:33 +0000 (15:40 +0300)]
huawei: fix online logic

The recently introduced online support to huawei didn't work with my
Huawei E1552. The problem was that with command AT+CFUN=1;+CFUN=5
the modem didn't initialise the sim state properly.

To fix this I changed the logic so that CFUN=5 is called only after the sim
state has switched to a valid state. Now my Huawei E1552 works with connman
again.

PIN locked SIMs still won't work. The problem is that it takes some time for
the sim state to go to a valid state:

Sep 20 15:01:57 dell-m520 ofonod[12451]: Pcui:< \r\n+CPIN: READY\r\n\r\nOK\r\n
[...]
Sep 20 15:02:00 dell-m520 ofonod[12451]: huawei: invalid sim state in post online (0)
[...]
Sep 20 15:02:01 dell-m520 ofonod[12451]: Pcui:< \r\n^SIMST:1\r\n

I don't know why it takes so long to get a valid state.

There is also another issue, in "cold start" case the phonebook
initialisation fails:

Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:> AT+CPBS=?\r
Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:< \r\n+CME ERROR: SIM busy\r\n

But in "warm start" it seems to work:

Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:> AT+CPBS=?\r
Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:< \r\n+CPBS: ("SM","EN","ON")\r\n\r\nOK\r\n

I consider this as a minor issue and didn't investigate it at all.

13 years agohuawei: poll sim state
Kalle Valo [Mon, 20 Sep 2010 12:40:26 +0000 (15:40 +0300)]
huawei: poll sim state

On my Huawei E1552 when I plug in the modem (ie. cold start) with PIN locked
SIM, the sim state is 255 (HUAWEI_SIM_STATE_NOT_EXISTENT). As the modem
doesn't send ^SIMST notifications, poll the sim state until it's ready.

In theory it might be possible to do this better, for example follow
^BOOT notifications or something, but it's unknown what parameter we
should check for.

13 years agoatmodem: Allow setting PPP debug via environment variable
Marcel Holtmann [Sun, 19 Sep 2010 23:28:13 +0000 (08:28 +0900)]
atmodem: Allow setting PPP debug via environment variable

13 years agohso: Enable phonebook atom
Yang Gu [Sun, 19 Sep 2010 07:46:54 +0000 (15:46 +0800)]
hso: Enable phonebook atom