# `DiffoExample.Nbn.ServiceInitializer`
[🔗](https://github.com/diffo-dev/diffo_example/blob/v0.4.0/lib/nbn/service_initializer.ex#L5)

Diffo - TMF Service and Resource Management with a difference

Seeds the *standing infrastructure* at the Stirling (5STI) point of
interconnect for the lawful-intercept demo (#60). Nothing here is a customer
service — provisioning a service onto this infrastructure is the enacted
journey, see `provision_service/3` (used by the livebook and the test).

Ownership reflects the real split:

  * **Quokka** (an RSP) owns the *logical* service edge — two NNI Groups
    (one with 2× 10G NNIs, one with 2× 100G NNIs), each carrying two CVCs.
  * **NBN** owns the *physical* access — the on-site NTD at the library and
    its four UNIs (the NTD's four ports), plus all the places. NBN-owned
    records carry no `rsp_id` and are visible to every RSP.

Built bottom-up using the assigner: a CVC takes an S-VLAN from its NNI Group,
a UNI takes a port from the NTD; later, provisioning takes a C-VLAN from a
chosen CVC. Each instance keys on a fixed UUID (the NBN identifier is the
`name`, not the id) so the seed is idempotent and the demo can address records.

# `csa_id`

# `cvc_ids`

CVC ids grouped by the NNI Group that carries them.

# `group_ids`

NNI Group ids (A = 10G, B = 100G).

# `library_loc_id`

# `library_lop_id`

# `nni_ids`

NNI ids grouped by their NNI Group — the expected intercept answers.

# `ntd_id`

The on-site NTD, the library places it carries, and the POI/CSA at 5STI.

# `poi_id`

# `provision_service`

Provisions a customer service: lands the given idle `uni` onto the given `cvc`
by building a new AVC (taking a C-VLAN from the CVC) and a PRI (NBN Ethernet
access) that owns the AVC as its `:circuit` and the UNI as its `:port`.

This is the RSP's order — the choice of CVC is the RSP balancing load across
its service edge, and it determines which NNI Group (and thus which NNIs) the
service traverses. Returns the PRI. `actor` is the owning RSP (e.g. quokka).

# `seed`

Seeds the standing 5STI infrastructure, owned by quokka (logical) and NBN
(physical). Idempotent: a sentinel check on NNI Group A short-circuits a
re-run. Requires the RSPs and the geo places (5STI, the library LOP) to exist
first — call after `seed_rsps` and `Geo.seed`.

# `uni_ids`

The four idle UNI ids (the NTD's four ports).

---

*Consult [api-reference.md](api-reference.md) for complete listing*
