Call Us Today! 877.742.2583




Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add notes about P flag

...

ParameterDescriptionExample
<realm>

Somewhat similar to a dialplan context (see XML Dialplan) or a state in a finite state machine.

Tip

To clear or remove the digit bindings, use mod_dptools: clear_digit_action.

To switch between realms, use mod_dptools: digit_action_set_realm.


get_passcode
<binding>

<binding> can either be

Status
colourYellow
titleTODO
 Only assuming PCRE-compatibility because other module descriptions mention it, and one of FreeSWITCH dependencies is the PCRE library.


1234567

~7\d{3}

<command_string>


<command_string> Description
exec:<dialplan_app>To execute a dialplan application.
api:<api_command>

To issue a FreeSWITCH API command.



exec:execute_extension,att_xfer XML default,both,self


api:hupall

<value>

Status
colourBlue
titleOptional
 Contains the arguments to the <command_string> 


<dtmf_target_leg>

Status
colourBlue
titleOptional
 Possible values: 

  • self (the default) 
  • peer 
  • both 
  • Any other value is treated as self.
peer 
<event_target_leg>

Status
colourBlue
titleOptional
 See <dtmf_target_leg> above

self 



Panel
titleBGColorlightgrey
titlePriority flag for <binding>parameter

Status
colourYellow
titleTODO
 Write this up properly. The following text is directly from the commit comment.

<binding> can have a flag, 'P' (for "Priority") to bind_digit_action so that a match is returned as soon as it is found, without waiting for the inter-digit timeout to expire.

This can be very useful where the system needs to be more responsive to the user.

By default, if multiple bindings are enabled and one or more use a regex, switch_ivr_dmachine_check_match waits for the inter-digit timeout to expire before returning a match. This ensures overlapping patterns, such as "^\d{4}$" and "^\12{3}$" can both be reliably matched

When the 'P' flag is specified with bind_digit_action, whose action is exec, a match is returned as soon as the condition is satisfied, regardless of whether or not a longer match may be possible if further digits were entered.

For example:

<action application="bind_digit_action" data="test,~^*\d{2}$, exec[P]:execute_extension,myextn,self,self"/>

<action application="bind_digit_action" data="test,~^#\d{2}$", exec:execute_extension,myotherextn,self,peer"/>

The first example causes a match to be returned immediately after the 2nd digit is received, whereas the second example defaults to waiting for the inter-digit timeout to expire before returning.

In cases where the 'P' flag is used with a regex and string, and both are matched, the more explicit, string match will be returned.

For example:

<action application="bind_digit_action" data="test,~^*\d{2}$, exec[P]:execute_extension,myextn,self,self"/>

<action application="bind_digit_action" data="test,*12, exec[P]:execute_extension,myotherextn,self,self"/>

If "*12" is matched, myotherextn is executed, because "*12" is more explicit/specific than "^*\d{2}$"

If the 'P'(riority) flag is not used, behaviour is unchanged from previous versions. This ensures backward compatibility.

3. Examples

3.0 Usage

Code Block
<action application="bind_digit_action" data="my_digits,11,exec:execute_extension,att_xfer XML default,both,self"/>
<action application="bind_digit_action" data="my_digits,11,api:hupall"/>

...