Configuration

The default configuration should work without any changes. It is possible to configure both services. SSO reads configuration from the file /etc/acrobits/sso/application.properties and contacts server from the file /etc/acrobits/contact_server/application.properties. Since both services run inside containers, they will search for their respective configuration files inside those containers.

The recommended way to add the files into container is to create them outside of the container and then mount them into their respective place inside. In the following example we will change the configuration option extAuth.url of SSO server to a value https://extauth.example.com/foo/. We will use the same file path outside the container as inside.

Note

This is provided as an example how to change the configuration option. Your configuration would be different. In most cases you do not need to change any options.

Create the file /etc/acrobits/sso/application.properties with the following content:

extAuth.url=https://extauth.example.com/foo/

Go into folder with docker-compose.yaml file and add these two lines to that file into sso section:

volumes:
    - /etc/acrobits/sso/application.properties:/etc/acrobits/sso/application.properties:ro

Be aware of the correct indentation. Here you see the same lines in context:

  restart: always
  volumes:
    - /etc/acrobits/sso/application.properties:/etc/acrobits/sso/application.properties:ro

redis:

Then run the following commands:

docker-compose down
docker-compose up -d

Your container will now use the new configuration file.

Advanced Configuration

Single Sign-On Server

You can override default values by putting them as properties into the file /etc/acrobits/sso/application.properties. Do not forget to mount this file into appropriate container.

Redis configuration

Hostname and port of Redis server.

spring.redis.host=redis
spring.redis.port=6379

Cloudsoftphone Portal configuration

You can the configure base URL address of the Cloud Softphone portal and two of its endpoints. provisioning_url is the endpoint which returns all definitions of webservices such as External Authentication. application_export_url property defines the endpoint with basic information about your application from the Cloud Softphone portal.

csp.url = https://providers.cloudsoftphone.com
csp.provisioning_url = ${csp.url}/export/features/production/%cloudid%/webrtc
csp.application_export_url = ${csp.url}/export/application/%cloudid%

External Authentication webservice definition

Definition of webservice is taken from provisioning XML coming from the Cloud Softphone portal. You can override this definition by setting webservice url and its settings manually in the configuration.

For details about webservices see our webservice definition standard for client’s API. For description of External Authentication webservice see also External Authentication webservice specification.

extAuth.url=https://example.com/extauth/
extAuth.postData={"username": %username%,"password": %password%,"cloud_id": %fullcode%}
extAuth.contentType=application/json

Contact Server

You can override default values by putting them as properties into the file /etc/acrobits/contact_server/application.properties. Do not forget to mount this file into appropriate container.

Redis configuration

Hostname and port of Redis server.

spring.redis.host=redis
spring.redis.port=6379

Mongo Database connection

spring.data.mongodb.uri=mongodb://mongo:27017
spring.data.mongodb.database=contact_server
spring.data.mongodb.username=
spring.data.mongodb.password=

Cloudsoftphone Portal configuration

You can configure the base URL address the Cloud Softphone portal and two of its endpoints. provisioning_url is the endpoint which returns all webservice definitions such as External Authentication. application_export_url property defines endpoint with basic information about your application from the Cloud Softphone portal.

csp.url = https://providers.cloudsoftphone.com
csp.provisioning_url = ${csp.url}/export/features/production/%cloudid%/webrtc
csp.application_export_url = ${csp.url}/export/application/%cloudid%

Notification about new SmartContacts webservice definition

Definition of webservice is taken from provisioning XML coming from the Cloudsoftphone portal. You can override this definition by setting webservice url and its settings manually in the configuration file.

For details about webservices our webservice definition standard for client’s API. For description of SmartContacts webservice notification see SmartContact Notification webservice specification.

smartContactNotification.url =https://example.com/smartcontactnotification/
smartContactNotification.postData={"new_smart_number":%new_smart_number%,"network_id":%network_id%,"new_smart_uri":%new_smart_uri%,"interestedParties":%interestedParties%}
smartContactNotification.contentType=application/json

Invitation webservice definition

Definition of webservice is taken from provisioning XML coming from the Cloud Softphone portal. You can override this definition by setting webservice urls and its settings manually in the configuration file.

For details about webservices see our webservice definition standard for client’s API. For description of Invitation webservice see Invitation webservice specification.

invitation.created.url=https://example.com/sendinvitation
invitation.created.contentType={"invitor":%invitor%,"network_id":%network_id%,"invitee":%invitee%}
invitation.created.postData=application/json

invitation.accepted.url=https://example.com/acceptinvitation
invitation.accepted.contentType={"invitor":%invitor%,"network_id":%network_id%,"invitee":%invitee%}
invitation.accepted.postData=application/json