Monitoring the wellcom cloud PBX requires access to the REST API of the cloud PBX.
The connector is setup via System Settings ... Presence Connectors.
<?xml version="1.0" encoding="UTF-8"?> <config> <implementation> <jar> <base>jtel-system-presence-connectors-wellcom</base> <version>1.0</version> </jar> <class>de.jtel.system.presence.connectors.wellcom.v1.WellcomImplementation</class> </implementation> <parameters> <endpoint_sip_management>https://portal.uccom.de/SIPManagement/rest/v1</endpoint_sip_management> <endpoint_openapi>https://portal.uccom.de/openapi/v1</endpoint_openapi> <admin_username>admin.username</admin_username> <admin_password>admin.password</admin_password> <appId>app.id</appId> <domainId>domain.id</domainId> <tel_prefix></tel_prefix> <teams_connector_ip>127.0.0.1</teams_connector_ip> <teams_udp_port>20696</teams_udp_port> <subscription_rest_endpoint>https://myjtel.jtel.cloud/presence/v1.0</subscription_rest_endpoint> </parameters> <behavior> <syncAcdUsers>0</syncAcdUsers> <syncPbxUsers>1</syncPbxUsers> </behavior> </config> |
The following parameters will need to be modified:
Parameter | Value |
---|---|
admin_username | Set to the administrator username provided for the wellcom cloud PBX. |
admin_password | Set to the administrator password provided for the wellcom cloud PBX. |
appId | The application ID is setup in the wellcom cloud PBX, and will be a GUID, looking something like this: abcdefab-1234-5678-9012-abcd12345678 |
domainId | This is the domain ID of the cloud PBX. It will be a numeric value, for example, 1234. |
subscription_rest_endpoint | This URL will point back to the jtel system in question. If it is an on premise system, then the load balancer must be made available to the outside world for the subscription and event mechanism to work correctly. If using a jtel cloud system, you will be provided with an URL to access the system, for example myjtel.jtel.cloud, the corresponding URL will be: https://myjtel.jtel.cloud/presence/v1.0 |
For the presence messages to be passed to the REST endpoint of the presence connector by the wellcom cloud PBX, the load balancer in the jtel system must be:
The corresponding load-balancer configuration is as follows:
Add a new backend for the presence aggregator, replacing x.x.x.x with the internal IP address of the presence connector:
#--------------------------------------------------------------------- # this backend provides port 8092 access to the presence aggregator #--------------------------------------------------------------------- backend presence_aggregator mode http compression algo gzip compression type text/xml text/html text/plain text/css text/javascript cookie SERVERID insert indirect nocache balance leastconn # roundrobin server presence1 x.x.x.x:8092 weight 1 cookie presence1 check inter 1m acl https ssl_fc acl secured_cookie res.cook(JSESSIONID),lower -m sub secure http-response replace-header Set-Cookie (.*) \1;\ SameSite=None;\ Secure if https !secured_cookie |
In the frontend portal https section, add:
The rule to use the backend must be BEFORE and rules to use the jtel_portal backend, otherwise the standard portal web server http backend will be used instead of the presence server http backend. |
For example:
frontend portal_https ... acl presence_req url_reg ^\/presence/v1.0 use_backend presence_aggregator if presence_req |
Open the port 8092 on the machine where the presence aggregator is running:
ufw allow 8092/tcp |
Or, for a specific interface:
ufw allow in on eth1 to any port 8092 proto tcp |