After installation, backend server configuration files are in /usr/local/FlashphonerWebCallServerOAM/conf folder:
#cd /usr/local/FlashphonerWebCallServerOAM/conf #ls log4j2.properties wcsoam-core.properties wcsoam.properties WCS-OAM.version wss.jks |
Where
To apply any configuration changes, backend server must be restarted.
The following parameter in wcsoam.properties file should be set to allow to store metrics to Influx DB
influxdb_enabled=true |
DB URL should be set for connection setup. By default, if Influx DB is on the same server, URL should be set as
influxdb_url=http://localhost:8086 |
DB name and access parameters should also be set
influxdb_database=wcs_oam influxdb_user=root influxdb_password=root |
By default, WCS OAM connects to Influx DB via UDP:
influxdb_udp=true influxdb_udp_port=8089 |
In this case, metric values can be lost. To escape loss, metric values can be passed using HTTP POST query as follows
POST /write?u=root&p=root&db=wcs_oam&rp=default&precision=n&consistency=one HTTP/1.1 3-5062030c-9def-49c2-a89e-639d664ab806 AUDIO_CODEC=102i,AUDIO_LOST=3795015i,AUDIO_RATE=137776i,AUDIO_SYNC=123432141899i,seq=26558i 1562263828767000000 |
Metrics writing can be switched to HTTP with the following parameter
influxdb_udp=false |
Anyway, metric values are read from Influx DB using HTTP GET query as follows
GET /query?u=root&p=root&db=wcs_oam&q=SELECT+*+FROM+%221-89dc5510-a198-11e9-a049-030fe6b5675c%22+order+by+time+desc+limit+10+offset+0 HTTP/1.1 |
The following parameter in wcsoam.properties file should be set to allow to store metrics to Timescale DB
metric_store=timescale |
DB URL and access parameters should be set for connection setup
timescale.url=jdbc:postgresql://127.0.0.1:5432/wcsstat timescale.username=wcsoam timescale.password=wcsoam |
Metric values batch size to write to DB can be set with the following parameter
timescale_batch_size=1000 |
In this case metrics will be written to DB in batches of 1000 values.
History storage support is enabled with the following parameter
historydb_enabled=true |
H2 embedded database is allowed for debug and testing purposes only, not for production usage |
If H2 connection is necessary, add to wcsoam.properties file the following
spring.h2.console.enabled=true spring.datasource.url=jdbc:h2:./wcs_oam spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=update |
To connect to Postgresql, add to wcsoam.properties file the following
spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/wcsoam spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.username=wcsoam spring.datasource.password=wcsoam spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.show-sql=false spring.jpa.hibernate.ddl-auto=create spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true |
Where
Under high load, it may be necessary to change DB records queue size. It may be done with the following parameter
historydb_queue_size=3000 |
By default, queue size is 3000 records.
If necessary, SQL queries logging can be enabled for debug purposes using the following parameters in wcsoam.properties file
logging.level.org.hibernate.SQL=debug logging.level.org.hibernate.type.descriptor.sql=trace |
Note that metrics store to TimescaleDB will also be logged in this case.
By default, backend server listens to WCS server connections for metrics acquisition on TCP port 7777. This port can be changed with the following parameter
listening_port=7777 |
Connection authentication key should be set with the following parameter
security_key=123456789 |
By default, authentication key is set to 123.
Also, backend server connects to WCS server to get published stream data using REST API. WCS port to connect is set with the following parameter
wcs_rest_port=8081 |
Backend server allows client connections using HTTPS and Secure Websocket. SSL is configured with the following parameters
server.ssl.key-store-type=JKS server.ssl.key-store=file:/usr/local/FlashphonerWebCallServerOAM/conf/wss.jks server.ssl.key-store-password=password server.ssl.key-alias=selfsigned |
Where
By default, backend server is shipped with self-signed certificate. SSL certificate can be imported to backend server SSL storage using keytool in the same way as for WCS server. If wildcard certificate is used, and backend server is in the same domain with WCS server, WCS SSL storage file can be copied to backend server configuration folder, for example
cp -f /usr/local/FlashphonerWebCallServer/conf/wss.jks /usr/local/FlashphonerWebCallServerOAM/conf/ |
HTTPS port to handle REST queries, WSS connections and for web interface access is set with the following parameter
server.port = 8090 |
Backend server can be started from /usr/local/FlashphonerWebCallServerOAM/bin folder
cd /usr/local/FlashphonerWebCallServerOAM/bin ./wcsoam start |
or, if it was installed as system service
systemctl start wcsoam |
Backend server can be stopped from /usr/local/FlashphonerWebCallServerOAM/bin folder
cd /usr/local/FlashphonerWebCallServerOAM/bin ./wcsoam stop |
or, if it was installed as system service
systemctl stop wcsoam |