Was genau bewirkt _ im Dialplan?

schirmuli

Neuer User
Mitglied seit
19 Sep 2005
Beiträge
84
Punkte für Reaktionen
0
Punkte
6
Hallo,

Ich habe Heute ein merkwürdeiges Problem gehabt.

Und zwar habe ich in meiner Extensions.ael folgenden Eintrag
context eingehend {
02773123456 => {
Dial(SIP/{$EXTEN}&misdn/{$EXTEN},,Tt);
Playtones(congestion);
Congestion;
Hangup;
};
};


Aber sie funktioniert nicht, es wird eine Extension weiter unten im Plan verwendet, die eigentlich zum rauswählen gedacht ist-> gibt Loops wie´d Sau, is auch logisch;-)

wenn ich aber

context eingehend {
_02773123456 => {
Dial(SIP/{$EXTEN}&misdn/{$EXTEN},,Tt);
Playtones(congestion);
Congestion;
Hangup;
};
};


den Unterstrich setze, gehts......

Ich habe gegoogeld und hier gesucht aber leider nix gefunden!

Kann mir jemand den Unterschied erklären??

Danke und Gruß
 
Der Unterstrich teilt dem Asterisk mit, daß die folgende Extension ein Pattern ist.

In Deinem Beispiel ist der Unterstrich aus der Theorie heraus ziemlich sinnlos, da Du ja kein Pattern sondern eine feste Nummer auswerten willst. Es sei denn Du hast in Deiner extensions.ael noch irgendwo andere Pattern, die mit _0 beginnen und dies erfordert vielleicht (Spekulation) daß dann alle Auswertungen die mit 0 beginnen als Pattern gewertet werden müssen.

Allerdings habe ich das so noch nirgends gelesen - es ist nur die einzige Möglichkeit, die mir momentan dazu einfällt. Vielleicht ist es auch einfach nur ein Bug in AEL.

Dein Hinweis
Aber sie funktioniert nicht, es wird eine Extension weiter unten im Plan verwendet
deutet allerdings eher auf erstgenannte Variante hin - daß Du einfach irgendwo einen Logikfehler in Deinem Dialplan hast. Es ist die Reihenfolge der ausgewerteten Extensions unbedingt zu berücksichtigen - da ist Asterisk sehr eigen!
 
Hi Betateilchen

ich habe meinen Dialplan volgendermasen aufgebaut

Edit Guard-X: Bitte nächstes mal Code-Tags benutzen!

Code:
globals {
    ALLSIP=SIP/261&SIP/262&SIP/263;
}

context privat {
        includes {
        privat-in;
        isdn-out;
        notruf-privat;
        intern;
        mobilfunk;
        sondernummern;
        privat-out;
        };
};

context firma {
        includes {
        firma-in;
        isdn-out;
        intern;
        mobilfunk;
        sondernummern;
        firma-out;
        };
};

context privat-in {
        208xxx => {
                Dial(SIP/261&IAX2/[email protected]/${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
    02772208xxx => {
                Dial(SIP/261&IAX2/[email protected]/${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };

};

context firma-in {
    _02773919xxxx => {
                Dial(SIP/262&IAX2/[email protected]/${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
};

context intern {
        _260 => {
            Dial(${ALLSIP},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
        _2[6-9]X => {
            Dial(SIP/${EXTEN},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
        _2[0-5]X => {
            Dial(IAX2/[email protected]/${EXTEN},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
        _4XX => {
            Dial(IAX2/[email protected]/${EXTEN},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
};


context isdn-out {
        _2590. => {
            Dial(IAX2/[email protected]/${EXTEN},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
        _259Z. => {
            Dial(IAX2/[email protected]/25902772${EXTEN:3},,tT);
            Playtones(congestion);
            Congestion;
            Hangup;
            };
};

context mobilfunk {
            _01[5-7]. => {
                    Dial(IAX2/[email protected]/${EXTEN},,tT);
                    Playtones(congestion);
                    Congestion;
                    Hangup;
                    };
};


context notruf-privat {
            _110 => {
                    Dial(SIP/02772208xxx/${EXTEN},,tT);
                    Playtones(congestion);
                    Congestion;
                    Hangup;
                    };
            _112 => {
                    Dial(SIP/02772208xxx/${EXTEN},,tT);
                    Playtones(congestion);
                    Congestion;
                    Hangup;
                    };

};


context sondernummern {
            _018. => {
                    Dial(IAX2/[email protected]/${EXTEN},,tT);
                    Playtones(congestion);
                    Congestion;
                    Hangup;
                    };
            _0800. => {
                    Dial(IAX2/[email protected]/${EXTEN},,tT);
                    Playtones(congestion);
                    Congestion;
                    Hangup;
                    };

};


context privat-out {
            _01. => {
                Playback(invalid);
                Hangup;
                }
            _00. => {
                Playback(invalid);
                Hangup;
                }
            _+. => {
                Playback(invalid);
                Hangup;
                }
            _0XX. => {
                Set(CALLERID(num)=anonymous);
                Set(CALLERID(name)=anonymous);
                Dial(SIP/02772208xxx/${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
            _ZXX. => {
                Set(CALLERID(num)=anonymous);
                Set(CALLERID(name)=anonymous);
                Dial(SIP/02772208xxx/02772${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
};


context firma-out {
            _01. => {
                Playback(invalid);
                Hangup;
                }
            _00. => {
                Playback(invalid);
                Hangup;
                }
            _+. => {
                Playback(invalid);
                Hangup;
                }
            _0XX. => {
                Set(CALLERID(num)=anonymous);
                Set(CALLERID(name)=anonymous);
                Dial(SIP/02773919xxxx/${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
            _ZXX. => {
                Set(CALLERID(num)=anonymous);
                Set(CALLERID(name)=anonymous);
                Dial(SIP/02773919xxxx/02773${EXTEN},,tT);
                Playtones(congestion);
                Congestion;
                hangup;
                };
};

Du siehst, dass ich mit dem Einsatz von _ sehr unsicher binn!

Währe sehr nett wenn du mir anhand meines Planes einmal den Einsatz erklären könntest....

Danke im Vorraus!!!!

Gruß
 
Es wäre sehr nett, wenn Du zur Darstellung Deiner conf Beispiele CODE Tags verwenden würde.

Die Benutzung und Bedeutung von Dialpattern habe ich in meinem Asterisk Kurs hier im Forum erklärt. Bitte lies dort einfach mal nach. Sollten dann noch Fragen sein, kannst Du sie hier gerne nochmal etwas genauer stellen.
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
248,240
Beiträge
2,285,307
Mitglieder
377,512
Neuestes Mitglied
Dahkalo