JCTcode
software at a crossroads
Phlink Web Access
Phlink Web Access (PhWA?) is an easy-to-use companion application to Ovolab Phlink, the versatile scriptable telephony solution for Mac OS X. It lets you control Phlink's Call Log window using a web browser.

added in 3.0: scrolling interface for iPhone and iPad
Simple
Now gaining web-based access to your voicemail is as easy as mouse clicks. Simply launch the application and you're up and running.
It works great as a login item from your system account preferences, and does not take up valuable screen space in the Dock or menu bar.
It automatically announces itself to your network using Bonjour, so your favorite web browser can discover it by name.

added in 3.0: quick-start settings window
Integrated
Unlike earlier tools, PhWA shares data with the Phlink application directly. Whether you access your calls from the desktop, or from a touchtone phone, or now via web browser: your changes carry across to all three.
For example, recordings you've played using any interface are marked played within every interface. Calls you've deleted are really deleted everywhere: removed from the Phlink call log, their recording files moved to the trash.
Browse easily among custom and smart call lists. Sort your calls by any attribute. Even set labels and enter notes using your web browser: your changes show up immediately within Phlink, and vice-versa.
Customizable
PhWA comes with several pre-made themes. Plus, you can add your own.
Themes are far more than skin deep: each theme has its own behavior, built from a small but carefully-planned set of actions and settings. Multiple themes can be active and used at the same time.
For example, a PDA theme provides very different views of data and patterns of navigation, optimized for small screens.
A text-only theme actually exports calls into tab-delimited text form, suitable for importing into a database or spreadsheet.
There's even an RSS theme, which makes custom podcasts from your voicemail.
Download
all of the integration features mentioned above.
PhWA 3.0b1 (ZIP, 9.8MB) EXPERIMENTAL
only tested on Intel / Snow Leopard so far.
PhWA 2.6 (ZIP, 998KB)
requires Ovolab Phlink 2.2.
Contribute
This software is freeware, but donations are encouraged. If you
find it useful, please consider sending some incentive my way.
Help me justify this hobby to my wife and family!
![]()
Imagine
PhWA themes work as glue to help build almost any user interface. Backed by the powerful Cheetah template language and a simple set of form parameters, each theme presents its own personality and features.
In addition to themes and templates, 3.0 introduces a themeless JSON API. If you're interested in designing your own interfaces but worry that learning the built-in template language may be holding you back, try using the JSON API. See the Deployment section below for an example front-end interface built using PHP.
Platforms
PhWA 3.0b1 is built to run on Mac OS X 10.5 or newer. A universal binary, it's optimized for 32-bit PowerPC and Intel as well as for 64-bit Intel. Thus far, it has only been tested under 10.6.7 using 32-bit and 64-bit Intel hardware.
PhWA 2.6 was built for PowerPC requiring Mac OS X 10.3 or newer. It served for many years on Intel machines running under Rosetta.
Note to iOS 4.3 users: if you bookmark PhWA to your home screen, the resulting applet will not be able to directly play audio. Mobile Safari can play that audio, and the JavaScript will run faster there as well.
Deployment
If you need to make PhWA publicly reachable from outside your firewall, one recommended way is to configure Apache to act as an inbound proxy. This voicemail.conf file may help you get started. For issues related to password protection and other access control, please visit the forums.
As an alternative to a straight inbound proxy or direct port forwarding, one could also create an entirely separate front-end web app which talks to PhWA's new JSON API behind-the-scenes. Here's an example of this approach, using PHP.
PHP front-end 0.1d1 (ZIP, 4.4KB)
History
- 3.0b1 (April, 2011)
- Major rewrite as native application with embedded Python interpreter
- Universal binary optimized for Intel 64-bit, Intel 32-bit and PowerPC
- Requires Mac OS X 10.5 “Leopard” or above
- Quick-start settings window for common adjustments
- Scrolling ios theme designed for iPad, iPhone and iPod touch
- Template-free web developer API using JSON
- Updated all third-party component parts
- 2.6 (September, 2007)
- Revised pda theme stylesheet; tested with iPhone and Treo 700p
- Resolved problem with iPhone audio player behind Apache proxy
- Fixed Y2K problem in browsers other than Safari using kiosk theme
- Updated to CherryPy 2.2.1
- Updated to Cheetah 2.0rc8
- 2.5 (April, 2006)
- Recognizes new Phlink 3.0 call types, e.g. snooping
- Allows editing of caller names, given Phlink 3.0 or greater
- Follows International and/or menu clock settings for 24hr format
- Added common favicon.ico for themes which lack their own icons
- Added preliminary/incomplete/broken/preview kiosk theme :)
- Workaround for Intel-specific Phlink 3.0/3.0.1 filename bug
- Fixed URLs for recordings with altered filenames
- Fixed a regression in entity encoding
- Improved overall error handling
- Updated to CherryPy 2.1.1 — important security fix
- Updated to Cheetah 1.0
- 2.1 (November, 2005)
- Tweaked/enhanced basic theme
- Added setting for server URL prefix when hosted behind Apache
- Uses undocumented Apple phone number formatting if available
- Locates Phlink application by bundle ID, not by filename
- Fixed query URL generation when resetting all fields
- Fixed setting individual label via POST action
- Updated to Cheetah 1.0rc2
- 2.0 (October, 2005)
- Added optional per-session storage for template developers
- Updated to CherryPy 2.1 release version
- Various documentation touch-ups
- 2.0b4 (October, 2005)
- Telephone number format now a configurable parameter
- Added new utility objects for use by templates
- Improved handling of Unicode text
- Various template touch-ups
- 2.0b3 (October, 2005)
- Updated to CherryPy 2.1rc2
- Updated to Cheetah 0.9.18
- Refactored into modules
- Added "hacking" documentation
- Fixed inconsistent formatting of telephone numbers
- 2.0b2 (August, 2005)
- Enhanced podcasting support
- Reactivated playlist support
- Added application icon
- Minor touch-ups
- 2.0b1 (August, 2005)
- New project URL: <http://jctcode.com/phwa/>
- Significant changes in preparation for CherryPy 2.1
- New default log file location: ~/Library/Logs/PhWA.log
- Added Cocoa run loop; fixes process manager issues
- Added Bonjour/Rendezvous/ZeroConf service announcement
- 2.0a3 (May, 2005)
- Added named playlist support
- Added label support
- Added rss (podcast?) theme
- Validated basic theme as HTML strict
- 2.0a2 (May, 2005)
- Completed theme translations: basic, pmc, pda, and text
- Locates and plays sound files again (requires Phlink 2.2)
- Expanded and documented tiered parameters mechanism
- Added global and theme-specific configuration files
- Fixed a bug in specifying the Phlink application
- Fixed a bug in locating calls after others were deleted
- 2.0a1 (May, 2005)
- Rewritten in Python using appscript, CherryPy, and Cheetah
- Runs as logged-in user; talks to Phlink 2.x directly
- Simplified installation: double-click, no Phlink Items tweaks
- 0.6 (December, 2004)
- Touch-ups and bug fixes
- Added e-mail forward actions and moving calls between folders
- Optionally transcodes to MP3 for recognized Mac OS 9 browsers
- Used only locally, pending a good approach to Phlink 2.0 data store
- 0.5 (November, 2004)
- Designed for Phlink 1.x: used SOAP to receive new call details
- Used its own back-end data stores: file-based or MySQL
- Written in PHP using Smarty and nusoap
- Imported data from Phlink Message Center 1.0
- Complicated set-up, built-in diagnostic assistant
- 0.1 (July, 2004)
- Initial production copies were hoarded and tested in-house
Support
I welcome your feedback on the Ovolab Phlink web forums.
