RestComm / Restcomm-Connect

The Open Source Cloud Communications Platform
http://www.restcomm.com/
GNU Affero General Public License v3.0
244 stars 215 forks source link

Ispeech transcription error. #867

Open leftyb opened 8 years ago

leftyb commented 8 years ago

When testing ispeech functionality on restcomm-docker the this error appeared:

Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'transcription_text' cannot be null The error may involve org.mobicents.servlet.sip.restcomm.dao.TranscriptionsDao.addTranscription-Inline The error occurred while setting parameters SQL: INSERT INTO restcomm_transcriptions (sid, date_created, date_updated, account_sid, status, recording_sid, duration, transcription_text, price, uri) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?); Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'transcription_text' cannot be null: org.mobicents.servlet.restcomm.fsm.TransitionFailedException: org.apache.ibatis.exceptions.PersistenceException: Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'transcription_text' cannot be null The error may involve org.mobicents.servlet.sip.restcomm.dao.TranscriptionsDao.addTranscription-Inline The error occurred while setting parameters SQL: INSERT INTO restcomm_transcriptions (sid, date_created, date_updated, account_sid, status, recording_sid, duration, transcription_text, price, uri) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?); Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'transcription_text' cannot be null at org.mobicents.servlet.restcomm.fsm.FiniteStateMachine.transition(FiniteStateMachine.java:89) [restcomm.commons-RaaS-7.5.RC1.92.jar:]_

planktonli commented 8 years ago

hi, jean, im trying to fix the bug of RestComm #867. And i want to know when this bug #867 can happen, that is to say in which UI and which function make it occur?
I have checked the restcomm.asr, and didn't find problem in it. I think the java class named TranscriptionsDao,java of restcomm.dao could lead to the bug #867 .Thus i try to find the class which will call the restcomm.asr and restcomm.dao.TranscriptionsDao. To now, i have make it clear that the SubVoiceInterpreter and VoiceInterpreter will do it. But i still don't know in which condiotn the SubVoiceInterpreter and VoiceInterpreter will be called and this can make it clear that why the null is transfered to transcription_text field of MySQL? And i still want to know how to creat the MySQL database for out RestComm and the table structures of it?

在 2016-03-09 17:53:17,"Jean Deruelle" notifications@github.com 写道:

Assigned #867 to @planktonli.

— Reply to this email directly or view it on GitHub.

planktonli commented 8 years ago

hi,Jean, i have known that the RestComm use the HSQLDB and table structures are saved in restcomm.script.

在 2016-03-09 17:53:17,"Jean Deruelle" notifications@github.com 写道:

Assigned #867 to @planktonli.

— Reply to this email directly or view it on GitHub.

gvagenas commented 8 years ago

@planktonli to reproduce this issue you need to create an RVD application that records a message from the caller and then attempts to transcribe the recorded message to text.

The application should use verb Record with transcribe=true, see documentation here: http://docs.telestax.com/restcomm-rcml-record/

Restcomm uses http://www.ispeech.org/#/home to support the transcribe feature. So you will need to create a developer account (free) at http://www.ispeech.org/#/home and using the API key and secret you will have to configure Restcomm to use the ispeech service.

The easiest way to setup and run Restcomm will be using the Restcomm docker. Check documentation for the Restcomm docker image here: http://docs.telestax.com/restcomm-pages/

Thanks George