Gespräch weitervermitteln

joe-voip

Neuer User
Mitglied seit
20 Apr 2004
Beiträge
55
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich hab da wohl ein Verständnisproblem, leider finde ich nicht die passenden Suchbegriffe. Hab schon nach DTMF und Durchwahl gesucht, doch habe ichnnicht die passende Antwort gefunden. Vermutlich ist es zu trivial, vielleicht hilft mir jemand kurz auf die Sprünge.

Wenn jemand unseren Sipagte Anschluss anruft kann ich Ihn direkt über chan_capi und unsere Telefonanlage zur Zentrale verbinden. Schöner wäre es jedoch wenn es so ginge:

1. Ruf kommt bei Asterisk an
2. Anrufer bekommt mit Playback mitgeteilt, dass er die Durchwahl wählen soll oder warten soll um mit der Zentrale verbunden zu werden
3. Anrufer gibt die Durchwal "231" ein und wird mit dem Teilnehmer verbunden. Ist dort besetzt oder nimmt niemand ab, kommt wieder eine Ansage und er wird mit der Zentrale verbunden.

Ich bin aber zu doof die Stelle in der Doku zu finden, wie man auf DTMF wartet und sicherzustellen dass diese auch 3stellig sein soll.

Danke schonmal, Jochen
 
3 stellige Nummer, dann wählen?

Hallo,

ich bin mittlerweile etwas weitergekommen.
Aber wie kann ich Asterisk sagen, dass er nach 3 stellen automatisch die Nummer wählt ohne dass der Anrufer die Raute drücken muss?
Gleichzeitig sollte die "0" abgefangen werden, damit nicht über die Anlage rausgewählt werden kann.

Hier die extension:

Code:
;
; Static extension configuration files, used by
; the pbx_config module.
;
; The "General" category is for certain variables.  
;
[general]
static=yes       ; These two lines prevent the command-line interface
writeprotect=yes ; from overwriting the config file. Leave them here.


[default]
exten => 12345671,Goto(sipgate-in,s,1)
language=de

;SIP Telefone die angerufen werden


;Heiss
exten => 301,1,Dial(SIP/301,30)
;exten => 301,2,Voicemail(u301)
;exten => 301,102,Voicemail(b301)
;exten => 301,103,Hangup

;IPunkt
exten => 302,1,Dial(SIP/302,30)
;exten => 302,2,Voicemail(u302)
;exten => 302,102,Voicemail(b302)
;exten => 302,103,Hangup

;
; Define a way so that users can dial a number to reach
; voicemail. Call the VoicemailMain application with the
; number of the caller already passed as a variable, so
; all the user needs to do is type in the password.
;

exten => 999,1,VoicemailMain(${CALLERIDNUM})



;
; Dial IN ISDN/MSN Teilnehmer, dann Voicemail
; (Von der Telefonanlage zu Asterisk/SIP telefonen)
;=============================================
;huenersdorff
;exten => 170,1,SetCIDName(Testnummer VoIP) 
exten => 170,1,Dial(SIP/[email protected],30,trg) 

;Heiss
exten => 171,1,Dial(SIP/301,30,Ttr) 
;exten => 171,2,Voicemail(u301)
;exten => 171,102,Voicemail(b301)
;exten => 171,103,Hangup

;IPunkt
exten => 172,1,Dial(SIP/302,30,Ttr) 
;exten => 172,2,Voicemail(u302)
;exten => 172,102,Voicemail(b302)
;exten => 172,103,Hangup



; SIP ueber ISDN => zur Anlage (alle 200er Nummern)
; (SIP Telefone zur Telefonanlage über jeweilige MSN)
;====================================================

[171]
exten => _1X.,1,Dial,CAPI/171:bBYEXTENSION
exten => _2X.,1,Dial,CAPI/171:bBYEXTENSION

[172]
exten => _1X.,1,Dial,CAPI/172:bBYEXTENSION
exten => _2X.,1,Dial,CAPI/172:bBYEXTENSION

[sipgate-in] 
; Sipgate IN
; (Vom Internet[Sipgate] zu Asterisk weiter per ISDN)
;=============================================
exten => s,1,SetLanguage(de)
exten => s,1,SetVar(NR=)
exten => s,2,Background(hue-weiterleitung)	; Bitte Nummer wählen gefolgt von Raute oder warten zur Zentrale
exten => s,3,ResponseTimeout(8)			; Dann extension "t" weiterleiten an Zentrale
exten => s,4,WaitExten				; Nummer entegegennehmen

exten => _X,1,SetVar(NR=${NR}${EXTEN})		; Nummer einlesen
exten => _X,2,Goto(s,3)
exten => *,1,Goto(s,1)

exten => #,1,Dial,CAPI/170:${NR}			; Nummer waehlen

exten => #,2,GotoIf($[${DIALSTATUS} = NOANSWER]?4)
exten => #,3,GotoIf($[${DIALSTATUS} = CONGESTION]?4:5)
exten => #,4,Playback(vm-nobodyavail)
exten => #,5,Goto(s,1)

;Weiterleiten an Zentrale
exten => t,1,Dial,CAPI/170:9

Bitte gebt mir mal einen Schubs in die richtige Richtung.

Danke, Jochen
 
ich bin auch interessiert.
es tummeln sich doch sonst immer so viele "Wissende" hierum ;) ;)

aber joe-voip bedenke andere müssen noch arbeiten warte mal auf heute abend da ist bestimmt mehr los ;)
 
... kleiner Tip:
Versuchs doch mal mit der Stringlänge. Prüfe Stringlänge = 3 dann Goto(...)

GotoIf($[${LEN(${NR})} = 3]?true|false)

... oder so


Tucca
 
Danke für den Tipp, habs jetzt so:

Code:
; Sipgate IN
; (Vom Internet[Sipgate] zu Asterisk weiter per ISDN)
;=============================================
exten => s,1,SetLanguage(de)
exten => s,2,SetVar(NR=)
exten => s,3,Background(hue_weiterleitung)	; Bitte Nummer wählen gefolgt von Raute oder warten zur Zentrale
exten => s,4,ResponseTimeout(10)			; Dann extension "t" weiterleiten an Zentrale
exten => s,5,WaitExten				; Nummer entegegennehmen
exten => s,6,Dial,CAPI/170:${NR},30		; Nummer waehlen

exten => _X,1,SetVar(NR=${NR}${EXTEN})		; Nummer einlesen
exten => _X,2,GotoIf($[${LEN(${NR})} = 3]?s|6); Schauen ob Laenge 3


;Weiterleiten an Zentrale
exten => t,1,Dial,CAPI/170:9

Geht erst mal.
Kann man aber bestimmt noch optimieren.

Gruß, Jochen
 
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.