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

Ankommende Anrufe

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von realgoth, 3 Sep. 2004.

  1. realgoth

    realgoth Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi!

    Ich möchte einen Anruf von extern auf der MSN 1234 (Zap/g1) zuerst auf dem Sipphone (SIP/5001) klingeln lassen (z.B. 10 Sek.). DANACH soll ZUSÄTZLICH das interne ISDN-Telefon (auch MSN 1234, aber ZAP/g2) klingeln (10 Sek.).

    Sollte das Sipphone (SIP/5001) nicht online sein, soll nur das interne ISDN-Telefon (Zap/g2) klingeln (20 Sek).

    Auf der 2. Leitung (MSN=2345, Zap/g1) sollen ISDN (MSN=2345, Zap/g2)und Sipphone (SIP/6001) für 20 Sek. klingeln. Ist das Sipphone aus, klingelt halt nur das interne ISDN.

    Danach soll in allen Fällen die jeweilige Mailbox rangehen.

    Am liebsten wäre es mir, wenn man das ausserdem alles in EIN Makro bekäme, das man z.B. aus dem Kontext eingehender Anrufe mit

    exten => ${GOTH-MSN},1,Macro(inbound,GOTH,1) ; MUTE ISDN first 10 sec.

    exten => ${LADY-MSN},1,Macro(inbound,LADY,0); Ring ISDN too

    aufruft...

    Im Makro kann man dann ja mit "${ARG1}-NAME", etc. weitere für den User definierten Variablen verwenden, oder bin ich da ganz schief gewickelt?

    Hintergrund: Wenn ich nicht zu Hause bin, aber per Sipphone auf dem Asterisk eingeloggt, soll meine LADY nicht gleich durch das klingelnde Telefon gestört werden.

    Goth
     
  2. Raffi

    Raffi Neuer User

    Registriert seit:
    25 Juli 2004
    Beiträge:
    179
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Klingeln 10 Sekunden auf Sip Telefon, falls Sip nicht angemeldet spring gleiche weiter ....

    exten => 1/1234,1,Dial(SIp/5001,10)

    Und dann Sip und Zap, falls Sip nicht da klingelt nur Zap ;-)

    exten => 2/1234,2,Dial(Sip/5000&Zap/g2),20)

    Raffi
     
  3. realgoth

    realgoth Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dann klingelt das insgesamt aber 30 Sek., wenn das SIP online ist. Soll aber nur 20.
     
  4. Raffi

    Raffi Neuer User

    Registriert seit:
    25 Juli 2004
    Beiträge:
    179
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ach soo, Überlesen ;-)

    exten => 1/1234,1,Dial(SIp/5001,10)
    exten => 1/1234,2,Dial(Sip/5000&Zap/g2),10)
    exten => 1/1234,202,Dial(Zap/g2),20)

    Geht aber nur mit installiertem bristuff (priority +201 if Channel unavailable)

    Raffi
     
  5. realgoth

    realgoth Neuer User

    Registriert seit:
    24 Mai 2004
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So: Ich habe nun ein Makro geschrieben, was das Ganze m.E. schön macht und auch ohne bri-stuff funktioniert:

    Code:
    [globals]
    
    INTERN=Zap/g2
    EXTERN=Zap/g1
    
    USER1-SIP=SIP/1111
    USER1-MSN=1111111 ; extern wie auch intern
    USER1-MB=11
    
    USER2-SIP=SIP/2222
    USER2-MSN=2222222 ; extern wie auch intern!
    USER2-MB=12
    
    [macro-inbound]
    
    ;   ${ARG1} - NAME
    ;   ${ARG2} - 1= ohne ISDN, 0= mit ISDN in den ersten 10 Sec.
    
    exten => s,1,ChanIsAvail(${${ARG1}-SIP})
    exten => s,2,GotoIf(${ARG2}=0?20:30)
    exten => s,20,Dial(${${ARG1}-SIP}&${INTERN}/${${ARG1}-MSN},20,tr) ; mit ISDN / 20 Sec
    exten => s,21,Goto(s-${DIALSTATUS},1)
    
    exten => s,30,Dial(${${ARG1}-SIP},10,tr)                          ; ohne ISDN / 10 Sec
    exten => s,31,Dial(${${ARG1}-SIP}&${INTERN}/${${ARG1}-MSN},10,tr) ; mit ISDN / 10 Sec
    exten => s,32,Goto(s-${DIALSTATUS},1)
    
    exten => s,102,Dial(${INTERN}/${${ARG1}-MSN},20,tr)               ; kein SIP? ISDN only!
    exten => s,103,Goto(s-${DIALSTATUS},1)
    
    exten => s-NOANSWER,1,Voicemail(u${${ARG1}-MB})                 ; If unavailable, send to voicemail w/ unavail announce
    exten => s-CHANUNAVAIL,1,Voicemail(u${${ARG1}-MB})              ; If unavailable, send to voicemail w/ unavail announce
    exten => s-BUSY,1,Voicemail(b${${ARG1}-MB})                     ; If busy, send to voicemail w/ busy announce
    exten => s-.,1,Goto(s-NOANSWER,1)                               ; Treat anything else as no answer
    
    exten => a,1,VoicemailMain(${ARG1})                             ; If they press *, send the user into VoicemailMain
    
    [default]
    
    exten => ${USER1-MSN},1,Macro(inbound,USER1,0) ; Achtung: Im Argument: "USERX" nicht "${USERX}" !!!
    exten => ${USER2-MSN},1,Macro(inbound,USER2,0)
    
    

    Anmerkung: Am internen S0-Bus hängen die Telefone von USER1 und USER2 direkt dran. Sie haben die SELBEN MSN eingestellt, wie die Telekom-MSN sind. Somit kann man -wenn der Rechner mal platt gehen sollte- einfach umstecken und alles läuft sofort wieder!

    Viel Spass damit!