MAP NP with ATI

Introduction

The N2SNS product is delivered with a number-portability service for use with the MAP AnytimeInterrogation (MAP ATI) message.

See the ATI LogicApp Service documentation for more detail on the underlying MAP ATI service itself.

Configuration

To configure the MAP ATI number portability service, define a logic app with the following configuration:

<application name="Logic-ATI" module="LogicApp" admin_alloc="1m" user_alloc="128m">
    <include>
        <lib>../apps/logic/lib</lib>
    </include>
    <parameters>
        <parameter name="edr_enabled" value="1"/>
        <parameter name="trace_level" value="1"/>
        <parameter name="lua_lib_path" value="../lua/lib/?.lua;../../n2svcd/lua/lib/3rdparty/?.lua;../../n2sns/lua/lib/?.lua;../../n2sns/lua/3rdparty/?.lua;../../n2sns/lua/svc/?.lua"/>
        <parameter name="default_db_app_name" value="DB"/>
    </parameters>
    <config>
        <services>
            <service module="SigtranApp::AnyTimeInterrogationLuaService" libs="../../apps/sigtran/lib" script_dir="../../n2sns/lua/svc" cc_free_per_script="100">
                <globals>
                    <global name="IMSI"                      value="505300000000000"/>
                    <global name="NUMBER_PORTABILITY_STATUS" value="0"/>
                    <global name="ADD_SERVICE_DIGIT_ON_MOLI" value="1" type="boolean"/>
                    <global name="MOLI_SERVICE_DIGIT"        value="6"/>
                    <global name="SERVICE_DIGIT_MSISDNS" type="array">
                        <item prefix="18"/>
                        <item prefix="13"/>
                    </global>
                    <global name="SERVICE_DIGIT_RULES" type="array">
                        <item>
                            <name>14XX</name>
                            <prefix>14</prefix>
                            <length type="integer">4</length>
                        </item>
                    </global>
                </globals>
                <triggers>
                    <trigger script_key="map_np_ati"/>
                </triggers>
            </service>
        </services>
        <agents>
            <agent module="DBApp::DBLuaAgent" libs="../apps/db/lib"/>
        </agents>
    </config>
</application>

Script Global Variables

The MAP ATI NP script uses two Global Variables.

Parameter Name XML Type Default Description
IMSI A string of digits none The value to place in the imsi field of the ATI result. If set, this will be the fixed (hard coded) IMSI to insert. If not set, then no IMSI value will be inserted into the ATI result.
NUMBER_PORTABILITY_STATUS 0 - 5 none The integer value to insert as the fixed (hard coded) numberPortabilityStatus value in ATI results. If not set, then no numberPortabilityStatus is inserted. This value may be defined as either an integer or a string.
MOLI_ENCODING String G549 If set the method of MoLI detection to utilize when parsing the inbound Called Party number.
Supported values are DELIM and G549.
DELIM MoLI encoding looks for MoLI encoded at the end of the Called Party number wrapped in C characters.
G549 MoLI encoding looks at the standard G549 Called Party number encoding formats and strips remaining digits off the end of each format type. The stripped digits will represent the MoLI information.
ADD_SERVICE_DIGIT_ON_MOLI Boolean false If set the service logic will attempt to process defined rules to add a custom service digit to the response HOC.
If configured the MOLI_SERVICE_DIGIT, SERVICE_DIGIT_MSISDNS and SERVICE_DIGIT_RULES must be specified.
MOLI_SERVICE_DIGIT String digit none [Required if ADD_SERVICE_DIGIT_ON_MOLI is enabled] The string service digit value to insert into the HOC if the processing rules match the Called Party number and resulting HOC.
SERVICE_DIGIT_MSISDNS Array none [Required if ADD_SERVICE_DIGIT_ON_MOLI is enabled] An array of rules to match on the Called Party number. If a rule matches the Called Party number and the destination HOC is a valid rule in SERVICE_DIGIT_RULES then the MoLI service digit will be inserted into the resulting HOC.
prefix String none If a Called Party number is detected to contain MoLI information and ADD_SERVICE_DIGIT_ON_MOLI is enabled; the Called Party number will be prefixed matched against the specified prefix.
SERVICE_DIGIT_RULES Array none [Required if ADD_SERVICE_DIGIT_ON_MOLI is enabled] An array of rules to match on the Called Party number lookup HOC. If a rules matches the destination HOC then the MoLI service digit will be inserted into the result HOC based on hte SERVICE_DIGIT_RULES.
name String none Descriptive name of the rule. Used for debug purposes only.
prefix String none If the destination HOC for a Called Party number containing MoLI information matches against the specified prefix the MoLI service digits will be inserted into the HOC.
length String none The amount of digits to split the destination HOC by. If the destination HOC resolves to 123456 and a length of 4 is specified with a service digit of 0 the resulting HOC will be 1234056.