Search code examples
asteriskvoipfestival

Error Regarding Festival-Asterisk


Everything seems to be working perfectly.But no sound is audible.Corresponding configuration files & CLI outputs are attached. In another machine with same configuration a new error coming SIOD ERROR in festival server. Attached file name is SIOD error. I'm attaching my configuration files with CLI output.

Festival server output

root@IKVPLIB0056:/home/ingreens# festival --server
server    Mon Mar  9 16:48:57 2015 : Festival server started on port 1314
client(1) Mon Mar  9 16:49:48 2015 : accepted from localhost
client(1) Mon Mar  9 16:49:48 2015 : disconnected

SIP conf

[general]
transport=udp

[friends_internal](!)
type=friend
host=dynamic
context=from-internal
disallow=all
allow=ulaw

[demo-alice](friends_internal)
secret=1234 ; put a strong, unique password here instead

[demo-bob](friends_internal)
secret=123 ; put a strong, unique password here instead

[demo-sip](friends_internal)
secret=12345 ; put a strong, unique password here instead

SIOD Error

root@IKVPLIB0056:/home/ingreens# festival --server
server    Mon Mar  9 16:48:57 2015 : Festival server started on port 1314
client(1) Mon Mar  9 16:49:48 2015 : accepted from localhost
SIOD ERROR:unbound variable : string
client(1) Mon Mar  9 16:49:48 2015 : disconnected

Festival.scm

(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")



;;Server access list(hosts)
;(set! server_access_lists '("[^.]+" "127.0.0.1" "IKVPLIB0056.192.168.0.141" "192.168.0.141"))
;; Enable access to localhost (needed by debian users)
;(set! server_access_list '("IKVPLIB0056\\.192.168.0.141" "IKVPLIB0056"))
(set! server_access_list '("localhost\\.localdomain" "localhost"))
;; set italian voice (comment the following 2 lines to use british_american)
;(language_italian)
;(set! voice_default 'voice_pc_diphone)

;;; Command for Asterisk begin


(define (tts_textasterisk string mode)
"(tts_textasterisk STRING MODE)
Apply tts to STRING. This function is specifically designed for
use in server mode so a single function call may synthesize the string.
This function name may be added to the server safe functions."
(let ((wholeutt (utt.synth (eval (list 'Utterance 'Text string)))))
(utt.wave.resample wholeutt 8000)
(utt.wave.rescale wholeutt 5)
(utt.send.wave.client wholeutt)))

;;; Command for Asterisk end

Asterisk CLI output

 == Using SIP RTP CoS mark 5
    -- Executing [1234@from-internal:1] NoOp("SIP/demo-bob-00000001", "") in new stack
    -- Executing [1234@from-internal:2] Festival("SIP/demo-bob-00000001", "Hello world") in new stack
  == Parsing '/etc/asterisk/festival.conf':   == Found
    -- Executing [1234@from-internal:3] Hangup("SIP/demo-bob-00000001", "") in new stack
  == Spawn extension (from-internal, 1234, 3) exited non-zero on 'SIP/demo-bob-00000001'

Festival.conf

[general]
host=localhost
port=1314
usercache=no
cachedir=/var/cache/asterisk/festival/
festivalcommand=(tts_textasterisk "%s" 'file)(quit)\n

extensions.conf

[from-internal]
exten=>6001,1,Dial(SIP/demo-alice,20)
exten=>6002,1,Dial(SIP/demo-bob,20)
exten=>6003,1,Dial(SIP/demo-sip,20)
exten =>1234,1,NoOp()
exten=>1234,2,Festival(Hello world)
exten =>1234,3,Hangup()

Solution

  • You need ANSWER line before do festival call. Just add

    exten =>1234,1,Answer