Upgrade 3CX to v18 and get it hosted free!

swift.agi

Author image

Example AGI for Swift.

extensions.conf


exten=> s,1,agi(swift.agi|This is some text\, which needs to be converted to speech.)

shell script


 #!/bin/sh
 # Assign the value sent from the exten=> line to "$text" so it can be used below
 text=`echo $*`
 
 # Set $stdin to something
 stdin="0"
 
 while [ "$stdin" != "" ]
   do
     read stdin
      if [ "$stdin" != "" ]
       then
        stdin2=`echo $stdin | sed -e 's/: /=/' -e 's/"//g' -e 's/$/"/' -e 's/=/="/'`
        eval `echo $stdin2`
       fi
   done
 
 calleridnum=`echo $agi_callerid | cut -f2 -d\< | cut -f1 -d\>`
 calleridname=`echo $agi_callerid | cut -f1 -d\< `
 
 /usr/local/bin/swift -o /tmp/$agi_uniqueid.wav -p audio/channels=1,audio/sampling-rate=8000 " $text "
 
 # Now, tell asterisk to play that file
 echo "stream file /tmp/$agi_uniqueid #"
 
 # Read the reply from asterisk to our command
 read stream
 
 # Clean up our mess and delete that file
 rm /tmp/$agi_uniqueid.wav

exit 0

Article Reviews

Write a Review

Your email address will not be published. Required fields are marked *

Required Field. Minimum 5 characters.

Required Field. Minimum 5 characters, maximum 50.

Required field.There is an error with this field.

Required Field.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

There are no reviews for this article. Be the first one to write a review.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.