[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