Back to page

Inbound Address of Record Mapping

Raw Markdown & AI/RAG Chunks
Raw Markdown Source 2062 chars
# Inbound Address of Record Mapping

To track client SIP registrations dynamically, **Asterisk 2** implements real-time database address tracking. The framework manages **Address of Record (AOR)** configuration strings to locate target contact endpoints automatically.

---

## Dynamic Contact Resolution Topology

The layout below illustrates how client network registrations update location tables to route incoming incoming dial calls:

```mermaid
graph LR
    %% Endpoint Register
    subgraph ClientDevice["Remote Softphone Application"]
        ActionReg["SIP REGISTER Packet<br/>(User: 9001, Contact: IP/Port)"]
    end

    %% Underlying DB Mapping
    subgraph LiveRegistry["PJSIP AOR Database"]
        AorRecord[("ps_aors Table Row<br/>(PK: Id string, MaxContacts: 1)")]
    end

    %% Internal Call Route
    subgraph ConsumerTier["Dial Execution Core"]
        ExecDial["Asterisk Dial() Engine<br/>(Resolves String: PJSIP/9001)"]
    end

    %% Paths
    ActionReg ==>|"Writes Active Contact"| AorRecord
    ExecDial ==>|"Queries Dynamic Binding"| AorRecord

    %% Palette Customization
    classDef devToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef regToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef coreToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class ClientDevice,ActionReg devToken;
    class LiveRegistry,AorRecord regToken;
    class ConsumerTier,ExecDial coreToken;
```

---

## Technical AOR Parameter Directives

### 1. Single Contact Binding Limits
To completely avoid split brain routing scenarios during incoming call execution, user extension profiles enforce strict binding rules (`max_contacts=1`). Subsequent authentication handshakes from alternative IP paths drop stale bindings immediately.

### 2. Dynamic Registration Timers
Default expiration windows are mapped to standard 3600-second allocations. Hardware endpoints must issue refreshing packages periodically to keep their routing channels active.
AI Chunks (RAG) 3 chunks
Chunk #1 Inbound Address of Record Mapping
# Inbound Address of Record Mapping

To track client SIP registrations dynamically, **Asterisk 2** implements real-time database address tracking. The framework manages **Address of Record (AOR)** configuration strings to locate target contact endpoints automatically.

---
Chunk #2 Dynamic Contact Resolution Topology
## Dynamic Contact Resolution Topology

The layout below illustrates how client network registrations update location tables to route incoming incoming dial calls:

```mermaid
graph LR
    %% Endpoint Register
    subgraph ClientDevice["Remote Softphone Application"]
        ActionReg["SIP REGISTER Packet<br/>(User: 9001, Contact: IP/Port)"]
    end

    %% Underlying DB Mapping
    subgraph LiveRegistry["PJSIP AOR Database"]
        AorRecord[("ps_aors Table Row<br/>(PK: Id string, MaxContacts: 1)")]
    end

    %% Internal Call Route
    subgraph ConsumerTier["Dial Execution Core"]
        ExecDial["Asterisk Dial() Engine<br/>(Resolves String: PJSIP/9001)"]
    end

    %% Paths
    ActionReg ==>|"Writes Active Contact"| AorRecord
    ExecDial ==>|"Queries Dynamic Binding"| AorRecord

    %% Palette Customization
    classDef devToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef regToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef coreToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class ClientDevice,ActionReg devToken;
    class LiveRegistry,AorRecord regToken;
    class ConsumerTier,ExecDial coreToken;
```

---
Chunk #3 Technical AOR Parameter Directives
## Technical AOR Parameter Directives

### 1. Single Contact Binding Limits
To completely avoid split brain routing scenarios during incoming call execution, user extension profiles enforce strict binding rules (`max_contacts=1`). Subsequent authentication handshakes from alternative IP paths drop stale bindings immediately.

### 2. Dynamic Registration Timers
Default expiration windows are mapped to standard 3600-second allocations. Hardware endpoints must issue refreshing packages periodically to keep their routing channels active.