Actions

Adding Label Routing to any Routing Script: Difference between revisions

No edit summary
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== '''''Applies to version(s): v2.5, v2.6.''''' ===
{{DISPLAYTITLE:Adding Label Routing to a Routing Script}}
{{DISPLAYTITLE:Adding Label Routing to a Routing Script}}


'''To implement label routing to any routing script, do the following:'''
{| class="wikitable"
|-
|rowspan="3"|This article applies to:
|'''Product'''
|'''Version'''
|-
|Tmedia
|2.5, 2.6
|}
 
 
'''To implement label routing for any routing script, do the following:'''


1- Click '''Routing script''' in the navigation panel.
1- Click '''Routing script''' in the navigation panel.
Line 10: Line 20:




2- Select the script that you wish to edit.
2- '''Edit''' your main script
 
 
[[Image:RoutingScript_1_A.png]]
 
 
The '''Script Editing''' Window is displayed.




Line 22: Line 26:




3- Add the following line at the very beginning of the script file:  
3- Add the following 3 lines to the script:  


<pre>require 'routesets_digit_analyzer'</pre>
'''At the top of the page'''
require 'routesets_digit_analyzer'


4- Include the module in your routing class:


<pre>class MyRoutingClass &lt; BaseRouting</pre>
'''Following your main class definition'''
  1.
  include RoutesetsDigitAnalyzer


<br> '''include RoutesetsDigitAnalyzer'''


  1.
'''Add before filter in your main class'''
  before_filter :method => :routesets_digit_analyzer, :trie_order => :called


<br> ...


1.
4- Click '''Save'''


<br> end
== Example  ==
<pre>
require 'base_routing'
require 'routesets_digit_analyzer'                                                # <- Add this line here


5- Add a before_filter with 'routesets_digit_analyzer' method:
class my_script < BaseRouting
  include RoutesetsDigitAnalyzer                                                  # <- Add this line here
 
  before_filter :method => :routesets_digit_analyzer, :trie_order => :called      # <- Add this line here
  route_match :call_field_name => :called
  route_match :call_field_name => :calling
  route_match :call_field_name => :nap
  route_remap :call_field_name => :called, :route_field_name => :remapped_called
  route_remap :call_field_name => :calling, :route_field_name => :remapped_calling
  route_remap :call_field_name => :nap, :route_field_name => :remapped_nap
end


<pre>before_filter&nbsp;:method =&gt;&nbsp;:routesets_digit_analyzer,&nbsp;:trie_order =&gt;&nbsp;:called</pre>
@@routing = my_script.new
=== <br>Complete Example  ===
<pre>require 'base_routing'
require 'routesets_digit_analyzer'


class MyRoutingClass &lt; BaseRouting
def init_routes( routes )
include RoutesetsDigitAnalyzer
  @@routing.init routes
end


before_filter&nbsp;:method =&gt;&nbsp;:routesets_digit_analyzer,&nbsp;:trie_order =&gt;&nbsp;:called
def route( call, nap_list )
  @@routing.route call, nap_list
end
</pre>


route_match&nbsp;:call_field_name =&gt;&nbsp;:called
route_match&nbsp;:call_field_name =&gt;&nbsp;:calling
route_match&nbsp;:call_field_name =&gt;&nbsp;:nap
route_match&nbsp;:method =&gt;&nbsp;:match_nap_availability
route_remap&nbsp;:call_field_name =&gt;&nbsp;:called,&nbsp;:route_field_name =&gt;&nbsp;:remapped_called
route_remap&nbsp;:call_field_name =&gt;&nbsp;:calling,&nbsp;:route_field_name =&gt;&nbsp;:remapped_calling
route_remap&nbsp;:call_field_name =&gt;&nbsp;:nap,&nbsp;:route_field_name =&gt;&nbsp;:remapped_nap
end


</pre>
== Related Action ==
<br> Note: Other filter scripts can be added to the standard scripts to add further flexibility to the routing. For furtehr information, consult  [[How_to_Setup_Filters|How to Setup Filters]].<br>
[[How_to_Setup_Filters|How to Setup Filters]]

Latest revision as of 10:31, 13 June 2022


This article applies to: Product Version
Tmedia 2.5, 2.6


To implement label routing for any routing script, do the following:

1- Click Routing script in the navigation panel.



2- Edit your main script



3- Add the following 3 lines to the script:

At the top of the page

require 'routesets_digit_analyzer'


Following your main class definition

include RoutesetsDigitAnalyzer


Add before filter in your main class

before_filter :method => :routesets_digit_analyzer, :trie_order => :called


4- Click Save

Example

require 'base_routing'
require 'routesets_digit_analyzer'                                                # <- Add this line here

class my_script < BaseRouting
  include RoutesetsDigitAnalyzer                                                  # <- Add this line here
  
  before_filter :method => :routesets_digit_analyzer, :trie_order => :called      # <- Add this line here
  route_match :call_field_name => :called
  route_match :call_field_name => :calling
  route_match :call_field_name => :nap
  route_remap :call_field_name => :called, :route_field_name => :remapped_called
  route_remap :call_field_name => :calling, :route_field_name => :remapped_calling
  route_remap :call_field_name => :nap, :route_field_name => :remapped_nap
end

@@routing = my_script.new

def init_routes( routes )
  @@routing.init routes
end

def route( call, nap_list )
  @@routing.route call, nap_list
end


Related Action

How to Setup Filters