Go to file
2024-12-21 09:33:55 -05:00
voicebot-rt add MLX-LLM 2024-12-17 14:44:23 -05:00
extensions.conf Add verbose lines for incoming calls 2024-12-21 09:33:55 -05:00
pjsip.conf Add caller ID to UUID & test sip EP 2024-12-17 19:41:59 -05:00
README.md Add voice-rt 2024-11-22 15:39:31 -05:00

asterisk

Installing Dependencies

Before installing Asterisk, you need to update your package lists and install the necessary dependencies. Open your terminal and execute the following commands:

sudo apt update sudo apt upgrade sudo apt install -y wget build-essential subversion

Downloading and Installing Asterisk

With the dependencies in place, you can now download and compile Asterisk:

cd /usr/src sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz sudo tar xvf asterisk-18-current.tar.gz

Change into the extracted directory and install additional required packages:

cd asterisk-18* sudo contrib/scripts/install_prereq install

Now, proceed to compile and install Asterisk:

sudo ./configure sudo make menuselect sudo make sudo make install sudo make samples sudo make config sudo ldconfig

With Asterisk installed, you can now set up its user and group permissions:

sudo adduser --system --group --no-create-home asterisk sudo chown -R asterisk:asterisk /etc/asterisk sudo chown -R asterisk:asterisk /var/{lib,log,spool}/asterisk sudo chown -R asterisk:asterisk /usr/lib/asterisk

Configuring Asterisk

Editing the main configuration file is the next step. Open it using your favorite text editor:

sudo vim /etc/asterisk/asterisk.conf

Make the necessary changes according to your setup, then start and enable Asterisk at boot:

sudo systemctl start asterisk sudo systemctl enable asterisk

Ensure that Asterisk is running without issues:

sudo asterisk -vvvr

Setting Up PJSIP Accounts

To handle VoIP calls, you need to set up PJSIP accounts. Edit the pjsip.conf and extensions.conf files:

sudo vim /etc/asterisk/pjsip.conf sudo vim /etc/asterisk/extensions.conf

Add your SIP users in pjsip.conf and dial plan in extensions.conf.

Google TTS script for Asterisk

You'll need to install the following dependencies:

sudo apt install perl libwww-perl liblwp-protocol-https-perl sox mpg123

Then download the script from the Google TTS repository and place it in the appropriate directory:

https://github.com/zaf/asterisk-googletts

Voice-rt

Asterisk VoiceBot Realtime is a Node.js application that utilizes Asterisk for real-time audio transmission and processing. This application leverages Google Cloud Speech-to-Text, Google Cloud Text-to-Speech, and OpenAI for transcription, speech synthesis, and intelligent response generation.

Asterisk VoiceBot Realtime connects to a TCP server and handles audio data packets sent by Asterisk through the AudioSocket module. Upon receiving audio data, the application transcribes it using Google Cloud Speech-to-Text, sends the transcription to OpenAI for generating a response, and finally synthesizes the response into audio using Google Cloud Text-to-Speech. The generated audio is then sent back to the client through the socket.

https://hub.docker.com/r/gcareri/asterisk-voicebot-rt