how would I know or change the plugin which linked between the client and the server ???

291 views
Skip to first unread message

wuqi...@qq.com

unread,
Jul 12, 2018, 9:19:25 PM7/12/18
to UniMRCP

As a fact, for client, run recog, then the demo-recog-1 plugin of server response, 
but why the demo-recog-1 plugin, not the demo-synth-1 or others ????
and I cannot find the name in client's code
anyone can help me, thx

bharath kumar

unread,
Jul 12, 2018, 9:38:46 PM7/12/18
to UniMRCP
I'm not sure whether did I understand your question right. Typically, run recog will run a test scenario for speech recognition where you can expect the response from demo-recog-1 plugin unless you didn't install any other plugin like GSR, WSR. In other way, if you want a response from demo-synth-1 plugin, try run synth. 

wuqi...@qq.com

unread,
Jul 12, 2018, 11:13:17 PM7/12/18
to UniMRCP
thanks.
But that's not confused me.
if there is two asr plugin, and then run recog, which asr will be choosed in server ??

bharath kumar

unread,
Jul 13, 2018, 1:52:14 AM7/13/18
to UniMRCP
You can change the plugin by editing the unimrcpserver.xml config. Below is how I change my plugin.


    <plugin-factory>
      <engine id="Demo-Synth-1" name="demosynth" enable="true"/>
      <engine id="Demo-Recog-1" name="demorecog" enable="false"/>
      <engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
      <engine id="Recorder-1" name="mrcprecorder" enable="true"/>
      <engine id="GSR-1" name="umsgsr" enable="true"/>
    </plugin-factory>

wuqi...@qq.com

unread,
Jul 13, 2018, 2:53:41 AM7/13/18
to UniMRCP
在 2018年7月13日星期五 UTC+8下午1:52:14,bharath kumar写道:
well,thx
I think that's the only way. perhaps unimrcp cannot point the special plugin to use.

Arsen Chaloyan

unread,
Jul 13, 2018, 1:28:47 PM7/13/18
to UniMRCP
It is actually possible to load multiple plugins (speech engines) for the same media resource, be it speech recognizer or synthesizer, etc/

However, in this case, you would need to have multiple profiles and assign speech engines to the corresponding profiles.

    <mrcpv2-profile id="uni2">
      <sip-uas>SIP-Agent-1</sip-uas>

      <resource-engine-map>
        <param name="speechrecog" value="GSR-1"/>
      </resource-engine-map>
    </mrcpv2-profile>

    <mrcpv2-profile id="uni2">
      <sip-uas>SIP-Agent-2</sip-uas>

      <resource-engine-map>
        <param name="speechrecog" value="WSR-1"/>
      </resource-engine-map>
    </mrcpv2-profile>



--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



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

bharath kumar

unread,
Aug 8, 2018, 3:49:16 AM8/8/18
to UniMRCP
Hi Arsen, 

I had tried using both GSR and GDF, where based on the profile id  I want to change my speech recog. I defined the profiles like below and made a test using unimrcp client "run gdf1". As per the setting, it should be using GDF as a speech recog resource but I'm getting an error "Raise App Response umc-1 <faf7d0b326bc4f16> [1] FAILURE [2]". Let me know if I missed some steps. Thanks 

UniMRCP server profile setting 

  <!-- 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>

      <resource-engine-map>
        <param name="speechrecog" value="GDF-1"/>
      </resource-engine-map>
    </mrcpv1-profile>

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

      <resource-engine-map>
        <param name="speechrecog" value="GSR-1"/>
      </resource-engine-map>
    </mrcpv1-profile>

GDF1.xml

<?xml version="1.0" encoding="UTF-8"?>
<umcscenario name="gdf1" class="Recognizer" profile="uni1">
  <resource-discovery enable="0"/>
  <define-grammar enable="0"/>
  <recognize enable="1" content-type="text/uri-list" content-location="speechtranscribe.txt" audio-source="bookroom.pcm"/>

  <termination enable="1">
    <capabilities>
      <codec name="LPCM" rates="8000 16000"/>
      <!-- <codec name="PCMU" rates="8000 16000"/> -->
    </capabilities>
  </termination>
</umcscenario>

Logs

run gdf1
2018-08-08 17:44:09:273450 [DEBUG]  Signal Message to [Framework Agent] [0x24842e0;1;1]
>2018-08-08 17:44:09:273538 [DEBUG]  Process Message [Framework Agent] [0x24842e0;1;1]
[1]
2018-08-08 17:44:09:273717 [NOTICE] Create MRCP Handle 0x7f5918034b60 [uni1]
2018-08-08 17:44:09:273774 [INFO]   Create Channel umc-1 <new>
2018-08-08 17:44:09:273794 [DEBUG]  Signal Message to [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:09:273830 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:09:273861 [DEBUG]  Process Message [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:09:273949 [INFO]   Receive App Request umc-1 <new> [2]
2018-08-08 17:44:09:274018 [NOTICE] Create RTSP Handle 0x7f5910009728
2018-08-08 17:44:09:274051 [INFO]   Add MRCP Handle umc-1 <new>
2018-08-08 17:44:09:274064 [DEBUG]  Dispatch App Request umc-1 <new> [2]
2018-08-08 17:44:09:274078 [NOTICE] Add Control Channel umc-1 <new@speechrecog>
2018-08-08 17:44:09:274103 [DEBUG]  Add Media Termination umc-1 <new@media-tm>
2018-08-08 17:44:09:274125 [DEBUG]  Add Media Termination umc-1 <new@rtp-tm>
2018-08-08 17:44:09:274137 [DEBUG]  Signal Message to [Media-Engine-1] [0x7f591000b640;1;0]
2018-08-08 17:44:09:274153 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:282315 [DEBUG]  Process Message [Media-Engine-1] [0x7f591000b640;1;0]
2018-08-08 17:44:09:283059 [DEBUG]  Signal Message to [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:09:283129 [DEBUG]  Process Message [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:09:283157 [DEBUG]  Media Termination Added umc-1 <new@media-tm>
2018-08-08 17:44:09:283168 [DEBUG]  Media Termination Added umc-1 <new@rtp-tm>
2018-08-08 17:44:09:283179 [INFO]   Send Offer umc-1 <new> [c:0 a:1 v:0] to 10.213.233.55:1554
2018-08-08 17:44:09:283286 [DEBUG]  Signal Message to [RTSP-Agent-1] [0x7f591000b640;1;0]
2018-08-08 17:44:09:283337 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:283384 [DEBUG]  Process Poller Wakeup [RTSP-Agent-1]
2018-08-08 17:44:09:283410 [DEBUG]  Process Message [RTSP-Agent-1] [0x7f591000b640;1;0]
2018-08-08 17:44:09:285187 [NOTICE] Established RTSP Connection 10.213.233.55:45324 <-> 10.213.233.55:1554
2018-08-08 17:44:09:285216 [INFO]   Add RTSP Handle 0x7f5910009728
2018-08-08 17:44:09:285244 [INFO]   Send RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [436 bytes]
CSeq: 1
Transport: RTP/AVP;unicast;client_port=4000-4001
Content-Type: application/sdp
Content-Length: 258

v=0
o=UniMRCPClient 0 0 IN IP4 10.213.233.55
s=-
c=IN IP4 10.213.233.55
t=0 0
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

2018-08-08 17:44:09:285328 [INFO]   Push RTSP Request to In-Progress Queue 0x7f5910009728 <new> CSeq:1
2018-08-08 17:44:09:285348 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:09:297191 [DEBUG]  Process Signalled Descriptor [RTSP-Agent-1]
2018-08-08 17:44:09:297249 [INFO]   Receive RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [388 bytes]
RTSP/1.0 200 OK
CSeq: 1
Transport: RTP/AVP;unicast;client_port=4000-4001;server_port=5000-5001
Session: faf7d0b326bc4f16
Content-Type: application/sdp
Content-Length: 209

v=0
o=UniMRCPServer 0 0 IN IP4 10.213.233.55
s=-
c=IN IP4 10.213.233.55
t=0 0
m=audio 5000 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=recvonly
a=ptime:20

2018-08-08 17:44:09:297365 [INFO]   Pop In-Progress RTSP Request 0x7f5910009728 CSeq:1
2018-08-08 17:44:09:297384 [INFO]   Add RTSP Session 0x7f5910009728 <faf7d0b326bc4f16>
2018-08-08 17:44:09:297497 [DEBUG]  Signal Message to [MRCP Client] [0x7f590c002f40;1;0]
2018-08-08 17:44:09:297545 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:09:297612 [DEBUG]  Process Message [MRCP Client] [0x7f590c002f40;1;0]
2018-08-08 17:44:09:297644 [INFO]   Receive Answer umc-1 <faf7d0b326bc4f16> [c:0 a:1 v:0] Status 200
2018-08-08 17:44:09:297664 [DEBUG]  Modify Media Termination umc-1 <faf7d0b326bc4f16@rtp-tm>
2018-08-08 17:44:09:297679 [DEBUG]  Signal Message to [Media-Engine-1] [0x7f591000b680;1;0]
2018-08-08 17:44:09:297693 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:302291 [DEBUG]  Process Message [Media-Engine-1] [0x7f591000b680;1;0]
2018-08-08 17:44:09:302340 [INFO]   Enable RTP Session 10.213.233.55:4000
2018-08-08 17:44:09:302378 [INFO]   Open RTP Transmitter 10.213.233.55:4000 -> 10.213.233.55:5000
2018-08-08 17:44:09:302397 [INFO]   Media Path umc-1 Source->[LPCM/8000/1]->Bridge->[LPCM/8000/1]->Encoder->[PCMU/8000/1]->Sink
2018-08-08 17:44:09:302409 [DEBUG]  Signal Message to [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:09:302479 [DEBUG]  Process Message [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:09:302500 [DEBUG]  Media Termination Modified umc-1 <faf7d0b326bc4f16@rtp-tm>
2018-08-08 17:44:09:302513 [INFO]   Raise App Response umc-1 <faf7d0b326bc4f16> [2] SUCCESS [0]
2018-08-08 17:44:09:302531 [DEBUG]  Signal Message to [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:09:302562 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:302626 [DEBUG]  Process Message [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:09:302737 [DEBUG]  Signal Message to [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:09:302808 [DEBUG]  Process Message [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:09:302840 [INFO]   Receive App MRCP Request umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:09:302857 [INFO]   Send MRCP Request umc-1 <faf7d0b326bc4f16@speechrecog> [1]
2018-08-08 17:44:09:302903 [DEBUG]  Signal Message to [RTSP-Agent-1] [0x7f591000b780;1;0]
2018-08-08 17:44:09:302951 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:302822 [INFO]   Set [/opt/unimrcp/data/bookroom.pcm] as Speech Source
2018-08-08 17:44:09:302988 [DEBUG]  Process Poller Wakeup [RTSP-Agent-1]
2018-08-08 17:44:09:303020 [DEBUG]  Process Message [RTSP-Agent-1] [0x7f591000b780;1;0]
2018-08-08 17:44:09:302999 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:09:303046 [INFO]   Send RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [420 bytes]
CSeq: 2
Session: faf7d0b326bc4f16
Content-Type: application/mrcp
Content-Length: 261

RECOGNIZE 1 MRCP/1.0
Content-Id: request1@form-level
Content-Type: text/uri-list
No-Input-Timeout: 5000
Recognition-Timeout: 10000
Recognizer-Start-Timers: true
Confidence-Threshold: 87
Save-Waveform: true
Content-Length: 25

builtin:speech/transcribe
2018-08-08 17:44:09:303111 [INFO]   Push RTSP Request to In-Progress Queue 0x7f5910009728 <faf7d0b326bc4f16> CSeq:2
2018-08-08 17:44:09:303128 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:09:304994 [DEBUG]  Process Signalled Descriptor [RTSP-Agent-1]
2018-08-08 17:44:09:305030 [INFO]   Receive RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [137 bytes]
RTSP/1.0 200 OK
CSeq: 2
Session: faf7d0b326bc4f16
Content-Type: application/mrcp
Content-Length: 30

MRCP/1.0 1 200 IN-PROGRESS


2018-08-08 17:44:09:305083 [INFO]   Pop In-Progress RTSP Request 0x7f5910009728 CSeq:2
2018-08-08 17:44:09:305121 [DEBUG]  Signal Message to [MRCP Client] [0x7f590c002f40;1;2]
2018-08-08 17:44:09:305144 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:09:305182 [DEBUG]  Process Message [MRCP Client] [0x7f590c002f40;1;2]
2018-08-08 17:44:09:305203 [INFO]   Raise App MRCP Response umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:09:305216 [DEBUG]  Signal Message to [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:09:305235 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:09:305260 [DEBUG]  Process Message [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:09:305276 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:10:878306 [DEBUG]  Process Signalled Descriptor [RTSP-Agent-1]
2018-08-08 17:44:10:878352 [INFO]   Receive RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [200 bytes]
CSeq: 2
Session: faf7d0b326bc4f16
Content-Type: application/mrcp
Content-Length: 42

START-OF-SPEECH 1 IN-PROGRESS MRCP/1.0


2018-08-08 17:44:10:878460 [DEBUG]  Signal Message to [MRCP Client] [0x7f590c002f40;1;2]
2018-08-08 17:44:10:878489 [INFO]   Send RTSP Data 10.213.233.55:45324 <-> 10.213.233.55:1554 [55 bytes]
RTSP/1.0 200 OK
CSeq: 2
Session: faf7d0b326bc4f16


2018-08-08 17:44:10:878534 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:10:878572 [DEBUG]  Process Message [MRCP Client] [0x7f590c002f40;1;2]
2018-08-08 17:44:10:878625 [INFO]   Raise App MRCP Event umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:10:878642 [DEBUG]  Signal Message to [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:10:878672 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:10:878725 [DEBUG]  Process Message [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:10:878753 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:12:335848 [DEBUG]  Process Signalled Descriptor [RTSP-Agent-1]
2018-08-08 17:44:12:335899 [INFO]   RTSP Peer Disconnected 10.213.233.55:45324 <-> 10.213.233.55:1554
2018-08-08 17:44:12:335918 [INFO]   Close RTSP Connection 10.213.233.55:45324 <-> 10.213.233.55:1554
2018-08-08 17:44:12:336042 [NOTICE] Terminate Remaining RTSP Handles [1]
2018-08-08 17:44:12:336081 [DEBUG]  Signal Message to [MRCP Client] [0x7f590c002f40;1;4]
2018-08-08 17:44:12:336121 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:12:336176 [DEBUG]  Process Message [MRCP Client] [0x7f590c002f40;1;4]
2018-08-08 17:44:12:336202 [DEBUG]  Mark Session as Disconnected umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:12:336223 [INFO]   Raise App Event umc-1 <faf7d0b326bc4f16> [0]
2018-08-08 17:44:12:336243 [DEBUG]  Signal Message to [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:12:336275 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:12:337444 [DEBUG]  Process Message [Framework Agent] [0x7f591000b640;1;0]
2018-08-08 17:44:12:337481 [DEBUG]  Signal Message to [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:12:337504 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:12:337525 [DEBUG]  Process Message [MRCP Client] [0x7f5918032980;4;0]
2018-08-08 17:44:12:337537 [INFO]   Receive App Request umc-1 <faf7d0b326bc4f16> [1]
2018-08-08 17:44:12:337548 [DEBUG]  Dispatch App Request umc-1 <faf7d0b326bc4f16> [1]
2018-08-08 17:44:12:337558 [INFO]   Terminate Session umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:12:337570 [DEBUG]  Subtract Media Termination umc-1 <faf7d0b326bc4f16@media-tm>
2018-08-08 17:44:12:337581 [DEBUG]  Subtract Media Termination umc-1 <faf7d0b326bc4f16@rtp-tm>
2018-08-08 17:44:12:337655 [DEBUG]  Signal Message to [Media-Engine-1] [0x7f591000b640;1;0]
2018-08-08 17:44:12:337675 [DEBUG]  Signal Message to [RTSP-Agent-1] [0x7f591000b780;1;0]
2018-08-08 17:44:12:337702 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:12:337729 [DEBUG]  Process Poller Wakeup [RTSP-Agent-1]
2018-08-08 17:44:12:337741 [DEBUG]  Process Message [RTSP-Agent-1] [0x7f591000b780;1;0]
2018-08-08 17:44:12:337769 [WARN]   No RTSP Connection
2018-08-08 17:44:12:337794 [INFO]   Remove RTSP Session 0x7f5910009728 <faf7d0b326bc4f16>
2018-08-08 17:44:12:337812 [INFO]   Remove RTSP Handle 0x7f5910009728
2018-08-08 17:44:12:337841 [NOTICE] Destroy RTSP Handle 0x7f5910009728
2018-08-08 17:44:12:337881 [DEBUG]  Signal Message to [MRCP Client] [0x7f590c002f40;1;1]
2018-08-08 17:44:12:337912 [NOTICE] Destroy RTSP Connection 10.213.233.55:45324 <-> 10.213.233.55:1554
2018-08-08 17:44:12:337935 [DEBUG]  Wait for Messages [RTSP-Agent-1]
2018-08-08 17:44:12:337968 [DEBUG]  Process Message [MRCP Client] [0x7f590c002f40;1;1]
2018-08-08 17:44:12:337990 [INFO]   Session Terminated umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:12:338006 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:12:359477 [DEBUG]  Process Message [Media-Engine-1] [0x7f591000b640;1;0]
2018-08-08 17:44:12:359551 [INFO]   Close RTP Transmitter 10.213.233.55:4000 -> 10.213.233.55:5000 [s:97 o:15520]
2018-08-08 17:44:12:359582 [INFO]   Remove RTP Session 10.213.233.55:4000
2018-08-08 17:44:12:359678 [DEBUG]  Signal Message to [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:12:359767 [DEBUG]  Process Message [MRCP Client] [0x7f58f80008c0;3;0]
2018-08-08 17:44:12:359801 [DEBUG]  Media Termination Subtracted umc-1 <faf7d0b326bc4f16@media-tm>
2018-08-08 17:44:12:359818 [DEBUG]  Media Termination Subtracted umc-1 <faf7d0b326bc4f16@rtp-tm>
2018-08-08 17:44:12:359840 [INFO]   Remove MRCP Handle umc-1 <faf7d0b326bc4f16>
2018-08-08 17:44:12:359872 [INFO]   Raise App Response umc-1 <faf7d0b326bc4f16> [1] FAILURE [2]
2018-08-08 17:44:12:359895 [DEBUG]  Signal Message to [Framework Agent] [0x7f5910009320;1;0]
2018-08-08 17:44:12:359930 [DEBUG]  Wait for Messages [MRCP Client]
2018-08-08 17:44:12:359997 [DEBUG]  Process Message [Framework Agent] [0x7f5910009320;1;0]
2018-08-08 17:44:12:360114 [NOTICE] Destroy MRCP Handle umc-1
2018-08-08 17:44:12:360134 [DEBUG]  Signal Message to [Framework Agent] [0x7f5918013d60;1;6]
2018-08-08 17:44:12:360148 [DEBUG]  Wait for Messages [Framework Agent]
2018-08-08 17:44:12:360158 [DEBUG]  Process Message [Framework Agent] [0x7f5918013d60;1;6]
2018-08-08 17:44:12:360178 [DEBUG]  Wait for Messages [Framework Agent]


On Saturday, July 14, 2018 at 3:28:47 AM UTC+10, Arsen Chaloyan wrote:
It is actually possible to load multiple plugins (speech engines) for the same media resource, be it speech recognizer or synthesizer, etc/

However, in this case, you would need to have multiple profiles and assign speech engines to the corresponding profiles.

    <mrcpv2-profile id="uni2">
      <sip-uas>SIP-Agent-1</sip-uas>

      <resource-engine-map>
        <param name="speechrecog" value="GSR-1"/>
      </resource-engine-map>
    </mrcpv2-profile>

    <mrcpv2-profile id="uni2">
      <sip-uas>SIP-Agent-2</sip-uas>

      <resource-engine-map>
        <param name="speechrecog" value="WSR-1"/>
      </resource-engine-map>
    </mrcpv2-profile>

L

 

On Thu, Jul 12, 2018 at 11:53 PM, <wuqi...@qq.com> wrote:
在 2018年7月13日星期五 UTC+8下午1:52:14,bharath kumar写道:
> You can change the plugin by editing the unimrcpserver.xml config. Below is how I change my plugin.
>
>
>
>
>
>     <plugin-factory>
>       <engine id="Demo-Synth-1" name="demosynth" enable="true"/>
>       <engine id="Demo-Recog-1" name="demorecog" enable="false"/>
>       <engine id="Demo-Verifier-1" name="demoverifier" enable="true"/>
>       <engine id="Recorder-1" name="mrcprecorder" enable="true"/>
>       <engine id="GSR-1" name="umsgsr" enable="true"/>
>     </plugin-factory>
>
>
> On Friday, July 13, 2018 at 1:13:17 PM UTC+10, wuqi...@qq.com wrote:thanks.
> But that's not confused me.
> if there is two asr plugin, and then run recog, which asr will be choosed in server ??

well,thx
I think that's the only way. perhaps unimrcp cannot point the special plugin to use.

--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Arsen Chaloyan

unread,
Aug 8, 2018, 9:58:33 PM8/8/18
to UniMRCP
Hi Bharath,

It looks like you have made an assumption that the name of a server profile can be used by the client, which is not true.

The server profile simply associates RTSP/MRCPv1 or SIP/MRCPv2 agents to the corresponding engines. Next, you should configure the client profiles accordingly, by using the ports of SIP/MRCPv2 or RTSP/MRCPv1 agents you configured for the server.

Also, check the logs of the server for any possible warnings and errors.

bharath kumar

unread,
Aug 14, 2018, 12:48:51 AM8/14/18
to UniMRCP
Hi Arsen, 

Thanks for your response. As you suggested I tried setting up two SIP agents, two MRCPV2-uas and two profiles for MRCPV2 but still it doesn't help where the call simply disconnected. I have attached the config that works and fails below. It would be great if you could tell me where I have gone wrong. Thanks.
unimrcpserver_fail.xml
unimrcpserver_works.xml

Arsen Chaloyan

unread,
Aug 14, 2018, 5:13:00 PM8/14/18
to UniMRCP
Hi Bharath,

I used your unimrcpserver_fail.xml to load the server, and everything worked as intended. There were two sip uas registered at 5060 and 5080 ports, which could be normally accessed from the test umc client by defining corresponding profiles in the client configuration.

BTW, the only difference between your working and non-working configurations is

--- unimrcpserver_works.xml    2018-08-14 13:25:15.000000000 -0700
+++ unimrcpserver_fail.xml    2018-08-14 13:25:11.000000000 -0700
@@ -241,13 +241,13 @@
 
       <!--
                    Profile-based association of engines to resources. For example:
       -->
 
       <resource-engine-map>
-        <param name="speechrecog" value="GDF-1"/>
+        <param name="speechrecog" value="GSR-1"/>
       </resource-engine-map>
 
 </mrcpv2-profile>
 
The difference is irrelevant from the perspective of validity of profile configuration. In both cases, MRCP sessions should have been established normally: using GSR in one case, and GDF in another.

Make sure that both GSR and GDF are loaded normally and can be used individually.
Message has been deleted

bharath kumar

unread,
Sep 3, 2018, 2:22:17 AM9/3/18
to UniMRCP
Thanks, Arsen. I couldn't still figure out this issue. Using the same config I have made several tries. I'm getting the following result:

Case 1: If I set the plugin factory like 

      <engine id="GSR-1" name="umsgsr" enable="true"/>
      <engine id="GDF-1" name="umsgdf" enable="true"/>

 I find the GSR works, where the GDF fails 

Case 2: If I set the plugin factory like 

      <engine id="GDF-1" name="umsgdf" enable="true"/>
      <engine id="GSR-1" name="umsgsf" enable="true"/>

 I find the GDF works, where the GSR fails 

I have attached the logs with debug logging on and the config for your reference.

Thanks,
Bharath
unimrcpserver.xml
unimrcpserver-11.log

Arsen Chaloyan

unread,
Sep 4, 2018, 9:06:10 PM9/4/18
to UniMRCP
Well, your configuration seems correct. I verified it last time on my end.

In the provided logs, I see sessions/calls placed to SIP-Agent-3, which is listening on 8060 port and being associated to GDF-1 engine. But where are sessions/calls placed to SIP-Agent-1, which is supposed to be listening on 5060 port, being associated to GSR-1 engine. If you placed such sessions and they did not reach the server, then this must be an issue related to 5060 port on the server. Is this port occupied by any other process? Do you have firewall?

bharath kumar

unread,
Sep 4, 2018, 9:40:48 PM9/4/18
to UniMRCP
Thanks Arsen, I tried the same case with TTS resource using AWS Polly and GSS which worked as intended, just the ASR fails and I tried changing the port to 5080 instead of using 5060 but still, it remains the same. If there are any issues with port 5060, TTS shouldn't be working I guess.

Arsen Chaloyan

unread,
Sep 4, 2018, 10:08:44 PM9/4/18
to UniMRCP
Right, Bharath. Then it is even stranger, as I clearly see in the logs that the association of engines and profiles is done according to your configuration.

2018-09-03 12:54:55:817427 [NOTICE] Create MRCPv2 Profile [uni2]
2018-09-03 12:54:55:817449 [INFO]   Assign MRCP Engine [speechsynth] [Polly-1]
2018-09-03 12:54:55:817462 [INFO]   Assign MRCP Engine [speechrecog] [GSR-1]
2018-09-03 12:54:55:817479 [INFO]   Assign MRCP Engine [recorder] [Recorder-1]
2018-09-03 12:54:55:817491 [INFO]   Assign MRCP Engine [speakverify] [Demo-Verifier-1]

2018-09-03 12:54:55:817672 [NOTICE] Create MRCPv2 Profile [uni3]
2018-09-03 12:54:55:817684 [INFO]   Assign MRCP Engine [speechsynth] [GSS-1]
2018-09-03 12:54:55:817695 [INFO]   Assign MRCP Engine [speechrecog] [GDF-1]
2018-09-03 12:54:55:817706 [INFO]   Assign MRCP Engine [recorder] [Recorder-1]
2018-09-03 12:54:55:817717 [INFO]   Assign MRCP Engine [speakverify] [Demo-Verifier-1]

Once loaded, the same association is used during the lifetime of the application. And what is the most interesting, this association is resource name/type agnostic. If it works for "speechsynt", it should work for "speechrecog" too.

If you provide logs containing the initial loading and an incoming speech recognition session to your uni2 profile, I'll take a closer look.

bharath kumar

unread,
Sep 4, 2018, 11:37:33 PM9/4/18
to uni...@googlegroups.com
Hi Arsen,

I have attached the Server config file and logs includes initial loading, incoming speech recognition session to the Uni2 profile which uses Polly and GSR and another call session to the Uni3 profile which uses GSS and GDF. Please do let me know if you require any further information. Thanks 

Regards,
Bharath


You received this message because you are subscribed to a topic in the Google Groups "UniMRCP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/unimrcp/c6d9u72uwu0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to unimrcp+u...@googlegroups.com.
unimrcpserver.xml
unimrcpserver-12.log

bharath kumar

unread,
Sep 4, 2018, 11:39:09 PM9/4/18
to UniMRCP
Hi Arsen,

I have attached the Server config file and logs includes initial loading, incoming speech recognition session to the Uni2 profile which uses Polly and GSR and another call session to the Uni3 profile which uses GSS and GDF. Please do let me know if you require any further information. Thanks 

Regards,
Bharath

unimrcpserver.xml
unimrcpserver-12.log

Arsen Chaloyan

unread,
Sep 5, 2018, 9:04:31 PM9/5/18
to UniMRCP
Hi Bharath,

I was quite anxious to check the logs and initially found nothing wrong there, as the configuration was loaded as expected and all your four MRCP sessions were actually properly established.

The problem is that the last session never completed,

2018-09-05 13:20:21:438257 [INFO]   Receive SIP Event [nua_i_invite] Status 100 Trying [SIP-Agent-3]
2018-09-05 13:20:21:445962 [INFO]   Open <d875f10127604f33@gdf>

since the service restarted upon processing of the RECOGNIZE request.

2018-09-05 13:20:25:459024 [DEBUG]  Wait for Messages [MRCP Server]
2018-09-05 13:20:25:714455 [NOTICE] Run as Daemon

So, this is not a problem of configuration, but an incompatibility of GSR and GDF plugins being loaded into the same address space. This problem would likely exhibit with any other two recognition plugins loaded into the same server. Plugin classes are generally placed in a unique namespace. However, all the plugins have a common class which may differ slightly for each instance, which actually causes the problem in this particular case. The solution would simply be to put this class into the individual namespaces too.

Reading your comments regarding the order of loading the plugins, I was originally wondering how the order could matter, but now everything is clear and in its place. The first one that gets loaded works normally, the second one is affected.

While I'll consider to address this problem with next releases, there is no real business case where two speech recognition plugins or two speech synthesis plugins are loaded into the same instance. Meanwhile, there are many cases where a speech recognition plugin and a speech synthesis plugin are used in conjunction, and this does not cause a problem. We have customers using GSR/GSS, GSR/BINGSS, GDF/GSS, but not GSR/GDF. Though, I understand that this setup is quite useful for evaluation purposes.

Anyway, thanks for bringing this up!
Reply all
Reply to author
Forward
0 new messages