<?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=Dcunningham</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=Dcunningham"/>
	<link rel="alternate" type="text/html" href="http://wiki.integrics.com/wiki/Special:Contributions/Dcunningham"/>
	<updated>2026-05-06T21:46:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.7</generator>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=SELinux_building_module&amp;diff=395</id>
		<title>SELinux building module</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=SELinux_building_module&amp;diff=395"/>
		<updated>2025-08-29T04:29:24Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To check for SELinux audit entries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
audit2allow -a -b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To turn SELinux audit entries into a new SELinux module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
audit2allow -a -b -M enswitch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile the SELinux module for Enswitch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/enswitch/current/etc/selinux&lt;br /&gt;
checkmodule -M -m -o enswitch.mod enswitch.te&lt;br /&gt;
semodule_package -o enswitch.pp -m enswitch.mod&lt;br /&gt;
semodule -i enswitch.pp&lt;br /&gt;
rm enswitch.mod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the SELinux module for Enswitch is installed:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
semodule -l | grep enswitch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the installed SELinux module for Enswitch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
semodule -r enswitch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To list the contents of the .pp file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/libexec/selinux/hll/pp /opt/enswitch/etc/selinux/enswitch.pp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=392</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=392"/>
		<updated>2025-05-30T00:09:13Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Check what's installed ===&lt;br /&gt;
&lt;br /&gt;
To check what version might already be installed run &amp;lt;code&amp;gt;go version&amp;lt;/code&amp;gt;. If the version is less than 1.20 you should definitely upgrade.&lt;br /&gt;
&lt;br /&gt;
Compiling messaged on a system with a newer version of GLIBC can mean that it won't run on systems with an older version, so it's better to compile messaged on older versions. Voisonics uses dev-4-2 for this.&lt;br /&gt;
&lt;br /&gt;
=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 3.15 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and above ===&lt;br /&gt;
&lt;br /&gt;
Run: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of make don't do anything, delete the compiled &amp;lt;code&amp;gt;messaged&amp;lt;/code&amp;gt; first and then try again.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=377</id>
		<title>Compiling AngularJS interface</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=377"/>
		<updated>2024-09-20T02:36:38Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: Replaced content with &amp;quot;You should follow the instructions in web/README.md on the Enswitch server.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You should follow the instructions in web/README.md on the Enswitch server.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Sharing_features_between_customers&amp;diff=376</id>
		<title>Sharing features between customers</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Sharing_features_between_customers&amp;diff=376"/>
		<updated>2024-08-27T03:51:03Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally features within one Enswitch customer cannot be accessed by another customer, except by calling a Number.&lt;br /&gt;
&lt;br /&gt;
However, sometimes you may want to create a customer with branch offices as sub-customers, and allow internal access between the sub-customers. For example, one customer may need to be able to dial feature codes within a sibling customer. This can be done with &amp;quot;common routing&amp;quot;. To use it:&lt;br /&gt;
&lt;br /&gt;
# Set System -&amp;gt; Configuration -&amp;gt; &amp;quot;Enable common routing between customers&amp;quot; to Yes.&lt;br /&gt;
# For each sub-customer set &amp;quot;Share features with parent&amp;quot; to Yes.&lt;br /&gt;
&lt;br /&gt;
The logic then used is:&lt;br /&gt;
&lt;br /&gt;
# Call is made in customer with &amp;quot;Share features with parent&amp;quot; enabled.&lt;br /&gt;
# Routing engine looks at the calling customer's parent customer to see if it has &amp;quot;Share features with parent&amp;quot; enabled, and if so check it's parent, and so on until the highest level customer with &amp;quot;Share features with parent&amp;quot; enabled is found.&lt;br /&gt;
# Routing engine then looks in all sub-customers of that highest level customer, checks if the sub-customer has &amp;quot;Share features with parent&amp;quot; enabled, and if it does then looks in that customer for a number or feature code which matches the destination dialled.&lt;br /&gt;
&lt;br /&gt;
For an example refer to the following customer tree:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
     a&lt;br /&gt;
     |&lt;br /&gt;
  -------&lt;br /&gt;
  |  |  |&lt;br /&gt;
  b  c  D&lt;br /&gt;
  |     |&lt;br /&gt;
  e  -------&lt;br /&gt;
     |     |&lt;br /&gt;
     F     G&lt;br /&gt;
           |&lt;br /&gt;
           H&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All upper case customers have &amp;quot;Share features with parent&amp;quot; enabled, and all lower case customers do not.&lt;br /&gt;
&lt;br /&gt;
# Customer H makes call. No number in H itself matches the number dialled, so the routing engine recurses upwards until it finds the highest level customer with &amp;quot;Share features with parent&amp;quot; enabled, which is D.&lt;br /&gt;
# The routing engine then recurses downwards from D until it finds that customer F contains a feature code matching the number dialled. The call routes to the destination which that feature code in customer F points to.&lt;br /&gt;
# Customers a, b, c, and e were not checked because D's parent did not have &amp;quot;Share features with parent&amp;quot; enabled, so D's parent and D's siblings were not checked for a matching number.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Sharing_features_between_customers&amp;diff=375</id>
		<title>Sharing features between customers</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Sharing_features_between_customers&amp;diff=375"/>
		<updated>2024-08-27T03:50:39Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Normally features within one Enswitch customer cannot be accessed by another customer, except by calling a Number.&lt;br /&gt;
&lt;br /&gt;
However, sometimes you may want to create a customer with branch offices as sub-customers, and allow internal access between the sub-customers. For example, one customer may need to be able to dial feature codes within a sibling customer. This can be done with &amp;quot;common routing&amp;quot;. To use it:&lt;br /&gt;
&lt;br /&gt;
# Set System -&amp;gt; Configuration -&amp;gt; &amp;quot;Enable common routing between customers&amp;quot; to Yes.&lt;br /&gt;
# For each sub-customer set &amp;quot;Share features with parent&amp;quot; to Yes.&lt;br /&gt;
&lt;br /&gt;
The logic then used is:&lt;br /&gt;
&lt;br /&gt;
# Call is made in customer with &amp;quot;Share features with parent&amp;quot; enabled.&lt;br /&gt;
# Routing engine looks at the calling customer's parent customer to see if it has &amp;quot;Share features with parent&amp;quot; enabled, and if so check it's parent, and so on until the highest level customer with &amp;quot;Share features with parent&amp;quot; enabled is found.&lt;br /&gt;
# Routing engine then looks in all sub-customers of that highest level customer, checks if the sub-customer has &amp;quot;Share features with parent&amp;quot; enabled, and if it does then looks in that customer for a number or feature code which matches the destination dialled.&lt;br /&gt;
&lt;br /&gt;
For an example refer to the following customer tree:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
     a&lt;br /&gt;
     |&lt;br /&gt;
  -------&lt;br /&gt;
  |  |  |&lt;br /&gt;
  b  c  D&lt;br /&gt;
  |     |&lt;br /&gt;
  e  -------&lt;br /&gt;
     |     |&lt;br /&gt;
     F     G&lt;br /&gt;
           |&lt;br /&gt;
           H&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All upper case customers have &amp;quot;Share features with parent&amp;quot; enabled, and all lower case customers do not.&lt;br /&gt;
&lt;br /&gt;
# Customer H makes call. No number in H itself matches the number dialled, so the routing engine recurses upwards until it finds the highest level customer with &amp;quot;Share features with parent&amp;quot; enabled, which is D.&lt;br /&gt;
# The routing engine then recurses downwards from D until it finds that customer F contains a feature code matching the number dialled. The call routes to the destination which that feature code in customer F points to.&lt;br /&gt;
# Customers a, b, c, and e were not checked because D's parent did not have &amp;quot;Share features with parent&amp;quot; enabled, so D's parent and D's siblings were not checked for a matching number.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=371</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=371"/>
		<updated>2024-07-01T01:06:50Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Check what's installed ===&lt;br /&gt;
&lt;br /&gt;
To check what version might already be installed run &amp;lt;code&amp;gt;go version&amp;lt;/code&amp;gt;. If the version is less than 1.20 you should definitely upgrade.&lt;br /&gt;
&lt;br /&gt;
=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 3.15 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and above ===&lt;br /&gt;
&lt;br /&gt;
Run: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of make don't do anything, delete the compiled &amp;lt;code&amp;gt;messaged&amp;lt;/code&amp;gt; first and then try again.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=370</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=370"/>
		<updated>2024-05-22T21:49:54Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are thousands of permutations to consider.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
* Take call feature prefix&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but a user might think of as the called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Queue event log (queue_events table)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=369</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=369"/>
		<updated>2024-05-22T21:49:25Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are thousands of permutations to consider.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
* Take call feature prefix&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but a user might think of as the called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Queue event log&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=362</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=362"/>
		<updated>2023-06-12T03:30:47Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are thousands of permutations to consider.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
* Take call feature prefix&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but a user might think of as the called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=361</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=361"/>
		<updated>2023-06-09T01:10:24Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 3.15 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and above ===&lt;br /&gt;
&lt;br /&gt;
Run: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of make don't do anything, delete the compiled &amp;lt;code&amp;gt;messaged&amp;lt;/code&amp;gt; first and then try again.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=360</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=360"/>
		<updated>2023-06-09T01:03:37Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 3.15 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and above ===&lt;br /&gt;
&lt;br /&gt;
Run: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of make don't do anything you can instead run: &amp;lt;code&amp;gt;go build cmd/messaged&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the 4.1 code was copied to 4.0 in ticket #8215 to take advantage of the better compilation system.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=359</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=359"/>
		<updated>2023-06-07T03:08:48Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.1 and above ===&lt;br /&gt;
&lt;br /&gt;
Run: &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of make don't do anything you can instead run: &amp;lt;code&amp;gt;go build cmd/messaged&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=358</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=358"/>
		<updated>2023-06-07T03:08:13Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.1 and above ===&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=357</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=357"/>
		<updated>2023-06-07T03:08:01Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Getting the source code ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; into the root directory of the git clone.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.0 and below ===&lt;br /&gt;
&lt;br /&gt;
You should be able to run &amp;lt;code&amp;gt;go build&amp;lt;/code&amp;gt;, but it may not work with recent versions of Go.&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged in 4.1 and above ===&lt;br /&gt;
&lt;br /&gt;
Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=356</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=356"/>
		<updated>2023-06-06T00:02:52Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then from the root directory of the git clone you can run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=346</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=346"/>
		<updated>2023-05-24T02:17:51Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 &amp;lt;username&amp;gt;@git.integrics.com:enswitch&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then from the root directory of the git clone you can run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build ./cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=345</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=345"/>
		<updated>2023-05-24T01:47:34Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout -b 4.2 git@git.integrics.com:enswitch&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then from the root directory of the git clone you can run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build ./cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=344</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=344"/>
		<updated>2023-05-24T01:38:55Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Installing go ===&lt;br /&gt;
&lt;br /&gt;
Copy a download link for the latest .linux-amd64.tar.gz from: https://go.dev/dl/&lt;br /&gt;
&lt;br /&gt;
Download it on your development/build machine: &amp;lt;code&amp;gt;wget &amp;lt;download url&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Install into /usr/local: &amp;lt;code&amp;gt;tar -C /usr/local -xvf &amp;lt;file downloaded&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Compiling messaged ===&lt;br /&gt;
&lt;br /&gt;
The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout 4.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then from the root directory of the git clone you can run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build ./cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=343</id>
		<title>Messaged compilation</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Messaged_compilation&amp;diff=343"/>
		<updated>2023-05-03T23:45:51Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: Created page with &amp;quot;The Enswitch messaged program is held in the git repository.  Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout 4.2&amp;lt;/code&amp;gt;.  The...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Enswitch messaged program is held in the git repository.&lt;br /&gt;
&lt;br /&gt;
Check out the branch for the Enswitch version you're working on, for example: &amp;lt;code&amp;gt;git checkout 4.2&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Then from the root directory of the git clone you can run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If subsequent runs of &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt; don't do anything you can run &amp;lt;code&amp;gt;go build ./cmd/messaged&amp;lt;/code&amp;gt; instead.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=295</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=295"/>
		<updated>2022-10-22T04:06:36Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are thousands of permutations to consider.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but a user might think of as the called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=294</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=294"/>
		<updated>2022-10-22T04:04:57Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but a user might think of as the called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=293</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=293"/>
		<updated>2022-08-03T03:23:38Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &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, except as an add-on from Voisonics. In 3.15 and later inbound SMS messages can be send to the web API methods at:&lt;br /&gt;
* /api/bandwidth/&lt;br /&gt;
* /api/twilio/&lt;br /&gt;
* Any custom-written API which then uses Integrics::Enswitch::Texts or the messages/text/send JSON API method.&lt;br /&gt;
&lt;br /&gt;
The outbound 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;
* Should be careful to properly escape characters in the message.&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 &amp;quot;Yes&amp;quot; for desired roles.&lt;br /&gt;
* In System -&amp;gt; Routes create routes with the &amp;quot;Media type&amp;quot; set to &amp;quot;Message&amp;quot;.&lt;br /&gt;
* In System -&amp;gt; Peers for each peer which is used by a message route, edit the outbound costs and define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot; to &amp;quot;Allow&amp;quot;.&lt;br /&gt;
** Optionally, set relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Optionally, set &amp;quot;Outbound call cost exceptions&amp;quot; -&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>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=292</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=292"/>
		<updated>2022-08-03T03:23:02Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &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, except as an add-on from Voisonics. In 3.15 and later inbound SMS messages can be send to the web API methods at:&lt;br /&gt;
* /api/bandwidth/&lt;br /&gt;
* /api/twilio/&lt;br /&gt;
* Any custom-written API which then uses Integrics::Enswitch::Texts or the messages/text/send JSON API method.&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 &amp;quot;Yes&amp;quot; for desired roles.&lt;br /&gt;
* In System -&amp;gt; Routes create routes with the &amp;quot;Media type&amp;quot; set to &amp;quot;Message&amp;quot;.&lt;br /&gt;
* In System -&amp;gt; Peers for each peer which is used by a message route, edit the outbound costs and define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot; to &amp;quot;Allow&amp;quot;.&lt;br /&gt;
** Optionally, set relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Optionally, set &amp;quot;Outbound call cost exceptions&amp;quot; -&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>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=287</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=287"/>
		<updated>2022-06-03T01:34:11Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &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, except as an add-on from Voisonics.&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 &amp;quot;Yes&amp;quot; for desired roles.&lt;br /&gt;
* In System -&amp;gt; Routes create routes with the &amp;quot;Media type&amp;quot; set to &amp;quot;Message&amp;quot;.&lt;br /&gt;
* In System -&amp;gt; Peers for each peer which is used by a message route, edit the outbound costs and define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot; to &amp;quot;Allow&amp;quot;.&lt;br /&gt;
** Optionally, set relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Optionally, set &amp;quot;Outbound call cost exceptions&amp;quot; -&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>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=286</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=286"/>
		<updated>2022-06-03T01:33:58Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &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, except as an add-on from Voisonics.&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;
&lt;br /&gt;
In System -&amp;gt; Roles set &amp;quot;Actions » Send a message&amp;quot; to &amp;quot;Yes&amp;quot; for desired roles.&lt;br /&gt;
In System -&amp;gt; Routes create routes with the &amp;quot;Media type&amp;quot; set to &amp;quot;Message&amp;quot;.&lt;br /&gt;
In System -&amp;gt; Peers for each peer which is used by a message route, edit the outbound costs and define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot; to &amp;quot;Allow&amp;quot;.&lt;br /&gt;
** Optionally, set relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Optionally, set &amp;quot;Outbound call cost exceptions&amp;quot; -&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>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=SELinux_building_module&amp;diff=285</id>
		<title>SELinux building module</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=SELinux_building_module&amp;diff=285"/>
		<updated>2022-05-05T00:02:07Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: Created page with &amp;quot;To check for SELinux audit entries: &amp;lt;pre&amp;gt; audit2allow -a -b &amp;lt;/pre&amp;gt;  To turn SELinux audit entries into a new SELinux module: &amp;lt;pre&amp;gt; audit2allow -a -b -M enswitch &amp;lt;/pre&amp;gt;  To com...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To check for SELinux audit entries:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
audit2allow -a -b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To turn SELinux audit entries into a new SELinux module:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
audit2allow -a -b -M enswitch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To compile the SELinux module for Enswitch:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/enswitch/current/etc/selinux&lt;br /&gt;
checkmodule -M -m -o enswitch.mod enswitch.te&lt;br /&gt;
semodule_package -o enswitch.pp -m enswitch.mod&lt;br /&gt;
semodule -i enswitch.pp&lt;br /&gt;
rm enswitch.mod&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=284</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=284"/>
		<updated>2022-04-25T22:42:33Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
* Transfer by party which did call pickup (using ** or *** and is really a calling but should be treated as a called party)&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=283</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=283"/>
		<updated>2022-04-01T00:01:24Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second (first call's Call-ID is in the Refer-To data)&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (second call's Call-ID is in the Refer-To data, used by Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=282</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=282"/>
		<updated>2022-03-31T23:59:50Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Transferred call is direct to telephone line&lt;br /&gt;
* Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transferred call is to external destination&lt;br /&gt;
* Transfer destination is direct to telephone line&lt;br /&gt;
* Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
* Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=281</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=281"/>
		<updated>2022-03-31T23:59:26Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
- Transferred call is direct to telephone line&lt;br /&gt;
- Transferred call is via queue or hunt group (adds a Local dial)&lt;br /&gt;
- Transferred call is to external destination&lt;br /&gt;
- Transfer destination is direct to telephone line&lt;br /&gt;
- Transfer destination is via queue or hunt group (adds a Local dial)&lt;br /&gt;
- Transfer destination is to external destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=280</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=280"/>
		<updated>2022-03-31T23:58:05Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing (billed correctly)&lt;br /&gt;
* Call recording (records all call legs with no duplicates)&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=279</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=279"/>
		<updated>2022-03-31T03:14:27Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,500 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=278</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=278"/>
		<updated>2022-03-31T03:14:04Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,000 possible checks.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=277</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=277"/>
		<updated>2022-03-31T03:13:18Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,000 possible items to check are working.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer, first call transferred to second&lt;br /&gt;
* SIP REFER attended transfer, second calls transferred to first (Polycom)&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=276</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=276"/>
		<updated>2022-03-31T00:47:07Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations - over 2,000 possible items to check are working.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=275</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=275"/>
		<updated>2022-03-31T00:45:30Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=274</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=274"/>
		<updated>2022-03-31T00:45:10Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Servers:&lt;br /&gt;
* Call legs on all same Asterisk server&lt;br /&gt;
* Call legs across multiple Asterisk servers in cluster&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;br /&gt;
* Ensure no calls legs are left stale in active table&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=273</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=273"/>
		<updated>2022-03-31T00:43:53Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transfer by calling party&lt;br /&gt;
* Transfer by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;br /&gt;
* Ensure no calls legs are left stale in active table&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=272</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=272"/>
		<updated>2022-03-31T00:43:14Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transferred by calling party&lt;br /&gt;
* Transferred by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
* Transfer destination does not answer call&lt;br /&gt;
* Call park times out and rings back parking party&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;br /&gt;
&lt;br /&gt;
Affected features:&lt;br /&gt;
* Control panel (uses active table)&lt;br /&gt;
* Busy lamps (uses active table)&lt;br /&gt;
* Queue destinations (uses active and queue_destinations tables)&lt;br /&gt;
* Billing of call&lt;br /&gt;
* Ensure no calls legs are left stale in active table&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=271</id>
		<title>Transfer types</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Transfer_types&amp;diff=271"/>
		<updated>2022-03-31T00:38:58Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: Created page with &amp;quot;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.  Methods: * Features.conf attended transfer *...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following are types of transfer in Enswitch. Taking in combination with each other, there are a lot of possible permutations.&lt;br /&gt;
&lt;br /&gt;
Methods:&lt;br /&gt;
* Features.conf attended transfer&lt;br /&gt;
* Features.conf blind transfer&lt;br /&gt;
* SIP REFER attended transfer&lt;br /&gt;
* SIP REFER blind transfer&lt;br /&gt;
* SIP 302 redirection&lt;br /&gt;
* Asterisk AMI redirect (eg web control panel)&lt;br /&gt;
* Call park&lt;br /&gt;
* Holding slots&lt;br /&gt;
&lt;br /&gt;
Party:&lt;br /&gt;
* Transferred by calling party&lt;br /&gt;
* Transferred by called party&lt;br /&gt;
&lt;br /&gt;
Call status:&lt;br /&gt;
* Transferred call was answered when transfer starts&lt;br /&gt;
* Transferred call was ringing when transfer starts&lt;br /&gt;
* Transfer destination was answered when transfer completes&lt;br /&gt;
* Transfer destination was ringing when transfer completes&lt;br /&gt;
&lt;br /&gt;
Features:&lt;br /&gt;
* Direct to telephone line&lt;br /&gt;
* To telephone via queue or hunt group (adds a Local dial)&lt;br /&gt;
* External destination&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=270</id>
		<title>Enabling Messages</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enabling_Messages&amp;diff=270"/>
		<updated>2022-02-16T20:06:10Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &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, except as an add-on from Voisonics.&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 used for messaging, in the outbound costs define the &amp;quot;Cost to send a message&amp;quot;.&lt;br /&gt;
* In each Route used for messaging, define the &amp;quot;Peer for messages&amp;quot;.&lt;br /&gt;
* In each Rate plan set:&lt;br /&gt;
** Features -&amp;gt; &amp;quot;Send SMS messages&amp;quot; to &amp;quot;Allow&amp;quot;.&lt;br /&gt;
** Optionally, set relevant fields in &amp;quot;Default markups&amp;quot; and &amp;quot;Included in rate plan&amp;quot;.&lt;br /&gt;
** Optionally, set &amp;quot;Outbound call cost exceptions&amp;quot; -&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>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=269</id>
		<title>Compiling AngularJS interface</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=269"/>
		<updated>2022-02-15T20:48:08Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
=== Current instructions ===&lt;br /&gt;
&lt;br /&gt;
You should follow the instructions in web/README.md on the Enswitch server.&lt;br /&gt;
&lt;br /&gt;
=== Old instructions ===&lt;br /&gt;
&lt;br /&gt;
NodeJS version should be &amp;gt;=12.0.0 and &amp;lt;=12.14.1 (tested, but probably works on anything &amp;gt;=12).&lt;br /&gt;
&lt;br /&gt;
As root:&lt;br /&gt;
&lt;br /&gt;
On Ubuntu:&lt;br /&gt;
    Install nodejs version 12 from: https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04&lt;br /&gt;
&lt;br /&gt;
On Debian based systems:&lt;br /&gt;
    apt-get install nodejs&lt;br /&gt;
&lt;br /&gt;
On Redhat based systems:&lt;br /&gt;
    curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -&lt;br /&gt;
    yum install nodejs&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
    cd /opt/enswitch/current/web&lt;br /&gt;
    npm install&lt;br /&gt;
    npm install -g bower&lt;br /&gt;
    npm install -g gulp&lt;br /&gt;
    ln -s /usr/bin/nodejs /usr/local/bin/node&lt;br /&gt;
    bower --allow-root install&lt;br /&gt;
    gulp build&lt;br /&gt;
&lt;br /&gt;
Apache can now serve from /opt/enswitch/current/web/dist/.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can run a development version using &amp;quot;gulp serve&amp;quot;. You should use the URL on port 3000, and allow access to it through the firewall.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=268</id>
		<title>Compiling AngularJS interface</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=268"/>
		<updated>2022-02-15T03:00:11Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NodeJS version should be &amp;gt;=12.0.0 and &amp;lt;=12.14.1 (tested, but probably works on anything &amp;gt;=12).&lt;br /&gt;
&lt;br /&gt;
As root:&lt;br /&gt;
&lt;br /&gt;
On Ubuntu:&lt;br /&gt;
    Install nodejs version 12 from: https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04&lt;br /&gt;
&lt;br /&gt;
On Debian based systems:&lt;br /&gt;
    apt-get install nodejs&lt;br /&gt;
&lt;br /&gt;
On Redhat based systems:&lt;br /&gt;
    curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -&lt;br /&gt;
    yum install nodejs&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
    cd /opt/enswitch/current/web&lt;br /&gt;
    npm install&lt;br /&gt;
    npm install -g bower&lt;br /&gt;
    npm install -g gulp&lt;br /&gt;
    ln -s /usr/bin/nodejs /usr/local/bin/node&lt;br /&gt;
    bower --allow-root install&lt;br /&gt;
    gulp build&lt;br /&gt;
&lt;br /&gt;
Apache can now serve from /opt/enswitch/current/web/dist/.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can run a development version using &amp;quot;gulp serve&amp;quot;. You should use the URL on port 3000, and allow access to it through the firewall.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=253</id>
		<title>Compiling AngularJS interface</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Compiling_AngularJS_interface&amp;diff=253"/>
		<updated>2021-04-13T21:19:16Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NodeJS version should be &amp;gt;=12.0.0 and &amp;lt;=12.14.1 (tested, but probably works on anything &amp;gt;=12).&lt;br /&gt;
&lt;br /&gt;
As root:&lt;br /&gt;
&lt;br /&gt;
On Debian based systems:&lt;br /&gt;
    apt-get install nodejs&lt;br /&gt;
&lt;br /&gt;
On Redhat based systems:&lt;br /&gt;
    curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -&lt;br /&gt;
    yum install nodejs&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
    cd /opt/enswitch/current/web&lt;br /&gt;
    npm install&lt;br /&gt;
    npm install -g bower&lt;br /&gt;
    npm install -g gulp&lt;br /&gt;
    ln -s /usr/bin/nodejs /usr/local/bin/node&lt;br /&gt;
    bower --allow-root install&lt;br /&gt;
    gulp build&lt;br /&gt;
&lt;br /&gt;
Apache can now serve from /opt/enswitch/current/web/dist/.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can run a development version using &amp;quot;gulp serve&amp;quot;. You should use the URL on port 3000, and allow access to it through the firewall.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_Client_apps&amp;diff=251</id>
		<title>Enswitch Client apps</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_Client_apps&amp;diff=251"/>
		<updated>2020-09-29T20:47:56Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Enswitch has client apps for:&lt;br /&gt;
* Android: from Google Play&lt;br /&gt;
* [[Enswitch Client for iOS|iOS]]: from App Store&lt;br /&gt;
* Windows: from https://download.integrics.com/windows/enswitch_windows.msi&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_Client_apps&amp;diff=250</id>
		<title>Enswitch Client apps</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_Client_apps&amp;diff=250"/>
		<updated>2020-09-29T20:47:02Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: Created page with &amp;quot;Enswitch has client apps for: * Android: from Google Play * iPhone: from App Store * Windows: from https://download.integrics.com/windows/enswitch_windows.msi&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Enswitch has client apps for:&lt;br /&gt;
* Android: from Google Play&lt;br /&gt;
* iPhone: from App Store&lt;br /&gt;
* Windows: from https://download.integrics.com/windows/enswitch_windows.msi&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Security_Considerations&amp;diff=248</id>
		<title>Security Considerations</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Security_Considerations&amp;diff=248"/>
		<updated>2020-09-08T03:52:42Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Technical:&lt;br /&gt;
* Disallow routes to countries that customers don't need, especially high fraud countries. This is set in System -&amp;gt; Routes.&lt;br /&gt;
* Set a daily spending limit and maximum concurrent calls limit for all customers. This is set in customers and rate plan fields &amp;quot;Maximum call spending per day&amp;quot; and &amp;quot;Maximum concurrent total calls&amp;quot;.&lt;br /&gt;
* Set phones and people to be locked out after too many failed login attempts. This is set in the &amp;quot;Telephone line failed registrations lock&amp;quot; and &amp;quot;Person failed logins lock&amp;quot; system configurations.&lt;br /&gt;
* Require long password lengths for phones and people. This is set in the &amp;quot;Person minimum password length&amp;quot; and &amp;quot;Telephone line minimum password length&amp;quot; system configurations.&lt;br /&gt;
* Change the SSH port from 22 to something non-standard.&lt;br /&gt;
* Use iptables to lock out countries where you do not have customers.&lt;br /&gt;
* Set Asterisk servers to use non default ports for SIP like 5065 instead of 5060.&lt;br /&gt;
* Make sure all handsets have a username and password which are not the devices default.&lt;br /&gt;
* Monitor servers with a tool like Zabbix, Nagios, or Cacti to alert if there are more calls than expected.&lt;br /&gt;
* Use SIPSentry to automatically block brute-force attacks: http://sipsentry.com/&lt;br /&gt;
&lt;br /&gt;
Secure provisioning with a solution such as:&lt;br /&gt;
* Use a provisioning password in Enswitch 4.1 and above. This is set in the &amp;quot;Provision password global&amp;quot; system configuration.&lt;br /&gt;
* Restrict telephones to specific IP address(es). This is set in the &amp;quot;Only allow from source IP address(es)&amp;quot; field on the edit telephone line page.&lt;br /&gt;
* Restrict access by user-agent, by customising the Apache configuration.&lt;br /&gt;
* Restrict access to a private domain, by customising the Apache configuration.&lt;br /&gt;
* Use HTTP basic authentication if supported by telephones, by customising the Apache configuration.&lt;br /&gt;
* Use TFTP username and password authentication if supported by telephones, by customising the TFTP configuration.&lt;br /&gt;
&lt;br /&gt;
Non-technical:&lt;br /&gt;
* Educate customers on choosing good passwords.&lt;br /&gt;
* Have contracts to make sure the right person pays if they are hacked and run up a huge bill.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Kamailio_patch_to_stop_crashes_with_TCP_traffic&amp;diff=245</id>
		<title>Kamailio patch to stop crashes with TCP traffic</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Kamailio_patch_to_stop_crashes_with_TCP_traffic&amp;diff=245"/>
		<updated>2020-05-26T00:54:54Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On some systems running Enswitch 3.14 or higher we've noticed Kamailio can crash if there is TCP traffic. The following patch was provided by Daniel-Constantin Mierla to fix it. Apparently the fix went into the 5.1 and 5.2 branches in October 2019. &lt;br /&gt;
&lt;br /&gt;
Replace the exiting functions unload_perl() and perl_reload() from modules/app_perl/app_perl_mod.c or src/modules/app_perl/app_perl_mod.c file with the next content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
int unload_perl(PerlInterpreter *p) {&lt;br /&gt;
    /* clean and reset everything */&lt;br /&gt;
    PL_perl_destruct_level = 1;&lt;br /&gt;
    perl_destruct(p);&lt;br /&gt;
    perl_free(p);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * reload function.&lt;br /&gt;
 * Reinitializes the interpreter. Works, but execution for _all_&lt;br /&gt;
 * children is difficult.&lt;br /&gt;
 */&lt;br /&gt;
int perl_reload(void)&lt;br /&gt;
{&lt;br /&gt;
    if(my_perl) {&lt;br /&gt;
        unload_perl(my_perl);&lt;br /&gt;
    }&lt;br /&gt;
    my_perl = parser_init();&lt;br /&gt;
&lt;br /&gt;
#ifdef PERL_EXIT_DESTRUCT_END&lt;br /&gt;
    PL_exit_flags |= PERL_EXIT_DESTRUCT_END;&lt;br /&gt;
#else&lt;br /&gt;
#warning Perl 5.8.x should be used. Please upgrade.&lt;br /&gt;
#warning This binary will be unsupported.&lt;br /&gt;
    PL_exit_flags |= PERL_EXIT_EXPECTED;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
    if(my_perl) {&lt;br /&gt;
        LM_DBG(&amp;quot;new perl interpreter initialized\n&amp;quot;);&lt;br /&gt;
        return 0;&lt;br /&gt;
    } else {&lt;br /&gt;
        LM_CRIT(&amp;quot;failed to initialize a new perl interpreter - exiting\n&amp;quot;);&lt;br /&gt;
        exit(-1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Kamailio_patch_to_stop_crashes_with_TCP_traffic&amp;diff=244</id>
		<title>Kamailio patch to stop crashes with TCP traffic</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Kamailio_patch_to_stop_crashes_with_TCP_traffic&amp;diff=244"/>
		<updated>2020-05-25T07:01:27Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On some systems running Enswitch 3.14 or higher we've noticed Kamailio can crash if there is TCP traffic. The following patch was provided by Daniel-Constantin Mierla to fix it. Apparently the fix went into the 5.1 and 5.2 branches in October 2019. &lt;br /&gt;
&lt;br /&gt;
Replace the exiting functions unload_perl() and perl_reload() from modules/app_perl/app_perl_mod.c file with the next content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
int unload_perl(PerlInterpreter *p) {&lt;br /&gt;
    /* clean and reset everything */&lt;br /&gt;
    PL_perl_destruct_level = 1;&lt;br /&gt;
    perl_destruct(p);&lt;br /&gt;
    perl_free(p);&lt;br /&gt;
&lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 * reload function.&lt;br /&gt;
 * Reinitializes the interpreter. Works, but execution for _all_&lt;br /&gt;
 * children is difficult.&lt;br /&gt;
 */&lt;br /&gt;
int perl_reload(void)&lt;br /&gt;
{&lt;br /&gt;
    if(my_perl) {&lt;br /&gt;
        unload_perl(my_perl);&lt;br /&gt;
    }&lt;br /&gt;
    my_perl = parser_init();&lt;br /&gt;
&lt;br /&gt;
#ifdef PERL_EXIT_DESTRUCT_END&lt;br /&gt;
    PL_exit_flags |= PERL_EXIT_DESTRUCT_END;&lt;br /&gt;
#else&lt;br /&gt;
#warning Perl 5.8.x should be used. Please upgrade.&lt;br /&gt;
#warning This binary will be unsupported.&lt;br /&gt;
    PL_exit_flags |= PERL_EXIT_EXPECTED;&lt;br /&gt;
#endif&lt;br /&gt;
&lt;br /&gt;
    if(my_perl) {&lt;br /&gt;
        LM_DBG(&amp;quot;new perl interpreter initialized\n&amp;quot;);&lt;br /&gt;
        return 0;&lt;br /&gt;
    } else {&lt;br /&gt;
        LM_CRIT(&amp;quot;failed to initialize a new perl interpreter - exiting\n&amp;quot;);&lt;br /&gt;
        exit(-1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
	<entry>
		<id>http://wiki.integrics.com/index.php?title=Enswitch_SIP_Trunking&amp;diff=243</id>
		<title>Enswitch SIP Trunking</title>
		<link rel="alternate" type="text/html" href="http://wiki.integrics.com/index.php?title=Enswitch_SIP_Trunking&amp;diff=243"/>
		<updated>2020-04-15T00:51:17Z</updated>

		<summary type="html">&lt;p&gt;Dcunningham: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creating a SIP trunk with Enswitch can be done, as follows.&lt;br /&gt;
&lt;br /&gt;
===Outbound calls===&lt;br /&gt;
&lt;br /&gt;
* The remote device can register as a normal telephone line. If the telephone line has caller ID set to &amp;quot;Original&amp;quot; then Enswitch will pass whatever the remote device sets as the caller ID.&lt;br /&gt;
* You can set up a Remote Access account to allow calls from a fixed IP address. You need to set the type to &amp;quot;Dial the called number&amp;quot; and enter the source IP address. This means the remote device does not have to register with Enswitch to make outbound calls.&lt;br /&gt;
&lt;br /&gt;
===Inbound calls===&lt;br /&gt;
&lt;br /&gt;
* If you're happy with having one destination number on the remote device, you can route a normal number to the telephone line the remote system registers with.&lt;br /&gt;
* You can create multiple numbers routing to the same telephone line, and then set the telephone line option &amp;quot;Send called number as request URI&amp;quot; to Yes. This will send the call to &amp;lt;dialled number&amp;gt;@&amp;lt;telephone line registered IP address&amp;gt;.&lt;br /&gt;
* If the remote device is not registered as a telephone line, you can send calls to a fixed address using the SIP URI destination type.&lt;/div&gt;</summary>
		<author><name>Dcunningham</name></author>
		
	</entry>
</feed>