Länge der gewählten Nummer herausfinden

gkservice

Neuer User
Mitglied seit
21 Feb 2005
Beiträge
63
Punkte für Reaktionen
0
Punkte
0
Hallo,
weis jemand, wie man herausfinden kann welche Länge (Anzahl der Digest) eine Rufnummer hat, die eingegeben wurde.
Um Kurzwahlen via DB zu realisieren muss ich wissen ob der Teilnehmer 4 Stellen oder mehr als 4 Stellen eingegeben hat.

Besten Dank
 
Geht ganz einfach:

exten => _XXXXX.,1,Dial(IrgendwasAnderes)
exten => _XXXX,1,Dial(Kurzwahl)
 
das hatte das auch schon überlegt, nur hilft das nicht so richtig. Was ich benötige muss wie folgt aussehen.

eine GotoIf funktion die ungefähr folgendes macht:

if nummer = 4 stellen dann dial 123
if nummer > 4 stellen dann dial 456
 
Code:
exten => s,1,GotoIf($[${LEN(${NUMMER})} = 4]?2:4)
exten => s,2,Dial(123)
exten => s,3,Goto(5)
exten => s,4,Dial(456)
exten => s,5,NoOp
 
warum sollte das nicht gehen ?

exten => _XXXX,1,Dial 123
exten => _XXXXX.,1,Dial 456

Bei mir funktioniert das wunderbar.
 
klar geht das, aber er will die komplizierte loesung
 
na wenn jemand die nachfolgende Konfig einfach hibekommt, dann nehme ich das auch.:-)
Code:
;add extension for calling outbound from extern
exten => 999,1,Answer
exten => 999,n,DBGet(Name=whitelist/${CALLERID:1})
exten => 999,n,BackGround(beep)
exten => 999,n,Read(number)
exten => 999,n,GotoIf($["${number}"=""]?6:7)
exten => 999,n,Hangup
exten => 999,n,GotoIf($[${LEN(${number})} = 4 ]?8:12)
exten => 999,n,DBGet(short=kurzwahl/${number})
exten => 999,n,GotoIf($["${short}"=""]?11)
exten => 999,n,Dial(SIP/${short}@provider,60,trg)
exten => 999,n,Hangup
exten => 999,n,Dial(SIP/${number}@provider,60,trg)
exten => 999,n+90,BackGround(beep)
exten => 999,n,Hangup

und zwar geht es darum einen eingehenden Anruf auf der 999, auszuwerten [read(number)] den gegen eine whilist zu prüfen, dann prüfen ob es eine kurzwahl ist und dann das Gespräch zu tätigen.
 
In meinem Dialplan wird geprüft:

1.) Ist der Anrufer bekannt ( das geht über einen LDAP Server, aus dem der Name gelesen wird)

wenn ja(1):
2a) Darf der Anrufer zu jeder Zeit anrufen ? (diese Information kommt auch vom LDAP-Server, falls der User gefunden wurde) Wenn ja -> Geht es mit 4 weiter

wenn nein(1) :
2b) Ist der Anruf innerhalb eines Uhrzeitfensters ?

wenn nein(2b):
3a Gesprcäh auf die Mailbox schicken "nicht erreichbar"

wenn ja (2b)

4) Ist für die gewünschte Zielrufnummer vom Inhabe eine temporäre Umleitung oder ein temporäres "Do not disturb" eingestellt ?

wenn ja(4):
entsprechende Anwahl des Umleitungsziels oder gewünschte Reaktion auf "Do not disturb"

wenn nein(4)
Zielrufnummer anwählen
[hr:11f4522dec]

Wie Du siehst, ist nahezu alles möglich. Ich halte es aber nicht für sinnvoll, Dir hier komplette Lösungen zu präsentieren. Dein Lernerfolg wird viel höher sein, wenn Du Dir sowas selbst erarbeitest. Hinweise und viele Beispiele dazu findest Du auf http://www.voip-info.org
 
Kostenlos!

Statistik des Forums

Themen
248,526
Beiträge
2,293,571
Mitglieder
378,031
Neuestes Mitglied
Horlia