Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.



Html
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

...

Html
<div class="fb-like" data-href="#https://confluence.wildix.com/x/JoEbB" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>

...

Html
 <div class="lang-box-pdf">
	<div>
		<div class="google-lang">
			<div id="google_translate_element">
			</div>
			<script type="text/javascript">
					function googleTranslateElementInit() {
						new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'de,es,fr,it,nl', autoDisplay: false}, 'google_translate_element');
						}
			</script>
			<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
		</div>
		
		<div class="pdf-button">
			<a href="#https://confluence.wildix.com/spaces/flyingpdf/pdfpageexport.action?pageId=68911398" alt="Convert to .pdf" title="Convert to .pdf"><img src="https://confluence.wildix.com/download/attachments/14549012/pdf-button-download-wildix-documentation.png"></a>
		</div>
	</div>
</div>


Info

Document descriptionThis Articles describes how to set up automatic DTMF sending for scenarios where  users regularly dial a number that is an IVR.

Created: April 2020

Permalinkhttps://confluence.wildix.com/x/JoEbB

Table of Contents

Introduction

...

Please find attached Dialplan called “SendDTMFs”.  Download the dial plan SendDTMFs Dialplan and import it into your system. .

Speed dial key

Users can define speed dial keys in collaborationCollaboration, see Function keys, or administrators can create Speed speed dial key for users, see WMS Start guide - User preferences.

In this example scenario, we will show how to setup the number to be dialed as well as how to specify some additional DTMF interactions to take place after the call is answered.

The provided dial plan Dialplan assumes the following format for the speed dial key:

...

  • number: number to be dialed
  • P: a capital P is used as separator between the number to dial and the DTMF digits to be sent.
  • tones: dtmf DTMF tones to be sent if the dialed number answers

So, for instance, if a user wants to dial the number 6141234567 and then send extension number 582 via DTMF if the call is answered, the speed dial key should be defined as “6141234567P582”.  6141234567P582”. See screenshot below! 


Speed dial key (Advanced options)

In most cases, the example above is enough to allow the user to set up a speed dial key that would interact with the far end system after being answered.   However, when dealing with sending tones (specially if more than one is to be sent), there are a couple of additional things that should be considered:

  • Interdigit time: you may need to specify an interdigit time. For instance, if you intend to reach extension 258 but too much time passes between the first and second digit, you could end up in option 2 in the IVR.  In such a case, you can specify interdigit timeout. To care for this more advanced scenario, the Dialplan custom application

    dial plan

    can be used with a speed dial that includes a second P character followed by a number. Example, you could have a speed dial like:

    6141234567P582P

    6141234567P582P5 


With the specified speed dial, the system will dial 6141234567, and if answered, tones 582 will be sent using .5 seconds as the inter digit time.  So as you can see, the value you specify after the second P is used as interdigit at 1 tenth of a second; 5 equals .5

  • Tone duration: depending on the system receiving the call, you may need to specify a tone duration.   The provided dial plan Dialplan sets tone duration to 150 milliseconds, which should typically be enough. However, if you notice that tones are sent but do not seem to be recognized by the remote end, you could try to increase the tone duration.  To do so, just add one more P to the speed dial.

...

  • 6141234567P582P5P200 


With the specified speed dial above, the system will dial 6141234567, and if answered, tones 582 will be sent using .5 seconds as inter digit time and and 200ms as the tone duration.

Enabling the feature

Once a speed dial is configured as needed and the “SendDTMFs” dial plan Dialplan procedure has been imported into the system, all you need to do is create a dial plan Dialplan that will match the speed dial string and enable the feature before making the call: 


Shown entry (XXXXXX.P.)  in the previous picture was created in "users dial plan" Dialplan.

XXXXXX.P.  :This dial pattern will match any string that has at least 7 digits

...

followed by a P and something else after the P.

...

Meaning, this will match the minimum config for the speed dial (numberPtones).

  1. Set

...

  1. -> var

...

  1. -> ${EXTEN}

...

  1. - all needed values are stored in the dialed number (EXTEN variable), so we create a variable called var and set its value to variable EXTEN.

...

  1. Using the most complete mentioned example, 6141234567P582P5P200, var will store it too

...

  1. Set

...

  1. -> number

...

  1. -> ${SHIFT(var,P)}

...

  1. - the SHIFT function will use P as field separator.

...

  1. We get (and remove) the first item from “var” variable. So, number will be 6141234567 (everything before the first P).

...

  1. Then the “var” variable is equal to 582P5P200 (everything after the first P)

...

  1. Set

...

  1. -> tones

...

  1. -> ${SHIFT(var,P)}

...

  1. - with SHIFT function, using P as separator, we get (and remove) the first item from var variable again.

...

  1. Since var is 582P5P200 at this point, tones will be 582 (everything before the first P) and var will now be equal to 5P200 (everything after the first P)
  2. Set

...

  1. -> interdigit

...

  1. -> ${SHIFT(var,P)}

...

  1. - with SHIFT function, using P as separator again, we get (and remove) the first item from var variable.

...

  1. Since var is now 5P200,

...

  1. interdigit will be 5 (everything before the first P) and var will now be equal to 200 (everything after the first P). If interdigit was not specified, the default value will be used

...

  1. Set

...

  1. -> duration

...

  1. -> ${SHIFT(var,P)}

...

  1. - and lastly, with SHIFT function again, using P as separator, we get (and remove) the first item from the string (var).

...

  1. Since var is now JUST 200, SHIFT will return the entire string (200), and assign it to duration. If duration was not specified, the default value will be used

...

  1. SET => DIAL_OPTIONS => U(SendDTMFs^${tones}^${interdigit}^${duration}) :With this line we are enabling “SendDTMFs” dial plan and passing all needed arguments


Html
<div class="fb-like" data-href="#https://confluence.wildix.com/x/JoEbB" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>

...