Unimrcp server sending 100 and 200 to a wrong port

241 Views Asked by At

<?xml version="1.0" encoding="UTF-8"?>
<!-- UniMRCP server document -->
<unimrcpserver xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unimrcpserver.xsd" version="1.0">
  <properties>
    <ip type="auto"/>
  </properties>

  <components>
    <!-- Factory of MRCP resources -->
    <resource-factory>
      <resource id="speechsynth" enable="true"/>
      <resource id="speechrecog" enable="true"/>
      <resource id="recorder" enable="true"/>
      <resource id="speakverify" enable="true"/>
    </resource-factory>

    <!-- SofiaSIP MRCPv2 signaling agent -->
    <sip-uas id="SIP-Agent-1" type="SofiaSIP">
      <sip-port>8060</sip-port>
      <sip-transport>udp</sip-transport>
      <ua-name>UniMRCP SofiaSIP</ua-name>
      <sdp-origin>UniMRCPServer</sdp-origin>
    </sip-uas>

    <!-- UniRTSP MRCPv1 signaling agent -->
    <rtsp-uas id="RTSP-Agent-1" type="UniRTSP">
      <rtsp-port>1554</rtsp-port>
      <!-- <force-destination>true</force-destination> -->
      <resource-map>
        <param name="speechsynth" value="speechsynthesizer"/>
        <param name="speechrecog" value="speechrecognizer"/>
      </resource-map>
      <max-connection-count>100</max-connection-count>
      <sdp-origin>UniMRCPServer</sdp-origin>
    </rtsp-uas>

    <!-- MRCPv2 connection agent -->
    <mrcpv2-uas id="MRCPv2-Agent-1">
      <mrcp-port>1554</mrcp-port>
      <max-connection-count>100</max-connection-count>
      <force-new-connection>false</force-new-connection>
      <rx-buffer-size>1024</rx-buffer-size>
      <tx-buffer-size>1024</tx-buffer-size>
    </mrcpv2-uas>

    <!-- Media processing engine -->
    <media-engine id="Media-Engine-1">
      <realtime-rate>1</realtime-rate>
    </media-engine>

    <!-- Factory of RTP terminations -->
    <rtp-factory id="RTP-Factory-1">
      <rtp-port-min>5000</rtp-port-min>
      <rtp-port-max>6000</rtp-port-max>
    </rtp-factory>

    <!-- Factory of plugins (MRCP engines) -->
    <plugin-factory>
      <engine id="Demo-Synth-1" name="demosynth" enable="true"/>
      <engine id="Demo-Recog-1" name="demorecog" enable="true"/>
      <engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
      <engine id="Recorder-1" name="mrcprecorder" enable="true"/>
    </plugin-factory>
  </components>

  <settings>
    <!-- RTP/RTCP settings -->
    <rtp-settings id="RTP-Settings-1">
      <jitter-buffer>
        <adaptive>1</adaptive>
        <playout-delay>50</playout-delay>
        <max-playout-delay>600</max-playout-delay>
        <time-skew-detection>1</time-skew-detection>
      </jitter-buffer>
      <ptime>20</ptime>
      <codecs own-preference="false">PCMU 8000</codecs>
      <!-- enable/disable RTCP support -->
      <rtcp enable="false">
        <rtcp-bye>1</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>
    <!-- MRCPv2 default profile -->
    <mrcpv2-profile id="uni2">
      <sip-uas>SIP-Agent-1</sip-uas>
      <mrcpv2-uas>MRCPv2-Agent-1</mrcpv2-uas>
      <media-engine>Media-Engine-1</media-engine>
      <rtp-factory>RTP-Factory-1</rtp-factory>
      <rtp-settings>RTP-Settings-1</rtp-settings>
    </mrcpv2-profile>

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

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

Hello,

I'm trying to connect a VBVoice application to a Unimrcp server for TTS. Application sends Invite successfully to a server, and then server replies with 100 and 200, however they all go to a wrong port (5060 instead of 8060). Am I missing anything in the config file?

1

There are 1 best solutions below

0
On

VBVoice can be configured to change the port used for the MRCP connection, as it applies to the VBVMRCPClient. To modify the port used by the VBVoice MRCP Client open the Pronexus Control Panel, then access the VBVConfig utility. Along the left of VBVConfig access the MRCP section. Here you will see options for ASRServerPort and TTSServerPort. The default port is 5060. You can set this to any port number that is available. After making the change needed, use the File dropdown to select "Save All Keys" and close VBVConfig. The config change will be applied the next time you start the VBVoice MRCP Client.

Of note - Changing the MRCP port number is typically required when the VBVoice IVR is running VOIP telephony protocol because the default VOIP port VBVoice uses is 5060.

Also of note - Verify if the Speech Server running your ASR/TTS system will use TCP or UDP for the MRCP connection. By default VBVoice is configured to use TCP. This can be modified in the VBVConfig utility in the MRCP section, just look for the ASRServerPortIsTCP and the TTSServerPortIsTCP options.