Monitoring

Monitoring the wellcom cloud PBX requires access to the REST API of the cloud PBX.

The connector is setup via System Settings ... Presence Connectors.

Presence Connector Configuration

<?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:

ParameterValue
admin_usernameSet to the administrator username provided for the wellcom cloud PBX.
admin_passwordSet 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
domainIdThis 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

Load Balancer Configuration

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:

  • Reachable from the public internet
  • Configured to pass the received presence messages to the presence connector

The corresponding load-balancer configuration is as follows:

backend presence_aggregator

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

frontend portal_https

In the frontend portal https section, add:

  • an acl for an incoming presence request
  • a corresponding rule to use the new backend server


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

Firewall Configuration Presence Aggregator

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
  • No labels