Line Profiles
A line profile is a reusable service class: every setting that describes
what kind of line this is rather than whose line it is. Hundreds of
lines typically share a handful of profiles — standard, executive,
lobby, fax — and upgrading a subscriber is a one-field change on the
line.
line-profiles: standard: inbound-translation-context: from-lines screening-context: no-premium calling-features: [voicemail, dnd, cfa, cfb, cfna] feature-code-map: standard codecs: [g722, ulaw, alaw]Field reference
Section titled “Field reference”| Field | Required | Meaning |
|---|---|---|
inbound-translation-context |
yes | The translation context walked for every number lines with this profile dial — including forward targets and voicemail callback. |
screening-context |
no | Destination screening applied after translation, before dialing. Empty = unrestricted. |
special-number-profile |
no | Which special-number profile intercepts emergency numbers for these lines. Empty = the default profile. |
calling-features |
no | The feature entitlements granted to these lines (below). |
max-ring-time |
no | Seconds a call rings these lines’ devices before no-answer handling (voicemail / CFNA) takes over. Default 25. A subscriber’s own call-forward-no-answer timeout, when set, overrides it for that line. |
feature-code-map |
no | Which feature-code map these lines can dial. Empty = no star codes. |
allow-unrestricted-caller-id |
no | Let devices assert their own external caller ID (below). Default off. |
codecs |
no | Ordered codec policy for these lines (below). Empty = no restriction. |
max-concurrent |
no | Template concurrent-call cap applied to each line individually. A line’s own max-concurrent overrides it. Zero/absent = unlimited. |
Calling features — entitlement, not state
Section titled “Calling features — entitlement, not state”calling-features lists what lines with this profile are allowed to use.
The subscriber-facing state itself (DND on/off, forward targets, speed
dials) is managed per line through the API or portal:
| Flag | Grants |
|---|---|
voicemail |
Unanswered/busy/DND calls fall to the line’s mailbox; without it, a configured mailbox is ignored |
dnd |
Do-not-disturb |
cfa |
Call-forward always |
cfb |
Call-forward on busy |
cfna |
Call-forward on no-answer (with configurable timeout) |
spam |
Accepted for a future inbound spam-screening capability; no effect in this release |
Entitlement is enforced on both sides:
- The management API refuses to set feature state a line’s profile doesn’t grant.
- At call time, existing state for a non-granted feature is ignored — so downgrading a profile immediately disables the features it revoked, without touching stored subscriber state. Re-granting the feature brings the old state back.
Caller-ID enforcement
Section titled “Caller-ID enforcement”By default the switch enforces line caller ID: whatever a device puts in
its From header is discarded and the line’s configured caller-id /
internal-caller-id are presented. Subscribers cannot spoof.
allow-unrestricted-caller-id: true relaxes this for the profile: a
presented caller ID passes through (falling back to the configured one when
the device sends nothing). Reserve it for trusted use cases — a PBX behind
registered devices asserting its own DID block, a call-center presenting
campaign numbers — and remember that as the operator you remain responsible
for the identities your lines originate with.
This choice also sets the STIR/SHAKEN stakes: when your namespace signs outbound calls, line-originated calls are signed at attestation A (the switch enforced the caller ID) — but lines on an unrestricted profile are signed at B, since the asserted number wasn’t verified.
Codec policy
Section titled “Codec policy”codecs is an ordered list of permitted codecs (Asterisk names —
ulaw, alaw, g722, g729, opus, gsm, ilbc, and the other names
in the codec appendix):
- Inbound offers from these lines’ devices are stripped to this set at the edge; an offer with no permitted codec is refused with SIP 488 before anything rings.
- Outbound dials to these lines offer this set, in listed order of preference.
- Empty means no policy — whatever the endpoints negotiate passes through.
Keep the list short and put your preferred codec first: [g722, ulaw]
gives HD audio between capable endpoints with a universal fallback.
Worked profiles
Section titled “Worked profiles”line-profiles: # Full-featured knowledge-worker line. executive: inbound-translation-context: from-lines calling-features: [voicemail, dnd, cfa, cfb, cfna] feature-code-map: standard codecs: [g722, ulaw]
# Courtesy phone: internal-only, no features, no star codes. lobby: inbound-translation-context: from-lines screening-context: internal-only max-concurrent: 1
# Fax / analog adapter: G.711 only, nothing clever. fax: inbound-translation-context: from-lines codecs: [ulaw]
# Call-center line asserting campaign caller IDs. dialer: inbound-translation-context: from-dialer allow-unrestricted-caller-id: true screening-context: domestic-only codecs: [ulaw]All four share translation contexts and screening contexts defined once — profiles are where the reusable pieces are bundled into a sellable class of service.