<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://sky-networks.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=IVR_Menu</id>
	<title>IVR Menu - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://sky-networks.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=IVR_Menu"/>
	<link rel="alternate" type="text/html" href="https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;action=history"/>
	<updated>2026-04-05T22:55:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.3</generator>
	<entry>
		<id>https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=911&amp;oldid=prev</id>
		<title>Admin: /* Trouble Shooting */</title>
		<link rel="alternate" type="text/html" href="https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=911&amp;oldid=prev"/>
		<updated>2015-01-29T16:21:39Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Trouble Shooting&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:21, 29 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l99&quot; &gt;Line 99:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 99:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|2 || Transfer Some_hunt_group default || 20 || Billing XFR Hunt Group&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|2 || Transfer Some_hunt_group default || 20 || Billing XFR Hunt Group&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Trouble Shooting ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* IVR menu doesn't respond to key presses:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Your incoming provider may be sending the dtmf in a different form Edit your inbound route (DialPlan-&amp;gt;Inbound Routes) and add in an option:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Tag: Action&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Type: start_dtmf&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Data: &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Order: 2 (depends on your configuration usually it should follow the destination number and happen before transfering)&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Using stacked actions for a selection in an IVR doesn't work as expected&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;** Freeswitch versions earlier than September 2010 (not sure of the exact date for the change) were affected by a bug that caused stacked options to be executed in REVERSE ORDER.  If you are using an old version you therefore have two options:&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 1. upgrade Freeswitch to a newer version&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 2. reverse the order of your action stack so that the action you want executed first is last and the last is first.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=910&amp;oldid=prev</id>
		<title>Admin at 16:21, 29 January 2015</title>
		<link rel="alternate" type="text/html" href="https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=910&amp;oldid=prev"/>
		<updated>2015-01-29T16:21:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 16:21, 29 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Menu: (Apps-IVR Menu)'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;'''Menu: (Apps-IVR Menu)'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is often used &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;as &lt;/del&gt;an Auto Attendant. For example a company may have a recording that says for &amp;quot;Sales press 1 Support press 2 for Billing press 3 otherwise stay hold and someone will answer your call.&amp;quot; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Can perform &lt;/del&gt;the Auto Attendant task well&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;. However &lt;/del&gt;it is not limited to that &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;alone&lt;/del&gt;. It is also a powerful tool for Interactive Voice Response and can be used to do the more advanced work that is often expected of IVRs.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is often used &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;to setup &lt;/ins&gt;an Auto Attendant. For example a company may have a recording that says for &amp;quot;Sales press 1 Support press 2 for Billing press 3 otherwise stay hold and someone will answer your call.&amp;quot; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;While it performs &lt;/ins&gt;the Auto Attendant task well&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;it is not limited to that. It is also a powerful tool for Interactive Voice Response and can be used to do the more advanced work that is often expected of IVRs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;IVR Menu supports the use of stacked actions - this is where you have multiple actions that you want carried out in order when a person makes a single selection from the menu, for instance if you want to play a message and then transfer the call to an extension (see example: [[IVR Menu#Playing a message and then transferring]]).  See the note in the [[IVR Menu#Troubleshooting]] if your stacked actions do not execute in the expected order.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;IVR Menu supports the use of stacked actions - this is where you have multiple actions that you want carried out in order when a person makes a single selection from the menu, for instance if you want to play a message and then transfer the call to an extension (see example: [[IVR Menu#Playing a message and then transferring]]).  See the note in the [[IVR Menu#Troubleshooting]] if your stacked actions do not execute in the expected order.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=909&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;'''Menu: (Apps-IVR Menu)'''  This is often used as an Auto Attendant. For example a company may have a recording that says for &quot;Sales press 1 Support press 2 for Billing press...&quot;</title>
		<link rel="alternate" type="text/html" href="https://sky-networks.com/mediawiki/index.php?title=IVR_Menu&amp;diff=909&amp;oldid=prev"/>
		<updated>2015-01-29T16:19:25Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Menu: (Apps-IVR Menu)&amp;#039;&amp;#039;&amp;#039;  This is often used as an Auto Attendant. For example a company may have a recording that says for &amp;quot;Sales press 1 Support press 2 for Billing press...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Menu: (Apps-IVR Menu)'''&lt;br /&gt;
&lt;br /&gt;
This is often used as an Auto Attendant. For example a company may have a recording that says for &amp;quot;Sales press 1 Support press 2 for Billing press 3 otherwise stay hold and someone will answer your call.&amp;quot; Can perform the Auto Attendant task well. However it is not limited to that alone. It is also a powerful tool for Interactive Voice Response and can be used to do the more advanced work that is often expected of IVRs.&lt;br /&gt;
&lt;br /&gt;
IVR Menu supports the use of stacked actions - this is where you have multiple actions that you want carried out in order when a person makes a single selection from the menu, for instance if you want to play a message and then transfer the call to an extension (see example: [[IVR Menu#Playing a message and then transferring]]).  See the note in the [[IVR Menu#Troubleshooting]] if your stacked actions do not execute in the expected order.&lt;br /&gt;
&lt;br /&gt;
==Music on hold when you transfer a call from IVR==&lt;br /&gt;
By default, if you transfer a call to an extension from an IVR the caller will hear music on hold while waiting for the call to be answered.  If you would prefer a ring sound then you can do one of two options:&lt;br /&gt;
* set transfer_ringback=${us-ring} in a dialplan entry immediately prior to the IVR&lt;br /&gt;
* add an extra entry to each option in your IVR, before the transfer but with the same option number and have it execute the line below&lt;br /&gt;
 menu-exec-app:set transfer_ringback=${us-ring}&lt;br /&gt;
&lt;br /&gt;
However, to make this work you need to do two other things first:&lt;br /&gt;
&lt;br /&gt;
1. you need to go to the SkyPBX System-[[Variables]] page and create a new variable in the Music on Hold section (with an order higher than the hold_music variable - you could use 500 for example).  The new variable will be transfer_ringback and you should set it to $${hold_music} and enable it.&lt;br /&gt;
&lt;br /&gt;
2. you need to go to the SkyPBX Dialplan-[[Dialplan Manager]] and click on the advanced button.  Then once the XML edit window is displayed scroll down in the XML until you find &amp;quot;Local_Extension&amp;quot;.  Note that if you press CTRL-F a search window will appear and you can search on that - include the &amp;quot; characters when you search or you will get another entry that isn't relevant.  The entry you should find is &amp;lt;extension name=&amp;quot;Local_Extension&amp;quot;&amp;gt;.  A few lines below that you will find &amp;lt;action application=&amp;quot;set&amp;quot; data=&amp;quot;transfer_ringback=$${hold_music}&amp;quot;/&amp;gt;.  You can either remove this line or comment it out - to comment it add !-- after the &amp;lt; at the start of the line and add -- before the &amp;gt; at the end of the line.&lt;br /&gt;
&lt;br /&gt;
The reason that you need to make these changes is that the default config provided in Sky Dance (and SkyPBX) is a demonstration config and is intended to be customised by people when it is implemented in a live system.  The problem with having the transfer_ringback entry in this section is that it prevents you overriding the default setting, as every time a call is transferred to an extension the transfer_ringback is set to music on hold.  Therefore step 1 here sets a default setting in vars.xml and step 2 removes the line that sets the variable every time a transfer happens.  Now the change above is able to allow you to override the default setting whenever you want to.&lt;br /&gt;
&lt;br /&gt;
This will replace the music on hold with ringing sounds when you are transferring from an IVR.&lt;br /&gt;
&lt;br /&gt;
==Playing a recording from an IVR choice==&lt;br /&gt;
Use&lt;br /&gt;
 menu-play-sound:sound_file_name.wav&lt;br /&gt;
Note that this will expect to find the recording in sounds/en/us/callie.  If you want to play it from recordings you will need to use&lt;br /&gt;
 menu-play-sound:../../../../recordings/sound_file_name.wav&lt;br /&gt;
Version 3.7.1 Dev commit 7565 changed the default playback of recording, although the instructions above should still work, using the dropdown will instead use lua streamfile.lua &amp;quot;filename&amp;quot;.&lt;br /&gt;
With the new method several DTMF options are available during playback.&lt;br /&gt;
* end playback&lt;br /&gt;
0 start over&lt;br /&gt;
1 volume down&lt;br /&gt;
3 volume up&lt;br /&gt;
4 back 5 seconds&lt;br /&gt;
5 pause toggle&lt;br /&gt;
6 forward 5 seconds&lt;br /&gt;
7 increase playback speed&lt;br /&gt;
9 decrease playback speed&lt;br /&gt;
&lt;br /&gt;
==Playing a message and then transferring==&lt;br /&gt;
To play a message and then transfer it to its destination do the following:&lt;br /&gt;
# Add an option in the menu (example: 5)&lt;br /&gt;
# Click the carat button next to the destination box&lt;br /&gt;
# Paste in menu-play-sound:../../../../recordings/sound_file_name.wav (replace with your file see above for more info)&lt;br /&gt;
# set the order to 0&lt;br /&gt;
# Enter in a description (example:play transfer message)&lt;br /&gt;
# Save&lt;br /&gt;
# Add a new option&lt;br /&gt;
# Enter in the same option number (example: 5)&lt;br /&gt;
# Select the destination to transfer to&lt;br /&gt;
# set the order to 1&lt;br /&gt;
# Enter in a good description (example: transferring to destination)&lt;br /&gt;
# Save&lt;br /&gt;
# go to System-&amp;gt;Apply Settings&lt;br /&gt;
# Call ivr menu to test and it should play the sound file and transfer you to the destination.&lt;br /&gt;
&lt;br /&gt;
==Timing out of the IVR and doing something else==&lt;br /&gt;
By default, an IVR is configured to repeat 3 times if there is no response and then hangup.  If you need to change this behaviour click on the advanced button in the IVR screen and change 'max timeouts' to 1 (or whatever you require).  With 1 it will play the IVR once and if no selection is made it will hangup.  Next, rather than dialing the IVR directly, create a dial plan entry with:&lt;br /&gt;
action: set hangup_after_bridge=true, action: ivr the_name_of_your_ivr, action: bridge where_you_want_the_call_to_go_when_no_ivr_response_is_given&lt;br /&gt;
This will now cause the unselected IVR to fail over to the destination you specified instead.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Prefix the Caller ID==&lt;br /&gt;
To prefix the caller id to know where a customer/client has come from&lt;br /&gt;
add the following line to your ivr options.&lt;br /&gt;
Its is a good idea to keep things short.&lt;br /&gt;
In the following example we will be prefixing a c: to the caller's name to denote&lt;br /&gt;
a customer. replace c: with what ever you would like the prefix to be.&lt;br /&gt;
 menu-exec-app:set caller_id_name=c:${caller_id_name}&lt;br /&gt;
&lt;br /&gt;
'''Valid Caller ID Characters'''&lt;br /&gt;
 A-Za-Z0-9&lt;br /&gt;
 .-#$%&amp;amp;*()_+!|^'[];?,~{}=+`&lt;br /&gt;
&lt;br /&gt;
'''Invalid Characters'''&lt;br /&gt;
 \:@/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
caller_id_name doesn't work. The variable gets set; however the changes don't get passed. The solution is to use effective_caller_id_name. It also appears that a ':' doesn't work. So don't use it.&lt;br /&gt;
 menu-exec-app:set effective_caller_id_name=YOUR_PREFIX-${caller_id_name}&lt;br /&gt;
&lt;br /&gt;
'''IVR Menu Option List'''&lt;br /&gt;
&lt;br /&gt;
''The recording presents options to the caller. Options match key presses (DTMF digits) from the caller which directs the call to the destinations.''&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!Option&lt;br /&gt;
!Destination&lt;br /&gt;
!Order&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|/^(10[01][0-9])$/ || Transfer $1 default || 0 || Transfer to extension &lt;br /&gt;
|-&lt;br /&gt;
|1 || Ivr IVR-Submenu || 10 ||Option 1 Submenu  &lt;br /&gt;
|-&lt;br /&gt;
|2 || Set effective_caller_id_name=bill-${caller_id_name} || 19 || Billing Set CallerID&lt;br /&gt;
|-&lt;br /&gt;
|2 || Transfer Some_hunt_group default || 20 || Billing XFR Hunt Group&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Trouble Shooting ==&lt;br /&gt;
* IVR menu doesn't respond to key presses:&lt;br /&gt;
** Your incoming provider may be sending the dtmf in a different form Edit your inbound route (DialPlan-&amp;gt;Inbound Routes) and add in an option:&lt;br /&gt;
 Tag: Action&lt;br /&gt;
 Type: start_dtmf&lt;br /&gt;
 Data: &lt;br /&gt;
 Order: 2 (depends on your configuration usually it should follow the destination number and happen before transfering)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Using stacked actions for a selection in an IVR doesn't work as expected&lt;br /&gt;
** Freeswitch versions earlier than September 2010 (not sure of the exact date for the change) were affected by a bug that caused stacked options to be executed in REVERSE ORDER.  If you are using an old version you therefore have two options:&lt;br /&gt;
 1. upgrade Freeswitch to a newer version&lt;br /&gt;
 2. reverse the order of your action stack so that the action you want executed first is last and the last is first.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>