Closed phrohdoh closed 7 years ago
Please enable the scripts debug mode by setting $debug = 1 in the 'User defined parameters' exction at the top of the script. Also have a look at my comments for issue #33
5 seconds of silence:
-- Attempting call on SIP/kazoo/1972XXXXXXX for s@kazoo-test-taryn:1 (Retry 1)
== Using SIP RTP CoS mark 5
-- Called kazoo/1972XXXXXXX
-- SIP/kazoo-00000004 is ringing
-- SIP/kazoo-00000004 is making progress
-- SIP/kazoo-00000004 answered
-- Executing [s@kazoo-test-taryn:1] Answer("SIP/kazoo-00000004", "") in new stack
-- Executing [s@kazoo-test-taryn:2] AGI("SIP/kazoo-00000004", "googletts.agi,"This is a simple google text to speech test in english.",en") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/googletts.agi
<SIP/kazoo-00000004>AGI Tx >> agi_request: googletts.agi
<SIP/kazoo-00000004>AGI Tx >> agi_channel: SIP/kazoo-00000004
<SIP/kazoo-00000004>AGI Tx >> agi_language: en
<SIP/kazoo-00000004>AGI Tx >> agi_type: SIP
<SIP/kazoo-00000004>AGI Tx >> agi_uniqueid: 1482954710.8
<SIP/kazoo-00000004>AGI Tx >> agi_version: 13.13.0
<SIP/kazoo-00000004>AGI Tx >> agi_callerid: 972XXXXXXX
<SIP/kazoo-00000004>AGI Tx >> agi_calleridname: 1972XXXXXXX
<SIP/kazoo-00000004>AGI Tx >> agi_callingpres: 0
<SIP/kazoo-00000004>AGI Tx >> agi_callingani2: 0
<SIP/kazoo-00000004>AGI Tx >> agi_callington: 0
<SIP/kazoo-00000004>AGI Tx >> agi_callingtns: 0
<SIP/kazoo-00000004>AGI Tx >> agi_dnid: unknown
<SIP/kazoo-00000004>AGI Tx >> agi_rdnis: unknown
<SIP/kazoo-00000004>AGI Tx >> agi_context: kazoo-test-taryn
<SIP/kazoo-00000004>AGI Tx >> agi_extension: s
<SIP/kazoo-00000004>AGI Tx >> agi_priority: 2
<SIP/kazoo-00000004>AGI Tx >> agi_enhanced: 0.0
<SIP/kazoo-00000004>AGI Tx >> agi_accountcode:
<SIP/kazoo-00000004>AGI Tx >> agi_threadid: 139668928726784
<SIP/kazoo-00000004>AGI Tx >> agi_arg_1: This is a simple google text to speech test in english.
<SIP/kazoo-00000004>AGI Tx >> agi_arg_2: en
<SIP/kazoo-00000004>AGI Tx >>
<SIP/kazoo-00000004>AGI Rx << CHANNEL STATUS
<SIP/kazoo-00000004>AGI Tx >> 200 result=6
<SIP/kazoo-00000004>AGI Rx << GET FULL VARIABLE ${CHANNEL(audionativeformat)}
<SIP/kazoo-00000004>AGI Tx >> 200 result=1 ((ulaw))
<SIP/kazoo-00000004>AGI Rx << NOOP " -- googletts.agi: Text passed for synthesis: This is a simple google text to speech test in english."
<SIP/kazoo-00000004>AGI Tx >> 200 result=0
<SIP/kazoo-00000004>AGI Rx << NOOP " -- googletts.agi: Language: en, Interrupt keys: , Sample rate: 8000"
<SIP/kazoo-00000004>AGI Tx >> 200 result=0
<SIP/kazoo-00000004>AGI Rx << NOOP " -- googletts.agi: Speed: 1, Caching: 1, Cache dir: /tmp"
<SIP/kazoo-00000004>AGI Tx >> 200 result=0
<SIP/kazoo-00000004>AGI Rx << NOOP " -- googletts.agi: File already in cache."
<SIP/kazoo-00000004>AGI Tx >> 200 result=0
<SIP/kazoo-00000004>AGI Rx << STREAM FILE /tmp/9c45b949ba1c0594e69d73586c34c386 ""
-- <SIP/kazoo-00000004> Playing '/tmp/9c45b949ba1c0594e69d73586c34c386.slin' (escape_digits=) (sample_offset 0) (language 'en')
<SIP/kazoo-00000004>AGI Tx >> 200 result=0 endpos=30720
-- <SIP/kazoo-00000004>AGI Script googletts.agi completed, returning 0
-- Auto fallthrough, channel 'SIP/kazoo-00000004' status is 'UNKNOWN'
[Dec 28 13:52:02] NOTICE[59086]: pbx_spool.c:426 attempt_thread: Call completed to SIP/kazoo/1972XXXXXXX
For what it is worth:
root@arsenic2:~# ls -Fla /tmp
total 80
drwxrwxrwt 4 root root 4096 Dec 28 13:24 ./
drwxr-xr-x 22 root root 4096 Dec 20 06:49 ../
-rw------- 1 root root 1273 Dec 22 11:17 7ycp6uL4UP
-rw-r--r-- 1 root root 61440 Dec 22 11:29 9c45b949ba1c0594e69d73586c34c386.sln
drwx------ 2 root root 4096 Dec 22 11:05 EgzUQ1wo9C/
drwx------ 2 root root 4096 Dec 22 11:02 ls_vqn6C9J/
Try playing the cached file with sox to see if it contains any sound data:
play -t raw -r 8000 -e signed -b 16 -c 1 /tmp/9c45b949ba1c0594e69d73586c34c386.sln
If you hear any speech then the problem is somewhere within your asterisk setup not the TTS script itself. If nothing plays back then delete the cached file and try running the test again. Make a few changes to the script to keep all the temporary and intermediate files in order to check them and see in which step the data gets lost.
Change line 200 to: ($fh, $tmpname) = tempfile("ggl_XXXXXXXX", DIR => $tmpdir, UNLINK => 0);
Commend out lines 229: unlink "$tmpname.wav";
and 371: unlink glob "$tmpname*";
Run the test again. In your temp folder you will find an mp3 file with the data we got from Google. A wav file that is the decoded data we get after running mpg123, and finally the sln file that is the raw LPCM we get after running sox and it's the data we use in asterisk. Try playing back all of them and see if they contain any sound.
This isn't a machine I have direct access to so I can't listen directly to any audio output. I'll talk with the project's sysadmin and see what we can do then I'll give this a try, thank you!
You can probably scp the files in a local machine and test them there.
Oh, of course. It is very late here, please forgive the ignorance.
The output says that
/tmp/9c45b949ba1c0594e69d73586c34c386.slin
is being played but I hear no audio.