hello, I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3. here is the sip profile i created that isn't working: <include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include> here is my asterisk profile (it works): [level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070 [level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070 How can I create a sip profile that will function the same in freeswitch?
You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH. /Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [freeswitch-users-bounces@lists.freeswitch.org] för Chad Vogel [cvogel@lyonl.com] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org Ämne: [Freeswitch-users] external sip profile hello, I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3. here is the sip profile i created that isn't working: <include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include> here is my asterisk profile (it works): [level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070 [level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070 How can I create a sip profile that will function the same in freeswitch? !DSPAM:4e6c82af32761635315745!
in addition to peter's advise, take a look at the SIP port 5070. FS is using port 5080 for the external SIP profile. modify the port number at "external.xml" then delete the port numbers in your proxy settings. On Sun, Sep 11, 2011 at 6:36 PM, Peter Olsson < peter.olsson@visionutveckling.se> wrote:
You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH.
/Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [ freeswitch-users-bounces@lists.freeswitch.org] för Chad Vogel [ cvogel@lyonl.com] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org Ämne: [Freeswitch-users] external sip profile
hello,
I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3.
here is the sip profile i created that isn't working:
<include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include>
here is my asterisk profile (it works):
[level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070
[level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070
How can I create a sip profile that will function the same in freeswitch?
!DSPAM:4e6c82af32761635315745!
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Level 3 uses port 5070 for their sip server but requires port 5060 to be used on our side; I made changes to the vars.xml config file to support this. I was just able to get the server to answer a call by changing the register value to false and adding an entry in the ACL config for the Level 3 server however now it seems that the audio isn't working correctly. I'm using a simple dial plan to echo the audio back but all I get is dead air. <extension name="level3"> <condition field="destination_number" expression="^13127567000$"> <action application="answer"/> <action application="echo" /> </condition> </extension> On Sep 11, 2011, at 7:47 PM, Nandy Dagondon wrote: in addition to peter's advise, take a look at the SIP port 5070. FS is using port 5080 for the external SIP profile. modify the port number at "external.xml" then delete the port numbers in your proxy settings. On Sun, Sep 11, 2011 at 6:36 PM, Peter Olsson <peter.olsson@visionutveckling.se<mailto:peter.olsson@visionutveckling.se>> wrote: You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH. /Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org<mailto:freeswitch-users-bounces@lists.freeswitch.org> [freeswitch-users-bounces@lists.freeswitch.org<mailto:freeswitch-users-bounces@lists.freeswitch.org>] för Chad Vogel [cvogel@lyonl.com<mailto:cvogel@lyonl.com>] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org<mailto:freeswitch-users@lists.freeswitch.org> Ämne: [Freeswitch-users] external sip profile hello, I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3. here is the sip profile i created that isn't working: <include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070<http://4.55.35.60:5070/>"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include> here is my asterisk profile (it works): [level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070 [level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070 How can I create a sip profile that will function the same in freeswitch? !DSPAM:4e6c82af32761635315745! FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org<http://www.freeswitch.org/> FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Can you confirm if you have one-way audio? That is, an echo test won't tell you if you have one-way audio. A simple way to do this is to use the record app. It will play a file (whatever you choose, like "record at the tone..." - there are tons of sound files you can try) and then record the audio from the caller. Another test to do is to get a pcap of that call so you can analyze it in wireshark. If you have RTP going in both directions to/from the FS box then that indicates a NAT issue... -MC On Sun, Sep 11, 2011 at 7:00 PM, Chad Vogel <cvogel@lyonl.com> wrote:
Level 3 uses port 5070 for their sip server but requires port 5060 to be used on our side; I made changes to the vars.xml config file to support this. I was just able to get the server to answer a call by changing the register value to false and adding an entry in the ACL config for the Level 3 server however now it seems that the audio isn't working correctly. I'm using a simple dial plan to echo the audio back but all I get is dead air.
<extension name="level3"> <condition field="destination_number" expression="^13127567000$"> <action application="answer"/> <action application="echo" /> </condition> </extension>
On Sep 11, 2011, at 7:47 PM, Nandy Dagondon wrote:
in addition to peter's advise, take a look at the SIP port 5070. FS is using port 5080 for the external SIP profile. modify the port number at "external.xml" then delete the port numbers in your proxy settings.
On Sun, Sep 11, 2011 at 6:36 PM, Peter Olsson < peter.olsson@visionutveckling.se> wrote:
You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH.
/Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [ freeswitch-users-bounces@lists.freeswitch.org] för Chad Vogel [ cvogel@lyonl.com] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org Ämne: [Freeswitch-users] external sip profile
hello,
I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3.
here is the sip profile i created that isn't working:
<include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include>
here is my asterisk profile (it works):
[level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070
[level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070
How can I create a sip profile that will function the same in freeswitch?
!DSPAM:4e6c82af32761635315745!
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
I was able to confirm that i have one way and two way audio now (I can see it in wireshark), it seems like the echo application doesn't work correctly, it will not send out audio. when i use <action application="delay_echo" data="1000"/> in the dialplan it does seems to send out rtc traffic however the audio is static noise. when i use <action application="echo" /> it doest seem to work. any thoughts on why cant I echo test and why delay_echo sends out static noise. I tried to use the record app it creates a wav file of 44 KB but doesn't grow beyond. On Sep 12, 2011, at 7:18 PM, Michael Collins wrote: Can you confirm if you have one-way audio? That is, an echo test won't tell you if you have one-way audio. A simple way to do this is to use the record app. It will play a file (whatever you choose, like "record at the tone..." - there are tons of sound files you can try) and then record the audio from the caller. Another test to do is to get a pcap of that call so you can analyze it in wireshark. If you have RTP going in both directions to/from the FS box then that indicates a NAT issue... -MC On Sun, Sep 11, 2011 at 7:00 PM, Chad Vogel <cvogel@lyonl.com<mailto:cvogel@lyonl.com>> wrote: Level 3 uses port 5070 for their sip server but requires port 5060 to be used on our side; I made changes to the vars.xml config file to support this. I was just able to get the server to answer a call by changing the register value to false and adding an entry in the ACL config for the Level 3 server however now it seems that the audio isn't working correctly. I'm using a simple dial plan to echo the audio back but all I get is dead air. <extension name="level3"> <condition field="destination_number" expression="^13127567000$"> <action application="answer"/> <action application="echo" /> </condition> </extension> On Sep 11, 2011, at 7:47 PM, Nandy Dagondon wrote: in addition to peter's advise, take a look at the SIP port 5070. FS is using port 5080 for the external SIP profile. modify the port number at "external.xml" then delete the port numbers in your proxy settings. On Sun, Sep 11, 2011 at 6:36 PM, Peter Olsson <peter.olsson@visionutveckling.se<mailto:peter.olsson@visionutveckling.se>> wrote: You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH. /Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org<mailto:freeswitch-users-bounces@lists.freeswitch.org> [freeswitch-users-bounces@lists.freeswitch.org<mailto:freeswitch-users-bounces@lists.freeswitch.org>] för Chad Vogel [cvogel@lyonl.com<mailto:cvogel@lyonl.com>] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org<mailto:freeswitch-users@lists.freeswitch.org> Ämne: [Freeswitch-users] external sip profile hello, I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3. here is the sip profile i created that isn't working: <include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070<http://4.55.35.60:5070/>"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include> here is my asterisk profile (it works): [level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070 [level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070 How can I create a sip profile that will function the same in freeswitch? !DSPAM:4e6c82af32761635315745! FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org<http://www.freeswitch.org/> FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org<http://www.freeswitch.org/> FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org<http://www.freeswitch.org/> FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org<mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Open the pcap file in wireshark and see if the destination port in the SDP matches the actual port number to which the incoming RTP packets are being sent. My guess is the router/NAT device is messing with your RTP traffic. -MC On Mon, Sep 12, 2011 at 6:31 PM, Chad Vogel <cvogel@lyonl.com> wrote:
I was able to confirm that i have one way and two way audio now (I can see it in wireshark), it seems like the echo application doesn't work correctly, it will not send out audio. when i use <action application="delay_echo" data="1000"/> in the dialplan it does seems to send out rtc traffic however the audio is static noise. when i use <action application="echo" /> it doest seem to work. any thoughts on why cant I echo test and why delay_echo sends out static noise. I tried to use the record app it creates a wav file of 44 KB but doesn't grow beyond.
On Sep 12, 2011, at 7:18 PM, Michael Collins wrote:
Can you confirm if you have one-way audio? That is, an echo test won't tell you if you have one-way audio. A simple way to do this is to use the record app. It will play a file (whatever you choose, like "record at the tone..." - there are tons of sound files you can try) and then record the audio from the caller. Another test to do is to get a pcap of that call so you can analyze it in wireshark. If you have RTP going in both directions to/from the FS box then that indicates a NAT issue...
-MC
On Sun, Sep 11, 2011 at 7:00 PM, Chad Vogel <cvogel@lyonl.com> wrote:
Level 3 uses port 5070 for their sip server but requires port 5060 to be used on our side; I made changes to the vars.xml config file to support this. I was just able to get the server to answer a call by changing the register value to false and adding an entry in the ACL config for the Level 3 server however now it seems that the audio isn't working correctly. I'm using a simple dial plan to echo the audio back but all I get is dead air.
<extension name="level3"> <condition field="destination_number" expression="^13127567000$"> <action application="answer"/> <action application="echo" /> </condition> </extension>
On Sep 11, 2011, at 7:47 PM, Nandy Dagondon wrote:
in addition to peter's advise, take a look at the SIP port 5070. FS is using port 5080 for the external SIP profile. modify the port number at "external.xml" then delete the port numbers in your proxy settings.
On Sun, Sep 11, 2011 at 6:36 PM, Peter Olsson < peter.olsson@visionutveckling.se> wrote:
You're not giving us much information here. Please post exactly what doesn't work, and also pastebin the actual logs from FreeSWITCH.
/Peter ________________________________________ Från: freeswitch-users-bounces@lists.freeswitch.org [ freeswitch-users-bounces@lists.freeswitch.org] för Chad Vogel [ cvogel@lyonl.com] Skickat: den 11 september 2011 03:28 Till: freeswitch-users@lists.freeswitch.org Ämne: [Freeswitch-users] external sip profile
hello,
I'm trying to switch from asterisk to freeswitch; however i'm wondering how can I create a sip profile because the sip profile i created doesn't seem to function with level 3.
here is the sip profile i created that isn't working:
<include> <gateway name="Level3"> <param name="username" value="USERNAME"/> <param name="password" value="PASSWORD"/> <param name="proxy" value="4.55.35.60:5070"/> <param name="expire-seconds" value="3600"/> <param name="register-transport" value="udp"/> <param name="register" value="true"/> </gateway> </include>
here is my asterisk profile (it works):
[level3_out] type=peer nat=no host=4.55.35.60 username=***Username*** secret=***Password*** dtmfmode=rfc2833 port=5070
[level3_in] nat=no insecure=very dtmfmode=rfc2833 disallow=all context=from-trunk canreinvite=no allow=ulaw&alaw host=4.55.35.60 type=peer port=5070
How can I create a sip profile that will function the same in freeswitch?
!DSPAM:4e6c82af32761635315745!
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hello, I found this is a question that was asked before by others, but I didn't find the answer. Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server. I want the user to be able to barge-in during the system's speaking. How could I implement it? I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work. With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking. I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak) Any advices please? Thanks! Xing -- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Hi, The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes. I tried Nuance and PocketSphinx recognizers and got same problem. Any idea about what the possible causes are? Thanks! Xing On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :) On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hi Christopher, That will be great! Thanks and looking forward to your app! By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out. Cheers, Xing On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote: > Hello, > > I found this is a question that was asked before by others, but I didn't > find the answer. > > Anyway, I am using FS ESL outbound mode connecting to my IVR app, using > FS's "speak" > and "detect_speech" to access Nuance MRCP V1 server. > > I want the user to be able to barge-in during the system's speaking. > How could I implement it? > > I tried to specify "kill-on-barge-in=true" in the mrcp config profile. > The barge-in doesn't work. > > With or without setting kill-on-barge-in, FS stops responding to my > phone call and > eventually it hangs up my call if I speak somthing (do the barge-in) > during the system's speaking. > > I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not > do barge-in ( I wait until the TTS finishes then I start to speak) > > Any advices please? > > Thanks! > Xing > > >
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
I'm not sure why it locks up for you. It works for me and I know of at least one other developer that got it all to work. The way I do it in my custom APP is to set {start-input-timers=false} in the speech recognition request and register an input callback function to deal with the recognition and DTMF events. The input callback reacts to the start of speech and recognition complete events by stopping the prompt. At start of speech, the input timers are started and silence is played until the final result arrives from the recognizer (no match, match, etc). An alternative way to do this is to watch for the recognition events over ESL and react to them. On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi Christopher,
That will be great! Thanks and looking forward to your app!
By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out.
Cheers, Xing
On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
The way you did and described here is similar to what I wanted. I want to set start-input-timers=false in the initial setup, then start the recognition timer once the TTS finishes playing the prompt. I do not use input callback as I am using ESL event (Java ESL Client 0.9.2). I've not yet figured out how to know the prompt playing has finished, how to stop the TTS and how to start the input timer. I didn't get many events when I did barge-in: only got two CHANNEL_EXECUTE and CAHNNEL_EXECUTE_COMPLETE events. so didn't get the DETECTED_SPEECH at this point. In principle it shouldn't stop FS generating events when barging in, so there must be somethings wrong in my setup. From Examples_directory_lua_asr_tts in the wiki, it mentions the session needs to sleep for a few seconds before getting the results. I tried but it didn't help. On 14/11/11 14:48, Christopher Rienzo wrote:
I'm not sure why it locks up for you. It works for me and I know of at least one other developer that got it all to work.
The way I do it in my custom APP is to set {start-input-timers=false} in the speech recognition request and register an input callback function to deal with the recognition and DTMF events. The input callback reacts to the start of speech and recognition complete events by stopping the prompt. At start of speech, the input timers are started and silence is played until the final result arrives from the recognizer (no match, match, etc).
An alternative way to do this is to watch for the recognition events over ESL and react to them.
On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote:
Hi Christopher,
That will be great! Thanks and looking forward to your app!
By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out.
Cheers, Xing
On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote: > Hello, > > I found this is a question that was asked before by others, but I didn't > find the answer. > > Anyway, I am using FS ESL outbound mode connecting to my IVR app, using > FS's "speak" > and "detect_speech" to access Nuance MRCP V1 server. > > I want the user to be able to barge-in during the system's speaking. > How could I implement it? > > I tried to specify "kill-on-barge-in=true" in the mrcp config profile. > The barge-in doesn't work. > > With or without setting kill-on-barge-in, FS stops responding to my > phone call and > eventually it hangs up my call if I speak somthing (do the barge-in) > during the system's speaking. > > I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not > do barge-in ( I wait until the TTS finishes then I start to speak) > > Any advices please? > > Thanks! > Xing > > >
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Latest version of FreeSWITCH now has http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_detect_speech Give it a try and let us know if there is anything that can be improved. On Mon, Nov 14, 2011 at 12:06 PM, xl127 <x.liu@hw.ac.uk> wrote:
The way you did and described here is similar to what I wanted. I want to set start-input-timers=false in the initial setup, then start the recognition timer once the TTS finishes playing the prompt. I do not use input callback as I am using ESL event (Java ESL Client 0.9.2).
I've not yet figured out how to know the prompt playing has finished, how to stop the TTS and how to start the input timer. I didn't get many events when I did barge-in: only got two CHANNEL_EXECUTE and CAHNNEL_EXECUTE_COMPLETE events. so didn't get the DETECTED_SPEECH at this point.
In principle it shouldn't stop FS generating events when barging in, so there must be somethings wrong in my setup.
From Examples_directory_lua_asr_tts in the wiki, it mentions the session needs to sleep for a few seconds before getting the results. I tried but it didn't help.
On 14/11/11 14:48, Christopher Rienzo wrote:
I'm not sure why it locks up for you. It works for me and I know of at least one other developer that got it all to work.
The way I do it in my custom APP is to set {start-input-timers=false} in the speech recognition request and register an input callback function to deal with the recognition and DTMF events. The input callback reacts to the start of speech and recognition complete events by stopping the prompt. At start of speech, the input timers are started and silence is played until the final result arrives from the recognizer (no match, match, etc).
An alternative way to do this is to watch for the recognition events over ESL and react to them.
On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi Christopher,
That will be great! Thanks and looking forward to your app!
By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out.
Cheers, Xing
On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Great work, thanks Christopher! I've quick tested it from the dialplan based on the example. It works on my setup. Now I am trying to put it into my Java ESL app, FS complains: switch_ivr_play_say.c:1167 Invalid Args A piece of codes I am using: SendMsg msg = new SendMsg(); msg.addCallCommand("execute"); msg.addExecuteAppName("play_and_detect_speech"); String arg = "say:" + utt + " detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=5000," + "recognition-timeout=5000}" +this.crntGrammar; msg.addExecuteAppArg(arg); EslMessage response = sendSyncMultiLineCommand(channel, msg.getMsgLines()); Is there something I am missing? Cheers, Xing -----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org on behalf of Christopher Rienzo Sent: Tue 11/15/2011 20:05 To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How to implement TTS barge-in using FS ESL Latest version of FreeSWITCH now has http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_detect_speech Give it a try and let us know if there is anything that can be improved. On Mon, Nov 14, 2011 at 12:06 PM, xl127 <x.liu@hw.ac.uk> wrote:
The way you did and described here is similar to what I wanted. I want to set start-input-timers=false in the initial setup, then start the recognition timer once the TTS finishes playing the prompt. I do not use input callback as I am using ESL event (Java ESL Client 0.9.2).
I've not yet figured out how to know the prompt playing has finished, how to stop the TTS and how to start the input timer. I didn't get many events when I did barge-in: only got two CHANNEL_EXECUTE and CAHNNEL_EXECUTE_COMPLETE events. so didn't get the DETECTED_SPEECH at this point.
In principle it shouldn't stop FS generating events when barging in, so there must be somethings wrong in my setup.
From Examples_directory_lua_asr_tts in the wiki, it mentions the session needs to sleep for a few seconds before getting the results. I tried but it didn't help.
On 14/11/11 14:48, Christopher Rienzo wrote:
I'm not sure why it locks up for you. It works for me and I know of at least one other developer that got it all to work.
The way I do it in my custom APP is to set {start-input-timers=false} in the speech recognition request and register an input callback function to deal with the recognition and DTMF events. The input callback reacts to the start of speech and recognition complete events by stopping the prompt. At start of speech, the input timers are started and silence is played until the final result arrives from the recognizer (no match, match, etc).
An alternative way to do this is to watch for the recognition events over ESL and react to them.
On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi Christopher,
That will be great! Thanks and looking forward to your app!
By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out.
Cheers, Xing
On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
You are missing the tts_engine. Set the tts_engine channel variable to "unimrcp:nuance5-mrcp1-1" or set the default tts profile to nuance5-mrcp1-1 in the unimrcp.conf.xml file and use "say:unimrcp:text to speak" On Wed, Nov 16, 2011 at 7:36 AM, Liu, Xingkun <X.Liu@hw.ac.uk> wrote:
**
Great work, thanks Christopher!
I've quick tested it from the dialplan based on the example. It works on my setup.
Now I am trying to put it into my Java ESL app, FS complains:
switch_ivr_play_say.c:1167 Invalid Args
A piece of codes I am using:
SendMsg msg = new SendMsg(); msg.addCallCommand("execute"); msg.addExecuteAppName("play_and_detect_speech"); String arg = "say:" + utt + " detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=5000," + "recognition-timeout=5000}" +this.crntGrammar; msg.addExecuteAppArg(arg); EslMessage response = sendSyncMultiLineCommand(channel, msg.getMsgLines());
Is there something I am missing?
Cheers,
-----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org on behalf of Christopher Rienzo Sent: Tue 11/15/2011 20:05 To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How to implement TTS barge-in using FS ESL
Latest version of FreeSWITCH now has http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_detect_speech Give it a try and let us know if there is anything that can be improved.
On Mon, Nov 14, 2011 at 12:06 PM, xl127 <x.liu@hw.ac.uk> wrote:
The way you did and described here is similar to what I wanted. I want to set start-input-timers=false in the initial setup, then start the recognition timer once the TTS finishes playing the prompt. I do not use input callback as I am using ESL event (Java ESL Client 0.9.2).
I've not yet figured out how to know the prompt playing has finished, how to stop the TTS and how to start the input timer. I didn't get many events when I did barge-in: only got two CHANNEL_EXECUTE and CAHNNEL_EXECUTE_COMPLETE events. so didn't get the DETECTED_SPEECH at this point.
In principle it shouldn't stop FS generating events when barging in, so there must be somethings wrong in my setup.
From Examples_directory_lua_asr_tts in the wiki, it mentions the session needs to sleep for a few seconds before getting the results. I tried but it didn't help.
On 14/11/11 14:48, Christopher Rienzo wrote:
I'm not sure why it locks up for you. It works for me and I know of at least one other developer that got it all to work.
The way I do it in my custom APP is to set {start-input-timers=false} in the speech recognition request and register an input callback function to deal with the recognition and DTMF events. The input callback reacts to the start of speech and recognition complete events by stopping the prompt. At start of speech, the input timers are started and silence is played until the final result arrives from the recognizer (no match, match, etc).
An alternative way to do this is to watch for the recognition events over ESL and react to them.
On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi Christopher,
That will be great! Thanks and looking forward to your app!
By the way, do you have a quick thoughts about the reasons the FS stucks when garge-in occurs? Otherwise if it is not straightforward to explain it, just leave it alone until your new app comes out.
Cheers, Xing
On 14/11/11 13:23, Christopher Rienzo wrote:
I'll write up a dialplan app this week to deal with this. Getting tired of being asked the same question over and over since it's too complicated as is currently designed :)
On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk> wrote:
Hi,
The first problem I need to solve is that FS stucks when I speak during the prompt is playing. It looks like the recognizer is not listening any more. It works fine if I speak after the playing prompt finishes.
I tried Nuance and PocketSphinx recognizers and got same problem.
Any idea about what the possible causes are?
Thanks! Xing
On 11/11/11 18:59, xl127 wrote:
Hello,
I found this is a question that was asked before by others, but I didn't find the answer.
Anyway, I am using FS ESL outbound mode connecting to my IVR app, using FS's "speak" and "detect_speech" to access Nuance MRCP V1 server.
I want the user to be able to barge-in during the system's speaking. How could I implement it?
I tried to specify "kill-on-barge-in=true" in the mrcp config profile. The barge-in doesn't work.
With or without setting kill-on-barge-in, FS stops responding to my phone call and eventually it hangs up my call if I speak somthing (do the barge-in) during the system's speaking.
I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do not do barge-in ( I wait until the TTS finishes then I start to speak)
Any advices please?
Thanks! Xing
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Professional FreeSWITCH Consulting Services:consulting @freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://
www.cudatel.com
Official FreeSWITCH
Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp:// www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users
@lists.freeswitch.orghttp:// lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt
University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting @freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://
www.cudatel.com
Official FreeSWITCH
Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp:// www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users
@lists.freeswitch.orghttp:// lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE: http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt
University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Hi Christopher, Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues). I have a couple of questions here: 1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server 99.185.85.31:554, later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module! The SYNTHESIZER channel error and Invalid TTS module error are obvious. What I don't understand is why it went to this stange address: 99.185.85.31:554? 2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice. How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.) 3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in. 4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful. 5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing. The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result. Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events? 6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this? Apologies for so many questions! Cheers, Xing On 16/11/11 13:10, Christopher Rienzo wrote:
You are missing the tts_engine. Set the tts_engine channel variable to "unimrcp:nuance5-mrcp1-1" or set the default tts profile to nuance5-mrcp1-1 in the unimrcp.conf.xml file and use "say:unimrcp:text to speak"
On Wed, Nov 16, 2011 at 7:36 AM, Liu, Xingkun <X.Liu@hw.ac.uk <mailto:X.Liu@hw.ac.uk>> wrote:
Great work, thanks Christopher!
I've quick tested it from the dialplan based on the example. It works on my setup.
Now I am trying to put it into my Java ESL app, FS complains:
switch_ivr_play_say.c:1167 Invalid Args
A piece of codes I am using:
SendMsg msg = new SendMsg(); msg.addCallCommand("execute"); msg.addExecuteAppName("play_and_detect_speech"); String arg = "say:" + utt + " detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=5000," + "recognition-timeout=5000}" +this.crntGrammar; msg.addExecuteAppArg(arg); EslMessage response = sendSyncMultiLineCommand(channel, msg.getMsgLines());
Is there something I am missing?
Cheers,
-----Original Message----- From: freeswitch-users-bounces@lists.freeswitch.org <mailto:freeswitch-users-bounces@lists.freeswitch.org> on behalf of Christopher Rienzo Sent: Tue 11/15/2011 20:05 To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] How to implement TTS barge-in using FS ESL
Latest version of FreeSWITCH now has http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_detect_speech Give it a try and let us know if there is anything that can be improved.
On Mon, Nov 14, 2011 at 12:06 PM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote:
> The way you did and described here is similar to what I wanted. > I want to set start-input-timers=false in the initial setup, then start > the recognition timer once the TTS finishes playing the prompt. > I do not use input callback as I am using ESL event (Java ESL Client > 0.9.2). > > I've not yet figured out how to know the prompt playing has finished, how > to stop the TTS and how to start the input timer. > I didn't get many events when I did barge-in: only got two CHANNEL_EXECUTE > and CAHNNEL_EXECUTE_COMPLETE events. > so didn't get the DETECTED_SPEECH at this point. > > In principle it shouldn't stop FS generating events when barging in, so > there must be somethings wrong in my setup. > > From Examples_directory_lua_asr_tts in the wiki, it mentions the session > needs to sleep for a few seconds before getting the results. > I tried but it didn't help. > > > > > On 14/11/11 14:48, Christopher Rienzo wrote: > > I'm not sure why it locks up for you. It works for me and I know of at > least one other developer that got it all to work. > > The way I do it in my custom APP is to set {start-input-timers=false} in > the speech recognition request and register an input callback function to > deal with the recognition and DTMF events. The input callback reacts to > the start of speech and recognition complete events by stopping the > prompt. At start of speech, the input timers are started and silence is > played until the final result arrives from the recognizer (no match, match, > etc). > > An alternative way to do this is to watch for the recognition events over > ESL and react to them. > > > > On Mon, Nov 14, 2011 at 9:19 AM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote: > >> Hi Christopher, >> >> That will be great! Thanks and looking forward to your app! >> >> By the way, do you have a quick thoughts about the reasons the FS stucks >> when garge-in occurs? >> Otherwise if it is not straightforward to explain it, just leave it >> alone until your new app comes out. >> >> Cheers, >> Xing >> >> >> >> >> On 14/11/11 13:23, Christopher Rienzo wrote: >> >> I'll write up a dialplan app this week to deal with this. Getting tired >> of being asked the same question over and over since it's too complicated >> as is currently designed :) >> >> >> >> >> On Mon, Nov 14, 2011 at 8:07 AM, xl127 <x.liu@hw.ac.uk <mailto:x.liu@hw.ac.uk>> wrote: >> >>> Hi, >>> >>> The first problem I need to solve is that FS stucks when I speak during >>> the prompt is playing. >>> It looks like the recognizer is not listening any more. It works fine if >>> I speak after the playing prompt finishes. >>> >>> I tried Nuance and PocketSphinx recognizers and got same problem. >>> >>> Any idea about what the possible causes are? >>> >>> Thanks! >>> Xing >>> >>> >>> On 11/11/11 18:59, xl127 wrote: >>> > Hello, >>> > >>> > I found this is a question that was asked before by others, but I >>> didn't >>> > find the answer. >>> > >>> > Anyway, I am using FS ESL outbound mode connecting to my IVR app, >>> using >>> > FS's "speak" >>> > and "detect_speech" to access Nuance MRCP V1 server. >>> > >>> > I want the user to be able to barge-in during the system's speaking. >>> > How could I implement it? >>> > >>> > I tried to specify "kill-on-barge-in=true" in the mrcp config profile. >>> > The barge-in doesn't work. >>> > >>> > With or without setting kill-on-barge-in, FS stops responding to my >>> > phone call and >>> > eventually it hangs up my call if I speak somthing (do the barge-in) >>> > during the system's speaking. >>> > >>> > I made a turn-by-turn loop in my app, the ASR/TTS works fine if I do >>> not >>> > do barge-in ( I wait until the TTS finishes then I start to speak) >>> > >>> > Any advices please? >>> > >>> > Thanks! >>> > Xing >>> > >>> > >>> > >>> >>> >>> >>> -- >>> Heriot-Watt University is a Scottish charity >>> registered under charity number SC000278. >>> >>> Heriot-Watt University is the Sunday Times >>> Scottish University of the Year 2011-2012 >>> >>> >>> >>> _________________________________________________________________________ >>> Professional FreeSWITCH Consulting Services: >>> consulting@freeswitch.org <mailto:consulting@freeswitch.org> >>> http://www.freeswitchsolutions.com >>> >>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >>> http://www.cudatel.com >>> >>> Official FreeSWITCH Sites >>> http://www.freeswitch.org >>> http://wiki.freeswitch.org >>> http://www.cluecon.com >>> >>> FreeSWITCH-users mailing list >>> FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> >>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users >>> http://www.freeswitch.org >>> >> >> >> >> _________________________________________________________________________ >> Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com>
>> >> FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com <http://www.cudatel.com> >> >> Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com <http://www.cluecon.com> >> >> FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees... >> >> >> >> ------------------------------ >> >> [image: Scottish University of the Year 2011-12] *Heriot-Watt
>> University is the Sunday Times >> >> Scottish University of the Year 2011-2012 >> * >> >> Heriot-Watt University is a Scottish charity >> registered under charity number SC000278. >> >> _________________________________________________________________________ >> Professional FreeSWITCH Consulting Services: >> consulting@freeswitch.org <mailto:consulting@freeswitch.org> >> http://www.freeswitchsolutions.com >> >> FreeSWITCH-powered IP PBX: The CudaTel Communication Server >> http://www.cudatel.com >> >> Official FreeSWITCH Sites >> http://www.freeswitch.org >> http://wiki.freeswitch.org >> http://www.cluecon.com >> >> FreeSWITCH-users mailing list >> FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> >> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users >> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users >> http://www.freeswitch.org >> >> > > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com>
> > FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com <http://www.cudatel.com> > > Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com <http://www.cluecon.com> > > FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users> > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees... > > > > ------------------------------ > > [image: Scottish University of the Year 2011-12] *Heriot-Watt
> University is the Sunday Times > Scottish University of the Year 2011-2012*
> > Heriot-Watt University is a Scottish charity > registered under charity number SC000278. > > _________________________________________________________________________ > Professional FreeSWITCH Consulting Services: > consulting@freeswitch.org <mailto:consulting@freeswitch.org> > http://www.freeswitchsolutions.com > > FreeSWITCH-powered IP PBX: The CudaTel Communication Server > http://www.cudatel.com > > Official FreeSWITCH Sites > http://www.freeswitch.org > http://wiki.freeswitch.org > http://www.cluecon.com > > FreeSWITCH-users mailing list > FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-users > UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users > http://www.freeswitch.org > >
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Responses inline Now it works in my ESL app though I am just able to do one dialogue ( I
need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server 99.185.85.31:554, later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: 99.185.85.31:554?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
Hi Christopher, The questions are cleared to me now. Many thanks for your explanations! Best regards, Xing On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server 99.185.85.31:554 <http://99.185.85.31:554>, later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Hi Christopher, After some more tests, I found followings: 1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results. 2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance in which I removed the "say:" part. But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable) I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below. 3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine. If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource. If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow. Any ideas? Thanks! Xing On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>, later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested: silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I
need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554<http://99.185.85.31:554> ,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be * *MailScanner warning: numerical links are often malicious:*99.185.85.31:554<http://99.185.85.31:554> ?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: MailScanner Signature HW] *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Yeah, you suggested to use a silence prompt. Sorry I didn't know the format to specify it and didn't realise there is an existing specific way to specify it. Now I know :-) Thanks! Xing On 17/11/11 13:37, Christopher Rienzo wrote:
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested:
silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Actually in that silence prompt suggestion I gave, use {start-input-timers=true} On Thu, Nov 17, 2011 at 8:37 AM, Christopher Rienzo <cmrienzo@gmail.com>wrote:
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested:
silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue (
I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554<http://99.185.85.31:554> ,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be * *MailScanner warning: numerical links are often malicious:*99.185.85.31:554<http://99.185.85.31:554> ?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: Scottish University of the Year 2011-12] *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services:consulting@freeswitch.orghttp://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Serverhttp://www.cudatel.com
Official FreeSWITCH Siteshttp://www.freeswitch.orghttp://wiki.freeswitch.orghttp://www.cluecon.com
FreeSWITCH-users mailing listFreeSWITCH-users@lists.freeswitch.orghttp://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-usershttp://www.frees...
------------------------------
[image: MailScanner Signature HW] *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Yeah, I see, it should be set to true there. Thanks for reminding me this. On 17/11/11 15:48, Christopher Rienzo wrote:
Actually in that silence prompt suggestion I gave, use {start-input-timers=true}
On Thu, Nov 17, 2011 at 8:37 AM, Christopher Rienzo <cmrienzo@gmail.com <mailto:cmrienzo@gmail.com>> wrote:
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested:
silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
I want to specify <grammar> for play_and_detect_speech using URI format. I am running a Tomcat server that hosts the grammars and I am sure it can be accessed from local machine or from a different machine. If I use http://localhost:8084/grammars/FS_Nuance/myGrammar.gram or http://127.0.0.1:8084/grammars/FS_Nuance/myGrammar.gram FS got grammar loading failure (MRCP/1.0 1 407 COMPLETE) If I change localhost to my concrete external IP, it works for Nuance server, but not for Voxeo Prophecy server. I also have difficulties to specify URI grammars for detect_speech. Any suggestions please? Thanks, Xing On 17/11/11 16:21, xl127 wrote:
Yeah, I see, it should be set to true there. Thanks for reminding me this.
On 17/11/11 15:48, Christopher Rienzo wrote:
Actually in that silence prompt suggestion I gave, use {start-input-timers=true}
On Thu, Nov 17, 2011 at 8:37 AM, Christopher Rienzo <cmrienzo@gmail.com <mailto:cmrienzo@gmail.com>> wrote:
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested:
silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
Now I see the reason for localhost not working with MRCP server is that the URI address is sent to the MRCP server rather than used to fetch the grammars in FS side. (if just using grammar name, it seems the grammar is fetched from FS side and sent to MRCP server) so the localhost means the MRCP server, not my FS (with Tomcat server running) machine. The problem for Voxeo Prophecy: From the Prophecy log, it has http:\\x.x.x.x:8084\Iced_FS_AsrSluTts\grammars\FS_Nuance\pizza_order_voxeo.gram MRCPServerAPP/Couldn't process new grammar - Content-Id header is missing. MRCPServerAPP/Failed to start speech recognition. Could not process the grammar specified. It looks like the http URI was translated into a format of a file directory. Is this because of FS or because of Voxeo Prophecy MRCP Server? On 18/11/11 17:33, xl127 wrote:
I want to specify <grammar> for play_and_detect_speech using URI format.
I am running a Tomcat server that hosts the grammars and I am sure it can be accessed from local machine or from a different machine.
If I use http://localhost:8084/grammars/FS_Nuance/myGrammar.gram or http://127.0.0.1:8084/grammars/FS_Nuance/myGrammar.gram
FS got grammar loading failure (MRCP/1.0 1 407 COMPLETE)
If I change localhost to my concrete external IP, it works for Nuance server, but not for Voxeo Prophecy server.
I also have difficulties to specify URI grammars for detect_speech.
Any suggestions please?
Thanks, Xing
On 17/11/11 16:21, xl127 wrote:
Yeah, I see, it should be set to true there. Thanks for reminding me this.
On 17/11/11 15:48, Christopher Rienzo wrote:
Actually in that silence prompt suggestion I gave, use {start-input-timers=true}
On Thu, Nov 17, 2011 at 8:37 AM, Christopher Rienzo <cmrienzo@gmail.com <mailto:cmrienzo@gmail.com>> wrote:
After some more tests, I found followings:
1. Testing from dialplan, the log output is the string of "CRIT ${speech_detect_result}" rather than the recognition results.
oops
2. Regarding to non barge in, I first send "speak" command then send play_and_detect_speech with parameter: detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000,recognition-timeout=25000}dudeYNNC_Nuance
in which I removed the "say:" part.
But very soon I received event CHANNEL_EXECUTE_COMPLETE for play_and_detect_speech before the text playing finishes, and speech_detect_result is null (actually the event header does not contain this variable)
I tried with "say:" part with empty text like "say:unimrcp:en-GB: " but it doesn't work, see issue 3 below.
Try with silence as I originally suggested:
silence_stream://1000 detect:unimrcp:nuance5-mrcp1-1 {start-input-timers=false,no-input-timeout=25000, recognition-timeout=25000}dudeYNNC_Nuance
3. It seems that I can not send "speak" command twice before the first one finishes. In my case I run one port TTS server on one machine.
If I send the command twice FS will give me Synthesizer Error/Invalid TTS Module. I thought the TTS request would be queued rather than it immediately looks for the TTS resource.
If I send the second command to another TTS machine, no error occurs but I can only hear one utterance being spoken, it looks like one utteraance was dropped somehow.
Wait for speak to finish before starting a new one.
On 16/11/11 16:51, xl127 wrote:
Hi Christopher,
The questions are cleared to me now. Many thanks for your explanations!
Best regards,
On 16/11/11 15:52, Christopher Rienzo wrote:
Responses inline
Now it works in my ESL app though I am just able to do one dialogue ( I need to add the event catching for furthur dialgoues).
I have a couple of questions here:
1. In the first try, my Nuance server was able to be accessed somehow (FS says the MRCP is not responding in 5000ms, something like that), then FS says: [WARNING] rtsp_client.c:386 () Failed to Connect to RTSP Server *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>,
later FS says: [ERR] mod_unimrcp.c:1860 (TTS-6) SYNTHESIZER channel error! [ERR] switch_ivr_play_say.c:2439 Invalid TTS module!
The SYNTHESIZER channel error and Invalid TTS module error are obvious.
What I don't understand is why it went to this stange address: *MailScanner has detected a possible fraud attempt from "99.185.85.31:554" claiming to be* *MailScanner warning: numerical links are often malicious:* 99.185.85.31:554 <http://99.185.85.31:554>?
check your unimrcp configuration. Make sure the default TTS and ASR profiles are set to actual servers.
2. I specified TTS engine in play_and_detect_speech as "say:unimrcp:nuance5-mrcp1-1: the text to speak" It works though I didn't specify the TTS voice.
How do I specify the TTS voice? In the mrcp profile (how?)? or something like: "say:unimrcp:nuance5-mrcp1-1:Serena: the text to speak" (this seems not right.)
That won't work. Set the tts_engine variable as I explained previously, or use say:unimrcp:voice:text to speak with the desired voice and the correct default TTS profile defined in unimrcp.conf.xml. This is a limitation of the say: notation. Alternatively, the voice can be defined with the tts_voice channel variable.
3. The barge-in works well, thanks!. Is the barge-in configurable? In some scenarios, we might not allow barge-in.
If you don't want to barge in, just do "playback (or speak)" first, then "play_and_detect_speech" with a silence prompt.
4. How could I get the text which has spoken to the user when barge-in occurs? Or Could I get the time when barge-in occurs? If I know the barge-in time and rough totale time for the whole text to be spoken I can figure out the spoken text by manually checking the recorded audio file later, which would be painful.
If this is necessary, you might want to use the lower-level functions instead to watch for the begin-speaking event.
5. when I use "speak" and "detect_speech" apps in ESL, I can catch event: DETECTED_SPEECH and speech-type: begin-speaking and "detected-speech", then I do the recognition results processing.
The new app play_and_detect_speech seems not generate these events any more. The way that I can think of to get the results is to catch event:CHANNEL_EXECUTE_COMPLETE then check if variable_current_application=play_and_detect_speech, then get the results from variable_detect_speech_result.
Is this the proper way to get the results in ESL app? Or will play_and_detect_speech later on be consistent with detect_speech in term of ASR events?
play_and_detect_speech is a higher level abstraction to simplify things. If you want to have more control, go back to using the ESL events. Reading the code in mod_dptools and switch_ivr_async will give you hints about how to do it correctly.
6. I'd like to set start-input-timers=false in the initial request then start the recognition timers (start-input-timers=true) after the TTS finishes. How possibly could I do this?
This is automatically done in the switch_ivr_play_and_detect_speech() function. You just need to specify start-input-timers=false in the beginning.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
Scottish University of the Year 2011-12 *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times
Scottish University of the Year 2011-2012 *
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <mailto:consulting@freeswitch.org> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <mailto:FreeSWITCH-users@lists.freeswitch.org> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
------------------------------------------------------------------------
MailScanner Signature HW *Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012*
Heriot-Watt University is a Scottish charity registered under charity number SC000278.
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Heriot-Watt University is a Scottish charity registered under charity number SC000278. Heriot-Watt University is the Sunday Times Scottish University of the Year 2011-2012
participants (7)
-
Chad Vogel
-
Christopher Rienzo
-
Liu, Xingkun
-
Michael Collins
-
Nandy Dagondon
-
Peter Olsson
-
xl127