VoIP Webform makes a VoipDrupal dialplan script from a standard Drupal Webform. It can then send and receive calls with the included incoming call router. When the call is finished, the input from the user (using the keypad) is internally submitted to the webform as if the user filled it out through a browser.
Feedback is important in any application, but the hardest part is actually getting it - especially when there is a delay before an evaluation/follow-up survey is sent out. This module provides a very direct approach to tallying responses - calling the user and getting them.
Doing this normally would mean getting a developer to write a complex script to interface with one of the VoIP APIs. This module only requires a user to create a webform using supported fields. The form can then be used as a voice survey with no coding.
The input types we can use are restricted because of the limitations of a phone call. There are some API functions in voipdrupal.api.inc to support other kinds of input fields.
So far, it will handle:
- textfields with max lengths - zip codes, age, credit card number, yes/no
- select boxes keyed on numbers - for X, press 1. for Y, press 2.
- file upload field - records a user's message and attaches it to the webform as an MP3
- checkbox - e.g. "do you agree"
With realtime voice recognition (like Tropo provides) , we could open up a lot more options including multiple select through large lists of options.
Multiple phones can be dialed concurrently since it writes a dialplan script and initiates the call using the RESTful API. I've tested with 10-20 phones at a time and it works very well. I would love to see something like this applied to 500-1000 phones at once.
- Dial (484) 202-0371 and enter 1 for a sample survey
- Provide some example module to do followup surveys on signups
- Figure out a way to handle going to voicemail
- Integration with sms_user to associate matched numbers with webform results
- SMS thankyous/reminders?
- Better ways of storing information about the survey result (phone number, duration) - this is stored with VoipDrupal but doesn't make it into the webform result
- Better ways of handling optional answers, timeouts, invalid responses etc