.titleBar { margin-bottom: 5px!important; }

Gespräch weitervermitteln

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von joe-voip, 24 Jan. 2005.

  1. joe-voip

    joe-voip Neuer User

    Registriert seit:
    20 Apr. 2004
    Beiträge:
    55
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  2. joe-voip

    joe-voip Neuer User

    Registriert seit:
    20 Apr. 2004
    Beiträge:
    55
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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/10000@sipgate.de,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
     
  3. traxanos

    traxanos Mitglied

    Registriert seit:
    15 Juli 2004
    Beiträge:
    486
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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 ;)
     
  4. Tucca

    Tucca Neuer User

    Registriert seit:
    14 Juli 2004
    Beiträge:
    174
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ... 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
     
  5. joe-voip

    joe-voip Neuer User

    Registriert seit:
    20 Apr. 2004
    Beiträge:
    55
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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