[asterisk-users] Festival through AGI can't handle strings longer than 15 chars

Mario mgnospam at fgasoftware.com
Sat Aug 19 15:05:04 MST 2006


Thanks, Moises.

I'll take a look at the code following your suggestion. Then, if 
successful, I surely post back the (possible) solution on this thread.



Moises Silva wrote:
> Hi Mario, Im sorry to answer so late, but i have been busy. In fact I
> give a read in the code  trying to find the error. You can start
> looking at source in
> res/res_agi.c function handle_exec() this function receives the AGI
> request of EXEC and then call internal function pbx_exec() found in
> pbx.c, after that, control passes to apps/app_festival.c function
> festival_exec(), so the final trace would look something like this:
>
> handle_exec() in res/res_agi.c
> pbx_exec() in pbx.c
> festival_exec() in apps/app_festival.c
>
> Good Look, if you found the problem please report back the results :)
>
> Regards
>
>
>
> On 8/19/06, Mario <mgnospam at fgasoftware.com> wrote:
>> Moises,
>>
>> sorry to bother you again.
>>
>> I did some wrong posting to the newsgroup and that's the reason of my
>> (apparent) delay in answering to your latest question. You can now find
>> the answer in the newsgroup.
>>
>> Please, any idea as to the possible cause? If this is a bug (as it seems
>> to me) I'd be glad to try to fix it... but, can you give me a hint to
>> which possible C modules I should look? Just to understand if this is a
>> problem strictly  related to Festival or both to Festival and AGI.
>>
>> For your convenience, I report here the important part of my previous 
>> post:
>>
>> My CONCLUSION: the error doesn't probably depend on Festival or Exec
>> command. To make the error occur, I simply do this:
>> a) I restart server
>> b) I run the AGI script with whatever text (as wide as I wish) and it
>> will work
>> c) I shorten the text... it still will work
>> d) I then widen again the text: now it won't work! It will work only as
>> long as I shorten the text (or leave it the same length), but not if I
>> widen it.
>>
>> Thanks once more for your support.
>>
>> Mario.
>>
>>
>> Moises Silva wrote:
>> > One step more, enable the following in logger.conf
>> >
>> > console => notice,warning,error,debug,verbose
>> >
>> > Application app_festival has some interesting debug messages like:
>> >
>> > ast_log(LOG_DEBUG, "Text passed to festival server : %s\n",(char 
>> *)data);
>> >
>> > and that shows in the console the exact test is passed to the festival
>> > server.
>> >
>> > I keep looking into the code trying to find the reason of the
>> > behaviour you describe but I havent succed so far.
>> >
>> > Please report any feedback.
>> >
>> > Regards
>> >
>> > On 8/17/06, Mario <mgnospam at fgasoftware.com> wrote:
>> >> Thanks for your help, Moises.
>> >>
>> >> I did activate the AGI DEBUG as you suggested (thanks for that!).
>> >> However, I'm now only a little bit more sure that I'm passing the 
>> right
>> >> stuff to the Festival command. Following you'll see what I'm 
>> passing for
>> >> the "short text" (shorter than 15 chars) and for the wider text.
>> >>
>> >> As you can see, both the calls seem to work, but for the 2nd I do not
>> >> hear any sound.
>> >>
>> >> At this point, any idea is really welcome. Thanks for your help.
>> >>
>> >> *** Short text ***
>> >>
>> >> AGI Rx << ANSWER
>> >> AGI Tx >> 200 result=0
>> >> AGI Rx << EXEC FESTIVAL "Telefono spento"
>> >>     -- AGI Script Executing Application: (FESTIVAL) Options: 
>> (Telefono
>> >> spento)
>> >>   == Parsing '/etc/asterisk/festival.conf': Found
>> >> AGI Tx >> 200 result=0
>> >>     -- AGI Script test_command.py completed, returning 0
>> >>   == Auto fallthrough, channel 'SIP/1-9803' status is 'UNKNOWN'
>> >>
>> >> *** Longer text ***
>> >>
>> >> AGI Rx << ANSWER
>> >> AGI Tx >> 200 result=0
>> >> AGI Rx << EXEC FESTIVAL "Telefono utente spento"
>> >>     -- AGI Script Executing Application: (FESTIVAL) Options: 
>> (Telefono
>> >> utente spento)
>> >>   == Parsing '/etc/asterisk/festival.conf': Found
>> >> AGI Tx >> 200 result=0
>> >>     -- AGI Script test_command.py completed, returning 0
>> >>   == Auto fallthrough, channel 'SIP/1-67c2' status is 'UNKNOWN'
>> >>
>> >>
>> >>
>> >> Moises Silva wrote:
>> >> > Hi Mario. Have you tried to enable AGI debug?
>> >> >
>> >> > CLI> agi debug
>> >> >
>> >> > That will show what Asterisk is receiving from your script.
>> >> >
>> >> > Also enable all the debug messages in  the logger.conf file for the
>> >> > console
>> >> >
>> >> > Go and try that and post what you see here, and we may be able 
>> to help
>> >> > you
>> >> >
>> >> > On 8/17/06, Mario <mgnospam at fgasoftware.com> wrote:
>> >> >> I'm having a tough problem when using Festival with Asterisk 
>> through
>> >> >> AGI: it seems that when I pass more than 15 chars to the Festival
>> >> >> command, when from inside an AGI, no sounds (speech) at all is
>> >> >> generated.
>> >> >>
>> >> >> The following (from inside the dialplan) correctly works:
>> >> >>
>> >> >>   exten => 333,1,Answer()
>> >> >>   exten => 333,2,FESTIVAL(Telefono spento uno)
>> >> >>   exten => 333,3,Hangup
>> >> >>
>> >> >> But, when moved from within an AGI, the same Festival command 
>> doesn't
>> >> >> work:
>> >> >>
>> >> >>   EXEC FESTIVAL "Telefono spento uno"
>> >> >>
>> >> >> the symptom is that no text is played, although the return code 
>> from
>> >> >> command is zero.
>> >> >>
>> >> >> One important note: if I shorten the text to "Telefono spento"
>> >> (i.e. at
>> >> >> most 15-chars wide) everything works as expected.
>> >> >>
>> >> >> I really can't figure out the reason of this weird behavior. What
>> >> I can
>> >> >> do is to exclude some possible reasons:
>> >> >>
>> >> >> 1. It is not a festival-related problem since when called from the
>> >> >> Dialplan everything works as expected.
>> >> >> 2. It is not a language-related issue, since I tried this both 
>> with
>> >> >> English and Italian
>> >> >> 3. It is not a missing call to flush()... yes, I added a flush()
>> >> at the
>> >> >> end of my Python-based AGI call
>> >> >> 4. It is not a problem related to Python, since I use Python
>> >> extensively
>> >> >> with AGI
>> >> >>
>> >> >> Does anyone have a hint on what I can do to investigate or 
>> solve this
>> >> >> problem? Does enyone know if this is a known bug?
>> >> >>
>> >> >> Thanks in advance,
>> >> >>
>> >> >> Mario
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> _______________________________________________
>> >> >> --Bandwidth and Colocation provided by Easynews.com --
>> >> >>
>> >> >> asterisk-users mailing list
>> >> >> To UNSUBSCRIBE or update options visit:
>> >> >>    http://lists.digium.com/mailman/listinfo/asterisk-users
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>




More information about the asterisk-users mailing list