Wählpriorität mit exten macht Probleme ...

vWalter

Neuer User
Mitglied seit
21 Jan 2006
Beiträge
107
Punkte für Reaktionen
0
Punkte
16
Ich habe u.a. folgendes in meiner extensions.conf :

; Calls zu United-Internet-Accounts
exten => _9999.,1,Answer
exten => _9999.,2,Dial(SIP/${EXTEN:4}@webde,,r)
exten => _9999.,3,Hangup

; Ortsgespraeche Festnetz anfangend mit 9 via voipbuster
exten => _9.,1,Answer
exten => _9.,2,Dial(SIP/4989${EXTEN}@voipbuster,,r)
exten => _9.,3,Hangup


Jedesmal, wenn ich nun versuche eine Nummer 999901212.... zu wählen, macht Asterisk dies mit der MAske _9. anstatt mit der _9999.

Die _9999. passt doch viel genauer - wieso nimmt Asterisk _9. ?


Kann jemand helfen ?

Danke

Walter


P.S.
Ich nutze Asterisk 1.2.1 mit 2 HFC-Karten, Florz-Patch, etc....
 
@vWalter

Nimm doch die _8. stattdessen ;)
Da fehlt auch das ${EXTEN:1}

Gruß
britzelfix
 
ich habe alle Nummern 1-9 separat genommen, da sich dieses Phänomen der, zumindest fuer mich, nicht nachvollziehbaren Prioritätsprobleme auf alles erstreckt.

- Da ich bei den Ferngesprächsvorwahlen mit _02 anfange, es also insbesondere keine _00 sonst gibt, habe ich das Problem mit _00007. für Webde, _00008. für Voipbuster u.s.w. gelöst.

Allerdings ist die Frage nach dem Prioritäten beim Wählen von Nummern trotzdem ungelöst - ich empfinde das als einen Fehler,wenn beim Wählen einer Nummer

z.B. 9999-12345

Asterisk der Maske _9. den Vorrang vor _9999. gibt.
 
britzelfix schrieb:
@vWalter

Nimm doch die _8. stattdessen ;)
Da fehlt auch das ${EXTEN:1}

Gruß
britzelfix


das ${EXTEN:1} fehlt nicht, da die 9, bzw. 1-9 jeweils die ersten Zahlen eines Ortsgesrpäches sind.

Gruss
Walter
 
@vWalter

Also nach dem Dialplan mit der _9. kannst Du
nur Nummern die mit der 9 beginnen wählen und
Voipbuster verlangt so weit ich weiß die
Ländervorwahl mit 0049 usw...

Bist Du sicher, daß Du nur solche (49899X....) Nummern anrufen willst? :)


Gruß
britzelfix
 
vWalter schrieb:
Die _9999. passt doch viel genauer - wieso nimmt Asterisk _9. ?
Weil das viel früher passt? Asterisk arbeitet die extensions nach einem eigenen Schema ab (kürzeste zuerst) und da trifft diese natürlich zuerst zu.

@britzelfix:
In dem Fall schon, weil es ja um Ortsgespräche geht ;)
 
britzelfix schrieb:
@vWalter

Also nach dem Dialplan mit der _9. kannst Du
nur Nummern die mit der 9 beginnen wählen und
Voipbuster verlangt so weit ich weiß die
Ländervorwahl mit 0049 usw...

Bist Du sicher, daß Du nur solche (49899X....) Nummern anrufen willst? :)


Gruß
britzelfix


...die 4989 ist der Prefix vor {EXTEN} - sodas ich über Voipbuster ein Ortsgespräch wählen kann in der Art als ob ich "normal" ein Ortsgesrpäch wählen würde. Ich wähle also ganz normal die Ortsgesrpächsnummer 563728 - und in mit exten => ... SIP/4989${EXTEN}@voipbuster ... wird daraus dann 4989-563728 gemacht, so dass es Voipbuster versteht
 
britzelfix schrieb:
@madiahl

Asterist sortiert die extensions und nimmt die erste, die passt.
Steht übrigens hier:

http://www.voip-info.org/wiki/index.php?page=Asterisk+config+extensions.conf+sorting

Gruß
britzelfix


yep, das scheint das problem zu sein - es scheint aber auch nur, denn das hier, im selben Kontext(keine includes),funktioniert prima :


; Gespraeche ins Festnetz via ISDN
exten => _X.,1,Answer
exten => _X.,2,Dial(ZAP/g2/${EXTEN})
exten => _X.,3,Congestion
exten => _X.,4,Hangup

; Ortsgespraech mit 1 als erster Ziffer über Voipbuster
exten => _1.,1,Answer
exten => _1.,2,Wait(2)
exten => _1.,3,Dial(SIP/4989${EXTEN}@voipbuster,,r)
exten => _1.,4,Congestion
exten => _1.,5,Hangup

.
.
.

; Ortsgespraech mit 9 als erster Ziffer über Voipbuster
exten => _9.,1,Answer
exten => _9.,2,Wait(2)
exten => _9.,3,Dial(SIP/4989${EXTEN}@voipbuster,,r)
exten => _9.,4,Congestion
exten => _9.,5,Hangup


Wenn Asterisk das zuerst passende nehmen würde, würden hier alle Ortsgesrpäche schon mit _X. abgearbeitet werden -- das passiert allerdings nicht, es funktioniert so, wie gewünscht.
 
@vWalter

warum machst Du es nicht wie alle andern und
entscheidest nach 0X 00X und Ortsgespräche.
Bei mir geht das so:
Code:
exten => _00X.,1,Dial(SIP/${EXTEN}@voipbuster,90,r)      ; Ausland
exten => _0X.,1,Dial(SIP/0049${EXTEN:1}@voipbuster,90,r) ; Deutschland
exten => _Z.,1,Dial(SIP/0049531${EXTEN}@voipbuster,90,r) ; Ort

Infos dazu: http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns

Gruß
britzelfix

BTW: ich bekomme keine Benachrichtigungs-Mails. Was ist los?
 
britzelfix schrieb:
@vWalter

warum machst Du es nicht wie alle andern und
entscheidest nach 0X 00X und Ortsgespräche.
Bei mir geht das so:
Code:
exten => _00X.,1,Dial(SIP/${EXTEN}@voipbuster,90,r)      ; Ausland
exten => _0X.,1,Dial(SIP/0049${EXTEN:1}@voipbuster,90,r) ; Deutschland
exten => _Z.,1,Dial(SIP/0049531${EXTEN}@voipbuster,90,r) ; Ort

Infos dazu: http://www.voip-info.org/wiki/view/Asterisk+Dialplan+Patterns

Gruß
britzelfix

... dein Vorschlag sieht nett aus - aber ich möchte schon aus Kostengründen nicht pauschal alle Festnetz/Mobil-Anrufe über Voipbuster laufen lassen. Bei der Filterung nach bestimmten Auslandsvorwahlen(welche z.Z. kostenfrei sind unter Voipbuster) und nach Mobilfunknummern - und nicht zu vergessen nach Notrufnummern, sind viele Wählvarinaten entstanden, bei denen durch das Auftreten mir immer noch unverständlicher Wahlprioritätsprobleme nur eines geholfen hat : Alles möglichst explizit vereinbaren.

Zu den verschiedenen Festnetz-Extension kommen dann auch noch diverse SIP/IAX-Extensions hinzu ...

ABER : Das Prioritäsproblem ist noch nicht gelöst - ich möchte ja gar nicht alles explizit vereinbaren, da dadurch die extensions.conf immer unübersichtlicher wird.

Vielleicht ist ja auch alles ein Problem mit meiner gewählten Asterisk-Version ... denn MP3-Sound als Background, oder einfach via MP3player funktioniert auch nicht - obwohl mit letzterem zwar laut Konsole korrekt abgespielt wird, im Telefon aber nichts zu hoeren ist ...

Gruß Walter
 
Zuletzt bearbeitet von einem Moderator:
Das ist doch genau das was ich ausdrücken wollte und was britzelfix mit dem Link gezeigt hat: Die Sortierung ist nicht die, welche Du in der extensions.conf angibst, sondern Asterisk arbeitet die nach einem eigenen Schema ab. Lies Dir doch mal den von britzelfix geposteteten Link durch. Zuerst werden die kürzesten Angaben mit Zahlen/Schemata abgearbeitet uund dann die mit den Buchstaben. Von daher passen natürlich zuerst die Ziffern und dann erst die _X.
 
madiehl schrieb:
Das ist doch genau das was ich ausdrücken wollte und was britzelfix mit dem Link gezeigt hat: Die Sortierung ist nicht die, welche Du in der extensions.conf angibst, sondern Asterisk arbeitet die nach einem eigenen Schema ab. Lies Dir doch mal den von britzelfix geposteteten Link durch. Zuerst werden die kürzesten Angaben mit Zahlen/Schemata abgearbeitet uund dann die mit den Buchstaben. Von daher passen natürlich zuerst die Ziffern und dann erst die _X.

Hallo Madiehl

ich habe mir das schon einige Male durchgelesen - ich verstehe aber dabei nicht wieso dann folgende Reihenfolge mit "show dialplan" angezeigt wird :
(welche in diesem Fall aber durchaus so gewünscht ist)

'_000070190Z.' => 1. Congestion()
2. Hangup()
'_000070900.' => 1. Congestion()
2. Hangup()
'_00007X.' => 1. Answer()
2. Playback(anruf_via_voipbuster)
3. Wait(2)
4. Dial(SIP/${EXTEN:5}@voipbuster||r)
5. Congestion()
6. Hangup()


Ich wuerde es, zumindest laut Deiner Erklärung, so erwarten:

'_000070900.' => 1. Congestion()
2. Hangup()
'_00007X.' => 1. Answer()
2. Playback(anruf_via_voipbuster)
3. Wait(2)
4. Dial(SIP/${EXTEN:5}@voipbuster||r)
5. Congestion()
6. Hangup()
'_000070190Z.' => 1. Congestion()
2. Hangup()



Wo ist mein Denkfehler ?
 
vWalter schrieb:
Hallo Madiehl

ich habe mir das schon einige Male durchgelesen - ich verstehe aber dabei nicht wieso dann folgende Reihenfolge mit "show dialplan" angezeigt wird :
(welche in diesem Fall aber durchaus so gewünscht ist)

'_000070190Z.' => 1. Congestion()
2. Hangup()
'_000070900.' => 1. Congestion()
2. Hangup()
'_00007X.' => 1. Answer()
2. Playback(anruf_via_voipbuster)
3. Wait(2)
4. Dial(SIP/${EXTEN:5}@voipbuster||r)
5. Congestion()
6. Hangup()


Ich wuerde es, zumindest laut Deiner Erklärung, so erwarten:

'_000070900.' => 1. Congestion()
2. Hangup()
'_00007X.' => 1. Answer()
2. Playback(anruf_via_voipbuster)
3. Wait(2)
4. Dial(SIP/${EXTEN:5}@voipbuster||r)
5. Congestion()
6. Hangup()
'_000070190Z.' => 1. Congestion()
2. Hangup()



Wo ist mein Denkfehler ?




Wobei ich jetzt letztere reelle Eintraege in dieser Art geändert habe :

; boese kostenpflichtige Sonderrufnummern sofort auflegen

exten => _.0900.,1,Congestion
exten => _.0900.,2,Hangup
exten => _.0190Z.,1,Congestion
exten => _.0190Z.,2,Hangup


In der Reihenfolge von "show dialplan" sind diese Eintraege ganz oben - so soll es sein :)
 
vWalter schrieb:
Wobei ich jetzt letztere reelle Eintraege in dieser Art geändert habe :

; boese kostenpflichtige Sonderrufnummern sofort auflegen

exten => _.0900.,1,Congestion
exten => _.0900.,2,Hangup
exten => _.0190Z.,1,Congestion
exten => _.0190Z.,2,Hangup


In der Reihenfolge von "show dialplan" sind diese Eintraege ganz oben - so soll es sein :)



o.g. Extens sind natürlich noch mal angepasst ohne führende 0 ;)
 
vWalter schrieb:
o.g. Extens sind natürlich noch mal angepasst ohne führende 0 ;)




und schon wieder wurde ich vom Dialplan eines Besseren belehrt - die o.g. Eintraege bewirken nun ein ganz und gar von mir unaerwartetes drastisches Verhalten :

EGAL, welche Nummer ich wähle - es wird sofort "Congestion" ausgelöst.


Macht der führende "." solche Sachen ??? Wird hier eine Regel angewendet :

Nimm jede Nummer, die kommt, egal, ob das, was nach dem Punkt auch dabei ist oder nicht.

Etwas ratlos der vielen Fallstricke dreinschauend ...

Gruss
Walter :noidea:
 
Ein '.' kann nur am ENDE eines Pattern stehen.
 
wenn vWalter endlich einmal die ihm nun schon mehrfach in diesem Thread genannten Links lesen würde, damit er das Prinzip der Patterns versteht, und vor allem, was die nicht-numerischen Zeichen in Pattern bewirken, könnten wir uns diese ganze Diskussion hier sparen.
 
betateilchen schrieb:
wenn vWalter endlich einmal die ihm nun schon mehrfach in diesem Thread genannten Links lesen würde, damit er das Prinzip der Patterns versteht, und vor allem, was die nicht-numerischen Zeichen in Pattern bewirken, könnten wir uns diese ganze Diskussion hier sparen.


Fuer betateilchen :

Nichts fuer ungut, aber die wenigsten hier in diesem Forum haben die komplette englische Anleitung komplett gelesen, übersetzt und sofort verstanden - sonst waere dieses Forum überflüssig .....


Für Maik :
Der Punkt darf selbstverständlich am Anfang stehen - er ist der "Universaljoker". Wenn am Anfang, dann hat er absolute Priorität 1 oder zwischendurch - dann fängt die Priorität 1 ab dort an :
z.B. : 00.123456789
bewirkt, dass jede Nummer mit mindestens 00 am Anfang hier gewählt wird, alles weitere wird ignoriert

Wegen dieser Eigenschaft macht es keinen Sinn, nach dem Punkt noch etwas dazuzuschreiben - aber es spricht eben nichts dagegen, den Punkt an den Anfang zu setzen .... dem Asterisk ist's egal, er versucht dann zu wählen, was kommt.
 
vWalter schrieb:
Fuer betateilchen :

Nichts fuer ungut, aber die wenigsten hier in diesem Forum haben die komplette englische Anleitung komplett gelesen, übersetzt und sofort verstanden - sonst waere dieses Forum überflüssig .....


Für Maik :
Der Punkt darf selbstverständlich am Anfang stehen - er ist der "Universaljoker". Wenn am Anfang, dann hat er absolute Priorität 1 oder zwischendurch - dann fängt die Priorität 1 ab dort an :
z.B. : 00.123456789
bewirkt, dass jede Nummer mit mindestens 00 am Anfang hier gewählt wird, alles weitere wird ignoriert

Wegen dieser Eigenschaft macht es keinen Sinn, nach dem Punkt noch etwas dazuzuschreiben - aber es spricht eben nichts dagegen, den Punkt an den Anfang zu setzen .... dem Asterisk ist's egal, er versucht dann zu wählen, was kommt.



jetzt wuerden einige a la Betateilchen sicher fragen, wieso ich dann die weiter o.g. Probleme hatte - nun, man lernt halt dazu ....langsam zwar, aber naja ;-)
 

Neueste Beiträge

Statistik des Forums

Themen
244,872
Beiträge
2,219,913
Mitglieder
371,594
Neuestes Mitglied
AA-Idealbau
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.