[Freeswitch-users] Problem in getting digits value in Playback application

Manish Talwar manish.talwar at zaristo.com
Mon Sep 22 10:53:36 MSD 2014


Hi,

I am able to get the channel variable value in a request now by "play_and_get_digits" command. But now, I need some suggestion for below query:

As per my requirement, I want to play multiple audio file by "playback", run TTS by "Speak", and get digit by "Play_and_get_digits" in a single dialplan as a batch. I am sending below request to freeswitch for running multiple commands as a batch in a request:


<document type="xml/freeswitch-httapi"><params></params><variables><myDigit>-1</myDigit></variables><work><getVariable name="myDigit" permanent="1"/><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><speak name="extenSpeak" text="Welcome to Q Pay" engine="flite" voice="slt" ></speak><execute action="http://localhost:9000/ivr/fswelcomeresponse" application="play_and_get_digits" data="0 1 1 2000 # ivr/MP3/dial_menu_index_five.mp3 '' myDigit ''" /><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><playback name="exten" file="ivr/MP3/dial_menu_index_one.mp3" action="http://localhost:9000/ivr/fswelcomeresponse" digit-timeout="1000" input-timeout="1000" ><bind>~\d{1,3}#{0,1}</bind></playback><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><speak name="extenSpeak1" text="Press two for english." engine="flite" voice="slt" ></speak><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><playback name="exten" file="ivr/MP3/dial_menu_index_four.mp3" action="http://localhost:9000/ivr/fswelcomeresponse" digit-timeout="1000" input-timeout="1000" ><bind>~\d{1,3}#{0,1}</bind></playback><execute action="http://localhost:9000/ivr/fswelcomeresponse" application="play_and_get_digits" data="0 1 1 2000 # ivr/MP3/dial_menu_index_five.mp3 '' myDigit ''" /><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><execute application="log" data="INFO my_chan_var contains ${myDigit}"/><speak name="extenSpeak2" text="Press star to repeat." engine="flite" voice="slt" ></speak></work></document>



Currently, Its playing all commands  as mentioned in dialplan and then move to Action URL after completing all command in a request. ​But I need to send my request to Action URL immidieatly when user press any digit.
​ ​
I have​ studied something "break [UDDI]" for skipping current batch request and move to other request in httapi application but I am not getting more details about it.

Please let me know, how to I implement my requirement and send my request to Action URL immidieatly when user press any digit?

Thanks,

Regards,
Manish Talwar


________________________________
From: Manish Talwar
Sent: 18 September 2014 13:44
To: FreeSWITCH Users Help
Subject: RE: [Freeswitch-users] Problem in getting digits value in Playback application


Hi,


As you suggested, "Play_and_get_digits" command is running fine now, But I am still not able to get the value of Channel variable "myChannelVar" in a call as Its returning me blank value.


I am sending request as:


<document type="xml/freeswitch-httapi">

    ​<params></params>

    <work>

        <getVariable  name="myChannelVar" permanent="1"/>

        <execute application="play_and_get_digits" data="1 4 1 5000 # ivr/MP3/card_activate_birth_date.mp3 '' myChannelVar \d+" />

        <execute application="log" data="INFO my_chan_var contains ${myChannelVar}"/>

        <execute application="hangup"/>

    ​</work>

</document>


As a output, its play a audio file and I pressed a key 2222 digits in a call but its returning me blank value in channel variable "myChannelVar​".

I got a response in a console log as:

2014-09-18 13:28:49.739010 [DEBUG] mod_httapi.c:1217 Process Tag: [execute]
EXECUTE portaudio/5000 log(INFO my_chan_var contains )
2014-09-18 13:28:49.739010 [INFO] mod_dptools.c:1628 my_chan_var contains


I have set the permission in my HTTAPI config file to "set-vars", "get-vars" & "expand-vars" tags and its seem like working fine. For reference, please find my HTTAPI config file as an attachment.


Please suggest me how do I got a channel variable value and pass it to other POST request.


Thanks,


Regards,

Manish Talwar

________________________________
From: Manish Talwar <manish.talwar at zaristo.com>
Sent: 18 September 2014 11:54
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Problem in getting digits value in Playback application


​Its working fine now, Thanks a lot.


Regards,

Manish Talwar


________________________________
From: Michael Collins <msc at freeswitch.org>
Sent: 18 September 2014 01:00
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Problem in getting digits value in Playback application

I think what you did was set the default to allow and everything you listed underneath became denied. Try setting the default back to deny and see if it works as expected.
-MC

On Wed, Sep 17, 2014 at 7:28 AM, Manish Talwar <manish.talwar at zaristo.com<mailto:manish.talwar at zaristo.com>> wrote:

Hi,


Please revert me about Permission setting ASAP.


Regards,

Manish Talwar


________________________________
From: Manish Talwar
Sent: 17 September 2014 10:59
To: FreeSWITCH Users Help
Subject: RE: [Freeswitch-users] Problem in getting digits value in Playback application


Hi,


I have tried by giving below Permission with my HTTAPI config file.​


    <permission name="execute-apps" value="true">
 <!-- default to "deny" or "allow" -->
 <application-list default="allow">
       <!-- type attr can be "deny" or "allow" nothing defaults to opposite of the list default so allow in this case -->
       <application name="info"/>
<application name="play_and_get_digits"/>
       <application name="hangup"/>
 </application-list>
    </permission>

and from Web Application, I am sending request as:

<document type="xml/freeswitch-httapi">
    <params></params>
    <work>
        <execute application="play_and_get_digits" data="1 4 1 5000 # /ivr/8000/ivr-enter_number_to_remove_from_blacklist.wav '' foobar \d+" />
    </work>
</document>

but still its giving me error as  "[ERR] mod_httapi.c:840 Permission Denied!"​

However, its work fine with hangup application:

<document type="xml/freeswitch-httapi">
    <params></params>
    <work>
        <execute application="hangup"/>
    ​</work>
</document>

I feel, it must be some setting problem in config file only​. Please find my HTTAPI config file​ as an attachment and let me know if any changes required in this file.

Thanks,

Regards,
Manish​ Talwar
________________________________
From: Michael Collins <msc at freeswitch.org<mailto:msc at freeswitch.org>>​
Sent: 16 September 2014 23:09
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Problem in getting digits value in Playback application


On Tue, Sep 16, 2014 at 9:46 AM, Manish Talwar <manish.talwar at zaristo.com<mailto:manish.talwar at zaristo.com>> wrote:

​Hi,


Thanks for quick response, I have already try to use this "play_and_get_digits​" command.


Its working fine when I use this as a dialplan <extension> tag in FreeSwitch file but while using it in Web Application with "<execute>" httapi command its throwing error as "[ERR] mod_httapi.c:840 Permission Denied!"


I have tried to reset Permission of "execute-apps" in httapi-conf.xml file, but still got same error.

<http://www.freeswitchsolutions.com>
This is almost certainly a permissions issue with your HTTAPI config file. What do you have in your "execute-apps" section? The default is to deny and then explicitly allow only the items you specify. FYI, this is covered quite thoroughly in the FreeSWITCH 1.2 book on pages 277-280.

-MC




_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting at freeswitch.org<mailto:consulting at freeswitch.org>
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com




FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org<mailto:FreeSWITCH-users at lists.freeswitch.org>
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20140922/7a00bc27/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list