WaitForDigits

chrisdog

Neuer User
Mitglied seit
18 Mai 2006
Beiträge
18
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich hab an mein Asterisk über mISDN ein paar Telefone angeschlossen, darunter auch zwei analoge Telefone über nen TA... An ISDN Telefonen kann ich ja vorher wählen und dann den Hörer abheben... Für die Analogteile brauch ich dieses WaitforDigits...
Aber is irgendwie dumm wenn doch mal jemand länger braucht als die 5 Sekunden die ich da angegeben hab... Zumal man dann nach der letzten Ziffer auch immer nochmal 5 Sekunden warten muss...
Und wenn ich nen Telefon direkt an das Amt anschließe dann geht das ja auch irgendwie...
Wie machen die das bei Telekom und so? Und wie habt ihr das gelöst?

btw... Kann Asterisk irgendwie Impulswahltöne erkennen?
 
chrisdog schrieb:
darunter auch zwei analoge Telefone über nen TA...

btw... Kann Asterisk irgendwie Impulswahltöne erkennen?

Die Impulse werden schon vom TA erkannt und per ISDN weitergegeben. Kommt also auf den TA drauf an.
 
Wählen funktioniert ja auch, nur während des Gesprächs, also z.B. inner Voicemail wandelt der TA ja keine Impulse mehr in dtmf um... daher die frage...
 
hallo chrisdog,

die dtmfton erkennunm bzw. pulswahlerkennung macht eigentlich dein TA.

wenn du einfach eine extension der form:;


exten => _0X.,1,Dial(mISDN/g:amt/${EXTEN:1})

machst dann sollte overlapdial auch mit deinem analogtelefon über den TA funktionieren. probier das mal.

Waitfordigits braucht man nur wenn man eine nummer nicht eindeutig zuordnen kann oder wenn der VoIP provider kein overlapdial unterstützt!
 
Hnm, bei mir is die Sache n bisschen komplizierter, würd ich nur telefonieren wollen könnt ich mein Telefon ja auch direkt anschließen ;) Ich hab mir ne kleine Extension gebastelt die erstmal schaut ob es für die Nummer nicht nen ENUM Eintrag gibt, und in Zukunft will ich das noch erweitern mit ner Überprüfung ob das ne Auslandsnummer ist um in dem Fall fwdout zu benutzen...
wie würde sich denn sowas wie
exten => _1.,1,WaitForDigits(15000,6)
exten => _1.,2,WaitForDigits(10000,9)
exten => _1.,3,WaitForDigits(4000)
verhalten? So mindestnummernlänge sind vielleicht 5 stellen,ne durchschnittliche nummer in berlin hat 8 stellen und wenn man mal auserhalb berlins telefonieren will muss man sich eben bei den letzten stellen n bisschen mehr beeilen... würde das so denn funktionieren? oder gibts nich doch ne andere möglichkeit?


Nochmal zurück zur Impulswahl... Was für TAs setzen denn Impulswahl während eines Gesprächs in dtmf um? Also die TAs die ich bisher so gesehen hab, hatten ihre nummernerkennung während des gesprächs abgeschaltet... Und wie läuft das jemand direkt nen pulswahlfon an asterisk anschließt?
 
Ist dir klar das man in der extensions.conf patterns benutzen kann ?

du kannst z.b. im selben Kontext sowas machen:


exten => _0176X.,1,Dial(SIP/provider1/${EXTEN})
exten => _0177X.,1,Dial(SIP/provider2/${EXTEN})
exten => _030X.,1,Dial(mISDN/g:eek:ut/${EXTEN})

dafür brauchst du erstmal kein waitfordigits.
 
Wenn du in das ISDN Amt wählst kannst du Digit by Digit wählen, da das im ISDN Protokoll so möglich ist. Da du aber deine Wahl über SIP abschicken willst muss deine Wahl komplett sein, da im SIP nur eine Blockwahl möglich ist. Genauso übrigens auch bei H323.

Zum Thema IWV Wahl: Wir reden hier über SIP und du möchtest das Vorkriegstelefon benutzen ;-) ? Da würde ich keine Zeit mit verschwenden...

Gruß
Olaf
 
was hat das mit patterns zu tun?
und wieso vorkriegstelefon? telefone mit impulswahl wurden bis in die 70er hergestellt, und nen voip anruf mit nem wählscheibentelefon zu machen ist doch mal richtig schick ;)

naja, zur zeit sieht die config so aus, dass nen weilchen auf nummerneingabe gewartet wird, dann wird bei e164.org und e164.arpa nach der eingegebenen nummer gesucht und dann ggf. die dort hinterlegte route oder doch über isdn zur zeit gewählt wird, und dafür, oder auch um über fwdout zu telefonieren brauchman eben schon die komplette nummer.
Und ich dachte mir, vielleicht gibts ja ne bessere möglichkeit zu prüfen, ob die nummerneingabe komplett ist als nur mit waitfordigits...
 
Das sollte nur einfach deine Frage beantworten:

Und wenn ich nen Telefon direkt an das Amt anschließe dann geht das ja auch irgendwie...
Wie machen die das bei Telekom und so?

OK...gebe zu das das schon einen gewissen Charme hat mit dem "Vorkriegsmodel" ! ;-)
 
In diesen Fällen musst du das schon mit waitfordigits machen.. aber ich würde trotzdem die patterns von asterisk ausnutzen.

Ich verstehe nämlich nicht wozu du mehrfach waitfordigits aufrufst und warum dein timeout so extrem hoch ist.

Machs doch einfach so:

;hier wartest du auf evtl. nachfolgende ziffern, wobei nach der letzten gewählten ziffer maximal
;noch 4 sekunden gewartet wird
[first]
exten => _1.,1,waitfordigits(4000)
exten => _1.,1,goto(match-patterns|${EXTEN:1}|1) ; wir schneiden die 1 ab

[match-patterns]
exten => _00XX.,1,Dial(IAX2/fwdout) ; 00 also ausland
exten => _X.,1, ... ; erstmal nen enum abfrage .. usw.
exten => _X.,n, ... ; finally über isdn
 
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.