Introduction to the mrcp-plugin-with-freeswitch Project
The mrcp-plugin-with-freeswitch project is an initiative aimed at creating an end-to-end voice call center using FreeSWITCH and UniMRCP Server. This project integrates plugins from the iFLYTEK Open Platform to enable automatic speech recognition (ASR) and text-to-speech synthesis (TTS).
Main Objective
The primary goal of the mrcp-plugin-with-freeswitch project is to use FreeSWITCH to handle user phone calls and leverage the capabilities of the UniMRCP Server integrated with iFLYTEK Open Platform plugins. This setup allows for speech recognition and synthesis based on custom business logic, forming a simple yet comprehensive voice call center system.
Overall Architecture
The system's architecture is thoughtfully designed to efficiently manage voice communications from reception to response. FreeSWITCH acts as the central framework for call management and routing, while UniMRCP connects with the iFLYTEK platform to process speech recognition and synthesis requests. An illustrative diagram of this architecture is used to convey the flow and integration points within the system.
Build Steps
Step 1: FreeSWITCH Installation and Compilation
The process begins with the installation of FreeSWITCH on a MacOS High Sierra 10.13.4 system using the source compilation method rather than pre-packaged software. The guide references official documentation for installing on different operating systems like Ubuntu or CentOS. Essential dependencies are installed using Homebrew, and the FreeSWITCH source code is downloaded and compiled.
Installation Commands:
- Clone FreeSWITCH source code
- Install necessary dependencies
- Compile FreeSWITCH
- Run FreeSWITCH server
Step 2: Configure and Compile UniMRCP Server
On a CentOS 7 environment, configuration and compilation of the UniMRCP Server are performed, with the project utilizing a custom implementation provided by a GitHub user. This involves preparation of the build environment, installation of requisite libraries, and compilation of the UniMRCP server.
Key Steps:
- Download UniMRCP Server demo source code
- Prepare environment and install dependencies
- Compile and install UniMRCP server
- Test server functionality
Step 3: iFLYTEK Open Platform SDK Integration
This step details how to integrate the iFLYTEK SDK into the project. Since the SDK needs to be specific to the user's app, a login to the iFLYTEK Open Platform is required to download and replace SDK components in the project.
Tasks Involved:
- Register and download SDK from iFLYTEK
- Integrate and configure the SDK
- Write and compile UniMRCP plugins for ASR and TTS
Step 4: Configuration and Verification
Configuration
The final step involves configuring FreeSWITCH to interface correctly with the UniMRCP and iFLYTEK setup. This includes:
- Setting up module configurations for automatic loading
- Defining profiles that guide interactions between FreeSWITCH and UniMRCP
- Ensuring the configurations are correctly aligned with network details for effective communication
Verification
Testing involves making calls and verifying responses through the system. This is ensured by setting up IVR scripts and grammar files to handle and translate spoken input into text and synthesized speech output.
Conclusion
This project results in a fully functional voice call center capable of handling calls with advanced speech recognition and synthesis features. By using FreeSWITCH in combination with powerful speech processing from iFLYTEK via UniMRCP, the project demonstrates how open platform tools can effectively create interactive and intelligent customer service operations.