wir sollten mal ein wenig über den dialplan (extensions.conf) und dessen benutzung sprechen:
der asterisk dialplan funkioniert so, dass du ja die gewählten nummern zu funktionsabläufen zuordnest. jetzt ist es unter umständen sehr mühsam, wenn du für jede nummer einen eigenen dieser abläufe definieren musst, deswegen kann man hier sog. "wildcards" verwenden, um das zu "gruppieren". das ganze ist auf
http://voip-info.mirrors.bsd.net/wiki/view/Asterisk+Dialplan+Patterns.html recht ausführlich beschrieben, dennoch ein kurzer überblick darüber.
um das ganze von anfang an richtig zu verstehen, sollte man folgendes wissen: in wirklichkeit wählt dein telefon nämlich keine nummer sondern immer einen SIP URI. dieser uri sieht aus, wie eine email adresse und hat also 2 teile (z.b. "
[email protected]"):
1. teil: die "durchwahl" (1234)
2. teil: die sip domain (192.168.0.100)
wenn du also auf dem telefon z.b. "1234" wählst, so merkt das telefon, dass keine sip domain in "1234" angegeben wurde und ergänzt die nummer mit einem klammeraffen und der ip adresse des sip servers oder dessen "domain", auf dem du registriert bist. du hast bei deiner konfig bis jetzt immer die ip adresse des sip server angegeben, wenn du das x-lite konfiguriert hat, deswegen verwendet es auch die ip adresse.
richtig verwirrend wird es jetzt, wenn ich dir jetzt sage, dass auch vor dem klammeraffen nicht unbedingt eine ziffernkombination angegeben werden muss, sonder das kann auch eine alphanumerische zeichenkette sein. Es reicht vorab, dass du das weisst, wenn es um die definition im dialplan geht. das mit den alphanumerischen extensions und den domains erkläre ich dir später.
hier mal der wichtigste teil der o.g. voip-info seite:
Code:
X matches any digit from 0-9
Z matches any digit from 1-9
N matches any digit from 2-9
[1237-9] matches any digit or letter in the brackets
(in this example, 1,2,3,7,8,9)
. wildcard, matches one or more characters
wird eines der hier erwähnten wildcards verwendet, muss das der asterisk angezeigt werden, deswegen muss vor der extension ein "_" gesetzt werden.
einige beispiele zum verständnis:
"8001" gilt genau für die nummer 8001
"_800X" gilt für die nummern 8000 bis 8009
"_800Z" gilt für 8001 bis 8009
"_800[3-5]" oder "_800[345]" gilt für 8003 bis 8005
"_80XX" gilt für 8000 bis 8099
"_80ZX" gilt für 8010 bis 8099
"_80[0-2][012345]" gilt für die nummern 8000-8005, 8010-8015 und 8020-8025
siehst du das system dahinter?
beim rauswählen weiss man aber die länge der nummer nicht, deswegen zeigt ein "." am ende an, dass dieser "match" für alle nummern gilt, die mit den angegebenen ziffern oder patterns
beginnen.
auch hier ein beispiel:
"_0Z." gilt für alle nummern, die mit "0" beginnen, an der zweiten stelle eine ziffer von 1-9 haben und danach noch mindestens eine ziffer haben.
ein verständnis-problem ist es oft, wenn im dialplan aus der notwendigkeit oder einfachheit heraus sich überschneidende patterns verwendet werden:
Code:
...
exten = _[123]X,1,... ; <- alle nummern von 10-39
...
exten = 20,1,... ; <- genau die nummer "20"
...
da die 20 aber im nummerbereich 10-39 ebenfalls enthalten ist, könnte man meinen, dass für 20 der erste block gilt, weil der ja davor definiert wurde. asterisk ordnet aber den dialplan nach der genauigkeit der nummernangabe und NICHT nach der reihenfolge in der extensions.conf. deswegen wird hier auch für die nummer 20 der zweite block verwendet.
soweit klar?
um jetzt dein problem mit der fehlermeldung in deinem post zu lokalisieren, muss man sich jetzt den dialplan ansehen und den fehler finden, warum es für die gewählte nummer ("01234567") keinen dialplan eintrag gibt. um jetzt auch die reihenfolge der abarbeitung zu kontrollieren, sollte man das aus der asterisk konsole heraus mit dem befehl
Code:
*CLI> dialplan show internal
machen. es kann durchaus sein, dass ein syntax-fehler in der extensions.conf vorhanden ist, man diesen aber bei einem "dialplan reload" aus der CLI nicht bemerkt, weil das alles so schnell über den bildschirm fliegt. deswegen lohnt hier ein blick in die ausgaben dieses befehls über die bildschirmgrenzen hinaus. im putty einfach den scrollbar verwenden, auf der linux konsole kann mit "shift-pageup" und "shift-pagedown" gescrollt werden.
im zakotel dialplan werden globale variablen auch in einigen patterns verwendet, deswegen ist die suche des fehlers in der datei "extensions.conf" ev. nicht so einfach.
deine fehlermeldung für die "01234567" besagt also, dass für diese nummer kein dialplan-eintrag gefunden wurde, und wenn du etwas im dialplan umgebaut hast, ist entweder
1. ein syntax fehler in der extensions.conf
2. wirklich der eintrag "_0Z.", der hier ja matchen würde, verloren gegangen
kontrollier das mal und gib bitte bescheid
grüße,
laureen