It may not be you, I think the Festival driver is buggy. Specifically, I've found that the the way in which you pass the text to Festival matters. If I use the Festival () suntax then it won't work. If I use the wrong sort of quotation mark " instead of ' there are problems. Asterisk will consume vast amounts of processor resources.


However, if I specify the command in a way the Festival app likes then all is OK. Try variants like:

exten => 555,4,Festival,'mary had a little lamb'

Iain



--On Tuesday, January 13, 2004 8:11 am -0500 Doug Raum <[EMAIL PROTECTED]> wrote:

Hello,

I have Asterisk running on a RH9 box; Everything seems to be working as it
should, except for Festival.  Every time that Festival is called from
Asterisk, Asterisk silently shuts down.  Festival doesn't give any error
indication and Asterisk just plain dies without a peep.

Festival was installed per the Wiki, using source and patched with
festival-1.4.3-diff;  it works fine at the console.  Asterisk is built
from CVS and has been configured per the Wiki as well, including the test
extension (555).  I start Festival with the "festival_server" script, then
start Asterisk.

(snippet from extensions.conf)
exten => 555,1,Answer
exten => 555,2,Festival(mary had a little lamb)
exten => 555,3,Hangup

Here's what Asterisk says with -vvvvv, calling from SIP 81001 to 555:
 Asterisk Ready.
     -- Executing Answer("SIP/81001-e87b", "") in new stack
     -- Executing Festival("SIP/81001-e87b", "mary had a little lamb") in
new stack
   == Parsing '/etc/asterisk/festival.conf': Found
   == Spawn extension (from-sip, 555, 2) exited non-zero on
'SIP/81001-e87b'

...at this point Asterisk is dead. No segfault, no error message.

# cat /var/log/asterisk/messages
Jan  7 15:36:49 WARNING[1074416352]: File chan_iax2.c, Line 5466
(set_config): Ignoring port for now

# cat /var/log/asterisk/event_log
Jan  7 15:36:47 asterisk[5038]: Started Asterisk Event Logger

(I capture stderr to asterisk.err)
# cat /var/log/asterisk/asterisk.err
Warning, flexibel rate not heavily tested!
Ouch ... error while writing audio data: : Broken pipe

I'm guessing the ouch comes from mpg123 being surprised that Asterisk is
gone.

Debug info in syslog seems pretty unhelpful if I use -d:
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 4024 (check_user):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 5098 (handle_request):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 1002 (find_user):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 3417 (build_route):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 304 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 361 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 363 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 379 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 400 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]:
File app_festival.c, Line 410 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 567 (__sip_ack):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]:
File chan_sip.c, Line 567 (__sip_ack):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]:
File cdr_addon_mysql.c, Line 123 (mysql_log):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]:
File cdr_addon_mysql.c, Line 130 (mysql_log):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]:
File chan_sip.c, Line 1081 (sip_hangup):

Festival's info is very minimal, but seems to indicate success:
# cat festival_server.log
"Load server start ./festival_server.scm"
festival port=1314
wrapper Wed Jan 7 15:36:40 EST 2004 : USING DEFAULT CONFIGURATION
wrapper Wed Jan 7 15:36:41 EST 2004 : waiting
server    Wed Jan  7 15:36:41 2004 : Festival server started on port 1314
client(1) Wed Jan  7 15:37:00 2004 : accepted from localhost
client(1) Wed Jan  7 15:37:00 2004 : disconnected

...a process listing after the * crash shows a zombie festival, although
Festival will happily take new connections:
 5024 ?        S      0:00 /bin/sh /usr/local/festival/bin/festival_server
 5030 ?        S      0:00 festival --server ./festival_server.scm
 5065 ?        Z      0:00 [festival <defunct>]

I can restart Asterisk again, and do this over and over and over.  If I
use the -g option to generate a core dump, I never see one generated.

Any thoughts on what might be happening here? What am I doing wrong?

--
Doug
_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users





_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to