# Table of contents:

# Introduction

ADL is a command introduced with MSNP13.

It is a Notification Server command, WITH a request and WITH a response payload.

Adds a user to a list during a session or initialises the states of the Forward List (FL), Allow List (AL) and Block List (BL) after retrieving the current state of all lists from the Address Book Service and the Contact Sharing Service.
For the actions that add a user to the address book or the membership lists, read either the ABContactAdd article or the AddMember article respectively.

# Client/Request

ADL TrID length
payload

Where payload is a <ml> document, without any support for whitespace outside of element parameters.

# ml

This element has one optional attribute:

This element optionally supports one or multiple <d> elements, and optionally only one <t> element.

# d

This element has one attribute:

This element contains one or multiple <c> elements.

# c

This element has three attributes:

# t

This element contains one or multiple <c> elements.

# c

This element has two attributes:

This element also has one optional attribute:

# Server/Response

# As a response

ADL TrID OK

No payload is attached in this scenario.

# Asynchronously

ADL 0 length
payload

Where payload is a <ml> document, without any support for whitespace outside of element parameters.

# Examples

NOTE: The XML in these examples has been exploded for visibility and formatting reasons.
No whitespace is allowed in ADL's payload and the payload size reflects this, and is set to the correct value.

# Initial list

C: ADL 1 110
<ml l="1">
    <d n="hotmail.com">
        <c n="anotheruser" l="3" t="1" />
    </d>
    <t>
        <c n="tel:+15551111222" l="3" />
    </t>
</ml>
S: ADL 1 OK

# Normal use

# Add a user handle

C: ADL 2 65
<ml>
    <d n="hotmail.com">
        <c n="anotheruser" l="1" t="1" />
    </d>
</ml>
S: ADL 2 OK

# Add a telephone number

C: ADL 3 48
<ml>
    <t>
        <c n="tel:+15551111222" l="1" />
    </t>
</ml>
S: ADL 3 OK

# No services specified

C: ADL 4 9
<ml></ml>
S: 240 4

# No domain name specified

C: ADL 5 16
<ml>
    <d>
    </d>
</ml>
S: 241 5

# Out of bounds Network ID

C: ADL 6 67
<ml>
    <d n="hotmail.com">
        <c n="anotheruser" l="1" t="256" />
    </d>
</ml>
S: 204 6

# You cannot add to the Reverse List or Pending List

C: ADL 7 65
<ml>
    <d n="hotmail.com">
        <c n="anotheruser" l="8" t="1" />
    </d>
</ml>
S: 241 7

# Target user not found

C: ADL 8 59
<ml>
    <d n="hotmail.com">
        <c n="ghost" l="1" t="1" />
    </d>
</ml>
S: 208 8

# Target list is full

C: ADL 9 61
<ml>
    <d n="hotmail.com">
        <c n="stuffed" l="1" t="1" />
    </d>
</ml>
S: 210 9

# Asynchronous update

S: ADL 0 82
<ml>
    <d n="hotmail.com">
        <c n="anotheruser" l="8" t="1" f="another user" />
    </d>
</ml>

# Known changes