Asterisk. Number verification service.
Good day.
We need the development of a number verification service using Asterisk.
Let me clarify immediately – a standard Asterisk core, without web interfaces like FreePBX or others.
The result should be a configured server that receives verification numbers from clients, and the digits to be voiced when calling the appropriate number.
The outcome must be recorded in a local MySQL database, and an API request should be sent to the billing server to log the successful call.
There may be multiple clients.
The approximate algorithm is as follows:
There is already a website managing clients. When a client activates the service, this website sends an API request to Asterisk with the following parameters:
- Client identifier and authorization token, which the Asterisk server will use for future client authentication.
- WAV audio files that Asterisk should play during the call. For example, a greeting and the digits (if the client has custom sounds), or if no digit sounds are provided, Asterisk should use its own.
- The number of digits the robot should pronounce.
- Identifier of the trunk from which to make the call (there may be multiple trunks).
- An array of numbers from which the call can be made. The number should be chosen randomly from this array.
- Webhook URL for sending the response to the client with the status after the call. If this field is empty, no response should be sent.
Next, the client should be able to send API requests to Asterisk, providing the number to verify and the digits to be announced.
Asterisk makes the call, plays the greeting, and announces the verification digits. After each attempt, the following should be done:
- Record the event in the local MySQL database
- Send to our main billing server, and receive a response about client status (block or not)
- Send a WebHook to the client with the result.
- It should also be considered that if any server (our billing server or the client’s) does not respond with code 200, this should not stop the Asterisk processes, and subsequent attempts should be made several times.
Asterisk may produce errors in cases such as:
- Invalid authorization token
- The number of digits for verification does not match the configured amount
- The client account is inactive (blocked)
It is necessary to monitor the call result, and if the call fails due to provider issues (e.g., the subscriber does not answer, is out of coverage, busy, hung up, or if our number is blocked due to non-payment, or if there are no available trunks), then a retry should be made using another number from the array, and this incident should be separately logged.
It is recommended to implement the scripts in PHP. The operating system should be CentOS. Installing Asterisk on the server is also part of the project.
-
198 Good day, we are a team of programmers who can do this, we have already done similar projects and can answer all your questions, I think it's better to talk on the phone or in messages.
-
663 3 0 **Good afternoon. My name is Maria. I have carefully studied your project. Ready to execute.**
📞 **Algorithm of the service operation**
1. **Receiving a request from the client:**
- The client sends an API request to the server with parameters:
- Client identifier and authorization token.
- Voice files (greetings and digits) or instructions to use standard ones.
- Number of digits to be voiced.
… - Trunk identifier for the call.
- Array of numbers from which calls can be made.
- URL for WebHook with results.
2. **Initiating the call:**
- The server verifies the client's authorization.
- Selects a number from the provided array.
- Initiates a call via Asterisk, using the chosen trunk.
- Voices the greeting and confirmation digits.
3. **Processing results:**
- Records the call result in the MySQL database.
- Sends the result to the billing server.
- Sends the result to the client via WebHook (if URL is provided).
4. **Error handling:**
- In case of a failed call due to provider issues (e.g., number blocked), the service:
- Attempts to make a call from another number in the array.
- Records the incident in the database.
**Ready to discuss details!**
-
345 Hello, I am implementing your task for experience.
...................
....,..............
...................
...................
Current freelance projects in the category DevOps
Integration of Google Analytics into CRM via n8nGood day, I need help connecting Google Analytics and CRM through n8n. All settings on the CRM side are done. Now we just need to set up the analytics through n8n to transmit sales events. DevOps, System & Network Administration ∙ 4 days 8 hours back ∙ 18 proposals |
Set up a mail server
22 USD
We have 2 domains and more than 20 mailboxes that are currently in active use. Email is working through Gmail servers. We need to set up our own server and transfer all email from Gmail to this new server. Please indicate when you can start working and the cost of the work. DevOps ∙ 10 days 9 hours back ∙ 10 proposals |
Setting up a backup system and optimizing server infrastructureObjective of the work: Ensure reliable data storage for the CRM system and application by implementing an automated backup system, as well as carry out a series of server improvements to enhance the stability, security, and performance of the infrastructure. DevOps, Databases & SQL ∙ 13 days 2 hours back ∙ 29 proposals |