Templates verwenden

Ein Template wird durch (templatename) direkt hinter dem Abschnittsbeginn — ohne Leerzeichen — eingebunden. Der neue Abschnitt erbt alle Felder des Templates, und eigene Felder überschreiben oder ergänzen sie:

[201](endpoint-template,verkauf)
auth=201
aors=201

Hier erbt der Endpoint 201 zuerst endpoint-template, dann verkauf. Spätere Templates überschreiben frühere bei gleichen Feldnamen.

Beispiel: verschachtelte Templates für PJSIP

; Basis-Template für alle Telefone
[basis](!)
type=endpoint
disallow=all
allow=ulaw
allow=alaw
direct_media=no
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes

; Template für Verkaufs-Telefone: erbt Basis, ergänzt Context
[verkauf](!,basis)
context=verkauf

; Template für IT-Telefone: eigener Context, HD-Audio
[it](!,basis)
context=it
allow=g722
allow=opus

; Konkrete Telefone
[301](verkauf)
auth=301
aors=301

[302](verkauf)
auth=302
aors=302

[161](it)
auth=161
aors=161

Die Templates basis, verkauf und it sind alle mit (!) markiert — sie werden nie selbst als Endpoint aktiv. Die konkreten Endpoints 301, 302, 161 erben ihre Einstellungen aus den jeweiligen Templates.

Damit skaliert pjsip.conf auch bei hunderten Telefonen übersichtlich — man ändert eine Option im Template und alle erbenden Endpoints ziehen nach.