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

Eingehende ISDN Anrufe abweisen

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von FabianWolter, 7 Jan. 2006.

  1. FabianWolter

    FabianWolter Neuer User

    Registriert seit:
    1 Jan. 2006
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich habe ein AGI-Script, welches einen Callback initiiert. Dieses wird bei einem Anruf aufgerufen. Ist das Script abgearbeitet, soll der Anrufer zur Bestätigung abgewiesen werden, so dass er ein Besetzt o.Ä. hört.

    Dies soll natürlich geschehen, ohne dass der Asterisk abnimmt, sonst könnte man ja einfach Playtones() verwenden.

    Folgendes Konstrukt lässt beim Anrufer leider weiterhin den Ringtone ertönen:

    Code:
    exten => s,1,AGI(callback.sh)
    exten => s,2,Busy()
    Code:
      == ISDN1: Incoming call '01626xxxxxx' -> '5248yyyy'
        -- Executing GotoIf("CAPI/ISDN1/5248yyyy-0", "0?callback-withoutcallid|s|1:callback-withcallid|s|1") in new stack
        -- Goto (callback-withcallid,s,1)
        -- Executing AGI("CAPI/ISDN1/5248yyyy-0", "callback.sh") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/callback.sh
        -- AGI Script callback.sh completed, returning 0
        -- Executing Busy("CAPI/ISDN1/5248yyyy-0", "") in new stack
      == Spawn extension (callback-withcallid, s, 2) exited non-zero on 'CAPI/ISDN1/5248yyyy-0'
      == ISDN1: CAPI Hangingup
    Hat dazu jemand eine Idee?

    Ich verwende chan_capi-cm 0.6.2

    Gruß Fabian
     
  2. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    einfach Hangup() verwenden? Und ggf. noch ein kurzes Playback von "danke.gsm" oder sowas?
     
  3. FabianWolter

    FabianWolter Neuer User

    Registriert seit:
    1 Jan. 2006
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das funktioniert leider auch nicht und führt zu der selben Ausgabe wie bei Congestion (Nur eben mit Hangup)

    Gruß Fabian
     
  4. chaos2000

    chaos2000 Aktives Mitglied

    Registriert seit:
    22 Aug. 2004
    Beiträge:
    2,028
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    LE
    ich habe noch ein Ringing

    Code:
    exten => s,1,Wait(1)
    exten => s,n,Ringing
    exten => s,n,AGI(callback.php)
    exten => s,n,SetVar(PRI_CAUSE=1)
    exten => s,n,Hangup
    
     
  5. FabianWolter

    FabianWolter Neuer User

    Registriert seit:
    1 Jan. 2006
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Funktioniert leider auch nicht:

    Code:
       -- Executing Wait("CAPI/ISDN1/5248xxxx-2", "1") in new stack
        -- Executing Ringing("CAPI/ISDN1/5248xx-2", "") in new stack
        -- Executing AGI("CAPI/ISDN1/5248xxxx-2", "callback.sh") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/callback.sh
        -- AGI Script callback.sh completed, returning 0
        -- Executing SetVar("CAPI/ISDN1/5248xxxx-2", "PRI_CAUSE=1") in new stack
        -- Executing Hangup("CAPI/ISDN1/5248xxxx-2", "") in new stack
      == Spawn extension (callback-withcallid, s, 5) exited non-zero on 'CAPI/ISDN1/5248xxxx-2'
      == ISDN1: CAPI Hangingup
    
    Der Anrufer hört weiterhin den Ringtone.

    Gruß Fabian
     
  6. cibi

    cibi Mitglied

    Registriert seit:
    6 Apr. 2005
    Beiträge:
    561
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Ba-Wü
    Normalerweise sollte schon
    SetVar(PRI_CAUSE=1)
    Hangup
    reichen.

    Klingelt vielleicht noch ein weiteres ISDN Telefon / Programm wenn man diese MSN anruft?
    Dann funktioniert das nämlich nicht.
     
  7. FabianWolter

    FabianWolter Neuer User

    Registriert seit:
    1 Jan. 2006
    Beiträge:
    35
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das war der Fall. Es hing noch eine TK-Anlage parallel zum Asterisk am S0-Bus, welche ebenfalls auf der Nummer gehorcht hat.

    Nach dem Abklemmen der Anlage und folgendem Dialplan:

    Code:
    exten => s,1,Ringing()
    exten => s,2,Wait(5)
    exten => s,3,AGI(callback.sh)
    exten => s,4,Set(PRI_CAUSE=1)
    exten => s,5,Hangup()
    Ertönt beim Anrufer 5 Sek lang der Ringtone und dann nach kommt eine Ansage von Vodafone: "Die gewählte Nummer ist nicht vergeben" und T-Com meint "Kein Anschluss unter dieser Nummer".

    Das finde ich irgendwie lustig, dass man so eine Ansage provozieren kann ;-)

    Mit PRI_CAUSE=21 wird der Anruf abgwiesen. Das klappt super.

    Gruß Fabian