asterisk applications unexpected hurdles fred posner [email protected]@qxork.com teamforrest
TRANSCRIPT
Asterisk Applications:Unexpected Hurdles
Case study of a real-time parking space availability application using Asterisk,
Perl, Cepstral, a little SQL, and the unexpected.
SOMETIMES... BUILDING THE APPLICATION ...IS THE EASY PART.
Welcome to Ann Arbor, MI
- January 2009
- Average temperature: 14º F
- Perfect coding weather
A2B3
- Weekly lunch of various technical “professionals”
- Projects discussed, people brainstorm, code, develop...
Background
“Wouldn’t it be neat...”
Discussion of Ann Arbor Parking
- A2DDA.org lists parking spaces on website (pure HTML tables)
- “Wouldn’t it be nice if you could get this when you’re not at the computer?”
Enter Asterisk®
- Asterisk AGI allows creation of phone applications
- Asterisk, when called, will check availability and deliver information verbally
Basic Components
Tools Used:
- Asterisk®
- MySQL®
- Perl
- Cepstral®(not open source)
Basic Flow
How’s it work?
Call Received by Asterisk
Dial Plan Answers
- Cepstral Text to Speech
- Read() gets the garage
AGI Launched
- Perl Script checks a2dda.org
- Sets variable for spaces available
How’s it work?
Return to Dial Plan
- Cepstral/Dialplan TTS Results
- Read() if call back wanted
AGI Launched
- Perl script checks weather
- Perl script adds number to MySQL Database
How’s it work?
Return to Dial Plan
- gives weather
- Thank you. Come again.
If call back needed...
- Check every minute
- Call file created with update
Asterisk Apps Fly Quickly
Development Time: 1 night
Later that night:
- Blogged to VoIPTechChat.com
- Posted Dial Plan
- Posted Script code
first Result
Fantastic discussions...
Dug Song, Entrepreneur
- “ Check out Twilio, a startup with Ann Arbor roots...”
Evan Cook, Twilio
- “...Twilio + Asterisk together. They make excellent companions.”
‣ Made Demo in Twilio and posted source code
Jason Goecke, Adhearsion
- “In the spirit of comparing and contrasting the various approaches and adding another language to the mix, I have created an Adhearsion component...”
Made demo in Adhearsion and posted source code
Still Riding High
Interviews
- Ann Arbor Chronicle
- Ann Arbor News
- Michigan Today
- Radio, Web, and other news...
Presentations
- Michigan Users Group
- A2 Cloud Camp
Local Number Added
- 734-ARB-0909 (272-0909)
- Supports more than 20 calls
Innovation
iPhone
- a2-park.appspot.com
SMS
- mbusreloaded.com/aapark
Adhearsion
- jsgoecke.github.com/annarbor_parking/
Twilio
- monkey.org/~phy/a2parking/
Other Projects
Historical Data Tracking(via Google APPS)
• All within a week!
Hurdle #1- Ignorance
January 16, 2009
- A2DDA.org blocks google apps (and unknowingly, a large part of google) from their website.
January 21, 2009
- a2dda.org blocks the Asterisk application
Email Received from Susan Pollay, Director of A2DDA:
- “There is a concern about how unsecure/secure the DDA website is made when sharing this data. And finally, a concern that if the project had value to parking patrons, that the DDA itself should consider providing this service as an extension of what it is already doing on-line.”
And we wait...
Three main people
- Fred Posner (me)- Ed Vielmetti- Tyler EricKson
Tyler used a different proxy and continued to log data
We researched the DDA
- Ann Arbor Downtown Development Authority
- Public funded through tax
• We offer to assist/Explain/Train
• We attend meetings
- Not recognized to speak
Hurdle #2 - Blocked Access
March 12, 2009 - DDA resolution
- “...to provide information by phone to interested members of the public using real human beings answering phones at the Republic Parking office.”
- Access to data is blocked
4 points:
- no permission from the DDA
- project hopes to make a profit
- DDA has no control
- Toll Call
Hurdle # 3 - ourselves
Fred writes a lengthy response to the DDA
- Sarcastic
- Blogged on VoIPTechChat.com
Response is HUGE
- Reddit, DIGG, Slashdot, etc.
- A2DDA receives many calls and emails complaining about their action
Blog traffic exceeds several thousand readers/day
“Nerd Wars”
Godwin’s Law (comment 42)
• Raw DATA NOW!
Raw Data Now
February 4, 2009
- Sir Tim Berners-Lee presents "The next Web of open linked data" at TED 2009; audience chants RAW DATA NOW
- Inventor of WWW
Becomes Battle Cry
New approach is to not stop until Raw Data is received
FOIA: Freedom of Information
Feds, most states have FOIA laws and Processes
- Time consuming
- Formal
- Effective
Formal FOIA request made to DDA for the data
- Previous interview quoted discussing DDA data
- “...I imagine, are going to want to embed this--and we encourage them to--in their own webpages...”
DDA Launches Phone “App”
“Citing security concerns, the DDA took issue with their method and now says it will provide a similar service itself.”
“Callers dialing 734-761-9477 will reach an employee at Republic Parking, which manages the structures. The post is staffed 24 hours a day, Monday through Saturday. The cost to provide the service is minimal, the DDA says.”
- Ann Arbor NEws
“Ann Arbor Smackdown”
“Geeks vs. Suits”
We are labeled as hackers.
A2DDA begins receiving numerous calls, FOIA requests, and pressure from other Ann Arbor agencies.
Google of “A2DDA” and “Ann Arbor Parking”
- Top 5 results were complaints
- VoIP Tech Chat was #1 (now is #3)
Selected comments:
“...trying to achieve change via sarcasm makes sure that reasonable discussion won't fix problems”
“His points are laid out clearly, and his arguments are well-thought out. If the officials have valid responses, they can respond in the same tone. It makes the exchange much more interesting and entertaining for the spectators.”
“The sarcastic tone is just a lazy way to move a thought from the writer's head to the reader, without having to form a coherent argument. They should not have done that, but instead redrafted the letter a couple of times.”
“Collecting and using public information is not hacking.”
Resolving Hurdles 1 - 3
Ignorance
- Education
- Must be willing participant
Ourselves
- Therapy?
- Popeye
Blockage
Public Outcry worked
Dug Song Better Example
‣ A2 Skate park
Hurdles... all bad?
Additional press coverage reflects A2DDA negatively
Attendance at Meetings Skyrockets
Tyler Erickson gets recognized to speak at the April 1st meeting
- “six out of the first 10 search results on a Google query for “a2dda” were about blocking access to data. This was a negative association”
- “There’s a lot of minds who would like to work on the data. If Ann Arbor wants to encourage students, and convince them that they can have a great IT career here, instead of leaving and going to Boulder and Portland, then the DDA needed to stop blocking access to data and be aware of the community interested in it.”
“Conditional” Access is restored within 7 days
We do not accept conditions, and respond “Raw Data Now”
HURDLES ARE...An opportunity to improve
Opportunities for change
Every hurdle is an opportunity to do better.
What started as access to parking spaces by phone...
turned into public access to government data
- Elderly
- Blind
- Anyone without access to web
do or do not. there is no try.
You either overcome THE hurdle or you fail.
learn better approaches for the future
“Experience keeps a dear school, but fools will learn in no other.”
- Provides examples for non fools
Hurdles Can Be Rewarding
Great exposure
Better access to Data (still improving)
New clients
FOIA Fridays
Bus Routes
And, Everyday Has new Surprises!
SURPRISE! Hurdle #4 - Patents
ParkingCarmA
Methods for relaying information regarding parking space availability to cell phones
Method and apparatus for detection and remote notification of vehicle parking space availability data
Thank You. Come Again.
“And I know what I have to do now. I have to keep breathing. Because tomorrow the sun will rise. Who knows what the tide could bring?”