Coverbild des Asterisk Buches von Stefan Wintermeyer

Letzte Woche => Endspurt!

Montag den 29.01.07 geht das Buch in die Produktion. Bis dahin laeuft der Beta-Test noch in vollem Umfang. Bitte melden Sie Fehler! Siehe Beta-Test FAQ.

Erscheinungstermin: 03.03.07. Das Buch wird auf dem Asterisk-Tag.org in Chemnitz vorgestellt und kann dort auch erworben werden. 10 Tage spaeter wird es im Buchhandel sein. Wer nicht in Chemnitz sein kann, sollte das Buch vorbestellen: Amazon oder direkt beim Verlag

Asterisk-Schulungen und Consulting vom Autor dieses Buches finden Sie auf http://www.amooma.de. Naechste Asterisk-Schulung: 12.02. - 13.02.07 (noch 1 Platz frei) - Ach ja, ... wir suchen auch noch Asterisk Entwickler! => http://www.amooma.de/jobs/


6.3. Globale Einstellungen

Diese Einstellungen werden in der sip.conf im Abschnitt [general] vorgenommen. Hier sollen aber nur die wichtigsten und gebräuchlichsten Parameter beschrieben werden, weitere Erklärungen zu exotischen Parameter finden sich in der sip.conf.

I.d.R. ist es möglich, diese Einstellungen auch für einzelne User/Peers vorzunehmen.

6.3.1. context

context = Kontextname

Bestimmt den Kontext im Dialplan für eingehende Anrufe.

context=default

6.3.2. allowguest

allowguest = [yes|no]

Anrufe von Gästen erlauben. Default: yes

allowguest=no

6.3.3. allowtransfer

allowtransfer = [yes|no]

Transfer von Verbindungen erlauben. Default: yes

allowtransfer=yes

6.3.4. realm

realm = Hostname

Der Systemname des Asterisk-Servers zur Authentifizierung. Default: asterisk oder ein ggf. in asterisk.conf eingestellter Systemname. Verwenden Sie hier den Host- oder Domain-Namen Ihres Servers.

realm=ast1.beispiel.de

6.3.5. bindport

bindport = Portnummer

Der UDP-Port, auf dem SIP-Verbindungen entgegengenommen werden sollen. Default: 5060.

bindport=5060

6.3.6. bindaddr

bindaddr = IP-Adresse

Die IP-Adresse, auf der SIP-Verbindungen entgegengenommen werden sollen. Default: 0.0.0.0 für alle Adressen des Rechners.

bindaddr=0.0.0.0

6.3.7. TOS-Flags (tos_sip, tos_audio, tos_video)

Für SIP können 3 TOS[79]-Parameter angegeben werden, um SIP-Paketen im Netzwerk eine andere Priorität als z.B. Datenübertragungen zu geben. Eine genauere Beschreibung steht unter Abschnitt 7.3.13, „tos. I.d.R. solle man diese Werte angeben (per Default nicht gesetzt):

tos_sip=cs3      ; für SIP-Pakete (Kommunikationsaufbau)
tos_audio=ef     ; für RTP-Audio-Pakete
tos_video=af41   ; für RTP-Video-Pakete

6.3.8. Sprach-Codecs (allow, disallow)

Mit allow und disallow können bestimmte Sprachcodecs erlaubt oder nicht erlaubt werden. Außer den bekannten Codecs gibt es all für alle. Dabei ist die Reihenfolge wichtig.

; Beispiel: alle Codecs ausser ilbc erlauben:
allow=all
disallow=ilbc

; Beispiel: nur die Codecs gsm und ulaw erlauben:
disallow=all
allow=gsm
allow=ulaw

6.3.9. language

language = Sprachkürzel

Stellt die Default-Sprache ein.

language=de

6.3.10. dtmfmode

dtmfmode = Modus

Verfahren, wie DTMF-Töne gesendet werden. Mögliche Werte:

rfc2833
(default) Informationsnachrichten nach RFC 2833 senden.
info
Als SIP INFO Nachrichten senden.
inband
DTMF-Töne „inband“ als Audio senden.
auto
Verwendet rfc2833 wenn möglich, sonst inband.
dtmfmode=rfc2833

6.3.11. videosupport

videosupport = [yes|no]

Schaltet die generelle Unterstützung von Video-Übertragungen ein (nicht getestet). Video-Unterstützung kann in den einzelnen Kanälen ausgeschaltet werden, kann aber dort nicht aktivierten werden ohne diese globale Einstellung.

videosupport=yes

6.3.12. maxcallbitrate

maxcallbitrate = Übertragungsrate

Bestimmt die maximale Übertragungsrate für Video-Telefonate in Kilobits pro Sekunde. Default: 384 (für 384 kb/s).

maxcallbitrate=384

6.3.13. g726nonstandard

g726nonstandard = [yes|no]

Stellt ein, dass, wenn ein Peer G726-32 Audio aushandelt, AAL2 packing statt RFC3551 packing verwendet wird (siehe doc/rtp-packetization.txt, ab Asterisk 1.4). Dies sollte nur eingestellt werden, wenn Sie Probleme mit z.B. Grandstream- oder Sipura-Telefonen haben, die fälschlicherweise G726-32 aushandeln, obwohl sie AAL2-G726-32 meinen.

g726nonstandard=no

6.3.14. rtpkeepalive

rtpkeepalive = Intervall

Sendet im in Sekunden angegebenen Intervall Keep-Alive-Pakete im RTP-Stream, um NAT[80]-Routen offenzuhalten.

rtpkeepalive=5   ; alle 5 Sekunden Keep-Alive-Pakete senden

6.3.15. t38pt_udptl

t38pt_udptl = [yes|no]

Erlaubt das Durchschleifen von T.38-Fax-Übertragungen von SIP- zu SIP-Kanälen. Default: no. Kann pro Kanal deaktiviert, aber nicht ohne diese Einstellung aktiviert werden.

t38pt_udptl=yes

6.3.16. register

register => user[:passwort[:authuser]]@host[:port][/extension]

Damit kann sich Asterisk als SIP-User bei einem anderen SIP-Proxy (z.B. einem externen Provider) registrieren.

Der Host ist entweder ein normaler Hostname, der per DNS aufgelöst werden kann, oder der Name eines Abschnitts, der weiter unten definiert ist.

Die Extension muss in der extensions.conf definiert sein, damit Anrufe von diesem Proxy empfangen werden können. Ohne Angabe der Extension gilt s.

; eingehende Anrufe von sip-provider.de an die Extension 999 leiten:
register => 123456:passwort@sip-provider.de/999

; eingehende Anrufe von sip-provider an die Extension 999 leiten:
register => 123456:passwort@sip-provider/999
[sip-provider]
...

6.3.17. externip

externip = IP-Adresse

Diese Einstellungen kann wichtig sein, wenn sich Asterisk hinter einem NAT-Router befindet. Die angegebene IP-Adresse wird in ausgehenden SIP-Nachrichten verwendet, damit die Empfänger unsere korrekte öffentliche Adresse wissen (statt unserer Adresse aus dem privaten Netz).

externip=123.45.67.89

6.3.18. externhost

externhost = Hostname

Wie Abschnitt 6.3.17, „externip, nur dass stattdessen der eigene öffentliche Hostname angegeben wird (der natürlich per DNS auflösbar sein muss).

externhost=hanspeter.dyndns.net

6.3.19. localnet

localnet = Adressraum

Gibt die lokalen, privaten Netzwerke an. Meist kann man folgendes verwenden (nach RFC 1918 und Zeroconf):

localnet=192.168.0.0/255.255.0.0
localnet=10.0.0.0/255.0.0.0
localnet=172.16.0.0/12
localnet=169.254.0.0/255.255.0.0

6.3.20. canreinvite

canreinvite = [yes|nonat|update|update,nonat]

Normalerweise versucht Asterisk den optimalsten „audio path“ zu wählen, d.h. bei 2 hergestellten Channels die beiden Gesprächsteilnehmer direkt zu verbinden ohne Asterisk als Mittelsmann. Das funktioniert aber nicht, wenn sich ein User in einem NAT befindet.

yes

(default) Normale Einstellung. Asterisk versucht, den kürzesten Audio-Pfad zu verwenden.

nonat

Nur umleiten, wenn sich die Teilnehmer nicht hinter einem NAT befinden (sofern das für Asterisk erkennbar ist).

update

Statt INVITE- UPDATE-Pakete zum Umleiten verwenden. Kann mit nonat als update,nonat kombiniert werden.

canreinvite=nonat

6.3.21. jbenable

jbenable = [yes|no]

Schaltet den „Jitter-Buffer“ für eingehendes Audio ein wenn nötig. Dadurch können unterschiedliche Latenzen von IP-Paketen ausgeglichen werden (siehe Jitter). Default: no

jbenable=yes

6.3.22. jbforce

jbforce = [yes|no]

Schaltet den Jitter-Buffer immer ein. (Natürlich muss auch jbenable aktiviert sein.) Default: no

jbforce=no

6.3.23. jbmaxsize

jbmaxsize = Länge

Maximale Größe des Jitter-Buffers in Millisekunden. Default: 200.

jbmaxsize=200

6.3.24. jbresyncthreshold

jbresyncthreshold = Länge

Resynchronisations-Rahmen des Jitter-Buffers. Default: 1000.

jbresyncthreshold=500

6.3.25. jbimpl

jbimpl = [fixed|adaptive]

Bestimmt, welcher Jitter-Buffer-Algorithmus verwendet wird. Bisher sind zwei Algorithmen implementiert:

fixed
(default) Der klassiche Jitter-Buffer mit fester Größe (immer jbmaxsize).
adaptive
Der neue Algorithmus mit variabler Größe (das ist auch der Jitter-Buffer von IAX2).
jbimpl=adaptive


[79] Type of Service, siehe ToS und DSCP

[80] Network Address Translation, wird häufig von Routern verwendet, die zwischen einem privaten Netz und dem öffentlichen Internet vermitteln