Reference16r1:Concept App Service Conference Scaler: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
Nwe (talk | contribs)
Nwe (talk | contribs)
Line 71: Line 71:


==== Conference Object ====
==== Conference Object ====
To activate the Conference Scaler at a conference object, you need to got to the Settings plugin "conferences". When selecting an existing conference object (or creating a new one) here you will have a new option called "additional features", the conference scaler will appear here and you can select it as used conference ressource
To activate the Conference Scaler at a conference object, you need to got to the Settings plugin "conferences". When selecting an existing conference object (or creating a new one) here you will have a new option called "additional features", the conference scaler will appear here and you can select it as used conference ressource. When selecting the conference scaler as ressource, after clicking ok, the conference object will open a Websocket connection to the conference scaler app service, the conference scaler app service will now register through this Websocket connection with Websocket at the conference object. The registration will be seen in PBX -> Registrations labeled with "JSON".
 
==== Calling a conference room / Voice ====
When you call a conference room the signaling will be send to the conference object with the room number, this signaling will be forwarded to the conference scaler (basically like in the normal scenario where an Interface registers directly at the conference object, where the signaling will be send directly to the interface). The conference scaler now forwards this signaling to any randomly selected interface which has a registration to the conference scaler app, this interface will be also selected as "Primary Interface" for mixing audio between all interfaces.
 
The conference scaler will open a new room at that Interface (for the called room), Audio will now be established through Interface -> Client.
 
Now we only have one participant inside the conference room at one interface connected, let's add another participant. Participant 2 calls inside the same conference room, here the signaling to the conference scaler app is the same, but now the conference scaler will select another interface in a round-robin manner to establish a connection to the client. Now we have two interfaces with the same Room, both interfaces are connected to two different participants, at this moment Participant 1 will not be able to hear participant 2 and vice versa.
 
To establish audio between Interface 1 and Interface 2 the conference scaler will allocate a free RTP Port on both Interfaces, then the conference scaler exchange these Connection information between both Interfaces. Now Interface 1 will join Interface 2 (at the right room on this interface) as participant and vice versa. Any new participant who joins the conference room will be distributed between these two interfaces.
 
Let's assume we have another Participant and another Interface registered at the conference scaler app service, therefore this participant will be transfered to Interface 3 when calling


== Related Articles ==
== Related Articles ==

Revision as of 15:11, 30 April 2026

The Conference Scaler app is required to use multiple conference interfaces within one conference.

Applies to

  • Conference Scaler app

Requirements

  • innovaphone PBX (V16r1)
  • innovaphone Application Platform
  • At least one innovaphone Gateway with SCNF Interfaces (V16r1)
  • The Devices API must be available for the settings plugin therefore the gateways have to be connected to devices

Settings Plugins

Conference Scaler

With settings plugin of the Conference Scaler a Conference Scaler app object can be created, edited and deleted on the PBX. Furthermore, the conference interface to be used can be configured if the Devices API is available.

Conference

In the conference settings, the menu item "Additional Features" appears for Conference objects. With this setting you can enable the use of the Conference Scaler within the Conference object. Additionally, you can activate the use of PBX channels licenses.

More information

Conference Scaler App (innovaphone-conference-scaler)

conferencescaler.png/

The hidden app offers an interface via the Service API (com.innovaphone.conference-scaler), that is used by the Conference object.

Parameters:

URL
http://<ap.domain.tld>/<domain.tld>/<instance-name>/innovaphone-conference-scaler

Features

  • Allows the use of multiple conference interfaces within multiple conference.
    • This removes previous participant limits.
    • Adds flexibility to existing infrastructure.
    • The Conference Scaler app nominates one conference interface which will manage the control for voice streams. This conference interface will then receive and distribute the audio streams to all interfaces which are connected to the Conference Scaler app.
    • The Conference Scaler app will split the participants in a Round Robin maner, therefore the load will be evenly distributed to the interfaces.
    • If a conference interface has reached its limit for participants, the Conference Scaler app will select another free conference interface for a new incoming call.

Configuration

To set up the Conference Scaler for a single cluster of conference interfaces, follow these steps:

  1. Download the Conference Scaler app via the App Store (or use the settings plugin "app installer" to install the app and instance automatically and skip to step 4).
  2. Install the Conference Scaler app on the App Platform.
  3. Create an instance in the Conference Scaler app on the App Platform and make sure the instance is running.
  4. Create via the settings plugin of the Conference Scaler a new Conference Scaler app object.
  5. Select the conference interfaces to be used by the Conference Scaler app inside the settings plugin of the Conference Scaler.
  6. Allow the use of the Conference Scaler app on the Conference settings.

To run multiple clusters, you need additional app instances. Repeat steps 3 through 6 to add them. Ensure there are no overlaps between the selected conference interface across the settings plugins of the Conference Scaler. Each Conference object should activate only one Conference Scaler app object to guarantee everything works as expected. Also, make sure that when adding app objects, this is done via the settings plugin of the new instance.

Restrictions / Known issues

  • Using the Conference Scaler app generates an overhead depending on usage patterns, so the increase in the number of participants does not correspond to a multiple of x interfaces. One participant will take up an estimation of 1,5x CPU-Load as the usual conference flow (because data is additionally send to a different interface). So for an interface with max. 100 Video participants this amount will decrease to a maximum participant limit of 66 (as 100/1,5=66). Therefore if you want to achieve a maximum of X video participants you need to take that information into account for calculating the needed interfaces.
  • In case of failure of the App Platform the Conference Scaler app will not be available as well. Therefore it will not be possible to join or continue an ongoing conference.
  • Room reservations are not needed anymore and are therefore not possible.
  • Video sharing between the conference interfaces is handled via multicast and this requires that the interfaces are on the same network (Multicast addresses differs between 239.0.0.0 - 239.255.255.255).
  • Only SCNF interfaces are currently supported.

Troubleshooting

If you can reproduce the problem, clear the contents of the current app log, reproduce the issue, take a screenshot (depending on the issue), save the browser logs and the app logs, and send them as an attachment to your support ticket. For the app, please make sure that following trace flags are enabled:

  • App
  • App Websocket

No Channel free

If you get a „No Channel free“ Error when trying to join a Conference Room after setting up the Conference, check if the desired room has any reserved channel configured, if so then remove the reservation of channels. The Conference Scaler does not consider channel reservations and therefore rejects the caller.

Technical Workflow

This is the overview of the complete technical workflow

Settings Plugin

After installing the conference scaler you need to add a new App inside the settings plugin, this app let's you pick your desired interfaces which you would like to cluster for conferences. Here all (SCNF-) interfaces which are connected to devices will be found.

When adding an interface to the App and applying by clicking ok, the Interface will be automatically configured to register via Websocket to the App Service, also the MAC-adress and Interface indication will be added to the Hardware ID of the Conference Scaler App Object (This is used for the Settings plugin, this way the Plugin knows which Interfaces are already configured to use the Conference Scaler).

Conference Object

To activate the Conference Scaler at a conference object, you need to got to the Settings plugin "conferences". When selecting an existing conference object (or creating a new one) here you will have a new option called "additional features", the conference scaler will appear here and you can select it as used conference ressource. When selecting the conference scaler as ressource, after clicking ok, the conference object will open a Websocket connection to the conference scaler app service, the conference scaler app service will now register through this Websocket connection with Websocket at the conference object. The registration will be seen in PBX -> Registrations labeled with "JSON".

Calling a conference room / Voice

When you call a conference room the signaling will be send to the conference object with the room number, this signaling will be forwarded to the conference scaler (basically like in the normal scenario where an Interface registers directly at the conference object, where the signaling will be send directly to the interface). The conference scaler now forwards this signaling to any randomly selected interface which has a registration to the conference scaler app, this interface will be also selected as "Primary Interface" for mixing audio between all interfaces.

The conference scaler will open a new room at that Interface (for the called room), Audio will now be established through Interface -> Client.

Now we only have one participant inside the conference room at one interface connected, let's add another participant. Participant 2 calls inside the same conference room, here the signaling to the conference scaler app is the same, but now the conference scaler will select another interface in a round-robin manner to establish a connection to the client. Now we have two interfaces with the same Room, both interfaces are connected to two different participants, at this moment Participant 1 will not be able to hear participant 2 and vice versa.

To establish audio between Interface 1 and Interface 2 the conference scaler will allocate a free RTP Port on both Interfaces, then the conference scaler exchange these Connection information between both Interfaces. Now Interface 1 will join Interface 2 (at the right room on this interface) as participant and vice versa. Any new participant who joins the conference room will be distributed between these two interfaces.

Let's assume we have another Participant and another Interface registered at the conference scaler app service, therefore this participant will be transfered to Interface 3 when calling

Related Articles