unispeech / unimrcp

Open source cross-platform implementation of MRCP protocol

Home Page:http://www.unimrcp.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

http-proxy and connect method does not supply port as part of connect method

engdan77 opened this issue · comments

From what we can tell the http-proxy setup while use Google Speech Recognition does not seem to supply a destination port when setting up a "http tunnel" for the incoming HTTPS traffic between unimrcp and speech.googleapis.com that for some proxies works (perhaps could that they default to port 443) but there are those proxies that responds with an HTTP/1.1 400 Bad Request

Our current setup we use
UniMRCP Server [1.6.0]
APR [1.5.2]

And our configuration /opt/unimrcp/conf/umsgsr.xml as

<streaming-recognition
interim-results="false"
language="en-US"
max-alternatives="1"
http-proxy="http://xxxxxxx:8080"
/>

And while using verbose mode we can find that the request look like

D1029 12:14:45.447887312 34703 tcp_posix.cc:1077] DATA: xxxxx 'CONNECT speech.googleapis.com HTTP/1.0..Host: speech.googleapis.com..User-Agent: grpc-httpcli/0.0....'

And in comparison with samples seen are usually including :443 as a port in its setup e.g.
CONNECT www.youtube.com:443 HTTP/1.1

Would like to see if its possible to adjust its behavior supplying :443 as part of the speech.googleapis.com:443 ?

This issue has been resolved with the release of GSR 1.15.0 which allows to specify the service URI, including the port number from configuration as follows.

<streaming-recognition
interim-results="false"
language="en-US"
max-alternatives="1"
http-proxy="http://xxxxxxx:8080"
service-uri="speech.googleapis.com:443"
/>