change wss default port

manh.chu

Member
Hi administrator,

I'm using WCS version 5.2.1498.
I change the default port at file flashphoner.properties with config: wss.port=443 (default 8443) and then restart webcallserver it OK, but I used the command netstat to check port 443 it's not listening. I'm certain port 443 hasn't been serviced using.

Can you explain to me some reason port 443 not working?

Thank you for reading.
 

Max

Administrator
Staff member
Hello

By default server process starts from user 'flashphoner', not from a root user.
Try to launch server as root user.

1. Stop server.
2. Edit config /usr/local/FlashphonerWebCallServer/bin/setenv.sh
Code:
WCS_NON_ROOT=false
3. Start server as sudo user

Or
Code:
sudo ./webcallserver set-root-mode enable

The issue may be caused by non-root launch. Non-root application can't bind lower ports like 443.
 

manh.chu

Member
Hello

By default server process starts from user 'flashphoner', not from a root user.
Try to launch server as root user.

1. Stop server.
2. Edit config /usr/local/FlashphonerWebCallServer/bin/setenv.sh
Code:
WCS_NON_ROOT=false
3. Start server as sudo user

Or
Code:
sudo ./webcallserver set-root-mode enable

The issue may be caused by non-root launch. Non-root application can't bind lower ports like 443.
It's work. Thank you again.
 

manh.chu

Member
Hi administrator,

I'm using the feature SIP Phone Video, call from Browser to Browser situation occurs freeze-frame in the remote video. I debug in edge://webrtc-internals/. I see frame_Decoded_in_ms unstable.
1679801138149.png


How can I improve this?
 

Max

Administrator
Staff member
Seems like channel bandwidth between server and publisher/player browsers in not enough to publish a desired resolution. Use lower resolution/bitrate and/or try to switch to TCP transport. Also check a client network conditions: do not use mobile 2G/3G, use 4G/LTE or WiFi or a wired connection.
 

manh.chu

Member
Seems like channel bandwidth between server and publisher/player browsers in not enough to publish a desired resolution. Use lower resolution/bitrate and/or try to switch to TCP transport. Also check a client network conditions: do not use mobile 2G/3G, use 4G/LTE or WiFi or a wired connection.
I decreased Video FPS (at Phone Video) and switch TCP transport, but that problem still. Client use WIFI.
What parameters can I change resolution/bitrate at flashphoner.properties?
 

Max

Administrator
Staff member
You can change resolution at the example page:
1679894206937.png

Code:
function getConstraints() {
    var constraints = {
        audio: {deviceId: {exact: $('#micList').find(":selected").val()}},
        video: {
            deviceId: {exact: $('#cameraList').find(":selected").val()},
            width: parseInt($('#sendWidth').val()),
            height: parseInt($('#sendHeight').val()),
            frameRate: parseInt($('#sendFramerate').val())
        }
    };
    return constraints;
}
Also make sure you have restarted WCS after changing server parameter to
Code:
ice_tcp_transport=true
Test a bandwidth between both clients and WCS: Testing channel bandwidth using iperf via TCP
Code:
iperf3 -c wcs-address -p 5201 -t 60 
iperf3 -c wcs-address -p 5201 -t 60 -R
The channel should be at least 10 Mbps to test SD streams and 20 Mbps to test HD streams.
 

manh.chu

Member
hi admin,
I can setting WCS connect with SIP server by IP local and with browser run web demo by IP public?
when I setting by options ip and ip_local in flashphoner.properites can registered to SIP server but call haven't RTP both audio and video
 

manh.chu

Member
Option 1

To have public address for demo interface, you would need to configure nginx as a reverse proxy

I.e.

Nginx listening public address 88.88.88.88 on port 8444 > 127.0.0.1:8444
So when you open demo page https://88.88.88.88:8444, nginx will display content of the page https://127.0.0.1:8444

Option 2

http.address=88.88.88.88
in flashphoner.properties

/etc/hosts
88.88.88.88 localhost
Yes, it works for the public for demo interface but I intend for the call to have a path connection between SIP server and WCS server using IP local, a connection between WCS server and browser client using IP public when I make a call RTP traffic can't be sent to the browser client.
 

Max

Administrator
Staff member
Yes, it works for the public for demo interface but I intend for the call to have a path connection between SIP server and WCS server using IP local, a connection between WCS server and browser client using IP public when I make a call RTP traffic can't be sent to the browser client.
Please clarify: is WCS instance in private network behind NAT? If yes, you should either set up a router to forward media ports (31000-32000 by default) to the WCS instance (both TCP and UDP) or use a TURN server to bypass.
 

manh.chu

Member
Please clarify: is WCS instance in private network behind NAT? If yes, you should either set up a router to forward media ports (31000-32000 by default) to the WCS instance (both TCP and UDP) or use a TURN server to bypass.
My WCS server has an ip public that doesn't use NAT and I turned off the firewalld when testing.
 
Last edited:

Max

Administrator
Staff member
Try to detect WCS IP settings automatically:
Code:
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver set-ip
Then restart server. Check if WebRTC is working (without SIP) using Two Way Streaming example. If it works, test SIP case.
 

manh.chu

Member
Try to detect WCS IP settings automatically:
Code:
cd /usr/local/FlashphonerWebCallServer/bin
sudo ./webcallserver set-ip
Then restart server. Check if WebRTC is working (without SIP) using Two Way Streaming example. If it works, test SIP case.
If set options ip and ip_local same ip public or ip local it works when accessing the web demo by this. but if set all by ip local and http.address=ip public, access by ip public doesn't work.
 
Top