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

Normaler Anruf klingelt, anonymer Anrufer klingelt nicht!

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von mahfm, 13 Sep. 2008.

  1. mahfm

    mahfm Neuer User

    Registriert seit:
    2 Mai 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Leimen
    ich habe ein sehr seltsames Problem:

    An meinem O2 Router hängt ein Asterisk Server. Im Server ist eine ISDN Karte (HFC) eingebaut, an der eine alte Eumex angeschlossen ist.
    Code:
    servdbox*CLI> core show version
    Asterisk 1.4.21.1-BRIstuffed-0.4.0-RC3b built by root @ servdbox on a i686 running Linux on 2008-09-05 05:50:20 UTC
    
    Eigentlich funktioniert soweit alles. Man kann Rauswählen, eingehende Anrufe klingeln an allen Telefonen der Eumex. Aber: eingehende Rufe klingeln nicht, wenn es Anrufe mit unterdrückter Rufnummer sind!

    Hier die entsprechenden Abschnitte aus extensions.conf:

    Code:
    [o2-123456]
    exten => s,1,Set(GewaehlteNr="123456")
    include => eingehend-1
    include => eingehend-2
    
    [eingehend-1]
    exten => s,2,NoOp(Anruf von ${CALLERID(num)})
    exten => s,3,NoOp(Anruf ueber ${GewaehlteNr})
    exten => s,4,Goto(${CALLERID(num)},1)
    
    [eingehend-2]
    exten => anonymous,1,AGI(weiterleitung.pl,anrufer=${EXTEN},gewaehlte_nr=${GewaehlteNr})
    exten => anonymous,2,Dial(${dialstr},180,r)
    exten => _X.,1,AGI(weiterleitung.pl,anrufer=${EXTEN},gewaehlte_nr=${GewaehlteNr})
    exten => _X.,2,Dial(${dialstr},180,r)
    
    Das AGI Script "weiterleitung.pl" bestimmt dabei aufgrund der Uhrzeit, des Wochentages, des Anrufers und der angerufenen Nummer, ob und an welche Telefone der Anruf weitergeleitet werden soll.

    Wenn man einen eingehenden Anruf mit unterdrückter Rufnummer im CLI beobachtet, sieht das so aus:

    Code:
       -- Executing [s@o2-123456:1] Set("SIP/RETCS.........-.........", "GewaehlteNr="123456") in new stack
        -- Executing [s@o2-123456:2] NoOp("SIP/RETCS.........-.........", "Anruf von anonymous") in new stack
        -- Executing [s@o2-123456:3] NoOp("SIP/RETCS.........-.........", "Anruf ueber 123456") in new stack
        -- Executing [s@o2-123456:4] Goto("SIP/RETCS.........-.........", "anonymous|1") in new stack
        -- Goto (o2-123456,anonymous,1)
        -- Executing [anonymous@o2-123456:1] AGI("SIP/RETCS.........-.........", "weiterleitung.pl|anrufer=anonymous|gewaehlte_nr=123456") in new stack
        -- Launched AGI Script /var/lib/asterisk/agi-bin/weiterleitung.pl
    ...
       -- AGI Script weiterleitung.pl completed, returning 0
        -- Executing [anonymous@o2-123456:2] Dial("SIP/RETCS.........-.........", "ZAP/g1/111111&SIP/0049176.........@o2a|180|r") in new stack
        -- Requested transfer capability: 0x00 - SPEECH
        -- Called g1/111111
        -- Called 0049176.........@o2a
    
    Das wars. Von den beiden im DIAL Kommando angerufenen Nummern klingelt nur das Handy. Das ZAP-Telefon bleibt still!?

    Wenn man den gleichen Anruf mit eingeschalteter Anruferkennung macht sieht das so aus:

    (Der Teil nach Abschluss des AGI-Scripts)
    Code:
        -- AGI Script weiterleitung.pl completed, returning 0
        -- Executing [0176........@o2-123456:2] Dial("SIP/RETCS.........-.........", "ZAP/g1/111111|180|r") in new stack
        -- Requested transfer capability: 0x00 - SPEECH
        -- Called g1/111111
        -- Zap/1-1 is ringing
    
    Und wie auf der Console bei "ZAP/1-1 is ringing" angegeben: Das Telefon klingelt.

    Ihr werdet richtig bemerken, dass im zweiten Bespiel nur eine Telefonnummer im DIAL Kommando auftaucht. Das liegt daran, dass ich die Tests von meinem eigenen Handy aus mache, und "weiterleitung.pl" einen Anruf nie an die Nummer weiterleitet, von der der Anruf ausgeht. Aber das Phänomen ist unabhängig von der Anzahl der Nummern im DIAL-Kommando.

    Wahrscheinlich stehe ich nur fürchterlich auf dem Schlauch und habe etwas grundsätzliches übersehen, aber ich komme einfach nicht drauf.
    Hat jemand eine Idee?
     
  2. mahfm

    mahfm Neuer User

    Registriert seit:
    2 Mai 2008
    Beiträge:
    13
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Leimen
    Habe inzwischen selbst die Lösung gefunden:
    Anscheinend mag es ZAP nicht, wenn die Callerid nicht nummerisch ist.
    Vor dem DIAL habe ich deswegen irgendeine Zahl als Callerid gesetzt:
    Code:
    [eingehend-2]
    exten => anonymous,1,AGI(weiterleitung.pl,anrufer=${EXTEN},gewaehlte_nr=${GewaehlteNr})
    exten => anonymous,2,Set(CALLERID(num)=0) 
    exten => anonymous,3,Dial(${dialstr},180,r)
    
    Dann funktioniert ist.