Problem
Seit pascom 19 wurde von chan_sip
auf res_pjsip
umgestiegen. Einige gewohnte Asterisk CLI Befehle und Trunk/Endgeräte Optionen haben sich dadurch geändert.
Lösung
Im Asterisk Wiki wird das ganze so beschrieben: https://wiki.asterisk.org/wiki/display/AST/Migrating+from+chan_sip+to+res_pjsip
Zunächst ein paar Asterisk CLI Befehle die nun anders lauten:
alt:
sip show peers
neu:
pjsip show endpoints
(nur bedingt richtig, ein peer besteht nun aus Verschiedenen “Typen/Bestandteilen” auf die ich hoffentlich ein andernmal genauer eingehen kann: endpoint
, aor
, auth
, identify
, registration
dessen jeweilige Werte man mittels pjsip show {type}
ermitteln kann)
alt:
sip show registry
neu:
pjsip show registrations
gleichgeblieben:
queue show
alle mit core
beginnenden Befehle sind ebenso gleichgeblieben.
Wer in der Cloud über die WebCLI beispielsweise die SIP Nachrichten debuggen möchte hat weiterhin die Möglichkeit dazu, hier die entsprechende Anleitung:
https://www.asterisk.org/debugging-sip-message-traffic-with-pjsip-history/
Bitte bedenkt das sowohl der Endgerätestatus als auch die Ämterregistrierung mittlerweile im WebUI direkt angezeigt werden können.
Auch wenn wir versuchen alles für bekannte Ämter und Endgeräte richtig zu setzten, kann es natürlich sein das man etwas an den Einstellungen ändern will oder ein eigenes Amt anbinden möchte.
Bei den Endgeräten wird man im wesentlichen nur die endpoint
Einstellungen anpassen wollen, Beispiel zu früher:
alt:
disallow=all
allow=alaw,opus
neu:
endpoint/allow=!all,alaw,opus
;(endpoint/disallow wäre auch möglich)
Beim Amt gibt es natürlich Settings die nicht in diese Kategorie Fallen, hier kann bei uns im Webfrontend die Settings in den Optionen setzten in dem man (ähnlich wie beim Endgerät) die richtige Kategorie mit /
getrennt davor angibt. Wenn man ein Setting im Internet gefunden hat aber nicht weiß, wo es dazu gehört kann man mittels pjsip show
danach suchen, pascom bezogenes Beispiel:
pjsip show aor mdc_trunk_conf-4
Hier findet sich die qualify_frequency
wieder, möchte ich diese also über die Optionen im Amt setzten, kann man
aor/qualify_frequency=20
verwenden, um den Wert abweichend vom Default zu setzen.
Seit pascom 19 können wir im Übrigen verschiedene “Defaultwerte” für Ämter und Endgeräte setzten. Dadurch ist es uns möglich einige Optionen die ohnehin bei allen Ämtern gleich waren, aber nicht zu den Endgeräten passten und daher nicht in der sip.conf
gesetzt werden konnten aus dem WebUI zu verbannen. Diese Standardwerte finden sich unter /etc/asterisk/pjsip_wizzard.conf
wieder.
Neben endpoint
, aor
, auth
, identify
und registration
haben wir noch “eigene” zusätzliche Präfixe hinzugefügt. Wichtigstes Beispiel ist hier wohl header/
wodurch sich von den ausgehenden Regeln abweichende Nummern im PAI Header beispielsweise setzen lassen (QSC/Plusnet benötigen das für CLIP-no-screening beispielsweise):
header/P-Asserted-Identity=<sip:09916666666@provider.des.kundens>
Per Inline Script (oder Outbound-Script) lassen sich die SIP Header auch wieder seit 19.03 manipulieren, hier ein Beispiel für die Klingeltöne:
; setzen/überschreiben eines Headers
Set(HASH(__SIPHEADERS,Alert-info)=<http://www.notused.de>\;info=alert-group\;x-line-id=0)
; entfernen eines Headers: einfach den magischen Wert "remove" verwenden
Set(HASH(__SIPHEADERS,Alert-info)=remove)