GDF plugin result is incomplete using MRCPv2

62 views
Skip to first unread message

Szekely Zsolt-Karoly

unread,
Mar 17, 2023, 1:26:31 PM3/17/23
to UniMRCP
Hi,

I am using UniMRCP+GDF in combination with Genesys Media Server.
The recognition works, Dialogflow replies but the issue is the result is too long and only half of the content is reaching the Genesys Media Server.

Because of that, Genesys Media Server errors out because it cannot map the recognition result.

Is there any way to limit the result content of the GDF plugin or any other setting to would make this work?

The issue is most probably related to network because UDP is used and due to the size of the sip message fragmentation occurs.

Thanks!

Szekely Zsolt-Karoly

unread,
Mar 17, 2023, 4:28:25 PM3/17/23
to UniMRCP
This is a log snippet from the UniMRCP server:

2023-03-17 21:14:17:616456 [DEBUG]  Send [3200 bytes] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:616725 [DEBUG]  Process gRPC Event: name [writing] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:697296 [DEBUG]  Process gRPC Event: name [reading] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:697347 [INFO]   Received Response: status [1] recog result [1] detect intent response [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:697356 [INFO]   Recognition Result: transcript [greeting] confidence [0.00] final [0] end-offset [3:470] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:703188 [DEBUG]  Process gRPC Event: name [reading] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:703210 [INFO]   Received Response: status [1] recog result [1] detect intent response [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:703218 [INFO]   Recognition Result: transcript [greetings] confidence [0.00] final [0] end-offset [3:590] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:816456 [DEBUG]  Send [3200 bytes] <20ecdc49f9864268@gdf>
2023-03-17 21:14:17:816798 [DEBUG]  Process gRPC Event: name [writing] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:016451 [DEBUG]  Send [3200 bytes] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:016747 [DEBUG]  Process gRPC Event: name [writing] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:186394 [INFO]   Speech Detector State Transition IN-PROGRESS -> COMPLETE [3960 ms] <20ecdc49f9864268>
2023-03-17 21:14:18:186437 [INFO]   Detector Stats: leading-silence=300 ms, input=3860 ms, trailing-silence=400 ms <20ecdc49f9864268>
2023-03-17 21:14:18:186517 [DEBUG]  Send [2560 bytes] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:186716 [INFO]   Input Complete [success] size=72960 bytes, dur=4560 ms <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:186774 [DEBUG]  Process gRPC Event: name [writing] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:186782 [DEBUG]  Send Done Message <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:186901 [DEBUG]  Process gRPC Event: name [writes done] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:253421 [DEBUG]  Process gRPC Event: name [reading] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:253461 [INFO]   Received Response: status [1] recog result [1] detect intent response [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:253467 [INFO]   Recognition Result: transcript [greetings] confidence [0.00] final [0] end-offset [4:190] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:284110 [DEBUG]  Process gRPC Event: name [reading] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:284143 [INFO]   Received Response: status [1] recog result [1] detect intent response [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:18:284149 [INFO]   Recognition Result: transcript [greetings] confidence [0.91] final [1] end-offset [4:520] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:592435 [INFO]   Receive SIP Event [nua_i_options] Status 100 Trying [SIP-Agent-1]
2023-03-17 21:14:21:592481 [INFO]   Resource Discovery SDP
[v=0
o=UniMRCPServer 0 0 IN IP4 10.7.102.67
s=-
c=IN IP4 10.7.102.67
t=0 0
m=application 0 TCP/MRCPv2 1
a=resource:speechsynth
a=resource:speechrecog
m=audio 0 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
]

2023-03-17 21:14:21:738727 [DEBUG]  Process gRPC Event: name [reading] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:738789 [INFO]   Received Response: status [1] recog result [0] detect intent response [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:738798 [INFO]   Detect Intent Response: id [8dd46d19-db96-4be5-b7ee-45e3c4f7eb67] query result [1] output audio [0 bytes] output audio config [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:739317 [INFO]   Query Result: {
 "languageCode": "en",
 "parameters": {
  "generateInteraction": "yes"
 },
 "responseMessages": [
  {
   "text": {
    "text": [
     "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
    ]
   }
  },
  {}
 ],
 "webhookPayloads": [
  {},
  {}
 ],
 "currentPage": {
  "name": "projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/flows/00000000-0000-0000-0000-000000000000/pages/9291c866-6a7f-4d9c-a0d8-5e9d191cd958",
  "displayName": "Integration"
 },
 "intent": {
  "name": "projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/intents/00000000-0000-0000-0000-000000000000",
  "displayName": "Default Welcome Intent"
 },
 "intentDetectionConfidence": 1,
 "diagnosticInfo": {
  "Alternative Matched Intents": [
   {
    "Score": 1,
    "Active": true,
    "Id": "00000000-0000-0000-0000-000000000000",
    "Type": "NLU",
    "DisplayName": "Default Welcome Intent"
   }
  ],
  "Transition Targets Chain": [
   {
    "TargetPage": "49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3"
   },
   {
    "TargetPage": "9291c866-6a7f-4d9c-a0d8-5e9d191cd958"
   }
  ],
  "Triggered Transition Names": [
   "f2c4436b-8c01-4b49-bdac-9807e7c1d9de",
   "580a8b53-84a8-43b0-853d-ee5115bfc401"
  ],
  "Session Id": "20ecdc49f9864268",
  "Execution Sequence": [
   {
    "Step 1": {
     "InitialState": {
      "FlowState": {
       "FlowId": "00000000-0000-0000-0000-000000000000",
       "Name": "Default Start Flow",
       "PageState": {
        "Name": "Start Page",
        "Status": "ENTERING_PAGE",
        "PageId": "START_PAGE"
       },
       "Version": 0
      },
      "MatchedIntent": {
       "Score": 1,
       "Active": true,
       "Id": "00000000-0000-0000-0000-000000000000",
       "Type": "NLU",
       "DisplayName": "Default Welcome Intent"
      }
     },
     "Type": "INITIAL_STATE"
    }
   },
   {
    "Step 2": {
     "FunctionExecution": {
      "SessionParameters(Updated)": {
       "generateInteraction": "yes"
      },
      "Webhook": {
       "Unauthorized FulfillmentResponse": false,
       "Latency": "574 ms",
       "Status": "OK",
       "ID": "aff24d3b-55ef-4fea-b27f-c3f9060a58f6",
       "URL": "https://te5e7rgot6.execute-api.eu-central-1.amazonaws.com/default/openAI-voicebot",
       "DisplayName": "GPT-Integration"
      },
      "Responses": [
       {
        "responseType": "HANDLER_PROMPT",
        "text": {
         "redactedText": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
         ],
         "text": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
         ]
        },
        "source": "VIRTUAL_AGENT"
       }
      ]
     },
     "StateMachine": {
      "FlowLevelTransition": true,
      "TriggeredTransitionRouteId": "f2c4436b-8c01-4b49-bdac-9807e7c1d9de",
      "TargetPage": "49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3",
      "FlowState": {
       "Version": 0,
       "FlowId": "00000000-0000-0000-0000-000000000000",
       "Name": "Default Start Flow",
       "PageState": {
        "PageId": "START_PAGE",
        "Name": "Start Page",
        "Status": "TRANSITION_ROUTING"
       }
      },
      "TriggeredIntent": "Default Welcome Intent"
     },
     "Type": "STATE_MACHINE"
    }
   },
   {
    "Step 3": {
     "FunctionExecution": {
      "Responses": [
       {
        "text": {
         "redactedText": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
         ],
         "text": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant
2023-03-17 21:14:21:739438 [DEBUG]  Process gRPC Event: name [reading] status [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:739454 [INFO]   Received Response: status [0] recog result [0] detect intent response [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:739464 [INFO]   Detect Intent Response: id [8dd46d19-db96-4be5-b7ee-45e3c4f7eb67] query result [1] output audio [0 bytes] output audio config [0] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:739899 [INFO]   Query Result: {
 "languageCode": "en",
 "parameters": {
  "generateInteraction": "yes"
 },
 "responseMessages": [
  {
   "text": {
    "text": [
     "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
    ]
   }
  },
  {}
 ],
 "webhookPayloads": [
  {},
  {}
 ],
 "currentPage": {
  "name": "projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/flows/00000000-0000-0000-0000-000000000000/pages/9291c866-6a7f-4d9c-a0d8-5e9d191cd958",
  "displayName": "Integration"
 },
 "intent": {
  "name": "projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/intents/00000000-0000-0000-0000-000000000000",
  "displayName": "Default Welcome Intent"
 },
 "intentDetectionConfidence": 1,
 "diagnosticInfo": {
  "Webhook Latencies (ms)": [
   574,
   1466
  ],
  "Alternative Matched Intents": [
   {
    "Id": "00000000-0000-0000-0000-000000000000",
    "Type": "NLU",
    "DisplayName": "Default Welcome Intent",
    "Score": 1,
    "Active": true
   }
  ],
  "Transition Targets Chain": [
   {
    "TargetPage": "49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3"
   },
   {
    "TargetPage": "9291c866-6a7f-4d9c-a0d8-5e9d191cd958"
   }
  ],
  "Triggered Transition Names": [
   "f2c4436b-8c01-4b49-bdac-9807e7c1d9de",
   "580a8b53-84a8-43b0-853d-ee5115bfc401"
  ],
  "Session Id": "20ecdc49f9864268",
  "Execution Sequence": [
   {
    "Step 1": {
     "InitialState": {
      "FlowState": {
       "Version": 0,
       "FlowId": "00000000-0000-0000-0000-000000000000",
       "Name": "Default Start Flow",
       "PageState": {
        "Status": "ENTERING_PAGE",
        "PageId": "START_PAGE",
        "Name": "Start Page"
       }
      },
      "MatchedIntent": {
       "Score": 1,
       "Active": true,
       "Id": "00000000-0000-0000-0000-000000000000",
       "Type": "NLU",
       "DisplayName": "Default Welcome Intent"
      }
     },
     "Type": "INITIAL_STATE"
    }
   },
   {
    "Step 2": {
     "FunctionExecution": {
      "Webhook": {
       "Unauthorized FulfillmentResponse": false,
       "Latency": "574 ms",
       "Status": "OK",
       "ID": "aff24d3b-55ef-4fea-b27f-c3f9060a58f6",
       "URL": "https://te5e7rgot6.execute-api.eu-central-1.amazonaws.com/default/openAI-voicebot",
       "DisplayName": "GPT-Integration"
      },
      "Responses": [
       {
        "responseType": "HANDLER_PROMPT",
        "text": {
         "redactedText": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
         ],
         "text": [
          "Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?"
         ]
        },
        "source": "VIRTUAL_AGENT"
       }
      ],
      "SessionParameters(Updated)": {
       "generateInteraction": "yes"
      }
     },
     "StateMachine": {
      "FlowLevelTransition": true,
      "TriggeredTransitionRouteId": "f2c4436b-8c01-4b49-bdac-9807e7c1d9de",
      "TargetPage": "49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3",
      "FlowState": {
       "Version": 0,
       "FlowId": "00000000-0000-0000-0000-000000000000",
       "Name": "Default Start Flow",
       "PageState": {
        "Status": "TRANSITION_ROUTING",
        "PageId": "START_PAGE",
        "Name": "Start Page"
       }
      },
      "TriggeredIntent": "Default Welcome Intent"
     },
     "Type": "STATE_MACHINE"
    }
   },
   {
    "Step 3": {
     "FunctionExecution": {
      "Webhook": {
       "Unauthorized FulfillmentResponse": false,
       "Latency": "1466 ms",
       "Status": "OK",
       "ID": "2ab22cfe-0ca4-494a-80fe-b6f18923297c",
       "URL": "https://demo.bosch-ccs.com/dialogflow_webhook_agent_trigger",
       "DisplayName": "SO-Middleware-Generate-Genesys-Interaction"
     
2023-03-17 21:14:21:740289 [DEBUG]  Finish Streaming <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:740359 [INFO]   Process RECOGNITION-COMPLETE Event <20ecdc49f9864268@speechrecog> [5]
2023-03-17 21:14:21:740368 [INFO]   State Transition RECOGNIZING -> RECOGNIZED <20ecdc49f9864268@speechrecog>
2023-03-17 21:14:21:740411 [INFO]   Send MRCPv2 Data 10.7.102.67:1544 <-> 10.7.102.39:12005 [8069 bytes]
MRCP/2.0 8069 RECOGNITION-COMPLETE 5 COMPLETE
Channel-Identifier: 20ecdc49f9864268@speechrecog
Completion-Cause: 000 success
Content-Type: application/x-nlsml
Content-Length: 7882

<?xml version="1.0"?><result><interpretation grammar="session:0x00000001" confidence="1"><instance>{&quot;languageCode&quot;:&quot;en&quot;,&quot;parameters&quot;:{&quot;generateInteraction&quot;:&quot;yes&quot;},&quot;responseMessages&quot;:[{&quot;text&quot;:{&quot;text&quot;:[&quot;Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?&quot;]}},{}],&quot;webhookPayloads&quot;:[{},{}],&quot;currentPage&quot;:{&quot;name&quot;:&quot;projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/flows/00000000-0000-0000-0000-000000000000/pages/9291c866-6a7f-4d9c-a0d8-5e9d191cd958&quot;,&quot;displayName&quot;:&quot;Integration&quot;},&quot;intent&quot;:{&quot;name&quot;:&quot;projects/gp-demo-323217/locations/global/agents/8b18dd39-9b57-4cd9-a74c-2e8b0db2d615/intents/00000000-0000-0000-0000-000000000000&quot;,&quot;displayName&quot;:&quot;Default Welcome Intent&quot;},&quot;intentDetectionConfidence&quot;:1,&quot;diagnosticInfo&quot;:{&quot;Webhook Latencies (ms)&quot;:[574,1466],&quot;Alternative Matched Intents&quot;:[{&quot;Id&quot;:&quot;00000000-0000-0000-0000-000000000000&quot;,&quot;Type&quot;:&quot;NLU&quot;,&quot;DisplayName&quot;:&quot;Default Welcome Intent&quot;,&quot;Score&quot;:1,&quot;Active&quot;:true}],&quot;Transition Targets Chain&quot;:[{&quot;TargetPage&quot;:&quot;49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3&quot;},{&quot;TargetPage&quot;:&quot;9291c866-6a7f-4d9c-a0d8-5e9d191cd958&quot;}],&quot;Triggered Transition Names&quot;:[&quot;f2c4436b-8c01-4b49-bdac-9807e7c1d9de&quot;,&quot;580a8b53-84a8-43b0-853d-ee5115bfc401&quot;],&quot;Session Id&quot;:&quot;20ecdc49f9864268&quot;,&quot;Execution Sequence&quot;:[{&quot;Step 1&quot;:{&quot;InitialState&quot;:{&quot;FlowState&quot;:{&quot;Version&quot;:0,&quot;FlowId&quot;:&quot;00000000-0000-0000-0000-000000000000&quot;,&quot;Name&quot;:&quot;Default Start Flow&quot;,&quot;PageState&quot;:{&quot;Status&quot;:&quot;ENTERING_PAGE&quot;,&quot;PageId&quot;:&quot;START_PAGE&quot;,&quot;Name&quot;:&quot;Start Page&quot;}},&quot;MatchedIntent&quot;:{&quot;Score&quot;:1,&quot;Active&quot;:true,&quot;Id&quot;:&quot;00000000-0000-0000-0000-000000000000&quot;,&quot;Type&quot;:&quot;NLU&quot;,&quot;DisplayName&quot;:&quot;Default Welcome Intent&quot;}},&quot;Type&quot;:&quot;INITIAL_STATE&quot;}},{&quot;Step 2&quot;:{&quot;FunctionExecution&quot;:{&quot;Webhook&quot;:{&quot;Unauthorized FulfillmentResponse&quot;:false,&quot;Latency&quot;:&quot;574 ms&quot;,&quot;Status&quot;:&quot;OK&quot;,&quot;ID&quot;:&quot;aff24d3b-55ef-4fea-b27f-c3f9060a58f6&quot;,&quot;URL&quot;:&quot;https://te5e7rgot6.execute-api.eu-central-1.amazonaws.com/default/openAI-voicebot&quot;,&quot;DisplayName&quot;:&quot;GPT-Integration&quot;},&quot;Responses&quot;:[{&quot;responseType&quot;:&quot;HANDLER_PROMPT&quot;,&quot;text&quot;:{&quot;redactedText&quot;:[&quot;Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?&quot;],&quot;text&quot;:[&quot;Hello! Welcome to Bosch Service Solutions. I am the virtual assistant Max. You can ask me anything and I will try to answer you to the best of my knowledge. How can I help you?&quot;]},&quot;source&quot;:&quot;VIRTUAL_AGENT&quot;}],&quot;SessionParameters(Updated)&quot;:{&quot;generateInteraction&quot;:&quot;yes&quot;}},&quot;StateMachine&quot;:{&quot;FlowLevelTransition&quot;:true,&quot;TriggeredTransitionRouteId&quot;:&quot;f2c4436b-8c01-4b49-bdac-9807e7c1d9de&quot;,&quot;TargetPage&quot;:&quot;49a3e6fd-3fa6-4145-9ca4-7d072dc8a1e3&quot;,&quot;FlowState&quot;:{&quot;Version&quot;:0,&quot;FlowId&quot;:&quot;0
2023-03-17 21:14:21:740471 [DEBUG]  Process gRPC Event: name [finishing] status [1] <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:749017 [INFO]   Receive SIP Event [nua_i_bye] Status 200 Session Terminated [SIP-Agent-1]
2023-03-17 21:14:21:749041 [INFO]   Receive SIP Event [nua_i_state] Status 200 Session Terminated [SIP-Agent-1]
2023-03-17 21:14:21:749049 [NOTICE] SIP Call State 0x7fa460001b98 [terminated]
2023-03-17 21:14:21:749066 [INFO]   Receive SIP Event [nua_i_terminated] Status 200 Session Terminated [SIP-Agent-1]
2023-03-17 21:14:21:749084 [INFO]   Deactivate Session 0x7fa460001b98 <20ecdc49f9864268>
2023-03-17 21:14:21:749100 [INFO]   Terminate Session 0x7fa460001b98 <20ecdc49f9864268>
2023-03-17 21:14:21:749136 [INFO]   Remove Control Channel <20ecdc49f9864268@speechrecog> [0]
2023-03-17 21:14:21:749143 [INFO]   Close <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:749157 [DEBUG]  Send Close Response <20ecdc49f9864268@gdf>
2023-03-17 21:14:21:749184 [NOTICE] GDF Usage: 0/1/2
2023-03-17 21:14:21:749192 [NOTICE] Usage [umsgdf] min [0] cur [0] max [1]
2023-03-17 21:14:21:756377 [INFO]   Close RTP Receiver 10.7.102.67:5002 <- 10.7.102.39:20014 [r:572 l:0 j:2120 p:50 d:0 i:0]
2023-03-17 21:14:21:756395 [INFO]   Remove RTP Session 10.7.102.67:5002
2023-03-17 21:14:21:757887 [NOTICE] Remove Session <20ecdc49f9864268>
2023-03-17 21:14:21:757912 [INFO]   Session Terminated 0x7fa460001b98 <20ecdc49f9864268>
2023-03-17 21:14:21:757945 [NOTICE] Destroy Session <20ecdc49f9864268>

As you can see the response is somehow cut off.

I tried the tag-format parameter set to semantics-json instead of semantics-xml but the outcome is the same.

Vahagn Kocharyan

unread,
Apr 5, 2023, 1:17:41 PM4/5/23
to UniMRCP
Hi try to get result programmatically. And share with as logs if it is possible

Regards
Vahagn

Arsen Chaloyan

unread,
Apr 28, 2023, 5:59:52 PM4/28/23
to uni...@googlegroups.com
This issue was observed offline. The problem was in special characters returned by Dialogflow CX agents preventing GVP from properly parsing the NLSML response. The problem has been fixed locally and applies only to tag-format being set to "semantics/xml". Everything works as intended with "semantics/json".

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/unimrcp/c0c3df0e-7cb6-46fd-bebb-4a1ee2efb118n%40googlegroups.com.


--
Arsen Chaloyan
Author of UniMRCP
http://www.unimrcp.org
Reply all
Reply to author
Forward
0 new messages