${EXTEN}:2 geht im macro nicht

Knaut

Neuer User
Mitglied seit
13 Mai 2007
Beiträge
63
Punkte für Reaktionen
0
Punkte
0
Hallo,

will dem macro ein verkürzte Rufnummer für eine Mailbox mit geben:
Code:
exten => _1234,1,Macro(ruf_mail|Zap/g3/${EXTEN}|${EXTEN}:2|18)

Es wird aber nicht 34 aufgelöst sondern 1234:2

Wie stelle ich das an.

Würde das Ganze auch mit einer Auswahl [37] wie folgt gehen?
Code:
exten => _12[37]4,1,Macro(ruf_mail|Zap/g3/${EXTEN}|${EXTEN}:2|18)
 
Die richtige Sytax ist:
${foo:offset:length}

also
Code:
${EXTEN:2}

Gruss,
Sachmet.
 
manchmal ist man(n) ja blind.

aber das hier bekomme ich auch nicht hin:
Code:
;;; alle Rufnummern 10-99
exten => _56XX,1,Macro(ruf_normal|Zap/g3/${EXTEN}|18)

;;; mit Mailbox nur 5630 + 5670
exten => _56[37]0,1,Macro(ruf_mail|Zap/g3/${EXTEN}|${EXTEN:2}|18)

Anrufe auf 5670 gehen immer auf das erste macro, mit 56XX


Wo liegt der Hund begraben?
 
Hi Knaut,

Asterisk haelt sich nicht an die von dir festgelegte Reihenfolge der extensions...

Das is auch voellig normal, da asterisk beim parsen selbst festlegt in welcher Reihenfolge die jeweiligen extensions des jeweiligen Contextes abgearbeitet werden sollen...

Du solltest die 2te Extension in einen weiteren Context packen und diesen dann als allererstes Includen, und dann alle weiteren Extensions des Contextes festlegen.

So:

Code:
[default]
Include => Context2

exten => _56XX,1,Macro(ruf_normal|Zap/g3/${EXTEN}|18)

[Context2]
exten => _56[37]0,1,Macro(ruf_mail|Zap/g3/${EXTEN}|${EXTEN:2}|18)

So kannst du sicher sein das zuerst die extension aus Context2 greift.

Gruß cheGGo
 
Kostenlos!

Statistik des Forums

Themen
248,453
Beiträge
2,291,807
Mitglieder
377,873
Neuestes Mitglied
chirri