We need to build some custom FreePBX modules. The modules should be easy to install and easily replicable on multiple FreePBX instances, they should be like installing any other FreePBX module (.tgz file) with minimum manual configuration. Brief documentation is expected at the end of each task which should include steps to install the module, dependencies if any, troubleshooting instructions, etc.
The candidate should have proven developmental skills and should have written at least a few (verifiable) FreePBX modules in the past. Please submit a break up for each individual task in your responses. If you think you cannot complete a task, please mention the same in your response.
Voicemail transcription module
We need to build a module to build the functionality on the following link. If this module requires commercial licensing, our approval is required before proceeding with this task.
[login to view URL]
Missed call notifications module
This module will add options on the Extensions page receiving missed call notifications. Calls received from ring groups and queues should be ignored and notifications should be sent only if the call was placed directly to the extension. Optionally, there should be a way to choose not to receive notifications when the caller leaves a VM since in this case the user will receive the VM notification anyway.
Also, if its possible to add this option to Ring Groups and Queues, that would be great. In this case, the notification will be sent only when nobody answers the call in the RG/Queue.
SMS notification module
This module will allow the administrator to add a mobile number for each extension for missed call and VM alerts. The messages will be short and will include only the caller's number, date/time of call and extension number in a pre-defined format. SMS API will be provided by us.
I can restrict access to certain outbound routes or feature codes by a particular extension or group of extensions.
Give particular extension(s) priority access to certain outbound routes, such as a particular emergency route associated with their geographic location.
Give certain outbound routes top priority for use during "free" or low cost calling periods, while making those same routes lower priority (or disallowing access entirely) during higher cost time periods.
Disallow access to outbound routes (with possible exception of Emergency access) to certain (or all) extensions during particular time periods (don't let night cleaning crew make long distance calls, or disallow outgoing night calls from telephones in children's rooms, while still allowing emergency number calls).
Allow two or more families/companies/organizations to use the same FreePBX box, while still allowing each to have access only to "their" outgoing routes and trunks.