<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://wiki.integrics.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vlasis</id>
	<title>Integrics Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.integrics.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vlasis"/>
	<link rel="alternate" type="text/html" href="http://wiki.integrics.com/wiki/Special:Contributions/Vlasis"/>
	<updated>2026-05-06T22:08:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=396</id>
		<title>Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=396"/>
		<updated>2025-10-20T19:28:36Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When working on Integrics code, developers are encouraged to bear these guidelines in mind. They are guidelines rather than rules, and developers should use their own judgement as to when to break them.&lt;br /&gt;
&lt;br /&gt;
* All development&lt;br /&gt;
** For normal text that will be read by humans, use sentence case without capital letters in the middle of sentences unless specifically required: This is a sample.&lt;br /&gt;
** A naming convention of &amp;lt;noun&amp;gt;_&amp;lt;verb&amp;gt; is preferred for exported library functions: email_send()&lt;br /&gt;
** Libraries should, where reasonable, keep their functions sorted alphabetically.&lt;br /&gt;
** Use the Unix standard of the newline character (&amp;quot;\n&amp;quot;) to terminate lines.&lt;br /&gt;
** Comments should be limited to the following, unless there's a specific reason otherwise. Overuse of comments is discouraged.&lt;br /&gt;
*** A brief description at the top of files.&lt;br /&gt;
*** A copyright notice at the top of files.&lt;br /&gt;
*** A brief description of each 'paragraph' in long functions.&lt;br /&gt;
*** An explanation any section of code that may be counter-intuitive to someone reading the source.&lt;br /&gt;
** In Enswitch, from version 4.4 onward the person's proper parameters such as id, login_id, effective_id, role, login_role, effective_role, customer, login_customer, effective_customer etc should be observed according to the intended use in the code:&lt;br /&gt;
*** effective_id, effective_customer, etc (ie the effective_* parameters) should be used when the code relates to the switched-into user.&lt;br /&gt;
*** login_id, login_customer, etc (ie the login_* parameters) should be used when the code relates to the user as originally logged in.&lt;br /&gt;
*** id, customer, etc (ie the plain parameters) should be used in relation to a user in the people table for eg. as a result of a query to that table.&lt;br /&gt;
&lt;br /&gt;
* Go specific&lt;br /&gt;
** Run &amp;quot;go fmt&amp;quot; before checking into the repository.&lt;br /&gt;
** Strip executables before distribution unless symbols are specifically required for debugging.&lt;br /&gt;
&lt;br /&gt;
* Perl specific&lt;br /&gt;
** Use $snake_case for variable names.&lt;br /&gt;
** Use snake_case for function names.&lt;br /&gt;
** Use CamelCase for package names.&lt;br /&gt;
** Use short variable names for hash references, particularly those created from database lookups.&lt;br /&gt;
** Use tabs for indentation.&lt;br /&gt;
** Leave a space after open brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space before close brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space after commas: function( $a, $b, $c );&lt;br /&gt;
** Leave a space after negation: if ( ! $variable ) {&lt;br /&gt;
** Do not leave a blank line after if, else, while, foreach, etc.&lt;br /&gt;
** Do not leave a blank line before solitary closing curly brackets.&lt;br /&gt;
** Do not leave multiple consecutive blank lines.&lt;br /&gt;
** Use &amp;quot; =&amp;gt; &amp;quot; between hash array keys and values, and &amp;quot;, &amp;quot; between values and keys.&lt;br /&gt;
** If a list is very long, spread it across multiple lines. The last line before the closing round bracket should have a trailing comma.&lt;br /&gt;
** Use brackets on built-in Perl functions which can optionally have brackets: scalar( @variable )&lt;br /&gt;
** Use @EXPORT for library functions that are intended to be public.&lt;br /&gt;
** Use @EXPORT_OK for library variables that are intended to be public.&lt;br /&gt;
** 'use' statements should be listed at the top of each file, in case-insensitive alphabetical order, unless otherwise necessary.&lt;br /&gt;
** 'require' statements may be embedded within functions.&lt;br /&gt;
** Use the &amp;quot;&amp;lt;condition&amp;gt; ? &amp;lt;if true&amp;gt; : &amp;lt;if false&amp;gt;&amp;quot; construct if thought appropriate.&lt;br /&gt;
** For Enswitch versions 4.2 and newer prefer the array style syntax for SQL queries even for data with a single parameter, e.g. data =&amp;gt; [ $a-&amp;gt;{ 'uniqueid' } ].&lt;br /&gt;
&lt;br /&gt;
* Databases&lt;br /&gt;
** Use snake_case for column names.&lt;br /&gt;
&lt;br /&gt;
* Configuration files&lt;br /&gt;
** Use .ini format.&lt;br /&gt;
** Use single word lower-case section and key names were possible, or snake_case if multiple words are required.&lt;br /&gt;
** Use &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; for boolean values.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=394</id>
		<title>Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=394"/>
		<updated>2025-08-28T21:20:39Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When working on Integrics code, developers are encouraged to bear these guidelines in mind. They are guidelines rather than rules, and developers should use their own judgement as to when to break them.&lt;br /&gt;
&lt;br /&gt;
* All development&lt;br /&gt;
** For normal text that will be read by humans, use sentence case without capital letters in the middle of sentences unless specifically required: This is a sample.&lt;br /&gt;
** A naming convention of &amp;lt;noun&amp;gt;_&amp;lt;verb&amp;gt; is preferred for exported library functions: email_send()&lt;br /&gt;
** Libraries should, where reasonable, keep their functions sorted alphabetically.&lt;br /&gt;
** Use the Unix standard of the newline character (&amp;quot;\n&amp;quot;) to terminate lines.&lt;br /&gt;
** Comments should be limited to the following, unless there's a specific reason otherwise. Overuse of comments is discouraged.&lt;br /&gt;
*** A brief description at the top of files.&lt;br /&gt;
*** A copyright notice at the top of files.&lt;br /&gt;
*** A brief description of each 'paragraph' in long functions.&lt;br /&gt;
*** An explanation any section of code that may be counter-intuitive to someone reading the source.&lt;br /&gt;
** In Enswitch, from version 4.4 onward the person's proper parameters such as id, login_id, effective_id, customer, login_customer, effective_customer etc should be observed according to the intended use in the code:&lt;br /&gt;
*** effective_id, effective_customer, etc (ie the effective_* parameters) should be used when the code relates to the switched-into user.&lt;br /&gt;
*** login_id, login_customer, etc (ie the login_* parameters) should be used when the code relates to the user as originally logged in.&lt;br /&gt;
*** id, customer, etc (ie the plain parameters) should be used in relation to a user in the people table for eg. as a result of a query to that table.&lt;br /&gt;
&lt;br /&gt;
* Go specific&lt;br /&gt;
** Run &amp;quot;go fmt&amp;quot; before checking into the repository.&lt;br /&gt;
** Strip executables before distribution unless symbols are specifically required for debugging.&lt;br /&gt;
&lt;br /&gt;
* Perl specific&lt;br /&gt;
** Use $snake_case for variable names.&lt;br /&gt;
** Use snake_case for function names.&lt;br /&gt;
** Use CamelCase for package names.&lt;br /&gt;
** Use short variable names for hash references, particularly those created from database lookups.&lt;br /&gt;
** Use tabs for indentation.&lt;br /&gt;
** Leave a space after open brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space before close brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space after commas: function( $a, $b, $c );&lt;br /&gt;
** Leave a space after negation: if ( ! $variable ) {&lt;br /&gt;
** Do not leave a blank line after if, else, while, foreach, etc.&lt;br /&gt;
** Do not leave a blank line before solitary closing curly brackets.&lt;br /&gt;
** Do not leave multiple consecutive blank lines.&lt;br /&gt;
** Use &amp;quot; =&amp;gt; &amp;quot; between hash array keys and values, and &amp;quot;, &amp;quot; between values and keys.&lt;br /&gt;
** If a list is very long, spread it across multiple lines. The last line before the closing round bracket should have a trailing comma.&lt;br /&gt;
** Use brackets on built-in Perl functions which can optionally have brackets: scalar( @variable )&lt;br /&gt;
** Use @EXPORT for library functions that are intended to be public.&lt;br /&gt;
** Use @EXPORT_OK for library variables that are intended to be public.&lt;br /&gt;
** 'use' statements should be listed at the top of each file, in case-insensitive alphabetical order, unless otherwise necessary.&lt;br /&gt;
** 'require' statements may be embedded within functions.&lt;br /&gt;
** Use the &amp;quot;&amp;lt;condition&amp;gt; ? &amp;lt;if true&amp;gt; : &amp;lt;if false&amp;gt;&amp;quot; construct if thought appropriate.&lt;br /&gt;
** For Enswitch versions 4.2 and newer prefer the array style syntax for SQL queries even for data with a single parameter, e.g. data =&amp;gt; [ $a-&amp;gt;{ 'uniqueid' } ].&lt;br /&gt;
&lt;br /&gt;
* Databases&lt;br /&gt;
** Use snake_case for column names.&lt;br /&gt;
&lt;br /&gt;
* Configuration files&lt;br /&gt;
** Use .ini format.&lt;br /&gt;
** Use single word lower-case section and key names were possible, or snake_case if multiple words are required.&lt;br /&gt;
** Use &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; for boolean values.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=393</id>
		<title>Enswitch installation on AWS</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=393"/>
		<updated>2025-07-04T16:14:13Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up Enswitch on a single machine cluster on AWS&lt;br /&gt;
&lt;br /&gt;
This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk 13.38.3:&lt;br /&gt;
&lt;br /&gt;
* Under the global configuration, create two machines, one for the internal IP address and FQDN and the other for the external IP and FQDN. Set only the internal address machine to accept calls as an Asterisk server.&lt;br /&gt;
* Under the global configuration, create domains for the internal IP address, the internal FQDN, the external IP and the external FQDN.&lt;br /&gt;
* Under the global configuration, set the &amp;quot;Message daemon IP address&amp;quot; to be the internal IP address.&lt;br /&gt;
* Edit /etc/kamailio/kamailio.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listen = udp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
listen = tcp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
&lt;br /&gt;
# AWS&lt;br /&gt;
#!define AWS_INTERNAL_IP &amp;lt;internal IP&amp;gt;&lt;br /&gt;
#!define AWS_EXTERNAL_IP &amp;quot;&amp;lt;external IP&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* - In /etc/asterisk/sip.conf add a local-public, a local-private, a public IP and a private IP stanza, eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local-public]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-private]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;external IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;internal IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=391</id>
		<title>Failover parameter in /etc/enswitch/databases.ini</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=391"/>
		<updated>2025-05-29T19:30:02Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the configuration file /etc/enswitch/databases.ini the following parameter is available:&lt;br /&gt;
&lt;br /&gt;
failover = yes&lt;br /&gt;
&lt;br /&gt;
This is '''NOT''' related to any HA failover setup for the database.&lt;br /&gt;
&lt;br /&gt;
The 'failover' parameter is used to set up failover connections to alternative database addresses that use the same database handle.&lt;br /&gt;
&lt;br /&gt;
An example use case for this would be if a report server was set up to run reports on slave db servers, then 'failover' could be set to yes in order to select a second slave db server, in case the first one was not available.&lt;br /&gt;
&lt;br /&gt;
So, if HA is set for the database system, then the 'failover' parameter has limited functionality.&lt;br /&gt;
&lt;br /&gt;
Multiple machines for the same handle can be configured and Enswitch will read the configuration stanzas sequentially. There is no theoretical limit on how many stanzas can be set with the same handle. &lt;br /&gt;
&lt;br /&gt;
The example below shows the database configuration on a server that uses three db servers with the same database handle.&lt;br /&gt;
&lt;br /&gt;
Setting 'failover = yes' for the db1.example.com host means that if the database connection to db1.example.com fails, then Enswitch will attempt to connect to the next machine (db2.example.com) that is configured for the same handler (select/cdrs).&lt;br /&gt;
&lt;br /&gt;
Setting 'failover = no' for the db2.example.com host means that if the database connection to db2.example.com fails, then Enswitch will not attempt any further connections, even if subsequent stanzas are configured with &amp;quot;failover = yes&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
So, in this example if the database connection to db2.example.com fails, then a connection to db3.example.com will not be attempted. &lt;br /&gt;
&lt;br /&gt;
Setting the 'failover' parameter to 'yes' or 'no' on the last host of a handle will not make any difference because Enswitch will not attempt any further connections during that batch of connection attempts and will log an error. &lt;br /&gt;
&lt;br /&gt;
The connection attempts will begin again from the start after 10 secs, as is the standard behavior of Enswitch. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[select/cdrs]&lt;br /&gt;
database = enswitch&lt;br /&gt;
host = db1.example.com&lt;br /&gt;
port = 3306&lt;br /&gt;
username = enswitch&lt;br /&gt;
password = any&lt;br /&gt;
failover = yes&lt;br /&gt;
&lt;br /&gt;
[select/cdrs]&lt;br /&gt;
database = enswitch&lt;br /&gt;
host = db2.example.com&lt;br /&gt;
port = 3306&lt;br /&gt;
username = enswitch&lt;br /&gt;
password = any&lt;br /&gt;
failover = no&lt;br /&gt;
&lt;br /&gt;
[select/cdrs]&lt;br /&gt;
database = enswitch&lt;br /&gt;
host = db3.example.com&lt;br /&gt;
port = 3306&lt;br /&gt;
username = enswitch&lt;br /&gt;
password = any&lt;br /&gt;
failover = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=390</id>
		<title>Failover parameter in /etc/enswitch/databases.ini</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=390"/>
		<updated>2025-05-22T14:52:35Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the configuration file /etc/enswitch/databases.ini the following parameter is available:&lt;br /&gt;
&lt;br /&gt;
failover = yes&lt;br /&gt;
&lt;br /&gt;
This is '''NOT''' related to any HA failover setup for the database.&lt;br /&gt;
&lt;br /&gt;
The 'failover' parameter is used to set up failover connections to alternative database addresses that use the same database handle.&lt;br /&gt;
&lt;br /&gt;
An example use case for this would be if a report server was set up to run reports on slave db servers, then 'failover' could be set to yes in order to select a second slave db server, in case the first one was not available.&lt;br /&gt;
&lt;br /&gt;
So, if HA is set for the database system, then the 'failover' parameter has limited functionality.&lt;br /&gt;
&lt;br /&gt;
The example below shows the database configuration on a server that uses two report servers with the same database handle. If the connection to db1.example.com fails, then a connection to db2.example.com will be attempted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[select/cdrs]&lt;br /&gt;
database = enswitch&lt;br /&gt;
host = db1.example.com&lt;br /&gt;
port = 3306&lt;br /&gt;
username = enswitch&lt;br /&gt;
password = any&lt;br /&gt;
failover = yes&lt;br /&gt;
&lt;br /&gt;
[select/cdrs]&lt;br /&gt;
database = enswitch&lt;br /&gt;
host = db2.example.com&lt;br /&gt;
port = 3306&lt;br /&gt;
username = enswitch&lt;br /&gt;
password = any&lt;br /&gt;
failover = no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=389</id>
		<title>Failover parameter in /etc/enswitch/databases.ini</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Failover_parameter_in_/etc/enswitch/databases.ini&amp;diff=389"/>
		<updated>2025-05-16T08:39:30Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;In the configuration file /etc/enswitch/databases.ini the following parameter is available:  failover = yes  This is '''NOT''' related to any HA failover setup for the databas...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the configuration file /etc/enswitch/databases.ini the following parameter is available:&lt;br /&gt;
&lt;br /&gt;
failover = yes&lt;br /&gt;
&lt;br /&gt;
This is '''NOT''' related to any HA failover setup for the database.&lt;br /&gt;
&lt;br /&gt;
The 'failover' parameter is used to set up failover connections to alternative database addresses.&lt;br /&gt;
&lt;br /&gt;
An example use case for this would be if a report server was set up to run reports on slave db servers, then 'failover' could be set to yes in order to select a second slave db server, in case the first one was not available.&lt;br /&gt;
&lt;br /&gt;
So, if HA is set for the database system, then the 'failover' parameter has limited functionality.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=388</id>
		<title>Enswitch installation on AWS</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=388"/>
		<updated>2025-04-24T14:25:01Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up Enswitch on a single machine cluster on AWS&lt;br /&gt;
&lt;br /&gt;
This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk 13.38.3:&lt;br /&gt;
&lt;br /&gt;
* Under the global configuration, create two machines, one for the internal IP address and FQDN and the other for the external IP and FQDN. Set only the internal address machine to accept calls as an Asterisk server.&lt;br /&gt;
* Under the global configuration, create domains for the internal IP address, the internal FQDN, the external IP and the external FQDN.&lt;br /&gt;
* Under the global configuration, set the &amp;quot;Message daemon IP address&amp;quot; to be the internal IP address.&lt;br /&gt;
* Edit /etc/kamailio/kamailio.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listen = udp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
listen = tcp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
&lt;br /&gt;
# AWS&lt;br /&gt;
#!define AWS_INTERNAL_IP &amp;lt;internal IP&amp;gt;&lt;br /&gt;
#!define AWS_EXTERNAL_IP &amp;quot;&amp;lt;external IP&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit /opt/enswitch/current/etc/kamailio/kamailio_58.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: etc/kamailio/kamailio_58.cfg&lt;br /&gt;
===================================================================&lt;br /&gt;
--- etc/kamailio/kamailio_58.cfg	(revision 21240)&lt;br /&gt;
+++ etc/kamailio/kamailio_58.cfg	(working copy)&lt;br /&gt;
@@ -334,6 +334,11 @@&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if ( is_method( &amp;quot;INVITE&amp;quot; ) ) {&lt;br /&gt;
+		#!ifdef AWS_EXTERNAL_IP&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		#!endif&lt;br /&gt;
 		$var(pai_count) = 0;&lt;br /&gt;
 		while( defined $(hdr(P-Asserted-Identity)[$var(pai_count)]) ) {&lt;br /&gt;
 			$var(pai_count) = $var(pai_count) + 1;&lt;br /&gt;
@@ -359,6 +364,11 @@&lt;br /&gt;
 	if ( is_method( &amp;quot;BYE&amp;quot; ) ) {&lt;br /&gt;
 		t_on_branch( &amp;quot;BRANCH&amp;quot; );&lt;br /&gt;
 	}&lt;br /&gt;
+	#!ifdef AWS_EXTERNAL_IP&lt;br /&gt;
+	if ( is_method( &amp;quot;SUBSCRIBE&amp;quot; ) ) {&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+	}&lt;br /&gt;
+	#!endif&lt;br /&gt;
 	if ( ! t_relay() ) {&lt;br /&gt;
 		sl_reply_error();&lt;br /&gt;
 	}&lt;br /&gt;
@@ -368,6 +378,11 @@&lt;br /&gt;
 onreply_route[ REPLY ] {&lt;br /&gt;
 	if ( sdp_content() ) {&lt;br /&gt;
 		$avp(ENSWITCH-CIPHERS-SAFE) = $rb;&lt;br /&gt;
+		#!ifdef AWS_EXTERNAL_IP&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		#!endif&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	force_rport();&lt;br /&gt;
@@ -494,6 +509,9 @@&lt;br /&gt;
 		# enforce routing to sipd&lt;br /&gt;
 		rewritehostporttrans(&amp;quot;127.0.0.1:5080;transport=udp&amp;quot;);&lt;br /&gt;
 		remove_hf( &amp;quot;Route&amp;quot; );&lt;br /&gt;
+		#!ifdef AWS_EXTERNAL_IP&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+		#!endif&lt;br /&gt;
 		route( FORWARD );&lt;br /&gt;
 		exit;&lt;br /&gt;
 	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* - In /etc/asterisk/sip.conf add a local-public, a local-private, a public IP and a private IP stanza, eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local-public]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-private]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;external IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;internal IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=387</id>
		<title>Enswitch installation on AWS</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=387"/>
		<updated>2025-04-22T22:49:15Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up Enswitch on a single machine cluster on AWS&lt;br /&gt;
&lt;br /&gt;
This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk 13.38.3:&lt;br /&gt;
&lt;br /&gt;
* Under the global configuration, create two machines, one for the internal IP address and FQDN and the other for the external IP and FQDN. Set only the internal address machine to accept calls as an Asterisk server.&lt;br /&gt;
* Under the global configuration, create domains for the internal IP address, the internal FQDN, the external IP and the external FQDN.&lt;br /&gt;
* Under the global configuration, set the &amp;quot;Message daemon IP address&amp;quot; to be the internal IP address.&lt;br /&gt;
* Edit /etc/kamailio/kamailio.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listen = udp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
listen = tcp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
&lt;br /&gt;
# AWS&lt;br /&gt;
#!define AWS_INTERNAL_IP &amp;lt;internal IP&amp;gt;&lt;br /&gt;
#!define AWS_EXTERNAL_IP &amp;quot;&amp;lt;external IP&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit /opt/enswitch/current/etc/kamailio/kamailio_58.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: etc/kamailio/kamailio_58.cfg&lt;br /&gt;
===================================================================&lt;br /&gt;
--- etc/kamailio/kamailio_58.cfg	(revision 21219)&lt;br /&gt;
+++ etc/kamailio/kamailio_58.cfg	(working copy)&lt;br /&gt;
@@ -334,6 +334,11 @@&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if ( is_method( &amp;quot;INVITE&amp;quot; ) ) {&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 		$var(pai_count) = 0;&lt;br /&gt;
 		while( defined $(hdr(P-Asserted-Identity)[$var(pai_count)]) ) {&lt;br /&gt;
 			$var(pai_count) = $var(pai_count) + 1;&lt;br /&gt;
@@ -359,6 +364,12 @@&lt;br /&gt;
 	if ( is_method( &amp;quot;BYE&amp;quot; ) ) {&lt;br /&gt;
 		t_on_branch( &amp;quot;BRANCH&amp;quot; );&lt;br /&gt;
 	}&lt;br /&gt;
+&lt;br /&gt;
+	# AWS start&lt;br /&gt;
+	if ( is_method( &amp;quot;SUBSCRIBE&amp;quot; ) ) {&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+	}&lt;br /&gt;
+&lt;br /&gt;
 	if ( ! t_relay() ) {&lt;br /&gt;
 		sl_reply_error();&lt;br /&gt;
 	}&lt;br /&gt;
@@ -368,6 +379,11 @@&lt;br /&gt;
 onreply_route[ REPLY ] {&lt;br /&gt;
 	if ( sdp_content() ) {&lt;br /&gt;
 		$avp(ENSWITCH-CIPHERS-SAFE) = $rb;&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	force_rport();&lt;br /&gt;
@@ -494,6 +510,10 @@&lt;br /&gt;
 		# enforce routing to sipd&lt;br /&gt;
 		rewritehostporttrans(&amp;quot;127.0.0.1:5080;transport=udp&amp;quot;);&lt;br /&gt;
 		remove_hf( &amp;quot;Route&amp;quot; );&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+		# AWS end&lt;br /&gt;
+&lt;br /&gt;
 		route( FORWARD );&lt;br /&gt;
 		exit;&lt;br /&gt;
 	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* - In /etc/asterisk/sip.conf add a local-public, a local-private, a public IP and a private IP stanza, eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local-public]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-private]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;external IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;internal IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=386</id>
		<title>Enswitch installation on AWS</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=386"/>
		<updated>2025-04-22T22:46:28Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up Enswitch on a single machine cluster on AWS&lt;br /&gt;
&lt;br /&gt;
This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk 13.38.3:&lt;br /&gt;
&lt;br /&gt;
* Under the global configuration, create two machines, one for the internal IP address and FQDN and the other for the external IP and FQDN. Set only the internal address machine to accept calls as an Asterisk server.&lt;br /&gt;
* Under the global configuration, create domains for the internal IP address, the internal FQDN, the external IP and the external FQDN.&lt;br /&gt;
* Edit /etc/kamailio/kamailio.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listen = udp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
listen = tcp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
&lt;br /&gt;
# AWS&lt;br /&gt;
#!define AWS_INTERNAL_IP &amp;lt;internal IP&amp;gt;&lt;br /&gt;
#!define AWS_EXTERNAL_IP &amp;quot;&amp;lt;external IP&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit /opt/enswitch/current/etc/kamailio/kamailio_58.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: etc/kamailio/kamailio_58.cfg&lt;br /&gt;
===================================================================&lt;br /&gt;
--- etc/kamailio/kamailio_58.cfg	(revision 21219)&lt;br /&gt;
+++ etc/kamailio/kamailio_58.cfg	(working copy)&lt;br /&gt;
@@ -334,6 +334,11 @@&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if ( is_method( &amp;quot;INVITE&amp;quot; ) ) {&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 		$var(pai_count) = 0;&lt;br /&gt;
 		while( defined $(hdr(P-Asserted-Identity)[$var(pai_count)]) ) {&lt;br /&gt;
 			$var(pai_count) = $var(pai_count) + 1;&lt;br /&gt;
@@ -359,6 +364,12 @@&lt;br /&gt;
 	if ( is_method( &amp;quot;BYE&amp;quot; ) ) {&lt;br /&gt;
 		t_on_branch( &amp;quot;BRANCH&amp;quot; );&lt;br /&gt;
 	}&lt;br /&gt;
+&lt;br /&gt;
+	# AWS start&lt;br /&gt;
+	if ( is_method( &amp;quot;SUBSCRIBE&amp;quot; ) ) {&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+	}&lt;br /&gt;
+&lt;br /&gt;
 	if ( ! t_relay() ) {&lt;br /&gt;
 		sl_reply_error();&lt;br /&gt;
 	}&lt;br /&gt;
@@ -368,6 +379,11 @@&lt;br /&gt;
 onreply_route[ REPLY ] {&lt;br /&gt;
 	if ( sdp_content() ) {&lt;br /&gt;
 		$avp(ENSWITCH-CIPHERS-SAFE) = $rb;&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	force_rport();&lt;br /&gt;
@@ -494,6 +510,10 @@&lt;br /&gt;
 		# enforce routing to sipd&lt;br /&gt;
 		rewritehostporttrans(&amp;quot;127.0.0.1:5080;transport=udp&amp;quot;);&lt;br /&gt;
 		remove_hf( &amp;quot;Route&amp;quot; );&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		set_advertised_address( AWS_INTERNAL_IP );&lt;br /&gt;
+		# AWS end&lt;br /&gt;
+&lt;br /&gt;
 		route( FORWARD );&lt;br /&gt;
 		exit;&lt;br /&gt;
 	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* - In /etc/asterisk/sip.conf add a local-public, a local-private, a public IP and a private IP stanza, eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local-public]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-private]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;external IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;internal IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=385</id>
		<title>Enswitch installation on AWS</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_installation_on_AWS&amp;diff=385"/>
		<updated>2025-04-22T18:20:53Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;How to set up Enswitch on a single machine cluster on AWS  This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;How to set up Enswitch on a single machine cluster on AWS&lt;br /&gt;
&lt;br /&gt;
This set up has been tested successfully on an Enswitch 4.0 single machine cluster with Kamailio 5.8.2 and Asterisk 13.38.3:&lt;br /&gt;
&lt;br /&gt;
* Under the global configuration, create two machines, one for the internal IP address and FQDN and the other for the external IP and FQDN. Set only the internal address machine to accept calls as an Asterisk server.&lt;br /&gt;
* Under the global configuration, create domains for the internal IP address, the internal FQDN, the external IP and the external FQDN.&lt;br /&gt;
* Edit /etc/kamailio/kamailio.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
listen = udp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
listen = tcp:&amp;lt;internal IP&amp;gt;:5060 advertise &amp;lt;external IP&amp;gt;:5060&lt;br /&gt;
&lt;br /&gt;
# AWS&lt;br /&gt;
#!define AWS_INTERNAL_IP &amp;lt;internal IP&amp;gt;&lt;br /&gt;
#!define AWS_EXTERNAL_IP &amp;quot;&amp;lt;external IP&amp;gt;&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit /opt/enswitch/current/etc/kamailio/kamailio_58.cfg as below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Index: etc/kamailio/kamailio_58.cfg&lt;br /&gt;
===================================================================&lt;br /&gt;
--- etc/kamailio/kamailio_58.cfg	(revision 21219)&lt;br /&gt;
+++ etc/kamailio/kamailio_58.cfg	(working copy)&lt;br /&gt;
@@ -334,6 +334,11 @@&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if ( is_method( &amp;quot;INVITE&amp;quot; ) ) {&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 		$var(pai_count) = 0;&lt;br /&gt;
 		while( defined $(hdr(P-Asserted-Identity)[$var(pai_count)]) ) {&lt;br /&gt;
 			$var(pai_count) = $var(pai_count) + 1;&lt;br /&gt;
@@ -359,6 +364,12 @@&lt;br /&gt;
 	if ( is_method( &amp;quot;BYE&amp;quot; ) ) {&lt;br /&gt;
 		t_on_branch( &amp;quot;BRANCH&amp;quot; );&lt;br /&gt;
 	}&lt;br /&gt;
+&lt;br /&gt;
+	# AWS start&lt;br /&gt;
+	if ( is_method( &amp;quot;SUBSCRIBE&amp;quot; ) ) {&lt;br /&gt;
+		set_advertised_address( &amp;quot;172.30.14.16&amp;quot; );&lt;br /&gt;
+	}&lt;br /&gt;
+&lt;br /&gt;
 	if ( ! t_relay() ) {&lt;br /&gt;
 		sl_reply_error();&lt;br /&gt;
 	}&lt;br /&gt;
@@ -368,6 +379,11 @@&lt;br /&gt;
 onreply_route[ REPLY ] {&lt;br /&gt;
 	if ( sdp_content() ) {&lt;br /&gt;
 		$avp(ENSWITCH-CIPHERS-SAFE) = $rb;&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		if ( src_ip == AWS_INTERNAL_IP ) {&lt;br /&gt;
+		        fix_nated_sdp(&amp;quot;3&amp;quot;,AWS_EXTERNAL_IP);&lt;br /&gt;
+		}&lt;br /&gt;
+		# AWS end&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	force_rport();&lt;br /&gt;
@@ -494,6 +510,10 @@&lt;br /&gt;
 		# enforce routing to sipd&lt;br /&gt;
 		rewritehostporttrans(&amp;quot;127.0.0.1:5080;transport=udp&amp;quot;);&lt;br /&gt;
 		remove_hf( &amp;quot;Route&amp;quot; );&lt;br /&gt;
+		# AWS start&lt;br /&gt;
+		set_advertised_address( &amp;quot;172.30.14.16&amp;quot; );&lt;br /&gt;
+		# AWS end&lt;br /&gt;
+&lt;br /&gt;
 		route( FORWARD );&lt;br /&gt;
 		exit;&lt;br /&gt;
 	}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* - In /etc/asterisk/sip.conf add a local-public, a local-private, a public IP and a private IP stanza, eg:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local-public]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-private]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;external IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;external IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;external IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&lt;br /&gt;
[&amp;lt;internal IP&amp;gt;]&lt;br /&gt;
host = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
fromdomain = &amp;lt;internal IP&amp;gt;&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=384</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=384"/>
		<updated>2025-03-31T15:26:33Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: /* Enswitch 4.2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.8.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Version mr11.5.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=383</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=383"/>
		<updated>2025-03-31T15:24:48Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.8.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=382</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=382"/>
		<updated>2025-03-31T14:57:25Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.8.x: TBD (to be determined)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=381</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=381"/>
		<updated>2025-03-31T14:32:01Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: TBD (to be determined)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=380</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=380"/>
		<updated>2025-03-31T14:07:18Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: TBD (to be determined)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: TBD&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=379</id>
		<title>Compatibility between Enswitch components and Linux distributions</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compatibility_between_Enswitch_components_and_Linux_distributions&amp;diff=379"/>
		<updated>2025-03-31T13:42:53Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The contents on this page have an informative purpose and are not exhaustive. Updates may be applied as more observations are gathered about compatible and incompatible combinations of Enswitch versions, their components and operating systems.&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 24.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: TBD (to be determined)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: TBD&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: TBD&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes, but the HTMLDOC version it uses does not compile. As an alternative, an older HTMLDOC version may be installed.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2. There are errors when trying to use MySQL 5.5.x, at least in the configuration files.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 18.x: No (it does not exhibit the SQLite error observed with Asterisk 16.x, however it still requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.4.x: Yes&lt;br /&gt;
| MySQL 5.5.x: No (documented configuration file gives syntax errors and it is unknown if they may be fixed and if Enswitch would work fine after that). Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.2 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Version mr5.x or mr9.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.1 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires ''libjansson'' &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the ''--with-jansson-bundled'' flag to the ''./configure'' command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.1 sub-systems&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| RTPEngine (for WebRTC and/or TLS server)&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Version mr5.x or mr6.x, up to version mr6.5.12.2: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| No (missing required packages ''libip6tc-dev'' and ''libxtables-dev'')&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 4.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 4.0 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (it requires libjansson &amp;gt;= 2.11, which is not packaged with Ubuntu before 18.04. Alternatively, it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| CentOS 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: ??&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Maybe. Debian 7 comes with MySQL 5.5, but Enswitch 4.0 and newer require MySQL version &amp;gt;= 5.7 or MariaDB &amp;gt;= 10.2.&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 16.x: No (astdb requires SQLite library version &amp;gt;= 3.7.15, but Debian 7 comes with 3.7.13. Also, it requires libjansson &amp;gt;= 2.11, but Debian 7 comes with 2.3; it may be installed by passing the --with-jansson-bundled flag to the ./configure command inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: does not fit Enswitch requirements. Updating MySQL to version &amp;gt;= 5.7 or MariaDB to version &amp;gt;= 10.2 may be an option.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.15 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.15 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 22.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 22.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: No (it does not build correctly with GCC version 11 that comes with Ubuntu 22.04, as similarly reported in [https://github.com/kamailio/kamailio/issues/2293 an issue for Kamailio]. Alternatively, it may build by passing the ''-fcommon'' flag to the ''make'' command for ''Kamailio'' (e.g with ''CC_OPT=&amp;quot;-O2 -fcommon&amp;quot;'') inside the Enswitch installer, which will need to be changed)&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 20.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes, but Ubuntu 20.04 should be avoided because it ships with a version of Perl that has a known problem with Kamailio&lt;br /&gt;
| MySQL 8.0.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.14 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.14 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 20.04&lt;br /&gt;
| Maybe, but there are syntax errors when trying to use MySQL 8.0.x.&lt;br /&gt;
| Not tried&lt;br /&gt;
| Not tried&lt;br /&gt;
| MySQL 8.0.x: No (documented configuration file gives syntax errors, Enswitch source code gives syntax errors (e.g with keyword ''rank'', with keywords ''identified by'' to create the ''enswitch'' database user))&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 18.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 7 that comes with Ubuntu 18.04, as similarly reported in [https://community.asterisk.org/t/asterisk-1-8-compiling-on-deb-8-11-but-not-9-8/79393/2 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed, but that will not be enough because Asterisk 1.8.x requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: No (it requires a version of libssl older than the one provided by Ubuntu 18.04)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Ubuntu 16.04&lt;br /&gt;
| Yes&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 1.8.x: No (it does not build correctly with GCC version 5 that comes with Ubuntu 16.04, as similarly reported in [https://asterisk-users.digium.narkive.com/wu0IWbYi/can-t-compile-asterisk-certified-11-6-cert16-on-ubuntu-16 an issue for Asterisk]. Alternatively, as mentioned in [https://github.com/gccxml/gccxml/issues/11] and [https://bugzilla.redhat.com/show_bug.cgi?id=476370] it may build by passing the ''-fgnu89-inline'' flag to the ''configure'' command for ''Asterisk'' (e.g with ''CFLAGS=-fgnu89-inline LDFLAGS=-fgnu89-inline'') inside the Enswitch installer, which will need to be changed)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 11.x: Yes&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;bull; Version 13.x: Yes (experimental in Enswitch 3.14. The recommendation is to use it with Enswitch 3.15 or newer)&amp;lt;/p&amp;gt;&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.7.x: Yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 5.0.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enswitch 3.13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Enswitch 3.13 main components&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Distribution&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch core&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Asterisk&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Kamailio&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Database server&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;| Debian 7&lt;br /&gt;
| Yes&lt;br /&gt;
| Version 11.x: Yes&lt;br /&gt;
| Version 4.2.x: Yes&lt;br /&gt;
| MySQL 5.5.x: Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 18 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 18 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 16 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 16 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Asterisk 13 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Asterisk 13 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes, but it is experimental. The recommendation is to use it with Enswitch 3.15 or newer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.6 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.6 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.4 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.4 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.2 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.2 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Kamailio 5.0 ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|+ Availability of Kamailio 5.0 in the Enswitch installer&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Enswitch version&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Available&lt;br /&gt;
|-&lt;br /&gt;
| 4.3&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.2&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.1&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 4.0&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| 3.15&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| 3.14&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Upgrading_MySQL_to_5.7_or_MariaDB_to_10.2&amp;diff=354</id>
		<title>Upgrading MySQL to 5.7 or MariaDB to 10.2</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Upgrading_MySQL_to_5.7_or_MariaDB_to_10.2&amp;diff=354"/>
		<updated>2023-05-29T23:35:36Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Vlasis moved page Upgrading MySQL to 4.7 or MariaDB to 10.2 to Upgrading MySQL to 5.7 or MariaDB to 10.2: Corrected title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Make sure that 'mysql_upgrade' command is run&lt;br /&gt;
* Check if the following tables are created: innodb_index_stats, innodb_table_stats, slave_master_info, slave_relay_log_info, slave_worker_info&lt;br /&gt;
 &lt;br /&gt;
If one or some of the above tables are missing, create them manually using the below queries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE mysql;&lt;br /&gt;
CREATE TABLE `innodb_index_stats` (&lt;br /&gt;
`database_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`table_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`index_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
`stat_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`stat_value` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`sample_size` bigint(20) unsigned DEFAULT NULL,&lt;br /&gt;
`stat_description` varchar(1024) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE mysql;&lt;br /&gt;
CREATE TABLE `innodb_table_stats` (&lt;br /&gt;
`database_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`table_name` varchar(64) COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,&lt;br /&gt;
`n_rows` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`clustered_index_size` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`sum_of_other_index_sizes` bigint(20) unsigned NOT NULL,&lt;br /&gt;
PRIMARY KEY (`database_name`,`table_name`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE mysql;&lt;br /&gt;
CREATE TABLE `slave_master_info` (&lt;br /&gt;
`Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file.',&lt;br /&gt;
`Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log currently being read from the master.',&lt;br /&gt;
`Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last read event.',&lt;br /&gt;
`Host` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'The host name of the master.',&lt;br /&gt;
`User_name` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The user name used to connect to the master.',&lt;br /&gt;
`User_password` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The password used to connect to the master.',&lt;br /&gt;
`Port` int(10) unsigned NOT NULL COMMENT 'The network port used to connect to the master.',&lt;br /&gt;
`Connect_retry` int(10) unsigned NOT NULL COMMENT 'The period (in seconds) that the slave will wait before trying to reconnect to the master.',&lt;br /&gt;
`Enabled_ssl` tinyint(1) NOT NULL COMMENT 'Indicates whether the server supports SSL connections.',&lt;br /&gt;
`Ssl_ca` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Authority (CA) certificate.',&lt;br /&gt;
`Ssl_capath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path to the Certificate Authority (CA) certificates.',&lt;br /&gt;
`Ssl_cert` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL certificate file.',&lt;br /&gt;
`Ssl_cipher` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the cipher in use for the SSL connection.',&lt;br /&gt;
`Ssl_key` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The name of the SSL key file.',&lt;br /&gt;
`Ssl_verify_server_cert` tinyint(1) NOT NULL COMMENT 'Whether to verify the server certificate.',&lt;br /&gt;
`Heartbeat` float NOT NULL,&lt;br /&gt;
`Bind` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'Displays which interface is employed when connecting to the MySQL server',&lt;br /&gt;
`Ignored_server_ids` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The number of server IDs to be ignored, followed by the actual server IDs',&lt;br /&gt;
`Uuid` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The master server uuid.',&lt;br /&gt;
`Retry_count` bigint(20) unsigned NOT NULL COMMENT 'Number of reconnect attempts, to the master, before giving up.',&lt;br /&gt;
`Ssl_crl` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The file used for the Certificate Revocation List (CRL)',&lt;br /&gt;
`Ssl_crlpath` text CHARACTER SET utf8 COLLATE utf8_bin COMMENT 'The path used for Certificate Revocation List (CRL) files',&lt;br /&gt;
`Enabled_auto_position` tinyint(1) NOT NULL COMMENT 'Indicates whether GTIDs will be used to retrieve events from the master.',&lt;br /&gt;
PRIMARY KEY (`Host`,`Port`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Master Information';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE mysql;&lt;br /&gt;
CREATE TABLE `slave_relay_log_info` (&lt;br /&gt;
`Number_of_lines` int(10) unsigned NOT NULL COMMENT 'Number of lines in the file or rows in the table. Used to version table definitions.',&lt;br /&gt;
`Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the current relay log file.',&lt;br /&gt;
`Relay_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The relay log position of the last executed event.',&lt;br /&gt;
`Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'The name of the master binary log file from which the events in the relay log file were read.',&lt;br /&gt;
`Master_log_pos` bigint(20) unsigned NOT NULL COMMENT 'The master log position of the last executed event.',&lt;br /&gt;
`Sql_delay` int(11) NOT NULL COMMENT 'The number of seconds that the slave must lag behind the master.',&lt;br /&gt;
`Number_of_workers` int(10) unsigned NOT NULL,&lt;br /&gt;
`Id` int(10) unsigned NOT NULL COMMENT 'Internal Id that uniquely identifies this record.',&lt;br /&gt;
PRIMARY KEY (`Id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Relay Log Information';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
USE mysql;&lt;br /&gt;
CREATE TABLE `slave_worker_info` (&lt;br /&gt;
`Id` int(10) unsigned NOT NULL,&lt;br /&gt;
`Relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`Relay_log_pos` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`Master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`Master_log_pos` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`Checkpoint_relay_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`Checkpoint_relay_log_pos` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`Checkpoint_master_log_name` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,&lt;br /&gt;
`Checkpoint_master_log_pos` bigint(20) unsigned NOT NULL,&lt;br /&gt;
`Checkpoint_seqno` int(10) unsigned NOT NULL,&lt;br /&gt;
`Checkpoint_group_size` int(10) unsigned NOT NULL,&lt;br /&gt;
`Checkpoint_group_bitmap` blob NOT NULL,&lt;br /&gt;
PRIMARY KEY (`Id`)&lt;br /&gt;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 STATS_PERSISTENT=0 COMMENT='Worker Information';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart the service, check and make sure that there is no error in database service after restarted.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Updating_the_Web_phone_code&amp;diff=329</id>
		<title>Updating the Web phone code</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Updating_the_Web_phone_code&amp;diff=329"/>
		<updated>2023-02-25T14:02:49Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
To incorporate the Web phone code to Enswitch, a few changes to the code of the phone.js file of https://github.com/InnovateAsterisk/Browser-Phone were needed:&lt;br /&gt;
&lt;br /&gt;
* First, handling of receiving data from the controller was added because the controller needs to get data from the server and pass that data to the web phone.&lt;br /&gt;
&lt;br /&gt;
* Then, the class Phone is defined. After the class, a message is posted to the controller that the plugin is loaded.&lt;br /&gt;
&lt;br /&gt;
* Next is the declaration of all the global variables which need to be accessible through the entire .js file. By default they're defined globally and assigned values, but because these are changes to an existing project, these values are assigned in the startPhone function.&lt;br /&gt;
&lt;br /&gt;
* Next is the startPhone function which assigns values to global variables and also adds event listeners that initializes UI by calling InitUi and updates UI by calling UpdateUi.&lt;br /&gt;
&lt;br /&gt;
When assigning values to the global variables, all var, let and const should be removed because we're only assigning values here and the variables are declared earlier. If new global variables are added, those should be added to  the declaration also. This is done manually.&lt;br /&gt;
&lt;br /&gt;
* Listeners that call InitUi and UpdateUi are moved from another part of the code in the phone.js file. These listeners could be updated so anyone working on this should estimate how much of the code should be moved.&lt;br /&gt;
&lt;br /&gt;
* The last thing is in the getDbItem function, &amp;quot;var localDB = window.localStorage;&amp;quot; was replaced with &amp;quot;var localDB = phoneDevice;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
Changes to the phone.js file are marked with the following comments:&lt;br /&gt;
&lt;br /&gt;
 // MAIN ADDED CODE - START&lt;br /&gt;
 // COMMUNICATION WITH THE WebPhoneController.js - START&lt;br /&gt;
 // COMMUNICATION WITH THE WebPhoneController.js - END&lt;br /&gt;
 // CUSTOM CLASS TO REMOVE USAGE OF LOCAL STORAGE - START&lt;br /&gt;
 // CUSTOM CLASS TO REMOVE USAGE OF LOCAL STORAGE - END&lt;br /&gt;
 // LET THE CONTROLLER KNOW THAT PLUGIN IS READY FOR BEING USED - START&lt;br /&gt;
 // LET THE CONTROLLER KNOW THAT PLUGIN IS READY FOR BEING USED - END&lt;br /&gt;
 // DECLARE ALL GLOBAL VARIABLES - START&lt;br /&gt;
 // DECLARE ALL GLOBAL VARIABLES - END&lt;br /&gt;
 // MAIN ADDED CODE - END (this comment is inside startPhone function)&lt;br /&gt;
 // MOVED CODE - CODE MOVED TO BE CALLED IN INIT FUNCTION - START&lt;br /&gt;
 // MOVED CODE - CODE MOVED TO BE CALLED IN INIT FUNCTION - END&lt;br /&gt;
 // ADDED CODE - CLOSING OF INIT FUNCTION START&lt;br /&gt;
 // ADDED CODE - CLOSING OF INIT FUNCTION END&lt;br /&gt;
 // REPLACE window.localStorage with phoneDevice&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Updating_the_Web_phone_code&amp;diff=328</id>
		<title>Updating the Web phone code</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Updating_the_Web_phone_code&amp;diff=328"/>
		<updated>2023-02-25T14:01:52Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;== Overview ==  To incorporate the Web phone code to Enswitch, a few changes to the code of the phone.js file of https://github.com/InnovateAsterisk/Browser-Phone were needed:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
To incorporate the Web phone code to Enswitch, a few changes to the code of the phone.js file of https://github.com/InnovateAsterisk/Browser-Phone were needed:&lt;br /&gt;
&lt;br /&gt;
* First, handling of receiving data from the controller was added because the controller needs to get data from the server and pass that data to the web phone.&lt;br /&gt;
&lt;br /&gt;
* Then, the class Phone is defined. After the class, a message is posted to the controller that the plugin is loaded.&lt;br /&gt;
&lt;br /&gt;
* Next is the declaration of all the global variables which need to be accessible through the entire .js file. By default they're defined globally and assigned values, but because these are changes to an existing project, these values are assigned in the startPhone function.&lt;br /&gt;
&lt;br /&gt;
* Next is the startPhone function which assigns values to global variables and also adds event listeners that initializes UI by calling InitUi and updates UI by calling UpdateUi.&lt;br /&gt;
&lt;br /&gt;
When assigning values to the global variables, all var, let and const should be removed because we're only assigning values here and the variables are declared earlier. If new global variables are added, those should be added to  the declaration also. This is done manually.&lt;br /&gt;
&lt;br /&gt;
* Listeners that call InitUi and UpdateUi are moved from another part of the code in the phone.js file. These listeners could be updated so anyone working on this should estimate how much of the code should be moved.&lt;br /&gt;
&lt;br /&gt;
* The last thing is in the getDbItem function, &amp;quot;var localDB = window.localStorage;&amp;quot; was replaced with &amp;quot;var localDB = phoneDevice;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
Changes to the phone.js file are marked with the following comments:&lt;br /&gt;
&lt;br /&gt;
 // MAIN ADDED CODE - START&lt;br /&gt;
 // COMMUNICATION WITH THE WebPhoneController.js - START&lt;br /&gt;
 // COMMUNICATION WITH THE WebPhoneController.js - END&lt;br /&gt;
 // CUSTOM CLASS TO REMOVE USAGE OF LOCAL STORAGE - START&lt;br /&gt;
 // CUSTOM CLASS TO REMOVE USAGE OF LOCAL STORAGE - END&lt;br /&gt;
 // LET THE CONTROLLER KNOW THAT PLUGIN IS READY FOR BEING USED - START&lt;br /&gt;
 // LET THE CONTROLLER KNOW THAT PLUGIN IS READY FOR BEING USED - END&lt;br /&gt;
 // DECLARE ALL GLOBAL VARIABLES - START&lt;br /&gt;
 // DECLARE ALL GLOBAL VARIABLES - END&lt;br /&gt;
 // MAIN ADDED CODE - END (this comment is inside startPhone function)&lt;br /&gt;
 // MOVED CODE - CODE MOVED TO BE CALLED IN INIT FUNCTION - START&lt;br /&gt;
 // MOVED CODE - CODE MOVED TO BE CALLED IN INIT FUNCTION - END&lt;br /&gt;
 // ADDED CODE - CLOSING OF INIT FUNCTION START&lt;br /&gt;
 // ADDED CODE - CLOSING OF INIT FUNCTION END&lt;br /&gt;
 // REPLACE window.localStorage with phoneDevice&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=291</id>
		<title>Effect of role permissions on menus</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=291"/>
		<updated>2022-07-22T09:32:23Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the effect that roles have on the menus in Enswitch.&lt;br /&gt;
&lt;br /&gt;
==Pseudo users==&lt;br /&gt;
&lt;br /&gt;
* Under 'Default role for' section.&lt;br /&gt;
* Setting this role to Yes in the settings of a role means that new users that are created under that role from then onward are pseudo users. &lt;br /&gt;
* This option cannot be set to Yes in more than one role. This is why setting this to Yes in one role will automatically set this option to No in any other role where this was previously set to Yes. &lt;br /&gt;
* Note: each customer has a special user called a pseudo user and on the we interface this is shown as the customer name between square brackets, eg [Customer A]. When a user switches into a customer in the Enswitch web interface (as opposed to switching into another specific user), they switch into the pseudo user of that customer. &lt;br /&gt;
&lt;br /&gt;
==Reports menu==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* Up to Enswitch 3.15, renamed to 'Run reports' after version 4.0.&lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;br /&gt;
&lt;br /&gt;
==Run reports==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* From Enswitch 4.0 onwards, it is only a rename of the 'Reports menu' privilege that was in effect until version 3.15. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=290</id>
		<title>Effect of role permissions on menus</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=290"/>
		<updated>2022-07-16T13:00:27Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the effect that roles have on the menus in Enswitch.&lt;br /&gt;
&lt;br /&gt;
==Reports menu==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* Up to Enswitch 3.15, renamed to 'Run reports' after version 4.0.&lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;br /&gt;
&lt;br /&gt;
==Run reports==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* From Enswitch 4.0 onwards, it is only a rename of the 'Reports menu' privilege that was in effect until version 3.15. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=289</id>
		<title>Effect of role permissions on menus</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=289"/>
		<updated>2022-07-15T17:55:23Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page lists the effect that roles have on the menus in Enswitch.&lt;br /&gt;
&lt;br /&gt;
==Reports menu==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* Up to Enswitch 3.15. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;br /&gt;
&lt;br /&gt;
==Run reports==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* From Enswitch 4.0 onwards, it is only a rename of the &amp;quot;Reports menu&amp;quot; privilege. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=288</id>
		<title>Effect of role permissions on menus</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Effect_of_role_permissions_on_menus&amp;diff=288"/>
		<updated>2022-07-15T17:55:13Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;This page will list the effect that roles have on the menus in Enswitch.  ==Reports menu==  * Corresponds to the value 'reports' in the roles_access.privilege column. * Up to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will list the effect that roles have on the menus in Enswitch.&lt;br /&gt;
&lt;br /&gt;
==Reports menu==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* Up to Enswitch 3.15. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;br /&gt;
&lt;br /&gt;
==Run reports==&lt;br /&gt;
&lt;br /&gt;
* Corresponds to the value 'reports' in the roles_access.privilege column.&lt;br /&gt;
* From Enswitch 4.0 onwards, it is only a rename of the &amp;quot;Reports menu&amp;quot; privilege. &lt;br /&gt;
* Affects the appearance of the 'Reports' section on the left side menu.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=267</id>
		<title>Coding Guidelines</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Coding_Guidelines&amp;diff=267"/>
		<updated>2022-01-31T11:21:21Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When working on Integrics code, developers are encouraged to bear these guidelines in mind. They are guidelines rather than rules, and developers should use their own judgement as to when to break them.&lt;br /&gt;
&lt;br /&gt;
* All development&lt;br /&gt;
** For normal text that will be read by humans, use sentence case without capital letters in the middle of sentences unless specifically required: This is a sample.&lt;br /&gt;
** A naming convention of &amp;lt;noun&amp;gt;_&amp;lt;verb&amp;gt; is preferred for exported library functions: email_send()&lt;br /&gt;
** Libraries should, where reasonable, keep their functions sorted alphabetically.&lt;br /&gt;
** Use the Unix standard of the newline character (&amp;quot;\n&amp;quot;) to terminate lines.&lt;br /&gt;
** Comments should be limited to the following, unless there's a specific reason otherwise. Overuse of comments is discouraged.&lt;br /&gt;
*** A brief description at the top of files.&lt;br /&gt;
*** A copyright notice at the top of files.&lt;br /&gt;
*** A brief description of each 'paragraph' in long functions.&lt;br /&gt;
*** An explanation any section of code that may be counter-intuitive to someone reading the source.&lt;br /&gt;
&lt;br /&gt;
* Go specific&lt;br /&gt;
** Run &amp;quot;go fmt&amp;quot; before checking into the repository.&lt;br /&gt;
** Strip executables before distribution unless symbols are specifically required for debugging.&lt;br /&gt;
&lt;br /&gt;
* Perl specific&lt;br /&gt;
** Use $snake_case for variable names.&lt;br /&gt;
** Use snake_case for function names.&lt;br /&gt;
** Use CamelCase for package names.&lt;br /&gt;
** Use short variable names for hash references, particularly those created from database lookups.&lt;br /&gt;
** Use tabs for indentation.&lt;br /&gt;
** Leave a space after open brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space before close brackets: if ( $variable ) {&lt;br /&gt;
** Leave a space after commas: function( $a, $b, $c );&lt;br /&gt;
** Leave a space after negation: if ( ! $variable ) {&lt;br /&gt;
** Do not leave a blank line after if, else, while, foreach, etc.&lt;br /&gt;
** Do not leave a blank line before solitary closing curly brackets.&lt;br /&gt;
** Do not leave multiple consecutive blank lines.&lt;br /&gt;
** Use &amp;quot; =&amp;gt; &amp;quot; between hash array keys and values, and &amp;quot;, &amp;quot; between values and keys.&lt;br /&gt;
** If a list is very long, spread it across multiple lines. The last line before the closing round bracket should have a trailing comma.&lt;br /&gt;
** Use brackets on built-in Perl functions which can optionally have brackets: scalar( @variable )&lt;br /&gt;
** Use @EXPORT for library functions that are intended to be public.&lt;br /&gt;
** Use @EXPORT_OK for library variables that are intended to be public.&lt;br /&gt;
** 'use' statements should be listed at the top of each file, in case-insensitive alphabetical order, unless otherwise necessary.&lt;br /&gt;
** 'require' statements may be embedded within functions.&lt;br /&gt;
** Use the &amp;quot;&amp;lt;condition&amp;gt; ? &amp;lt;if true&amp;gt; : &amp;lt;if false&amp;gt;&amp;quot; construct if thought appropriate.&lt;br /&gt;
** For Enswitch versions 4.2 and newer prefer the array style syntax for SQL queries even for data with a single parameter, e.g. data =&amp;gt; [ $a-&amp;gt;{ 'uniqueid' } ].&lt;br /&gt;
&lt;br /&gt;
* Databases&lt;br /&gt;
** Use snake_case for column names.&lt;br /&gt;
&lt;br /&gt;
* Configuration files&lt;br /&gt;
** Use .ini format.&lt;br /&gt;
** Use single word lower-case section and key names were possible, or snake_case if multiple words are required.&lt;br /&gt;
** Use &amp;quot;true&amp;quot; and &amp;quot;false&amp;quot; for boolean values.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Change_port_of_Keep_Alive_reply_in_Kamailio&amp;diff=257</id>
		<title>Change port of Keep Alive reply in Kamailio</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Change_port_of_Keep_Alive_reply_in_Kamailio&amp;diff=257"/>
		<updated>2021-08-04T14:51:15Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;Typically Kamailio sends the reply to a Keep Alive message to the port specified in the Contact: header.  In cases where it is preferred to have the reply to the source port o...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Typically Kamailio sends the reply to a Keep Alive message to the port specified in the Contact: header.&lt;br /&gt;
&lt;br /&gt;
In cases where it is preferred to have the reply to the source port of the Keep Alive message, the following part of Kamailio configuration can be changed from:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Catch typical keep alive requests from SIP devices&lt;br /&gt;
if(is_method(&amp;quot;OPTIONS&amp;quot;) &amp;amp;&amp;amp; uri==myself &amp;amp;&amp;amp; $rU==$null) {&lt;br /&gt;
  sl_send_reply(&amp;quot;200&amp;quot;, &amp;quot;Keepalive&amp;quot;);&lt;br /&gt;
  exit;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Catch typical keep alive requests from SIP devices&lt;br /&gt;
if(is_method(&amp;quot;OPTIONS&amp;quot;) &amp;amp;&amp;amp; uri==myself &amp;amp;&amp;amp; $rU==$null) {&lt;br /&gt;
  force_rport();&lt;br /&gt;
  sl_send_reply(&amp;quot;200&amp;quot;, &amp;quot;Keepalive&amp;quot;);&lt;br /&gt;
  exit;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Asterisk_configuration_for_multihomed_Kamailio&amp;diff=256</id>
		<title>Asterisk configuration for multihomed Kamailio</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Asterisk_configuration_for_multihomed_Kamailio&amp;diff=256"/>
		<updated>2021-07-27T14:46:56Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;On systems where Kamailio listens on multiple IP addresses each one of those addresses must have an entry in sip.conf on the Asterisk servers.  It is recommended to make a cop...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On systems where Kamailio listens on multiple IP addresses each one of those addresses must have an entry in sip.conf on the Asterisk servers.&lt;br /&gt;
&lt;br /&gt;
It is recommended to make a copy of the [enswitch-local] stanza in as many stanzas as needed and add a suffix to each stanza's name. &lt;br /&gt;
&lt;br /&gt;
For example, on a system where Kamailio is listening on IP addresses 1.2.3.4 and 5.6.7.8:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[enswitch-local]&lt;br /&gt;
host = 1.2.3.4&lt;br /&gt;
fromdomain = 1.2.3.4&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = no&lt;br /&gt;
&lt;br /&gt;
[enswitch-local-1]&lt;br /&gt;
host = 5.6.7.8&lt;br /&gt;
fromdomain = 5.6.7.8&lt;br /&gt;
type = friend&lt;br /&gt;
insecure = port,invite&lt;br /&gt;
context = from-internal&lt;br /&gt;
canreinvite = no&lt;br /&gt;
nat = yes&lt;br /&gt;
t38pt_udptl = no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and so forth. All stanzas must have enswitch-local as a prefix in their name.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=252</id>
		<title>Useful Corosync and Pacemaker Commands</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=252"/>
		<updated>2020-10-13T09:49:11Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of useful commands for Corosync and Pacemaker clusters.&lt;br /&gt;
&lt;br /&gt;
* View the real-time status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_mon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View one-off status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm status&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View cluster configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node to standby mode (can also be used to simulate a node becoming unavailable):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node standby &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node's status from standby to online:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node online &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource start &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stop a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource stop &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart a resource or a resource group (if the resource is in a resource group then the whole group will be restarted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource restart &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit a resource, which allows its reconfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure edit &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete a resource (must be stopped before it is deleted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure delete &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Migrate the enswitch resource group to another node (avoid migrating specific resources separately, migrate the whole enswitch group instead):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource migrate enswitch &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configuring a cluster to not manage a resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource --resource &amp;lt;resource name&amp;gt; --set-parameter is-managed --meta --parameter-value false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clear a resource that is stuck in &amp;quot;(unmanaged) FAILED&amp;quot; state, e.g. due to a failed stop action:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource -P&lt;br /&gt;
crm resource cleanup &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List resource agents by type:&lt;br /&gt;
&amp;lt;pre&amp;gt;crm ra list lsb&lt;br /&gt;
crm ra list systemd&lt;br /&gt;
crm ra list ocf heartbeat&lt;br /&gt;
crm ra list ocf pacemaker&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Remove a resource from a group without disturbing the remaining resources:&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure property maintenance-mode=true&lt;br /&gt;
crm resource stop &amp;lt;resource&amp;gt; # it won't stop as it's in maintenance-mode&lt;br /&gt;
crm configure delete &amp;lt;resource&amp;gt;&lt;br /&gt;
crm configure show # very that all references to &amp;lt;resource&amp;gt; are gone&lt;br /&gt;
crm resource reprobe # the cluster double checks the status of declared resources and verifies that everything is in order and &amp;lt;resource&amp;gt; doesn't exist anymore&lt;br /&gt;
crm_mon -Arf1 # double check that everything is &amp;quot;started (unmanaged)&amp;quot; and &amp;lt;resource&amp;gt; is gone&lt;br /&gt;
crm_simulate -S -L -VVV # optional, to check what would happen when leaving maintenance-mode&lt;br /&gt;
crm configure property maintenance-mode=false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If something goes wrong while in maintenance-mode then&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource cleanup &amp;lt;resource&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
might be handy.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=247</id>
		<title>Useful Corosync and Pacemaker Commands</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=247"/>
		<updated>2020-08-03T12:03:33Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of useful commands for Corosync and Pacemaker clusters.&lt;br /&gt;
&lt;br /&gt;
* View the real-time status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_mon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View one-off status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm status&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View cluster configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node to standby mode (can also be used to simulate a node becoming unavailable):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node standby &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node's status from standby to online:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node online &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource start &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stop a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource stop &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart a resource or a resource group (if the resource is in a resource group then the whole group will be restarted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource restart &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit a resource, which allows its reconfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure edit &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete a resource (must be stopped before it is deleted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure delete &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Migrate the enswitch resource group to another node (avoid migrating specific resources separately, migrate the whole enswitch group instead):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource migrate enswitch &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configuring a cluster to not manage a resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource --resource &amp;lt;resource name&amp;gt; --set-parameter is-managed --meta --parameter-value false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clear a resource that is stuck in &amp;quot;(unmanaged) FAILED&amp;quot; state, e.g. due to a failed stop action:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource -P&lt;br /&gt;
crm resource cleanup &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List resource agents by type:&lt;br /&gt;
&amp;lt;pre&amp;gt;crm ra list lsb&lt;br /&gt;
crm ra list systemd&lt;br /&gt;
crm ra list ocf heartbeat&lt;br /&gt;
crm ra list ocf pacemaker&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=246</id>
		<title>Useful Corosync and Pacemaker Commands</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=246"/>
		<updated>2020-07-08T09:10:07Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of useful commands for Corosync and Pacemaker clusters.&lt;br /&gt;
&lt;br /&gt;
* View the real-time status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_mon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View one-off status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm status&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View cluster configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node to standby mode (can also be used to simulate a node becoming unavailable):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node standby &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node's status from standby to online:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node online &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource start &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stop a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource stop &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit a resource, which allows its reconfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure edit &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete a resource (must be stopped before it is deleted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure delete &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Migrate the enswitch resource group to another node (avoid migrating specific resources separately, migrate the whole enswitch group instead):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource migrate enswitch &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configuring a cluster to not manage a resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource --resource &amp;lt;resource name&amp;gt; --set-parameter is-managed --meta --parameter-value false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clear a resource that is stuck in &amp;quot;(unmanaged) FAILED&amp;quot; state, e.g. due to a failed stop action:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource -P&lt;br /&gt;
crm resource cleanup &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List resource agents by type:&lt;br /&gt;
&amp;lt;pre&amp;gt;crm ra list lsb&lt;br /&gt;
crm ra list systemd&lt;br /&gt;
crm ra list ocf heartbeat&lt;br /&gt;
crm ra list ocf pacemaker&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=200</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=200"/>
		<updated>2018-11-02T08:54:00Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SMS messages are sent using:&lt;br /&gt;
* SIP SIMPLE messages when the destination is a phone registered with Enswitch.&lt;br /&gt;
* A custom script for external destinations.&lt;br /&gt;
&lt;br /&gt;
Inbound SMS to the Enswitch system is not supported in versions 3.14 and older.&lt;br /&gt;
&lt;br /&gt;
The custom script:&lt;br /&gt;
* Must be customised for each provider to match the protocol they use&lt;br /&gt;
* Is located at: &amp;lt;code&amp;gt;/usr/local/sbin/enswitch_message_out&amp;lt;/code&amp;gt;&lt;br /&gt;
* Must be on the same machines as enswitch_sipd.&lt;br /&gt;
&lt;br /&gt;
Here is an [[SMS_Send_Script_Example|example]] enswitch_message_out script to send requests via HTTP.&lt;br /&gt;
&lt;br /&gt;
Besides customising this script, you need to:&lt;br /&gt;
* In System -&amp;gt; Configuration set &amp;quot;Enable text messages&amp;quot; (or &amp;quot;Enable messaging&amp;quot; in 3.13 and earlier) to Yes.&lt;br /&gt;
* Restart enswitch_sipd.&lt;br /&gt;
* In System -&amp;gt; Roles set &amp;quot;Actions » Send a message&amp;quot; to Yes for desired roles.&lt;br /&gt;
* In each Peer's outbound costs define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Route define the &amp;quot;Peer for messages&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot;.&lt;br /&gt;
** Outbound call cost exceptions -&amp;gt; &amp;quot;Cost to send message&amp;quot;.&lt;br /&gt;
We recommend your configuration is thoroughly tested prior to making it available to users.&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=190</id>
		<title>Useful Corosync and Pacemaker Commands</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=190"/>
		<updated>2018-04-05T16:07:01Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of useful commands for Corosync and Pacemaker clusters.&lt;br /&gt;
&lt;br /&gt;
* View the real-time status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_mon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View one-off status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm status&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* View cluster configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure show&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node to standby mode (can also be used to simulate a node becoming unavailable):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node standby &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node's status from standby to online:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm node online &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource start &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stop a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource stop &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit a resource, which allows its reconfiguration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure edit &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete a resource (must be stopped before it is deleted):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm configure delete &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Migrate a resource to another node:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm resource migrate &amp;lt;resource name&amp;gt; &amp;lt;node name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configuring a cluster to not manage a resource:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource --resource &amp;lt;resource name&amp;gt; --set-parameter is-managed --meta --parameter-value false&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Clear a resource that is stuck in &amp;quot;(unmanaged) FAILED&amp;quot; state, e.g. due to a failed stop action:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;crm_resource -P&lt;br /&gt;
crm resource cleanup &amp;lt;resource name&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List resource agents by type:&lt;br /&gt;
&amp;lt;pre&amp;gt;crm ra list lsb&lt;br /&gt;
crm ra list systemd&lt;br /&gt;
crm ra list ocf heartbeat&lt;br /&gt;
crm ra list ocf pacemaker&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=189</id>
		<title>Useful Corosync and Pacemaker Commands</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Useful_Corosync_and_Pacemaker_Commands&amp;diff=189"/>
		<updated>2018-04-05T16:03:06Z</updated>

		<summary type="html">&lt;p&gt;Vlasis: Created page with &amp;quot;List of useful commands to for Corosync and Pacemaker clusters.  * View the real-time status of nodes and resources:  crm_mon  * View one-off status of nodes and resources:  c...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of useful commands to for Corosync and Pacemaker clusters.&lt;br /&gt;
&lt;br /&gt;
* View the real-time status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
crm_mon&lt;br /&gt;
&lt;br /&gt;
* View one-off status of nodes and resources:&lt;br /&gt;
&lt;br /&gt;
crm status&lt;br /&gt;
&lt;br /&gt;
* View cluster configuration:&lt;br /&gt;
&lt;br /&gt;
crm configure show&lt;br /&gt;
&lt;br /&gt;
* Set a node to standby mode, which can be used to simulate a node becoming unavailable:&lt;br /&gt;
&lt;br /&gt;
crm node standby &amp;lt;node name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Set a node's status from standby to online:&lt;br /&gt;
&lt;br /&gt;
crm node online &amp;lt;node name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Start a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
crm resource start &amp;lt;resource name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Stop a resource or a resource group:&lt;br /&gt;
&lt;br /&gt;
crm resource stop &amp;lt;resource name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Edit a resource, which allows you to reconfigure it:&lt;br /&gt;
&lt;br /&gt;
crm configure edit &amp;lt;resource name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Delete a resource (must be stopped before it is deleted):&lt;br /&gt;
&lt;br /&gt;
crm configure delete &amp;lt;resource name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Migrate a resource to another node:&lt;br /&gt;
&lt;br /&gt;
crm resource migrate &amp;lt;resource name&amp;gt; &amp;lt;node name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Configuring a cluster to not manage a resource:&lt;br /&gt;
&lt;br /&gt;
crm_resource --resource &amp;lt;resource name&amp;gt; --set-parameter is-managed --meta --parameter-value false&lt;br /&gt;
&lt;br /&gt;
* Clear a resource that is stuck in &amp;quot;(unmanaged) FAILED&amp;quot; state, e.g. due to a failed stop action:&lt;br /&gt;
&lt;br /&gt;
crm_resource -P&lt;br /&gt;
crm resource cleanup &amp;lt;resource name&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* List resource agents by type:&lt;br /&gt;
crm ra list lsb&lt;br /&gt;
crm ra list systemd&lt;br /&gt;
crm ra list ocf heartbeat&lt;br /&gt;
crm ra list ocf pacemaker&lt;/div&gt;</summary>
		<author><name>Vlasis</name></author>
		
	</entry>
</feed>