Adding NAP Grouping Script

From TBwiki
(Difference between revisions)
Jump to: navigation, search
 
Line 29: Line 29:
 
|}
 
|}
  
 +
== Setting up '''NAP Grouping''' Scripts<br>  ==
 +
 +
To setup a Filter, the main script needs to be modified. The main script can be either simple_routing.rb, simple_routing_sbc.rb, or any other script.<br>
 +
 +
First, go to the routing script section of the Web portal
 +
<pre>Gateway -&gt; Routing scripts -&gt; Example Scripts -&gt; simple_routing.rb [Edit]
 +
</pre>
 +
Three things need to be added. At the start of the script:<br>
 +
<pre>require 'multiple_naps'
 +
</pre>
 +
In the main class:<br>
 +
<pre>include MultipleNaps
 +
</pre>
 +
<pre>before_filter :method => :multiple_naps
 +
</pre>
 +
<br>
 +
The final script will look like this:
 +
<pre>
 +
require 'base_routing'
 +
require 'multiple_naps'
 +
 +
class SimpleRouting < BaseRouting
 +
  include MultipleNaps
 +
  before_filter :method => :multiple_naps
 +
 +
  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>
 
== Adding New Custom Variable <br>  ==
 
== Adding New Custom Variable <br>  ==
 
You need to add a custom column to use this script.  
 
You need to add a custom column to use this script.  
 
<pre>Gateway -&gt; Routes -&gt; Create New Route Column</pre>
 
<pre>Gateway -&gt; Routes -&gt; Create New Route Column</pre>
 
'''Name''': additional_naps<br>'''Type attributes''': text<br>'''<br>
 
'''Name''': additional_naps<br>'''Type attributes''': text<br>'''<br>

Latest revision as of 02:46, 10 February 2020

Contents

Applies to version(s): v2.9, v2.10, v3.0, v3.1

This shows how to add NAP Grouping script to any Routing scripts.

Script description

This filter is used to dynamically generate routes from a Regex. The trick is to use the NAP names to identify which NAPs are in the same group. The example in the file talk about "SIP_.*" but I would use instead "/GROUPA_.*/".

For example:

  • GROUPA_SIP_NAP_10_10_10_10
  • GROUPA_SIP_NAP_10_10_10_11
  • GROUPA_SIP_NAP_10_10_10_12
  • GROUPB_SIP_NAP_10_10_20_20
  • GROUPB_SIP_NAP_10_10_20_21
  • GROUPC_SIP_NAP_10_10_30_30

Then, in your routes, you can use the Route Column "additional_naps" to put /GROUPA_.*/

Add NAP Grouping Scripts in system

Download this file:

Multiple NAPs Script

Setting up NAP Grouping Scripts

To setup a Filter, the main script needs to be modified. The main script can be either simple_routing.rb, simple_routing_sbc.rb, or any other script.

First, go to the routing script section of the Web portal

Gateway -> Routing scripts -> Example Scripts -> simple_routing.rb [Edit]

Three things need to be added. At the start of the script:

require 'multiple_naps'

In the main class:

include MultipleNaps
before_filter :method => :multiple_naps


The final script will look like this:

require 'base_routing'
require 'multiple_naps'

class SimpleRouting < BaseRouting
  include MultipleNaps
  before_filter :method => :multiple_naps

  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

Adding New Custom Variable

You need to add a custom column to use this script.

Gateway -> Routes -> Create New Route Column

Name: additional_naps
Type attributes: text

Personal tools