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.