PJSIP Trunk & Gateway Bindings
PJSIP Trunk & Gateway Bindings
The core SIP connectivity framework for Asterisk 2 operates on the modern PJSIP stack. This architecture handles inbound and outbound media negotiation across external carrier gateways, remote softphones, and Dinstar SIM arrays.
Trunk Handshake & Signaling Topology
The diagram below maps out how incoming SIP communications flow across internal authentication and transport validation layers:
graph TD
%% Ingress Client
subgraph ExternalNetwork["External Edge Nodes"]
SipClient["SIP softphone / Gateway<br/>(Initiates INVITE Packet)"]
end
%% PJSIP Pipeline tier
subgraph PjsipTier["Asterisk PJSIP Transport Module"]
PjsipTrans["res_pjsip.so Engine<br/>(Socket Listeners)"]
AuthLayer["PJSIP Authenticator<br/>(Validates MD5 Secrets)"]
end
%% Internal Database proxies
subgraph LogicLedger["EF Core Live Registry"]
EndpointRow[("ps_endpoints DB Table<br/>(Defines AOR & Codecs)")]
end
%% Dialplan Target
subgraph EngineTarget["Routing Execution"]
DialplanCore["Asterisk Core Dialplan<br/>(stasis Application Router)"]
end
%% Vectors
SipClient ==>|"Raw UDP/TCP Handshake"| PjsipTrans
PjsipTrans ==>|"Resolve Transport"| AuthLayer
AuthLayer ==>|"Database Validation Hash"| EndpointRow
EndpointRow ==>|"Authorize Credentials"| DialplanCore
%% Fully Styled CSS Tokens
classDef clientToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef pjsipToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef dbToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef targetToken fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff,rx:6px,ry:6px;
class ExternalNetwork,SipClient clientToken;
class PjsipTier,PjsipTrans,AuthLayer pjsipToken;
class LogicLedger,EndpointRow dbToken;
class EngineTarget,DialplanCore targetToken;
Technical PJSIP Modeling Guidelines
1. Endpoint Identity Isolation
Every device binding maps to distinct identifier rows inside configuration schemas. Shared endpoints are strictly forbidden to ensure session logging scripts record explicit audio legs accurately.
2. Zero-State NAT Traversal
Trunk configurations force connection symmetric formatting (rewrite_contact=yes) to route NAT media paths cleanly across restrictive hardware network setups.