A AWS lambda function for generating a call-plan for an incoming call from a virtual number.
This lambda allows a incoming phone call from a Nexmo virtual phone number to be manipulated with the following behaviour(s):
- Voice instructions
- Number Whitelisting
- Virtual Number for CV to reduce volume of recruiters calls.
- Burner number for short lived ads.
The library requires the following minimum versions
- Docker (For local running using AWS SAM)
- AWS CLI (For deployment to AWS)
- cygwin (For deployment to AWS on Windows (Bash Required))
- AWS Account (For deployment)
- Nexmo Account (For Virtual Number)
The Nexmo account will require an application to be set-up and a number to be purchased and linked with the application.
The application needs the web-hooks for Event URL
and Answer URL
to be use HTTP POST
and should point at the API Gateway (Custom domain or AWS provided URL). For example a custom URL may look like https://dev.api.bluurr.io/call-event
To build the lambda application run the following maven command.
mvn clean verify
The project can be ran locally in the following ways:
Using SAM the lambda function can be deployed in a AWS like environment on the local machine.
Full documentation can be found here
The application can be booted like a normal Spring Boot application (Spring Docs).
This will start a web endpoint exposing the function at http://localhost:8080/function
an example POST
payload can be found here.
More information can be found here
This function can be deployed to the AWS lambda platform (it's recommended to take advantage of the free tier more information here).
Full documentation can be found here
A pipeline definition for building the lambda function can be found for the following.
The following pipeline configuration found here can be imported directly into azure pipelines which will provide a full build of this lambda function.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.