[Freeswitch-users] Fwd: Problem while playing more than 10 voice files using playback
Thangappan.M
thangappan143 at gmail.com
Fri Dec 11 23:38:51 PST 2009
Thanks for your answers.
Rather than select or polling the variable on the channel, CHANNEL EXECUTE
COMPLETE event is used and now it is being worked fine.
---------- Forwarded message ----------
From: Thangappan.M <thangappan143 at gmail.com>
Date: Wed, Nov 25, 2009 at 11:48 AM
Subject: Re: Problem while playing more than 10 voice files using playback
To: freeswitch-users <FreeSWITCH-users at lists.freeswitch.org>
The example script is there in the following link
http://pastebin.com/f332f2fda
In the previous post I have attached it. But it was not shown.
2009/11/25 Thangappan.M <thangappan143 at gmail.com>
FreeSWITCH version: freeswitch 1.0.4
> I am using ESL library
> I attached the example Perl script which does the same steps that I posted
> already. ( Sample.pl)
> I supplied the log , Here I attached the output of the ESL log.
> (Output.txt)
>
> Through the softphone(Twinkle) I have given 1,2,4,5,4 as a DTMF digits.
> But in the output I got only 2,4,5,4 ( DTMF 1 is missed)
>
> Output of Perl code could be like
>
> Wait for response time out
> EVENT [COMMAND]
> Wait for response time out
> EVENT [DTMF]
> DTMF digit 2 (2000)
> Wait for inter digit time out
> EVENT [DTMF]
> DTMF digit 4 (2000)
> Wait for inter digit time out
> EVENT [DTMF]
> DTMF digit 5 (2000)
> Wait for inter digit time out
> EVENT [DTMF]
> DTMF digit 4 (2000)
> Wait for inter digit time out
> Buffer: 2454
> BYE
>
> Why the first digit(1) is missed here?
> In ESL log there is no digit called 1 why?
> Why the COMMAND event is received instead of DTMF?
> How can I get all DTMF digits?
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> On Tue, Nov 24, 2009 at 11:26 AM, Thangappan.M <thangappan143 at gmail.com>wrote:
>
>> The reason for waiting only for DTMF event is to handle the time outs in
>> the IVR concept like response and inter digit time out. Using our own logic
>> we 10 voice files in each play back if the voice files are more than 10. Now
>> it works fine.
>>
>> Now the new problem has been raised. The problem is we are filtering only
>> for DTMF events but we are getting COMMAND event . Because of this the DTMF
>> digits are missing at the time . I am not able to proceed further. We are
>> in the critical situation.
>>
>> Why this command event is occurring?
>> How can I restrict this?
>> What are the information it has?
>> How can I get all the information in it ? ( If command event has info)
>>
>> Help me............
>>
>>
>> On Mon, Nov 23, 2009 at 10:04 AM, Thangappan.M <thangappan143 at gmail.com>wrote:
>>
>>> I am waiting only for DTMF events. That's why I am setting freeswitch
>>> variable for knowing whether the playback has done.
>>>
>>> My question is "why this freeswitch variable is not setting properly when
>>> I play back more than 10 files using playback_delimiter option?".
>>>
>>> When I play back lesser than ten voice files the variable has been set
>>> properly. What could be the reason?
>>>
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: Thangappan.M <thangappan143 at gmail.com>
>>> Date: Sat, Nov 21, 2009 at 2:52 PM
>>> Subject: Problem while playing more than 10 voice files using playback
>>> To: freeswitch-users <freeswitch-users at lists.freeswitch.org>
>>>
>>>
>>> Dear all,
>>>
>>> I am in the process of implementing IVR using event outbound
>>> socket (async mode).
>>> I have implemented using Perl language.
>>>
>>> I did the following steps:
>>> => Set the playback_delimiter variable
>>> => Set the playback_sleep_val variable
>>> => Set the event lock as true
>>> => Set the freeswitch ( my own) variable as zero
>>> => Wait in the loop until the variable is been set as
>>> zero
>>> => Playback the voice files ( Here I combined the
>>> voice files with the delimiter value if more than one voice files are there)
>>> => Set the freeswitch(my own) variable as true ( This
>>> is used to identify whether the voice files are played
>>> successfully).
>>> => Wait in the loop until the variable is been set as
>>> one.
>>> => Set the Event lock as false
>>>
>>> => Trying to get the DTMF digits ( Have a assurance
>>> that all the voice files are played).
>>>
>>> The problem is,
>>>
>>> The above steps are working fine when the voice file count
>>> is lesser than or equal to 10. After the voice files are played only the
>>> variable(my own freeswitch) is set. Based on the variable I am doing further
>>> things.
>>>
>>> But when I tried to give the voice files count of more than
>>> 10 the variable has been set while starting to play back the first voice
>>> file itself . Because of this I am not able to proceed further.
>>>
>>> *DID I MAKE ANY MISTAKE IN THE ABOVE STEPS?*
>>>
>>> *NOTE*: I also referred mod_file_string documentation. In that they
>>> specified 128 files can be used to play back the voice files using
>>> playback_delimiter option.
>>>
>>> Please help me................?
>>> Thanks in advance.
>>>
>>>
>>> --
>>> Regards,
>>> Thangappan.M
>>>
>>>
>>>
>>> --
>>> Regards,
>>> Thangappan.M
>>>
>>
>>
>>
>> --
>> Regards,
>> Thangappan.M
>>
>
>
>
> --
> Regards,
> Thangappan.M
>
--
Regards,
Thangappan.M
--
Regards,
Thangappan.M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20091212/b2a96371/attachment-0002.html
More information about the FreeSWITCH-users
mailing list