Nuance Integration with Asterisk Speech API

3,407 views
Skip to first unread message

Jesse Jones

unread,
Dec 20, 2011, 2:22:37 PM12/20/11
to UniMRCP
Hello,

I'm having a problem getting the Asterisk Speech API to work with
Nuance. I have been successful running both MRCPSynth() and
MRCPRecog() but have not been able to get SpeechCreate() etc. to
work. I made sure to preload the res-speech module in modules.conf
and in the CLI running core show applications I do see all of the
Speech API applications. My first guess is something's wrong with my
config. I have read similar posts and looked at port settings but I'm
missing something.

All instances of Asterisk, mrcp, and Nuance run locally on the box. We
are running on CentOS 64bit.

I have the configs and dialplan debug below. Let me know if I can
provide any additional information.

I appreciate any help!

Thanks,

Jesse Jones

/usr/local/unimrcp/conf/client-profiles/

unimrcp.xml

<?xml version="1.0" encoding="UTF-8"?>
<!-- UniMRCP client document -->
<unimrcpclient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../unimrcpclient.xsd"
version="1.0">
<settings>
<!-- SIP MRCPv2 settings -->
<sip-settings id="UniMRCP-SIP-Settings">
<!-- Server address should be explicitly specified, it defaults
to "ip" address set in the properties. -->
<!-- <server-ip>127.0.0.1</server-ip> -->
<server-port>8060</server-port>
<!-- <force-destination>true</force-destination> -->
</sip-settings>

<!-- RTSP MRCPv1 settings -->
<rtsp-settings id="UniMRCP-RTSP-Settings">
<!-- Server address should be explicitly specified, it defaults
to "ip" address set in the properties. -->
<!-- <server-ip>10.10.0.1</server-ip> -->
<server-port>1554</server-port>
<!-- <force-destination>true</force-destination> -->
<resource-location>media</resource-location>
<resource-map>
<param name="speechsynth" value="speechsynthesizer"/>
<param name="speechrecog" value="speechrecognizer"/>
</resource-map>
</rtsp-settings>
</settings>

<profiles>
<!-- UniMRCP MRCPv2 profile -->
<mrcpv2-profile id="uni2">
<sip-uac>SIP-Agent-1</sip-uac>
<mrcpv2-uac>MRCPv2-Agent-1</mrcpv2-uac>
<media-engine>Media-Engine-1</media-engine>
<rtp-factory>RTP-Factory-1</rtp-factory>
<sip-settings>UniMRCP-SIP-Settings</sip-settings>
<rtp-settings>RTP-Settings-1</rtp-settings>
</mrcpv2-profile>

<!-- UniMRCP MRCPv1 profile -->
<mrcpv1-profile id="uni1">
<rtsp-uac>RTSP-Agent-1</rtsp-uac>
<media-engine>Media-Engine-1</media-engine>
<rtp-factory>RTP-Factory-1</rtp-factory>
<rtsp-settings>UniMRCP-RTSP-Settings</rtsp-settings>
<rtp-settings>RTP-Settings-1</rtp-settings>
</mrcpv1-profile>

<!-- more profiles might be added here -->
</profiles>
</unimrcpclient>


nuance.xml


<rtsp-settings id="Nuance-RTSP-Settings">
<!-- Server address should be explicitly specified, it defaults
to "ip" address set in the properties. -->
<!-- <server-ip>10.10.0.1</server-ip> -->
<server-port>4900</server-port>
<!-- <force-destination>true</force-destination> -->
<resource-location>media</resource-location>
<resource-map>
<param name="speechsynth" value="speechsynthesizer"/>
<param name="speechrecog" value="speechrecognizer"/>
</resource-map>
</rtsp-settings>

<!-- RTP/RTCP settings -->
<rtp-settings id="Nuance-RTP-Settings">
<jitter-buffer>
<playout-delay>50</playout-delay>
<max-playout-delay>200</max-playout-delay>
</jitter-buffer>
<ptime>20</ptime>
<codecs>PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
<!-- enable/disable RTCP support -->
<rtcp enable="true">
<!-- RTCP BYE policies (RTCP must be enabled first)
0 - disable RTCP BYE
1 - send RTCP BYE at the end of session
2 - send RTCP BYE also at the end of each talkspurt
(input)
-->
<rtcp-bye>2</rtcp-bye>
<!-- rtcp transmission interval in msec (set 0 to disable) -->
<tx-interval>5000</tx-interval>
<!-- period (timeout) to check for new rtcp messages in msec
(set 0 to disable) -->
<rx-resolution>1000</rx-resolution>
</rtcp>
</rtp-settings>

</settings>

<profiles>
<!-- Nuance MRCPv2 profile -->
<mrcpv2-profile id="nss2">
<sip-uac>SIP-Agent-1</sip-uac>
<mrcpv2-uac>MRCPv2-Agent-1</mrcpv2-uac>
<media-engine>Media-Engine-1</media-engine>
<rtp-factory>RTP-Factory-1</rtp-factory>
<sip-settings>Nuance-SIP-Settings</sip-settings>
<rtp-settings>Nuance-RTP-Settings</rtp-settings>
</mrcpv2-profile>

<!-- Nuance MRCPv1 profile -->
<mrcpv1-profile id="nss1">
<rtsp-uac>RTSP-Agent-1</rtsp-uac>
<media-engine>Media-Engine-1</media-engine>
<rtp-factory>RTP-Factory-1</rtp-factory>
<rtsp-settings>Nuance-RTSP-Settings</rtsp-settings>
<rtp-settings>Nuance-RTP-Settings</rtp-settings>
</mrcpv1-profile>

<!-- more profiles might be added here -->
</profiles>
</unimrcpclient>


/etc/asterisk/mrcp.conf

[general]
default-asr-profile = speech-nuance5-mrcp2
default-tts-profile = speech-nuance5-mrcp2
; UniMRCP logging level to appear in Asterisk logs. Options are:
; EMERGENCY|ALERT|CRITICAL|ERROR|WARNING|NOTICE|INFO|DEBUG -->
log-level = DEBUG
max-connection-count = 100
offer-new-connection = 1
; rx-buffer-size = 1024
; tx-buffer-size = 1024
; request-timeout = 60

[speech-nuance5-mrcp1]
; +++ MRCP settings +++
version = 1
;
; +++ RTSP +++
; === RSTP settings ===
server-ip = 192.168.1.3
server-port = 4900
; force-destination = 1
resource-location = media
speechsynth = speechsynthesizer
speechrecog = speechrecognizer
;
; +++ RTP +++
; === RTP factory ===
; rtp-ip = 0.0.0.0
rtp-ip = 192.168.1.2
; rtp-ext-ip = auto
rtp-port-min = 4000
rtp-port-max = 5000
; === RTP settings ===
; --- Jitter buffer settings ---
playout-delay = 50
; min-playout-delay = 20
max-playout-delay = 200
; --- RTP settings ---
ptime = 20
codecs = PCMU PCMA L16/96/8000
; --- RTCP settings ---
rtcp = 1
rtcp-bye = 2
rtcp-tx-interval = 5000
rtcp-rx-resolution = 1000


[speech-nuance5-mrcp2]
; +++ MRCP settings +++
version = 2
;
; +++ SIP +++
; === SIP settings ===
server-ip = 127.0.0.1
server-port = 8060
force-destination = 1
; === SIP agent ===
client-ip = 127.0.0.1
client-port = 8062
sip-transport = udp
; ua-name = Asterisk
; sdp-origin = Asterisk
;
; +++ RTP +++
; === RTP factory ===
rtp-ip = 127.0.0.1
rtp-port-min = 4000
rtp-port-max = 5000
; === RTP settings ===
; --- Jitter buffer settings ---
playout-delay = 50
; min-playout-delay = 20
max-playout-delay = 200
; --- RTP settings ---
ptime = 20
codecs = PCMU PCMA L16/96/8000
; --- RTCP settings ---
rtcp = 1
rtcp-bye = 2
rtcp-tx-interval = 5000


Nuance Speech Server Config

#
==============================================================================
#
# Copyright (c) 2001-2009 Nuance
#
# Configuration file for MRCP server and webserver applications
#
# Rules:
# - Lines beginning with '#' are considered comments and ignored
# - No comments are supported within a line (following other items)
# - Each line is made of three items, a Name, a Type and a Value
# - These three items (strings) can be separated by tabs or spaces
# - Only the Value string can contain spaces, except trailing spaces
# which are ignored
# - All items are case-sensitive
# - Supported types are 'Environment', 'VXIString', 'VXIInteger',
# 'VXIFloat' and 'VXIPtr'
# - The 'Environment' type is used to set and remove an environment
# variable
# - Types other than 'Environment' indicate you want to set a map
# property
# - All properties will be passed as a single map argument to SB
# functions
# - The value for the 'VXIPtr' type is ignored and considered as NULL
# - Environment variables set here will apply not only to the script
# environment, but to the real application as well
# - To remove a variable from the environment, supply no Value for it
# - To use a variable within the script, use the syntax '$
(VARIABLENAME)'
# - Variables can only be used within Value items, not in Names and
Types
#
# Examples:
# Name Type
Value
#
-------------------------------------------------
# Set an integer property: myModule.myIntegerKey VXIInteger 1234
# Set a string property: myModule.myStringKey VXIString Any
string
# Set an env. variable: MY_VARIABLE Environment C:
\TEMP;D:\
# Remove an env. variable: MY_EX_VARIABLE Environment
# Use an env. variable: myModule.myEnvKey VXIString $
(MY_VARIABLE)
#
# You can use several variables within a Value: $(TYPE)://$(DRIVE)/$
(PATH)
#
#
==============================================================================


############################ Server configuration
##############################
#
# Specifies the basic server configuration
#
server.threadmanager.initialcount VXIInteger 1
server.threadmanager.maxcount VXIInteger 250

###
# This parameter specifies the behavior of the server after stopping.
# Value 0 means that the server will terminate his job immediately.
# Value 1 means that the server will reject new connections
# and wait untill active connections end.
server.manager.gracefulremoval VXIInteger 0

#In case of multi-NIC, uncomment and specify the ip address to bind
the rtp stack to.
#127.0.0.1 must not be used as it will cause the client to send RTP to
the localhost of the client
#server.transport.bindrtptoip VXIString


############################# Log configuration
################################
#
# Specifies the basic configuration for logging subsystem
################################################################################
###
# The file name to use for logging. This file and the same name
with .old will
# be used for logging using a rollover scheme from this log to the old
log
server.log.filename VXIString $(NSSSVRSDK)/logs/
log.txt
###
# The maximum size to allow for the log. When this maximum is
# exceeded, the log will be renamed to <filename>.old, the previous
# old value will be deleted and a new log will be started.
server.log.maxLogSizeMB VXIInteger 50
###
# The directory to write logs of MRCP messages that fail to parse.
server.log.contentDir VXIString $(NSSSVRSDK)/logs
###
# The maximum size in MB to allow for the MRCP message log directory.
server.log.contentTotalSizeMB VXIInteger 50
###
# The default is to log to standard out as well as to a file (set to
1)
# set to 0 to disable logging to standard out
server.log.logToStdout VXIInteger 0
###
# The default is to keep the log file open between writes for faster
# logging (set to 1), set to 0 to close between writes to allow
# manually rotating the log file by merely moving it aside while the
# platform continues running
server.log.keepLogFileOpen VXIInteger 1
###
# The default is to report the error text for each error, as contained
# in the XML error mapping files defined below
server.log.reportErrorText VXIInteger 1
###
# Set to 1 to enable additional logging, log out diagnostic message on
every enter

# and return from the function.
# The default is to disable exrtra loging (set to 0)
server.log.extraLogging VXIInteger 0
###
###
# The follow parameters allow to suppress sensitive infomation printed
in the logs
# when diagnostic tags 2001, 9200, 9201 are enabled
server.log.secureDiagLogOSRcontext VXIInteger 0
server.log.secureDiagLogTTScontext VXIInteger 0


server.log.errorMapFile.0 VXIString $(NSSSVRSDK)/config/
serverErrors.xml
server.log.errorMapFile.1 VXIString $(NSSSVRSDK)/config/
osrspeechrecogErrors.xml
server.log.errorMapFile.2 VXIString $(NSSSVRSDK)/config/
rsspeechsynthErrors.xml
server.log.errorMapFile.3 VXIString $(NSSSVRSDK)/config/
inetErrors.xml
server.log.errorMapFile.4 VXIString $(NSSSVRSDK)/config/
osrrecorderErrors.xml
server.log.errorMapFile.5 VXIString $(NSSSVRSDK)/config/
dictationErrors.xml
server.log.errorMapFile.6 VXIString $(NSSSVRSDK)/config/
prsspeechrecogErrors.xml

###
# Performance counters
#
# To enable logging specify a path to a log
#server.log.performance.fileName VXIString $(NSSSVRSDK)/logs/
watchdog.log
#
# Counters mask determines which counters will be logged.
# The mask is a sequence of '0' and '1' where '0' means disabled state
# and '1' enabled. The first counter is controled by the most low-
order bit
# and the last one---by the most high-order bit. By default all
counters
# are disabled. E.g: 10
# .^^
# .||
# .|+-> The first counter is disabled
# .+--> The second one is enabled
# `.... And not obviously specified the third one
is disabled
# Here are the list of the currently existed counters:
# 1. SIP-con(TCP+TLS)
# 2. SIP-obj(in use)
# 3. SIP-obj(total in pool)
# 4. SIP-session(active)
# 5. RTP-obj(in use)
# 6. RTP-obj(total in pool)
# 7. MRCP-channel(in use)
# 8. MRCP-connections
# 9. resip fifo size
# 10. Total work thread
# 11. Free work thread
# 12. tuFifoSize
# 13. transportFifoSizeSum
# 14. transactionFifoSize
# 15. activeTimers
# 16. activeClientTransactions
# 17. activeServerTransactions
# 18. shutdownFifoSize
# 19. Input Fifo Size
# 20. mrcp1::SessionsCount
# 21. mrcp1::Sessions2DeleteCount
# 22. mrcp1::TcpBufferSize
# 23. mrcp1::TcpHandlesToRemove
# 24. mrcp1::TcpRecvQueueSize
# 25. mrcp1::TcpMessageQueueSize
# 26. mrcp1::OsrQueueSize
# 27. mrcp1::OsrCacheSize
# 28. mrcp1::RsQueueSize
# 29. mrcp1::RsCacheSize
#server.log.performance.countersMask VXIString
11111111111111111111111111111


######################### Diagnostics configuration
############################
# The diagnostic base for main server component
server.diagLogBase VXIInteger 1000

# The diagnostic base for mrcp stack component
server.mrcp2.mrcpstack.diagLogBase VXIInteger 2000

# The diagnostic base for sip stack component
server.mrcp2.sipstack.diagLogBase VXIInteger 3000

# The diagnostic base for rtp stack component
server.mrcp2.rtpstack.diagLogBase VXIInteger 4000

# The diagnostic base for Nuance Speech Recognizer resource
server.mrcp2.osrplugin.diagLogBase VXIInteger 5000

# The diagnostic base for Vocalizer Speech Synthesizer resource
server.mrcp2.rsplugin.diagLogBase VXIInteger 6000

# The diagnostic base for inet component
server.ssinet.diagLogBase VXIInteger 7000

# The diagnostic base for cache component
server.osscache.diagLogBase VXIInteger 8000

# The diagnostic base for Speech Recorder resource

server.mrcp2.recorderplugin.diagLogBase VXIInteger 9000

#MRCPv1 part
server.log.diagTag.9100 VXIInteger 0
server.log.diagTag.9101 VXIInteger 0
#MRCPv1 part, for CRITICAL error log
server.log.diagTag.9102 VXIInteger 1

#MRCPv2 part
#speechrecord
server.log.diagTag.9000 VXIInteger 0
#audio thread
server.log.diagTag.9001 VXIInteger 0
#setting params
server.log.diagTag.9003 VXIInteger 0

#server
server.log.diagTag.1000 VXIInteger 1
#mediaresourcemanager
server.log.diagTag.1001 VXIInteger 0
#mrcpchannelmanager
server.log.diagTag.1002 VXIInteger 0
#mrcpdispatcher
server.log.diagTag.1003 VXIInteger 0
#taskthreadmanager
server.log.diagTag.1004 VXIInteger 0
#rtpportmanager
server.log.diagTag.1005 VXIInteger 0
#sipdispatcher
server.log.diagTag.1006 VXIInteger 0
#sipsessionmanager
server.log.diagTag.1007 VXIInteger 0
#wavformmanager
server.log.diagTag.1008 VXIInteger 0
#whatchdog
server.log.diagTag.1009 VXIInteger 0
#log all NSS config params
#server.log.diagTag.1010 VXIInteger 0
#sip messages
#server.log.diagTag.1011 VXIInteger 0

#resip messages
server.log.diagTag.1012 VXIInteger 1

#output of SIP session count
server.log.diagTag.1013 VXIInteger 0

#mrcpstack
server.log.diagTag.2000 VXIInteger 0
#transport
server.log.diagTag.2001 VXIInteger 0
#suppress XML result in logs
#server.log.diagTag.2002 VXIInteger 0

server.log.diagTag.3000 VXIInteger 0

#rtpstack
server.log.diagTag.4000 VXIInteger 0
#libsrtp
server.log.diagTag.4001 VXIInteger 0
#Whole call recording
server.log.diagTag.4002 VXIInteger 0

#osrspeechrecog
server.log.diagTag.5000 VXIInteger 0
#audio thread
server.log.diagTag.5001 VXIInteger 0
#compute thread
server.log.diagTag.5002 VXIInteger 0
#setting params
server.log.diagTag.5003 VXIInteger 0
#grammar manager
server.log.diagTag.5004 VXIInteger 0
#global grammar manager
server.log.diagTag.5005 VXIInteger 0
#receiving audio data from RTP stack
server.log.diagTag.5006 VXIInteger 0
#DTMF receiver
server.log.diagTag.5007 VXIInteger 0
#wrapper for NR API
server.log.diagTag.5008 VXIInteger 0

#Voice Enrollment
server.log.diagTag.5009 VXIInteger 0
#log EP Write and Read function result
server.log.diagTag.5010 VXIInteger 0
# current recognizer task diagnostic
server.log.diagTag.5011 VXIInteger 0

#active audio && apiuserdatastate
server.log.diagTag.6000 VXIInteger 0
#audioengine
server.log.diagTag.6001 VXIInteger 0
#cache
server.log.diagTag.6002 VXIInteger 0
#config params
server.log.diagTag.6003 VXIInteger 0
#dictionary
server.log.diagTag.6004 VXIInteger 0
#states
server.log.diagTag.6005 VXIInteger 0
#language resource
server.log.diagTag.6006 VXIInteger 0
#plugin
server.log.diagTag.6007 VXIInteger 0
#plugin factory
server.log.diagTag.6008 VXIInteger 0
#plugin params
server.log.diagTag.6009 VXIInteger 0
#speak context
server.log.diagTag.6010 VXIInteger 0
#NV5N engine logs
server.log.diagTag.6011 VXIInteger 0
#audio caching report
server.log.diagTag.6012 VXIInteger 0

server.log.diagTag.7000 VXIInteger 0
server.log.diagTag.8000 VXIInteger 0


############################## SIP configuration
###############################
#
# Specifies the basic configuration concerning the SIP layer
#

# Interfaces for receive connections on sip protocol,
# if disabled then used interface 0.0.0.0
# The same as server.mrcp2.sip.transport.interface.0
VXIString 0.0.0.0
# Example of custom interface
#server.mrcp2.sip.transport.interface.0 VXIString
192.168.68.1
#server.mrcp2.sip.transport.interface.1 VXIString
10.15.36.81
#server.mrcp2.sip.transport.interface.3 VXIString
127.0.0.1

server.mrcp2.sip.transport.tcp.port VXIInteger 8060
server.mrcp2.sip.transport.udp.port VXIInteger 8060
server.mrcp2.sip.transport.tls.port VXIInteger 8061
server.mrcp2.sip.transport.tls.keyDir VXIString $
(NSSSVRSDK)/certs
server.mrcp2.transport.tls.keyDomain VXIString localdomain
#server.mrcp2.sip.transport.tls.keyPassword VXIString
server.mrcp2.sip.maxCountOfSession VXIInteger 96
#default value for tcp and tls maxCountOfConnections 4095
#server.mrcp2.sip.transport.tcp.maxCountOfConnections VXIInteger 4095
#server.mrcp2.sip.transport.tls.maxCountOfConnections VXIInteger 4095
server.mrcp2.sip.transport.tls.useStrongestCipherSuite VXIInteger 0
server.mrcp2.sip.sessionTimeout VXIInteger 60000
#resip loglevels:
#None = -1, Crit = 2, Err = 3, Warning = 4, Info = 6, Debug = 7, Stack
= 8, StdErr = 9, Bogus = 666
server.mrcp2.sip.logLevel VXIInteger 2

# If value is 1 server uses IP address in SIP header Contact, else -
host name.
# Default value is 0.
server.mrcp2.sip.contact.useHostIPAddress VXIInteger 0

# If set to 1, the INVITE response will include the proprietary SIP
headers
# P-Nuance-CallLog-FilePath
# P-Nuance-CallLog-URI
# which will indicate the local disk path and URI of the call log.
# Note that the call log is only moved to the returned location
# after the session has ended.
server.mrcp2.sip.returnCallLogLocators VXIInteger 0

# If set to 1, the BYE response will include the proprietary SIP
header
# P-Nuance-WCR-URIs
# which will indicate the URI of the WCR logs for that session.
# Note that the WCR log is only moved to the returned location
# once the session has ended.
server.mrcp2.sip.returnWCRURIs VXIInteger 0

#Redefinition HostName
#server.mrcp2.sip.contact.HostName VXIString

# Maximum size of message head in bytes
#server.mrcp2.sip.msgHeadMaxSize VXIInteger 8192


########################### MRCPv2 configuration
###############################
#
# Specifies the basic configuration concerning the MRCPv2 layer
#
server.mrcp2.transport.tcp.port VXIInteger 6075
server.mrcp2.transport.timeout VXIInteger 20
server.mrcp2.transport.tls.port VXIInteger 6076
server.mrcp2.transport.tls.keyDir VXIString $(NSSSVRSDK)/certs
#server.mrcp2.transport.tls.keyPassword VXIString
server.mrcp2.transport.tls.useStrongestCipherSuite VXIInteger 0

###
# The number of threads used to fetch audio and feed it to the
recognizer and recorder
# Typically there should be 1 audio thread for about 15 to 20
# worker threads
server.mrcp2.audioengine.audiothreadnumber VXIInteger 20


########################### RTP configuration
##################################
#
# Specifies the basic configuration concerning the RTP layer
#
server.rtp.port VXIInteger 7892
server.rtp.maxCountOfSession VXIInteger 600

###
# The amount of the RTP receiving buffer specified in miliseconds.
# The greater the buffer, the lesser probability that audio will be
lost
# under heavy loads. The greater the buffer, the greater memory
consumption
# of system memory by the server.
server.rtp.bufferSize VXIInteger 5000

###
# The max size of accepted RTP packets
server.rtp.maxPacketSize VXIInteger 1024

# The size of RTP socket buffer for receiving
server.rtp.recvSockBufferSize VXIInteger 8192
# The size of RTP socket buffer for sending
server.rtp.sendSockBufferSize VXIInteger 8192

# By default (1), DTMF is detected with its leading edge. For
trailing edge detection,
# set this value to 0.
#server.rtp.dtmfTriggerLeading VXIInteger 1

# Timeout for RTP DTMF end of event. In the case of trailing edge
detection is selected
# and there is no end of event packet in DTMF packets, this time out
value will be used
# to parse DTMF. This value is set in msec.
#server.rtp.dtmfTrailingEdgeTimeout VXIInteger 2000

###
# The number of transmissions for TSS event signaling RTP packets
server.rtp.tssEventSignaling.numTransmissions VXIInteger 3

###
# RTP payload type for TSS event signaling, should be from the dynamic
payload range 96-127
# and should not conflict with other dynamic payload types in a SPD
offer/answer dialog.
# The default value is -1, meaning that TSS event signalling is
disabled in the RTP stack and

# all plugins related from it.
server.rtp.payloadType.tssEventSignaling VXIInteger -1

###
# This should be set to 1 to destroy sessions for a client connection
# when socket connection with client has error or client crashed
without closing the session
# but connection with the client machine still exists
server.transport.closeonpurpose VXIInteger 0

###
# This should be set to 1 to destroy all connection with client in
case of communication failure
# Parameter works only in conjunction with
server.transport.closeonpurpose
server.transport.closeall VXIInteger 0

# Vovida RTP Stack Log Level (logs to stderr/stdout)
# 1 = ALERT, 2 = CRITICAL, 3 = ERROR, 4 = WARNING, 5 = NOTICE, 6 =
INFO, 7 = DEBUG, 8 = STACK
server.rtp.logLevel VXIInteger 2

# By default (1) option rejects the audio from ports other then UDP
port/IP address
# pointed in SDP offer/answer during SIP/RTSP setup.
server.rtp.strictSdpMediaPortUse VXIInteger 1

# If enabled, NSS will send RTCP sender reports when applicable
server.rtp.sendRTCPSenderReports VXIInteger 0

########################### Inet and Cache settings
############################

### Inet and Write-back cache
server.cache.cacheDir VXIString $(NSSSVRSDK)/cache
server.cache.cacheTotalSizeMB VXIInteger 300
server.cache.cacheEntryMaxSizeMB VXIInteger 4
server.cache.cacheEntryExpTimeSec VXIInteger 126000
server.cache.unlockEntries VXIInteger 1

### Internet fetch, extension rules defined separately below
#server.inet.proxyServer VXIString myhost
#server.inet.proxyPort VXIInteger 1111
server.inet.userAgent VXIString NSS-MRCP/5.0
server.inet.acceptCookies VXIInteger 1

# Use inet instance created by NR or by NSS (default)
server.inet.useInetFromOSR VXIInteger 1

#############################################
# File extension to MIME type mapping rules #
################################################################################

server.inet.extensionRule.alaw VXIString audio/x-alaw-basic
server.inet.extensionRule.txt VXIString text/plain
server.inet.extensionRule.ulaw VXIString audio/basic
server.inet.extensionRule.vox VXIString audio/x-dialogic-vox
server.inet.extensionRule.wav VXIString audio/x-wav
#server.inet.extensionRule.xml VXIString text/xml
server.inet.extensionRule.xml VXIString application/srgs+xml
server.inet.extensionRule.grxml VXIString application/srgs+xml
server.inet.extensionRule.vxml VXIString application/vxml+xml
server.inet.extensionRule.L8 VXIString audio/L8;rate=8000
server.inet.extensionRule.L16 VXIString audio/L16;rate=8000
server.inet.extensionRule.ssml VXIString application/synthesis+ssml
server.inet.extensionRule.gram VXIString application/x-swi-grammar
server.inet.extensionRule.mulaw VXIString audio/basic
server.inet.extensionRule.bdc VXIString application/edct-bin-
dictionary
server.inet.extensionRule.dcb VXIString application/edct-bin-
dictionary
server.inet.extensionRule.dct VXIString application/edct-
text-dictionary
server.inet.extensionRule.tdc VXIString application/edct-
text-dictionary

####################### Waveform manager configuration
#########################
#
# The waveform performs saving the audio files to the disk and
# manages the disk space used by the saved waveforms
#

###
# The root logging directory to use for logging. This directory
# will be constructed if it does not exist.
server.session.osswfm.directory VXIString $(NSSSVRSDK)/session

###
# Specifies the amount of free disk space, in megabytes, that must
be
# available before the system generates a minor alarm indicating
that free
# disk space is low and approaching the minimum amount required for
call
# logging to continue. The value cannot be less than 10 MB. There is
no upper
# limit. Specify the value as a number without the "MB." The default
is 2146
# (MB).
server.session.osswfm.warnminfreediskmb VXIInteger 2146

###
# Specifies the minimum amount of free disk space, in megabytes,
that must be
# available for utterances and call logs to be saved to disk. If the
amount
# of free disk space falls below this limit, logging stops until
space is
# freed. The value cannot be less than 10 MB. There is no upper
limit.
# Specify the value as a number without the "MB." The default is
1073 (MB).
server.session.osswfm.minfreediskmb VXIInteger 1073

###
# Controls whether or not the system should check for available free
disk
# space. If set to 0 (false), the system does not check. The default
is 1
# (true).
server.session.osswfm.checkdiskspace VXIInteger 1

###
# Specifies the minimum amount of time beyond 1 hour, in minutes,
that the system stores
# expose-playable files on disk before removing them. These files
store
# caller utterances and are used by agents if recognition fails. For
example,
# a value of 30 means to remove files older than 90 minutes (60 +
30). The valid range
# is 10 to 59, inclusive. The default is 15.
server.session.osswfm.exposeplayablemintime VXIInteger 15

###
# Controls whether or not the system should periodically remove aged
# expose-playable files. These files store caller utterances and are
used by
# agents if recognition fails. If set to 0 (false), the system does
not
# remove these files. The default is 1 (true).
server.session.osswfm.cleanwaveforms VXIInteger 1

###
# Defines the global Save-Waveform, Expose Recording and Expose
# Playable waveforms sampling rate. ( default = 100 )
# Valid range is 0 - 100
# Normally, an application chooses when to log these waveforms, but,
# in case of an application that logs so many of these waveforms, to
the
# point where it makes the physical disk too busy, it may be desirable
to set
# a sampling rate.
# Decimated waveforms will return a URI of "_DECIMATED"
# Set to 100 to enable logging for all waveforms in this category
# Set to 30 to capture 30% of all waveforms in this category
# Set to 0 to disable logging of all waveforms in this category
server.session.osswfm.sampling VXIInteger 100

###
# The maximum single waveform entry size in bytes. Must be less
than MAX_SPACE
server.session.osswfm.entry.maxsize VXIInteger 100000

###
# Entry extension. The default extension to use in saving the
# content. This can be over-ridden in the Write.
server.session.osswfm.entry.extension VXIString wav

###
# This server.session.ossweb.machine parameter is only used in
building
# the waveform URL (when accessing the wavform via the webserver that
installs with NSS)
# and setting the control URI that's in the SETUP response's SDP
# (e.g." a=control:rtsp://151.214.90.149//recognizer").
# The server.session.ossweb.machine parameter is not used to bind to a
specific IP
server.session.ossweb.machine VXIString dteln002.servicemagic.com

###
# This parameter defines the HTTP port used for the web server.
# If another web server is being run on the system you can change this
# parameter to another value.
server.session.ossweb.port VXIInteger 90

###
# Path to save Whole Call Recording files. Setting this parameter
causes a recording of RTP

# streams associated to each SIP session to be mixed and written to
disk.
#server.rtp.wcr.path VXIString $(NSSSVRSDK)/session

###
# Defines the Whole Call Recording output type ( default = 0 )
# WCR files are written to a flat folder unless
server.rtp.wcr.useDirectoryHierarchy is enabled
# 0 = 1 WCR file per RTP mid
# 1 = 1 WCR file per MRCP (v1 or v2) session
# 2 = 1 WCR file per speaker (1 WCR file per RTP stream source)
#server.rtp.wcr.outputtype VXIInteger 0

###
# If enabled, writes Whole Call Recording files in a date/time
directory hierarchy
# instead of a flat folder. ( default = 0 )
#server.rtp.wcr.useDirectoryHierarchy VXIInteger 0

###
# Enables cleanup of Whole Call Recording files that were written in a
date/time
# directory hierarchy. Does not cleanup WCR files written to a flat
folder.
# ( default = 1 )
#server.rtp.wcr.cleanupDirectoryHierarchy VXIInteger 1

###
# Defines the Whole Call Recording sampling ( default = 10 )
# Valid range is 0 - 100
# For production densities, do not set WCR sampling over 10%
# Set to 100 to enable logging on all sessions
# Set to 30 to capture 30% of all sessions
# Set to 0 to disable logging on all sessions
#server.rtp.wcr.sampling VXIInteger 10

###
# Defines the Whole Call Recording maximum duration in minutes
( default = 60 )
# Valid range is 0 - INT_MAX
# 0 represents no maximum (infinite duration)
# Using "0" or values above the default are not recommended as the NSS
process space will

# grow as the call duration continues towards this setting
#server.rtp.wcr.maxminutes VXIInteger 60

###
# Only for MRCPv1.
# Relative web path for waveform logging
#server.session.ossweb.webpath VXIString

### This section is common for both parts: mrcp1 and mrcp2
#
# Enables/Disables the reporting of the audio cache hits, misses or
bad fetch to the

# Management Station.
server.rsspeechsynth.audiocachereport VXIInteger 0
#
# The audio cache reporting interval (in seconds). Must be greater
than 60 seconds.
server.rsspeechsynth.audiocacheinterval VXIInteger 600


############################## Resource section
################################
#
# The following is the configurations of three modules.
# Each configuration consists of 2 sections: the first is the general
# description of the resource, the second is the resource specific
section.
#


######################## Nuance Recognizer section
#############################
#
# Speech Recognizer resource based on the Nuance Recognizer
recognition engine
#

##
# The library of the module
server.mrcp2.resource.0.dll VXIString osrspeechrecog.so

##
# The default value
server.mrcp2.resource.0.name VXIString Nuance Open Speech
Recognizer

##
# The default value
server.mrcp2.resource.0.type VXIString speechrecog dtmfrecog

##
# The default value
server.mrcp2.resource.0.cfgprefix VXIString
server.mrcp2.osrspeechrecog.


###
# MRCP default values
server.mrcp2.osrspeechrecog.mrcpdefaults.fetch-timeout
VXIInteger 10000
server.mrcp2.osrspeechrecog.mrcpdefaults.accept-charset
VXIString UTF-8
server.mrcp2.osrspeechrecog.mrcpdefaults.speech-language
VXIString en-US
#server.mrcp2.osrspeechrecog.mrcpdefaults.confidence-threshold
VXIFloat 0.5
#server.mrcp2.osrspeechrecog.mrcpdefaults.nbest-list-length
VXIInteger 1
#server.mrcp2.osrspeechrecog.mrcpdefaults.no-input-timeout
VXIInteger 10000
#server.mrcp2.osrspeechrecog.mrcpdefaults.start-input-timers
VXIInteger 1
#server.mrcp2.osrspeechrecog.mrcpdefaults.sensitivity
VXIFloat 0.5
#server.mrcp2.osrspeechrecog.mrcpdefaults.completetimeout
VXIInteger 0
#server.mrcp2.osrspeechrecog.mrcpdefaults.incompletetimeout
VXIInteger 1500
#server.mrcp2.osrspeechrecog.mrcpdefaults.speedvsaccuracy
VXIFloat 0.5
server.mrcp2.osrspeechrecog.mrcpdefaults.save-waveform
VXIString false
server.mrcp2.osrspeechrecog.mrcpdefaults.hotword-max-duration
VXIInteger 800
server.mrcp2.osrspeechrecog.mrcpdefaults.hotword-min-duration
VXIInteger 200
server.mrcp2.osrspeechrecog.mrcpdefaults.recognition-timeout
VXIInteger 10000
server.mrcp2.osrspeechrecog.mrcpdefaults.recognition-mode
VXIString normal
server.mrcp2.osrspeechrecog.mrcpdefaults.dtmf-interdigit-timeout
VXIInteger 5000
server.mrcp2.osrspeechrecog.mrcpdefaults.dtmf-term-timeout
VXIInteger 5000
server.mrcp2.osrspeechrecog.mrcpdefaults.dtmf-term-char
VXIString NULL
server.mrcp2.osrspeechrecog.mrcpdefaults.save-waveform-on-dtmf
VXIString true
server.mrcp2.osrspeechrecog.mrcpdefaults.media-type
VXIString audio/x-wav
server.mrcp2.osrspeechrecog.mrcpdefaults.dtmf-buffer-time
VXIInteger 0
server.mrcp2.osrspeechrecog.mrcpdefaults.new-audio-channel
VXIString false
#server.mrcp2.osrspeechrecog.mrcpdefaults.consistency-threshold
VXIFloat 0.5
#server.mrcp2.osrspeechrecog.mrcpdefaults.clash-threshold
VXIFloat 0.5

#cache-control.max-age set to 1 year by default
server.mrcp2.osrspeechrecog.mrcpdefaults.cache-control.max-age
VXIInteger 31536000
#server.mrcp2.osrspeechrecog.mrcpdefaults.cache-control.max-stale
VXIInteger 0
#server.mrcp2.osrspeechrecog.mrcpdefaults.cache-control.min-fresh
VXIInteger 0


###
# If UDP stack has RTP packets, audio subsystem reads small packets
until the entire
# audioBuffer is filled before passing it to NR API
# If UDP has not additional packets audio subsystem does not wait a
packet and

# returns immediately.
# Audio Buffer size is defined in milliseconds.
# The maximum buffer size allowed is 4000 bytes.
server.mrcp2.osrspeechrecog.audioBufferSize VXIInteger 100

###
# Number of initially created COSRPlugin instances on the server start-
up.
server.mrcp2.osrspeechrecog.initialNumber VXIInteger 0

###
# Enable caching of NR instances
server.mrcp2.osrspeechrecog.cache.enable VXIInteger 1

###
# Number of initially created NR instances on the server start-up.
# Those instances won't be release even if they are idle for more than
timeoutSec seconds.
# initialNumber = MIN (initialNumber, maxNumber)
server.mrcp2.osrspeechrecog.cache.initialNumber VXIInteger 0

###
# Maximum number of NR instances to be alive on the server at a time.
# Typically it should be equal to the number of NR licenses.
# Set to 0 for not limited using(4000).
server.mrcp2.osrspeechrecog.cache.maxNumber VXIInteger 0

###
# Extra instances are those not included in the initialNumber.
# If the extra instance is idle for the specified period of time it
will be released.
server.mrcp2.osrspeechrecog.cache.timeoutSec VXIInteger 600

###
# 0 - indicate for unlimited using of instance (default 100)
server.mrcp2.osrspeechrecog.cache.maxCountOfUsing VXIInteger 40

###
# Enable using of cookies
server.mrcp2.osrspeechrecog.cookie.enable VXIInteger 0

# User-supplied configuration file. Sent to SWIrecInit(). Defaults to
NULL.
#server.mrcp2.osrspeechrecog.userconfig.path VXIString $(SWISRSDK)/
config/User.xml

# Baseline.xml defaults used to load GET-PARAMS defaults
server.mrcp2.osrspeechrecog.userconfigTemplate.path VXIString $
(NSSSVRSDK)/config/Baseline.xml


##
# Set to 1 to send START-OF-INPUT event on DTMF input
# This enables the platform to detect DTMF barge-in
server.mrcp2.osrspeechrecog.startOfInputOnDTMF VXIInteger 1

##
# Set to 1 to send a delayed START-OF-INPUT event on Hotword input
(final candidate only)
# startOfInputOnDTMF must also be enabled for START-OF-INPUT event for
Hotword DTMF
server.mrcp2.osrspeechrecog.startOfInputOnHotword VXIInteger 0

##
# Set to 1 to send a END-OF-INPUT event when NSS gets a
SWIrec_STATUS_SPEECH_COMPLETE
# Normal Recognition only
server.mrcp2.osrspeechrecog.endOfInput VXIInteger 0

# Endpointer control. If the end pointer is off (0), then the server
# will respond to the very first audio packet. Unless end-pointing and
# speech detection is being done on the client, this should be set to
# on (1).
server.mrcp2.osrspeechrecog.endpointer VXIInteger 1

# BARGE-IN-OCCURRED event control. If it is on (1), then the server
# will respond with BARGE-IN-OCCURRED event to TTS, if it in the same
SIP session
server.mrcp2.osrspeechrecog.internalBargeIn VXIInteger 0

###
# Grammar Media Types
# Valid combinations are:
#
# string NULL
# uri NULL
# string/2.0 NULL,application/srgs+xml,application/x-swi-
grammar,application/x-swi-parameter,text/xml
# uri/2.0 NULL,application/srgs+xml,application/x-swi-
grammar,application/x-swi-parameter,text/xml
#
# defaults string,NULL, uri,NULL
#
server.mrcp2.osrspeechrecog.grammar.stringType VXIString
string/2.0
server.mrcp2.osrspeechrecog.grammar.stringMediatype VXIString NULL
server.mrcp2.osrspeechrecog.grammar.uriType VXIString uri/2.0
server.mrcp2.osrspeechrecog.grammar.uriMediatype VXIString NULL

#The NR result format
#If strictconfidencelevel is set to 1, the result contains only
results with values greater than the confidencelevel.
#If it is not specified, then if the *best* confidence is above the
confidencelevel, all results (including those below confidencelevel)
are returned.
server.mrcp2.osrspeechrecog.mrcpdefaults.VSP.server.osrspeechrecog.result.mediatype
VXIString application/x-vnd.speechworks.emma
+xml;strictconfidencelevel=1;mrcpv=2.06

# Return an NLSML result for nomatches. Default is false
#server.mrcp2.osrspeechrecog.mrcpdefaults.VSP.server.osrspeechrecog.result.sendnomatch
VXIString false

#Setting to 1 will suppress SWIDtmf event in calllog
server.mrcp2.osrspeechrecog.secureDTMFcontext VXIInteger 0

############### Nuance Vocalizer Speech Synthesizer section
####################
#
# Speech Synthesizer based on the Nuance Vocalizer 5 for Network Text
to Speech engine
#

###
# The library of the module
server.mrcp2.resource.1.dll VXIString rsspeechsynthNV5N.so

###
# The name of the resource, influences SDP description of the resource
# The default value
server.mrcp2.resource.1.name VXIString Nuance Vocalizer Network
Synthesizer

###
# The default value
server.mrcp2.resource.1.type VXIString speechsynth

###
# The prefix of the resource specific parameters
# The default value
server.mrcp2.resource.1.cfgprefix VXIString
server.mrcp2.rsspeechsynth.

###
# Vocalizer User XML configuration file that can override the standard
Vocalizer XML configuration file settings
# The settings in this additional configuration file override the
baseline
# settings specified in Vocalizer\config\ttsrshclient.xml. (The user
defined file can specify only the
# parameters you wish to override, rather than having to specify every
parameter.)
#server.mrcp2.rsspeechsynth.userconfig.path VXIString $(NSSSVRSDK)/
config/ttsrshclient_userconfigfile.xml

###
# MRCP default values
server.mrcp2.rsspeechsynth.mrcpdefaults.fetch-timeout VXIInteger
10000
server.mrcp2.rsspeechsynth.mrcpdefaults.prosodyVolume VXIInteger
80
server.mrcp2.rsspeechsynth.mrcpdefaults.prosodyRate VXIInteger
50

###
# The Vocalizer language resource section
# speech-language must be specified
# voice-name or voice-gender can be specified
server.mrcp2.rsspeechsynth.mrcpdefaults.speech-language VXIString en-
US
server.mrcp2.rsspeechsynth.mrcpdefaults.voice-name VXIString Unknown
server.mrcp2.rsspeechsynth.mrcpdefaults.voice-gender VXIString any

###
# Cache control properties passed to Vocalizer in TTS requests
# Supported values:
# -1 (default) : No cache control properties are explicitly set by
NSS for the Vocalizer TTS
# requests. In this configuration, NSS will set
the cache control properties
# only in the case where they were set by the
client, in the MRCP request.
# >= 0 : NSS passes that value to Vocalizer in TTS requests
#
# Note that the cache-control properties specified in the received
MRCP requests take precedence
# over the value set here.
#
# Note that the default behavior of NSS has changed as compared to NSS
5.0. In NSS 5.0, the
# cache control properties passed to the TTS engine were set to 0 (by
default), which was
# disabling the TTS engine caching mechanism. In this release, NSS
does not explicitly set any
# cache control properties in the TTS requests. Therefore, the TTS
engine uses the cache control
# properties returned from the web server.
# cache-control.max-age set to 1 year by default (Since NSS 5.0.8 and
5.1.2)
server.mrcp2.rsspeechsynth.mrcpdefaults.cache-control.max-age
VXIInteger 31536000
#server.mrcp2.rsspeechsynth.mrcpdefaults.cache-control.max-stale
VXIInteger 0
#server.mrcp2.rsspeechsynth.mrcpdefaults.cache-control.min-fresh
VXIInteger 0
###

###
# Number of initially created CRSPlugin instances on the server start-
up.
server.mrcp2.rsspeechsynth.initialNumber VXIInteger 0

###
# The number of sending threads
server.mrcp2.rsspeechsynth.audiothreadnumber VXIInteger 20

###
# 0 - indicate for unlimited using of instance (default 100)
server.mrcp2.rsspeechsynth.cache.maxCountOfUsing VXIInteger 40

###
# Enable using of cookies
server.mrcp2.rsspeechsynth.cookie.enable VXIInteger 0

###
# The RTP buffer sending configuration
server.mrcp2.rsspeechsynth.rtpUpperBoundarySamples VXIInteger 600
server.mrcp2.rsspeechsynth.rtpLowerBoundarySamples VXIInteger 300

###
# The sending rate will be multiplied by the specified number
# if the server will discover underflow of the audio.
server.mrcp2.rsspeechsynth.rtpBufferFillMultiplier VXIInteger 2

###
# The audio sending rate samples per second
server.mrcp2.rsspeechsynth.rtpSendRate VXIInteger 8000

###
# The size of rtp packet in sample
server.mrcp2.rsspeechsynth.rtpPacketSamples VXIInteger 160

server.mrcp2.rsspeechsynth.rtpHeadStartSamples VXIInteger 0

# The maximum size of audio buffer which generates by Vocalizer
server.mrcp2.rsspeechsynth.ttsOutBufferSize VXIInteger 8192

###
# Encoding for text/plain. It can be one of ISO-8859-1, UTF-8, UTF-16
# The default value
server.mrcp2.rsspeechsynth.plainTextSSMLEncoding VXIString ISO-8859-1

###
# Enable writing silence before and after a prompt
server.mrcp2.rsspeechsynth.playSilence VXIInteger 0

###
# Enable sending an RTCP_BYE at the end of each prompt
server.mrcp2.rsspeechsynth.sendRtcpByeOnPromptDone
VXIInteger 0

###
# Return error 004 when no audio was generated
server.mrcp2.rsspeechsynth.errorOnNoAudio VXIInteger 0


################################################################
### MRCP1
################################################################
###
# The default is to report the error text for each error, as contained
# in the XML error mapping files defined below
server.mrcp1.log.reportErrorText VXIInteger 1

###
# Enables logging of event messages by NSS modules
# disabling this option will result in better performance
server.mrcp1.session.enableEventLog VXIInteger 1

# The diagnostic base for message dispatching/low level services
logging
# Formely the TCP, PMH, SERVER log areas
server.mrcp1.transport.diagLogBase VXIInteger 9200
# The diagnostic base for session level logging
# Formely the SESSION log areas
server.mrcp1.session.diagLogBase VXIInteger 9300
# The diagnostic base for OpenSpeech Recognizer and SpeechPearl
related logging
# Formely the OSR log areas
server.mrcp1.ossrec.diagLogBase VXIInteger 9400
# OSBinet component
server.mrcp1.ossinet.diagLogBase VXIInteger 9500
# OSBcache component
server.mrcp1.osscache.diagLogBase VXIInteger 9600
# The diagnostic base for Vocalizer related logging
# Formely the TTS log areas
server.mrcp1.ossprompt.diagLogBase VXIInteger 9700

# Enables logging of error messages by NSS modules
# disabling this option will result in better performance
# server.mrcp1.log.errorLogEnabled VXIInteger 1

# Enables logging of error messages by NSS modules to the system log
# disabling this option will result in better performance
#server.mrcp1.log.sysLogEnabled VXIInteger 0

# API/general log traces for each component

# Low level network interface and message dispatching logging
server.log.diagTag.9200 VXIInteger 0
server.log.diagTag.9201 VXIInteger 0
#When enabled the XML result in the 9200/9201 logs will be suppressed
#server.log.diagTag.9202 VXIInteger 0

# Session level logging
server.log.diagTag.9300 VXIInteger 0
server.log.diagTag.9301 VXIInteger 0

# OpenSpeech Recognizer and SpeechPearl support components

server.log.diagTag.9400 VXIInteger 0
server.log.diagTag.9401 VXIInteger 0
# OSSinet component
server.log.diagTag.9500 VXIInteger 0

# OSScache component
server.log.diagTag.9600 VXIInteger 0

# Vocalizer
server.log.diagTag.9700 VXIInteger 0
server.log.diagTag.9701 VXIInteger 0

############################ Transport configuration
###########################
#
# Specifies the basic configuration concerning the transport layer
#

###
# Specifies whether to send back SDP description on the RTSP SETUP
request
server.mrcp1.transport.sdpOnSetup VXIInteger 1

###
# Enable specifying SDP with "destination=" tag instead of "c=" in NSS
response
# server.mrcp1.transport.SDPdestination VXIInteger 0

###
# RTSP port to use for the server.
# If the paramater is commented then RTSP server does not start.
server.mrcp1.transport.port VXIInteger 4900

###
# RTP payload type for DTMF events as defined in RFC 2833.
# Common values: 96 and 101
server.mrcp1.transport.dtmfPayloadType VXIInteger 96


###
# L16/8000 mono extension to the RTP/AVP dynamic payload type
server.mrcp1.transport.l16PayloadType VXIInteger 97

###
# The maximum number of connections which could be hosted on the
server (default and max number 4095)
#server.mrcp1.rtsp.maxCountOfConnections VXIInteger 4095

###
# The maximum number of sessions which could be hosted on the server
server.mrcp1.rtsp.maxCountOfSession VXIInteger 500

###
# Maximum number of millieconds to wait after the session stoped the
activity
# before the session deleted
server.mrcp1.rtsp.sessionTimeout VXIInteger 60000

###
# Maximum number of seconds to wait after the session deleted on
session timeout
# the activity before the TCP connection closed
server.mrcp1.transport.TCPTimeout VXIInteger 180


###################### Defaults for common MRCP parameters
#####################
#
# This configuration apply to both NR and SpeechPearl plugins,
# consult the draft-shanmugham-mrcp-07.txt to understand their values.
#
# - All time values in milliseconds
# - All params in MRCP scale (ex: confidence-threshold is 0-100
instead of 0-1000)
# - recognition-timeout defaults to 60s instead of the 10s in the MRCP
spec
# - recognition-start-timers: true/false
# - dtmf-term-char: #/*/NULL
# - speedvsaccuracy is currently ignored
#
#server.mrcp1.mrcpdefaults.confidence-threshold VXIString
0
#server.mrcp1.mrcpdefaults.nbest-list-length VXIString
1
#server.mrcp1.mrcpdefaults.no-input-timeout VXIString
7000
#server.mrcp1.mrcpdefaults.sensitivity VXIString
50
#server.mrcp1.mrcpdefaults.completetimeout VXIString
0
#server.mrcp1.mrcpdefaults.incompletetimeout VXIString
1500
#server.mrcp1.mrcpdefaults.speedvsaccuracy VXIString
50
server.mrcp1.mrcpdefaults.save-waveform VXIString
false
server.mrcp1.mrcpdefaults.dtmf-interdigit-timeout VXIString
5000
server.mrcp1.mrcpdefaults.dtmf-term-char VXIString
NULL
server.mrcp1.mrcpdefaults.dtmf-term-timeout VXIString
10000
server.mrcp1.mrcpdefaults.recognition-timeout VXIString
60000
server.mrcp1.mrcpdefaults.save-waveform-on-dtmf VXIString true
server.mrcp1.mrcpdefaults.fetch-timeout VXIString
5000
server.mrcp1.mrcpdefaults.speech-language VXIString
en-US
server.mrcp1.mrcpdefaults.recognition-start-timers VXIString true
server.mrcp1.mrcpdefaults.defaultVolume VXIInteger
80
server.mrcp1.mrcpdefaults.defaultRate VXIInteger
50
#server.mrcp1.mrcpdefaults.speech-language VXIString
en-US
server.mrcp1.mrcpdefaults.new-audio-channel VXIString false

############################## Resource section
################################
#
# The following is the configurations of three modules.
# Each configuration consists of 2 sections: the first is the general
# description of the resource, the second is the resource specific
section.
#

############################## Vocalizer section
###############################
#
# Nuance Vocalizer Text to Speech engine resource configuration
sections
#

###
# The library of the module
server.mrcp1.resource.2.dll VXIString
mrcp1rsspeechsynthNV5N.so

###
# The name of the resource, influences SDP description of the resource
# The default value
server.mrcp1.resource.2.name VXIString Nuance Vocalizer
Network Synthesizer

###
# The URL postfix, by which the messages addressed to this resource
will
# be identified
# The default value
server.mrcp1.resource.2.url VXIString media/
speechsynthesizer

###
# The prefix of the resource specific parameters
# The default value
server.mrcp1.resource.2.cfgprefix VXIString
server.mrcp1.rsspeechsynth.

###
# The Vocalizer language resource section
# speech-language must be specified
# voice-name or voice-gender can be specified
server.mrcp1.rsspeechsynth.mrcpdefaults.speech-language VXIString
en-US
server.mrcp1.rsspeechsynth.mrcpdefaults.voice-name VXIString
Unknown
server.mrcp1.rsspeechsynth.mrcpdefaults.voice-gender VXIString
any

###
# Vocalizer User XML configuration file that can override the standard
Vocalizer XML configuration file settings
# The settings in this additional configuration file override the
baseline
# settings specified in Vocalizer\config\ttsrshclient.xml. (The user
defined file can specify only the
# parameters you wish to override, rather than having to specify every
parameter.)
#server.mrcp1.rsspeechsynth.userconfig.path VXIString $(NSSSVRSDK)/
config/ttsrshclient_userconfigfile.xml

###
# Specifies the default content-base
#server.mrcp1.rsspeechsynth.mrcpdefaults.content-base VXIString NULL


###
# Cache control properties passed to Vocalizer in TTS requests
# Supported values:
# -1 (default) : No cache control properties are explicitly set by
NSS for the Vocalizer TTS
# requests. In this configuration, NSS will set
the cache control properties
# only in the case where they were set by the
client, in the MRCP request.
# >= 0 : NSS passes that value to Vocalizer in TTS requests
#
# Note that the cache-control properties specified in the received
MRCP requests take precedence
# over the value set here.
#
# Note that the default behavior of NSS has changed as compared to NSS
5.0. In NSS 5.0, the
# cache control properties passed to the TTS engine were set to 0 (by
default), which was
# disabling the TTS engine caching mechanism. In this release, NSS
does not explicitly set any
# cache control properties in the TTS requests. Therefore, the TTS
engine uses the cache control
# properties returned from the web server.
# To get back to the default behavior of NSS 5.0, use the value 0 for
these parameters.
# cache-control.max-age set to 1 year by default (since NSS 5.0.8 and
5.1.2)
server.mrcp1.rsspeechsynth.mrcpdefaults.cache-control.max-age
VXIInteger 31536000
#server.mrcp1.rsspeechsynth.mrcpdefaults.cache-control.max-stale
VXIInteger 0
#server.mrcp1.rsspeechsynth.mrcpdefaults.cache-control.min-fresh
VXIInteger 0

###
# Number of initially created CRSPlugin instances on the server start-
up.
server.mrcp1.rsspeechsynth.initialNumber VXIInteger 0

###
server.mrcp1.rsspeechsynth.ttsOutBufferSize VXIInteger 8192

###
# The RTP buffer sending configuration
server.mrcp1.rsspeechsynth.rtpUpperBoundarySamples VXIInteger 600
server.mrcp1.rsspeechsynth.rtpLowerBoundarySamples VXIInteger 300

###
# The sending rate will be multiplied by the specified number
# if the server will discover underflow of the audio.
server.mrcp1.rsspeechsynth.rtpBufferFillMultiplier VXIInteger 2

###
# The audio sending rate samples per second
server.mrcp1.rsspeechsynth.rtpSendRate VXIInteger 8000

###
# The size of rtp packet in sample
server.mrcp1.rsspeechsynth.rtpPacketSamples VXIInteger 160

server.mrcp1.rsspeechsynth.rtpHeadStartSamples VXIInteger 0

###
# The number of sending threads
server.mrcp1.rsspeechsynth.audiothreadnumber VXIInteger 8

###
# 0 - indicate for unlimited using of instance (default 100)
server.mrcp1.rsspeechsynth.cache.maxCountOfUsing VXIInteger 40

###
# Enable using of cookies
server.mrcp1.rsspeechsynth.cookie.enable VXIInteger 0

###
# Encoding for text/plain. It can be one of ISO-8859-1, UTF-8, UTF-16
# The default value
server.mrcp1.rsspeechsynth.plainTextSSMLEncoding VXIString ISO-8859-1

###
# Enable writing silence before and after a prompt
server.mrcp1.rsspeechsynth.playSilence VXIInteger 0


########################### Nuance Recognizer section
##########################
#
# Nuance Recognizer recognition engine resource configuration sections
#
server.mrcp1.resource.3.dll VXIString mrcp1osrspeechrecog.so

##
# The default value
server.mrcp1.resource.3.name VXIString Nuance Open Speech
Recognizer for MRCPv1

##
# The default value
server.mrcp1.resource.3.url VXIString media/
speechrecognizer

##
# The default value
server.mrcp1.resource.3.cfgprefix VXIString
server.mrcp1.osrspeechrecog.

###
# The initial number of plugin to be created on the server start-up
server.mrcp1.osrspeechrecog.initialNumber VXIInteger
0

###
# The number of threads used to fetch audio and feed it to the
recognizer
# Typically there should be 1 audio thread for about 15 to 20
# worker threads
server.mrcp1.osrspeechrecog.audioThreadNumber VXIInteger
10

###
server.mrcp1.osrspeechrecog.audioBufferSize VXIInteger 100

###
# Enable caching of NR instances
server.mrcp1.osrspeechrecog.cache.enable VXIInteger 1

###
# Number of initially created NR instances on the server start-up.
# Those instances won't be release even if they are idle for more than
timeoutSec seconds.
server.mrcp1.osrspeechrecog.cache.initialNumber VXIInteger 0

###
# Maximum number of NR instances to be alive on the server at a time.
# Typically it should be equal to the number of NR licenses.
server.mrcp1.osrspeechrecog.cache.maxNumber VXIInteger 0

###
# Extra instances are those not included in the initialNumber.
# If the extra instance is idle for the specified period of time it
will be released.
server.mrcp1.osrspeechrecog.cache.timeoutSec VXIInteger 600

###
# 0 - indicate for unlimited using of instance (default 100)
server.mrcp1.osrspeechrecog.cache.maxCountOfUsing VXIInteger 40

###
# Enable using of cookies
server.mrcp1.osrspeechrecog.cookie.enable VXIInteger 0

###
# Subsequent audio timeout (in millisces). Timeout after which the
rtp
# polling loop terminates if the no audio packet is not received.
# A value of -1 indicates no timeout.
server.mrcp1.osrspeechrecog.audioNextTimeout VXIInteger 10000

###
#The NR result format
#If strictconfidencelevel is set to 1, the result contains only
results with values greater than the confidencelevel.
#If it is not specified, then if the *best* confidence is above the
confidencelevel, all results (including those below confidencelevel)
are returned.
server.mrcp1.osrspeechrecog.result.mediatype VXIString application/x-
vnd.speechworks.emma+xml;strictconfidencelevel=1

### Return an NLSML result for nomatches
#server.mrcp1.osrspeechrecog.result.sendnomatch VXIString false
# Endpointer control. If the end pointer is off (0), then the server
# will respond to the very first audio packet. Unless end-pointing and
# speech detection is being done on the client, this should be set to
# on (1).
server.mrcp1.osrspeechrecog.endpointer VXIInteger 1

# BARGE-IN-OCCURRED event control. If it is on (1), then the server
# will respond with BARGE-IN-OCCURRED event to TTS, if it in the same
RTSP session
server.mrcp1.osrspeechrecog.internalBargeIn VXIInteger 0

##
# Set to 1 to send a START-OF-SPEECH event each time new candidate
speech is
# detected in a hotword mode recognition
server.mrcp1.osrspeechrecog.startOfSpeechOnHotword VXIInteger 0

# User-supplied configuration value used to override Baseline.xml
defaults
# If the file is in a different directory than Baseline.xml,
# load it via the SWIUSERCFG environment variable
server.mrcp1.osrspeechrecog.userconfig.path VXIString $(SWISRSDK)/
config/Baseline.xml

# XML Encoding to insert in NLSML results. If defined, will insert an
XML header before the results
#
# Ex: If the config file contains
# server.session.ossrec.nlsml.encoding VXIString ISO-8859-1
# The following header will be prepended to the NLSML results
# <?xml version='1.0' encoding='ISO-8859-1' ?>
#
#server.mrcp1.osrspeechrecog.nlsml.encoding VXIString ISO-8859-1

# Set to 1 to send START-OF-SPEECH event on DTMF input
# This enables the platform to detect DTMF barge-in
#
server.mrcp1.osrspeechrecog.startOfSpeechOnDTMF VXIInteger 1

# Specifies the default content-base
#server.mrcp1.osrspeechrecog.mrcpdefaults.content-base VXIString NULL

###
#cache-control.max-age set to 1 year by default
server.mrcp1.osrspeechrecog.mrcpdefaults.cache-control.max-age
VXIInteger 31536000
#server.mrcp1.osrspeechrecog.mrcpdefaults.cache-control.max-stale
VXIInteger 0
#server.mrcp1.osrspeechrecog.mrcpdefaults.cache-control.min-fresh
VXIInteger 0

###
# Grammar Media Types
# Valid combinations are:
#
# string NULL
# uri NULL
# string/2.0 NULL,application/srgs+xml,application/x-swi-
grammar,application/x-swi-parameter,text/xml
# uri/2.0 NULL,application/srgs+xml,application/x-swi-
grammar,application/x-swi-parameter,text/xml
#
# defaults string,NULL, uri,NULL
#
server.mrcp1.osrspeechrecog.grammar.stringType VXIString string/2.0
server.mrcp1.osrspeechrecog.grammar.stringMediatype VXIString NULL
server.mrcp1.osrspeechrecog.grammar.uriType VXIString uri/2.0
server.mrcp1.osrspeechrecog.grammar.uriMediatype VXIString NULL

#Setting to 1 will suppress SWIDtmf event in calllog
server.mrcp1.osrspeechrecog.secureDTMFcontext VXIInteger 0

############################### Recoder section
################################

server.mrcp2.resource.4.dll VXIString recorder.so
server.mrcp2.resource.4.name VXIString Nuance Speech
Recorder
server.mrcp2.resource.4.type VXIString recorder
server.mrcp2.resource.4.cfgprefix VXIString
server.mrcp2.recorder.

# Recorder plugin instance caching.
# Must be kept disabled when there's a possibility of even a single
long recording (1+ mins)
server.mrcp2.recorder.cache.enable VXIInteger 0

###
# Enable using of cookies
server.mrcp2.recorder.cookie.enable VXIInteger 0

# default values for MRCP headers
server.mrcp2.recorder.mrcpdefaults.final-silence
VXIInteger 1500
server.mrcp2.recorder.mrcpdefaults.no-input-timeout
VXIInteger 5000
server.mrcp2.recorder.mrcpdefaults.sensitivity-level
VXIFloat 0.5
server.mrcp2.recorder.mrcpdefaults.new-audio-channel
VXIString false
server.mrcp2.recorder.mrcpdefaults.fetch-timeout
VXIInteger 10000

#Uses buffered RTP for first RECORD
server.mrcp2.recorder.optimizeForOutbound VXIInteger 1

###
# The list of resource-manager addresses
# specified as: <host>":"<port> *( "," <host>":"<port" )
# Should be commented out if no resource-manager is used
#rm.Addresses VXIString localhost:7777
#This parameter turns on a DTMF receiving mechanism that relies on
packets timestamps and not end bit
#Default value is 0
#server.rtp.dtmfAdvancedReceiver VXIInteger 0


Dialplan debug:


== Using SIP RTP CoS mark 5
-- Executing [8011@sipme:1] Answer("SIP/jjones-00000000", "") in
new stack
-- Executing [8011@sipme:2] Wait("SIP/jjones-00000000", "2") in
new stack
-- Executing [8011@sipme:3] Playback("SIP/jjones-00000000", "en/
hello-world") in new stack
-- <SIP/jjones-00000000> Playing 'en/hello-world.gsm' (language
'en')
-- Executing [8011@sipmebitch:4] SpeechCreate("SIP/
jjones-00000000", "") in new stack
[Dec 20 09:11:25] NOTICE[15404]: app_unimrcp.c:4169 unimrcp_log:
Create MRCP Handle 0x134e96e8 [nss2]
[Dec 20 09:11:25] DEBUG[15404]: app_unimrcp.c:4172 unimrcp_log: Create
Channel 0x134e96e8 <new>
[Dec 20 09:11:25] DEBUG[15404]: res_speech_unimrcp.c:907
uni_recog_sm_request_send: Send session request type:2
[Dec 20 09:11:25] DEBUG[15404]: app_unimrcp.c:4175 unimrcp_log: Signal
Message to [MRCP Client] [4;0]
[Dec 20 09:11:25] DEBUG[15404]: res_speech_unimrcp.c:933
uni_recog_sm_request_send: Wait for session response
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Process
Message [MRCP Client] [4;0]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4172 unimrcp_log: Receive
App Request 0x134e96e8 <new> [2]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4172 unimrcp_log: Add
MRCP Handle 0x134e96e8 <new>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log:
Dispatch App Request 0x134e96e8 <new> [2]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Signal
Message to [MRCPv2-Agent-1] [1;0]
[Dec 20 09:11:25] NOTICE[4072]: app_unimrcp.c:4169 unimrcp_log: Add
Control Channel 0x134e96e8 <new@speechrecog>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Add
Media Termination 0x134e96e8 <new@media-tm>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Add
Media Termination 0x134e96e8 <new@rtp-tm>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Signal
Message to [Media-Engine-1] [1;0]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Wait
for Messages [MRCP Client]
[Dec 20 09:11:25] DEBUG[4075]: app_unimrcp.c:4175 unimrcp_log: Process
Poller Wakeup [MRCPv2-Agent-1]
[Dec 20 09:11:25] DEBUG[4075]: app_unimrcp.c:4175 unimrcp_log: Process
Message [MRCPv2-Agent-1] [1;0]
[Dec 20 09:11:25] DEBUG[4075]: app_unimrcp.c:4175 unimrcp_log: Signal
Message to [MRCP Client] [2;0]
[Dec 20 09:11:25] DEBUG[4075]: app_unimrcp.c:4175 unimrcp_log: Wait
for Messages [MRCPv2-Agent-1]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Process
Message [MRCP Client] [2;0]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Control
Channel Added 0x134e96e8 <new@speechrecog>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Wait
for Messages [MRCP Client]
[Dec 20 09:11:25] DEBUG[4076]: app_unimrcp.c:4175 unimrcp_log: Process
Message [Media-Engine-1] [1;0]
[Dec 20 09:11:25] DEBUG[4076]: app_unimrcp.c:4175 unimrcp_log: Add
Media Context 0x134e96e8
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Process
Message [MRCP Client] [3;0]
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Media
Termination Added 0x134e96e8 <new@media-tm>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Media
Termination Added 0x134e96e8 <new@rtp-tm>
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4172 unimrcp_log: Send
Offer 0x134e96e8 <new> [c:1 a:1 v:0] to 127.0.0.1:8060
[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4172 unimrcp_log: Local
SDP 0x134e96e8 <new>
v=0
o=UniMRCPClient 0 0 IN IP4 127.0.0.1
s=-
c=IN IP4 127.0.0.1
t=0 0
m=application 9 TCP/MRCPv2 1
a=setup:active
a=connection:new
a=resource:speechrecog
a=cmid:1
m=audio 4000 RTP/AVP 0 8 96 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 L16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendonly
a=ptime:20
a=mid:1

[Dec 20 09:11:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Wait
for Messages [MRCP Client]
[Dec 20 09:12:04] NOTICE[4057]: chan_sip.c:21683
handle_request_subscribe: Received SIP subscribe for peer without
mailbox: jjones
[Dec 20 09:12:25] ERROR[15404]: res_speech_unimrcp.c:935
uni_recog_sm_request_send: Failed to get response, request timed out
[Dec 20 09:12:25] DEBUG[15404]: res_speech_unimrcp.c:938
uni_recog_sm_request_send: Waked up, status code: 1
[Dec 20 09:12:25] WARNING[15404]: res_speech_unimrcp.c:193
uni_recog_create: Failed to add channel
[Dec 20 09:12:25] DEBUG[15404]: res_speech_unimrcp.c:907
uni_recog_sm_request_send: Send session request type:1
[Dec 20 09:12:25] DEBUG[15404]: app_unimrcp.c:4175 unimrcp_log: Signal
Message to [MRCP Client] [4;0]
[Dec 20 09:12:25] DEBUG[15404]: res_speech_unimrcp.c:933
uni_recog_sm_request_send: Wait for session response
[Dec 20 09:12:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Process
Message [MRCP Client] [4;0]
[Dec 20 09:12:25] DEBUG[4072]: app_unimrcp.c:4172 unimrcp_log: Receive
App Request 0x134e96e8 <new> [1]
[Dec 20 09:12:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Push
Request to Queue 0x134e96e8 <new>
[Dec 20 09:12:25] DEBUG[4072]: app_unimrcp.c:4175 unimrcp_log: Wait
for Messages [MRCP Client]
[Dec 20 09:13:25] ERROR[15404]: res_speech_unimrcp.c:935
uni_recog_sm_request_send: Failed to get response, request timed out
[Dec 20 09:13:25] DEBUG[15404]: res_speech_unimrcp.c:938
uni_recog_sm_request_send: Waked up, status code: 1
[Dec 20 09:13:25] NOTICE[15404]: app_unimrcp.c:4169 unimrcp_log:
Destroy MRCP Handle 0x134e96e8
-- Executing [8011@sipmebitch:5] SpeechLoadGrammar("SIP/
jjones-00000000", "digit,/usr/local/unimrcp/data/grammar.xml") in new
stack
== Spawn extension (sipme, 8011, 5) exited non-zero on 'SIP/
jjones-00000000'

Arsen Chaloyan

unread,
Jan 23, 2012, 10:31:32 PM1/23/12
to uni...@googlegroups.com
Hello Jesse,

While the file /etc/asterisk/mrcp.conf is used by the Asterisk
dialplan applications such as MRCPSynth() and MRCPRecog(),
/etc/asterisk/res-speech-unimrcp.conf is used by the implementation of
the Asterisk Speech API via MRCP.

1. Leave the profile nss2 in /etc/asterisk/res-speech-unimrcp.conf and
remove (or comment out) all the others

[general]
; UniMRCP named profile. Options are:
unimrcp-profile = nss2 ; Nuance MRCPv2 Server

2. Use the actual profile in /usr/local/unimrcp/profiles/nuance.xml
(all the other ones can be removed)

Set the server IP and port matching your NSS configuration such as
127.0.0.1 and 8060. The rest should be OK.

<?xml version="1.0" encoding="UTF-8"?>
<!-- UniMRCP client document -->
<unimrcpclient xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../unimrcpclient.xsd"
version="1.0">
<settings>
<!-- SIP MRCPv2 settings -->

<sip-settings id="Nuance-SIP-Settings">


<!-- Server address should be explicitly specified, it defaults
to "ip" address set in the properties. -->

<server-ip>127.0.0.1</server-ip>


<server-port>8060</server-port>
<!-- <force-destination>true</force-destination> -->

<!-- <feature-tags>*;+mrcpv2.speechrecog;+mrcpv2.speechrecog.grammars="http://grammars.example.com/biggrammar.gram"</feature-tags>
-->
</sip-settings>

</settings>

</profiles>
</unimrcpclient>

> --
> You received this message because you are subscribed to the Google Groups "UniMRCP" group.
> To post to this group, send email to uni...@googlegroups.com.
> To unsubscribe from this group, send email to unimrcp+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/unimrcp?hl=en.
>

--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org

Jesse Jones

unread,
Mar 5, 2012, 7:12:33 PM3/5/12
to uni...@googlegroups.com
Hi Arsen,

Thank you for the reply.  That worked for me.  I figured out that the Nuance Server was having a license issue that was causing the request to fail.

One quick question.  Do you happen to know what the Asterisk CLI command is to turn on debug for mrcp/unimrcp?

Thanks,

Jesse Jones

Jesse Jones

unread,
Mar 5, 2012, 8:41:39 PM3/5/12
to uni...@googlegroups.com
Sorry found it. You can set it to log output to the console in /usr/local/unimrcp/conf/logger.xml.
Reply all
Reply to author
Forward
0 new messages