Service Configuration
Overview
The N2ACD service is built on the N2SVCD framework. Technically it could be considered to consist of a specialised Lua service running within a logic application.
The INAP and SIP protocol support are provided by the N-Squared N2SCP platform and SIP components. ACD has separate service classes for each protocol that can be configured independently or together.
<application name="ACD Logic" module="LogicApp">
<include>
<lib>../apps/logic/lib</lib>
</include>
<parameters>
<parameter name="trace_level" value="0"/>
<parameter name="edr_enabled" value="1"/>
<parameter name="retention_count" value="100"/>
<parameter name="default_edr_stream_key" value="acd"/>
<parameter name="default_db_app_name" value="ACD DB"/>
<parameter name="db_app_name_acd" value="ACD DB"/>
<parameter name="db_app_name_acd_local" value="ACD Local DB"/>
</parameters>
<config>
<services>
<service
module="AcdScpApp::AcdScpLuaService"
libs="../../n2acd/apps/acd_scp/lib,../../n2acd/lib,../../n2scp/apps/lho_scp/lib"
db_app_name="ACD DB"
lua_lib_path="../lua/lib/?.lc;../lua/lib/?.lua;../lua/lib/3rdparty/?.lc;../lua/lib/3rdparty/?.lua;../../n2scp/lua/lib/?.lc;../../n2scp/lua/lib/?.lua;../../n2acd/lua/lib/common/?.lc;../../n2acd/lua/lib/common/?.lua;../../n2acd/lua/lib/scp/?.lc;../../n2acd/lua/lib/scp/?.lua"
best_prefix_match="yes"
>
<triggers>
<trigger called_prefix="0800"/>
</triggers>
</service>
<service
module="AcdSipApp::AcdSipLuaService"
libs="../../n2acd/apps/acd_sip/lib,../../n2acd/lib,../../n2sip/apps/lho_sip/lib"
db_app_name="ACD DB"
lua_lib_path="../lua/lib/?.lc;../lua/lib/?.lua;../lua/lib/3rdparty/?.lc;../lua/lib/3rdparty/?.lua;../../n2sip/lua/lib/?.lc;../../n2sip/lua/lib/?.lua;../../n2acd/lua/lib/common/?.lc;../../n2acd/lua/lib/common/?.lua;../../n2acd/lua/lib/sip/?.lc;../../n2acd/lua/lib/sip/?.lua"
best_prefix_match="yes"
>
<triggers>
<trigger called_prefix="0800"/>
</triggers>
</service>
</services>
<agents>
<agent module="DBApp::DBLuaAgent" libs="../apps/db/lib"/>
</agents>
</config>
</application>
Best Prefix Match
When required to perform two-phase loading, the N2ACD service identifies the target service number for calls by matching the called number with a service number in the N2ACD database. The match can be either a full match or a best prefix match.
When best_prefix_match
is false
, the target service is identified by matching the full called number with a full service number.
When best_prefix_match
is true
, the target service is identified by matching the called number’s prefix with a full service number. The longest matching service number will be selected.
Defaults to false
.