Problem with WebRTC connection on iOS

rickKoch

New Member
I'm using the web sdk and I'm trying to connect iPhone with the WCS but I have this issue:
WSServerHandler - WSS-pool-23-thread-1 THIS DOMAIN IS NOT ALLOWED origin: app://localhost allow: null

I tried with origin null, but also got this:
WSServerHandler - WSS-pool-23-thread-1 THIS DOMAIN IS NOT ALLOWED origin: null allow: null

Can you please help me with this
 

Max

Administrator
Staff member
Hello

How exactly do you test? Could you please provide a screenshot.

From this demo page we were able to connect using iPhone and iOS 14 Safari browser

Server version 5.2.971

1623923120168.png
 

rickKoch

New Member
It's a hybrid application with Cordova, and we are using web sdk. So it's using safari in the background.

It's working fine with Android application.
 
Last edited:

rickKoch

New Member
I got this now:
WSServerHandler - WSS-pool-23-thread-1 Orgign: app://localhost
DomainChecker - WSS-pool-23-thread-1 Can't parse origin as URL app://localhost
WSServerHandler - WSS-pool-23-thread-1 THIS DOMAIN IS NOT ALLOWED origin: app://localhost allow: app://localhost

WSServerHandler - WSS-pool-23-thread-1 Close channel [id: 0x7f4209b2, /x.x.x.x:11662 => /x.x.x.x:8443] because: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException 'not a WebSocket handshake request
: missing upgrade'
 

Max

Administrator
Staff member
WCS server can't parse passed origin: app://localhost
In current implementation, origin should be either

1) Empty (as sent from Android SDK and iOS SDK)

2) Valid URL, i.e. https://mycompany.com/page1.html or file://myapp

We raised internal ticket WCS-3219 to fix that.

Meanwhile you can avoid this error using nginx as a reverse proxy for Websocket protocol.

Example:

You connect to nginx wss://mydomain.com:443
Nginx proxies this connection to ws://localhost:8081 or wss://localhost:8443
Therefore you will be able to remove Origin header.
 

Max

Administrator
Staff member
Good day.
We fixed the issue with app://localhost origin in build 5.2.995. Please update and check.
 

marcw

Member
Hello!
I found this thread accidently. Does this mean that the WebSDK meanwhile is working on an iPhone? Some time ago that was still not possible due to restricted websockets/webrtc support.
I need it as a low latency audio only streaming.

Best regards
Marc
 
Last edited:

Max

Administrator
Staff member
Does this mean that the WebSDK meanwhile is working on an iPhone?
Yes, WebSDK works in iOS Safari browser since iOS 12. Additionally, WKVebview supports WebRTC since iOS 14.3 (we've teste this on iOS 14.5 and newer), so in iOS 14 WebRTC is also available in third party browsers (Chrome, Firefox), but they all have Safari under the hood.
 

Nikhil Pareek

New Member
I got this now:
WSServerHandler - WSS-pool-23-thread-1 Orgign: app://localhost
DomainChecker - WSS-pool-23-thread-1 Can't parse origin as URL app://localhost
WSServerHandler - WSS-pool-23-thread-1 THIS DOMAIN IS NOT ALLOWED origin: app://localhost allow: app://localhost

WSServerHandler - WSS-pool-23-thread-1 Close channel [id: 0x7f4209b2, /x.x.x.x:11662 => /x.x.x.x:8443] because: org.jboss.netty.handler.codec.http.websocketx.WebSocketHandshakeException 'not a WebSocket handshake request
: missing upgrade'
Hi, @rickKoch , were u able to resolve this?
 

Max

Administrator
Staff member

Nikhil Pareek

New Member
HI @Max , I was able to update the server, and the connection is also established, but the video is not displaying. It is also able to give a callback of playing. this only happens in iOS
 

Max

Administrator
Staff member
Please check if the issue is reproducing in Two Way Streaming example (you can test it from your server on webpage https://server:8888/client2/examples/demo/streaming/two_way_streaming/two_way_streaming.html). If not, modify this example code minimally to reproduce the issue and send the code using this form
If you are using some framework, please test Two Way Streaming React example or Two Way Streaming Typescript example.
If you're testing in iOS 15.1, there can be Safari bugleading to page crash. please read here (p. 17).
If the problem is reproducing in Two Way Streaming example, collect a report as described here and send using this form
 

Nikhil Pareek

New Member
Hi I tested the Two Way Streaming Typescript example and its not working on iOS. It is not showing any error while playing or while connecting and is showing just a blank thing. Please not this only happens on iOS
 
Last edited:

Max

Administrator
Staff member
Hi I tested the Two Way Streaming Typescript example and its not working on iOS. It is not showing any error while playing or while connecting and is showing just a blank thing. Please not this only happens on iOS
Please clarify what iOS version do you test? The example seems to be working correctly (publish and play) on iOS 14.7.1 and iOS 14.8.
 
Top