Asterisk UniMRCP Modules 1.5.0 release has been published and can be downloaded from the following location:
http://www.unimrcp.org/asterisk-modules-1.5.0
The released source package contains bare modules compatible with the following versions of Asterisk and UniMRCP:
- Asterisk 1.6, 1.8, 10, 11, 12, 13 and 14
- UniMRCP > 1.1.0
The detailed list of changes introduced in this release follows.
1. Generic Speech Recognition API (res_speech_unimrcp.so)
- Allow built-in and HTTP grammars be specified with SpeechActivateGrammar().
- Fixed a crash in processing of on_terminate_event() occurred when the MRCP server unexpectedly disconnects while recognition is in progress. Issue #13.
- Fixed a compilation warning by taking out an unused variable.
2. Dialplan Applications (app_unimrcp.so)
2.1. MRCPSynth()
- Initialized all the dispatcher event handlers to prevent an unconditional move reported by valgrind, which could occur on an unexpected session termination initiated by the MRCP server.
- Instead of calculating bytes per sample on every written frame, do it once per speech channel creation.
2.2. MRCPRecog()
- Fixed a possible invalid read attempt reported by valgrind, which could occur as a result of mrcp_application_session_id_get() being called after mrcp_application_channel_add() completed with an error.
- Initialized all the dispatcher event handlers to prevent an unconditional move reported by valgrind, which could occur on an unexpected session termination initiated by the MRCP server.
- Fixed the name of grammar delimiters option in documentation (not a functional change).
- Improved the detection of end of file play by using ast_channel_streamid() and ast_channel_timingfunc(), when available. Fixed issue #14. Thanks scgm11.
2.3. SynthAndRecog()
- Fixed a possible invalid read attempt reported by valgrind, which could occur as a result of mrcp_application_session_id_get() being called after mrcp_application_channel_add() completed with an error.
- Initialized all the dispatcher event handlers to prevent an unconditional move reported by valgrind, which could occur on an unexpected session termination initiated by the MRCP server.
- Improved the detection of end of file play by using ast_channel_streamid() and ast_channel_timingfunc(), when available. Fixed issue #14. Thanks scgm11.
2.4. Framework
- Fixed the application options bitmasks. Issue #7. Thanks Borja.
- Replaced hard-coded SPEECH_CHANNEL_TIMEOUT by a new configuration parameter speech-channel-timeout, which can be set from mrcp.conf. Merged pull request #9. Thanks Userator.
- Added support for 16 kHz sampling rate.
- Use UniMRCP var directory instead of data for SPEECH_CHANNEL_DUMP_DIR.
- Fixed a transcoding issue when Asterisk 13 and above is used with a native format being neither PCMU, PCMA or Linear PCM.
- Added support for a new grammar type "application/xml" used to dynamically load an XML-based speech context for the Google SR plugin.
3. Miscellaneous
- Enhanced the version detection routine in asterisk.m4 by stripping off additional trailing characters, if present.
- Added a test for Asterisk include directory in asterisk.m4 by returning an error, if not found.
- Added a new configure option --with-asterisk-doc, which allows to explicitly specify the location of Asterisk XML documentation directory. If not set, the directory is implicitly determined as before.
- Added support for Asterisk 14. Fixed issue #15.
Thanks for using UniMRCP.
--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org