Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The SDK should use the iOS device system proxy when ran from an iOS Swift Application #2316

Open
jujuforce opened this issue Mar 26, 2024 · 6 comments
Assignees
Labels
accepted Issue moved to product team backlog. Will be closed when addressed. enhancement New feature or request future Issue has been reviewed by the team and is eligible for addressing in the future. update needed For items that are in progress but have not been updated

Comments

@jujuforce
Copy link

jujuforce commented Mar 26, 2024

Is your feature request related to a problem? Please describe.

The iOS speech SDK does not work when used from my enterprise network, because we need to use a proxy to reach external ressources. It does work no problem when I am not in this network because then the proxy is no longer required.
Error log :

2024-03-26 15:39:23.710 cancelled: SPXResultReason(rawValue: 1), Optional("Connection failed (no connection to the remote host). Internal error: 11. Error details: Failed with error: WS_OPEN_ERROR_UNDERLYING_IO_ERROR\nwss://westeurope.stt.speech.microsoft.com/speech/universal/v2\nX-...

The test device does have the proxy set up and I can fetch it no problem using CFNetworkCopySystemProxySettings()
I get the kCFProxyAutoConfigurationURLKey filled, no problem. So I don't understand why the SDK is not using it to reach Microsoft servers.

Describe the solution you'd like
The SDK should use the iOS device system proxy when ran from an iOS Swift Application.

Describe alternatives you've considered
No idea unfortunately

@rhurey
Copy link
Member

rhurey commented Mar 26, 2024

Thanks for reaching out.

The way the SDK is architected it doesn't consume the system proxy, but uses its own configuration for proxy control. In particular the Speech Configuration has properties to point to a proxy.

@jujuforce
Copy link
Author

jujuforce commented Mar 26, 2024

Thanks for reaching out.

The way the SDK is architected it doesn't consume the system proxy, but uses its own configuration for proxy control. In particular the Speech Configuration has properties to point to a proxy.

Thanks for answering, however the mechanism is not available on iOS as quoted :

Note: Proxy functionality is not available on iOS and macOS. This function will have no effect on these platforms.

Anyway, there should be an option for the SDK to consume the system proxy or at least not defeating it by design. I fail to understand why this is not the case, especially for enterprise use.

Thanks.

@rhurey
Copy link
Member

rhurey commented Mar 27, 2024

I am embarrassed I missed that disclaimer.

So I went and reviewed the macOS code base, and sure enough the underlying API the SDK calls into doesn't use the system proxy, nor take a proxy from its callers.

Unfortunately, there isn't another solution available at the moment. However, I will add this issue to our backlog for further consideration.

Thank you for your understanding.

@jujuforce
Copy link
Author

No worries @rhurey

Ok I'll keep following this ticket waiting for the good news!
In the meantime, our infra guy suggested to try the Azure Private Link feature : https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-services-private-link?tabs=portal#turn-on-private-endpoints

It will not work for all our use-cases, but it could at least help up going a bit further while waiting for the system proxy feature to be i added hopefully.
Do you think it could be a good idea?

Thanks.

@pankopon pankopon added enhancement New feature or request accepted Issue moved to product team backlog. Will be closed when addressed. future Issue has been reviewed by the team and is eligible for addressing in the future. labels Apr 11, 2024
@pankopon
Copy link
Contributor

Internal work item ref. 1495322. No ETA.

Copy link

github-actions bot commented May 1, 2024

This item has been open without activity for 19 days. Provide a comment on status and remove "update needed" label.

@github-actions github-actions bot added the update needed For items that are in progress but have not been updated label May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted Issue moved to product team backlog. Will be closed when addressed. enhancement New feature or request future Issue has been reviewed by the team and is eligible for addressing in the future. update needed For items that are in progress but have not been updated
Projects
None yet
Development

No branches or pull requests

3 participants