[FoRK] Sometimes a great notion

Tom Higgins <tomhiggins at gmail.com> on Mon Dec 17 11:30:42 PST 2007

Making it easier to reach out and lobby someone. Neat use of asterik...


"The Back Story

Committee Caller was born out of frustration at trying to partake in
the American political process. After spending hours dialing every
member on the Education and Labor committee, I realized that
contacting particular committee members individually should not have
to be so laborious. Indeed, the act of repetitively dialing phone
numbers into my phone seemed one that I ought to be able to automate.
Asterisk, the open source PBX that I was learning was the obvious
choice for a development platform for this application.

Unfortunately, attaining access to a database of phone numbers linked
to representatives as well as their party and committee affiliations
proved costly and difficult. So after some late night Unix shell
scripting, I was able to aggregate a database for myself containing
all 540 110th Congress representatives and their committee
affiliations. More substantially, I created a secondary database
containing all 5,000 specific affiliations. I'm happy to share these
databases with anyone who is interested in developing a similar
The Technology:

First the user selects a committee on the website. A unique call
instance is created in the database containing the user's given phone
number, the date and time, and their committee choice.  A call file is
then generated that triggers the Asterisk server to instantly call the
user and welcome them to the system. The linked tables on my database
are then queried to see which representatives are on the requested
committee. After the database returns a list of representatives, we
query the database again to retrieve the relevant data of those
members. This includes phone numbers, names, districts, and their
legislative director, if they have one. The retrieved database data is
then fed to an Asterisk AGI instance that is controlling the channel
that called the user. The user is then asked to confirm they wish to
call the first representative in the committee.

The first representative is then called and afterwards the user is
asked to rate the call – data that I hope to use to rank
representatives' offices approachability and telephone etiquette.

The process is repeated until the user reaches the last member of the committee.

This is my final project for Shawn Van Every's Fall 2007 Redial class
at ITP at New York University."


More information about the FoRK mailing list