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

FreePBX: Anmelden an der Queue

Dieses Thema im Forum "FreePBX, TrixBox (Asterisk@Home)" wurde erstellt von kozzah., 2 Okt. 2008.

  1. kozzah.

    kozzah. Neuer User

    Registriert seit:
    2 Okt. 2008
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich arbeite gerade an einem VoIP-Server auf Debian-Basis (Lenny), mit Asterisk und FreePBX zur Konfiguration, das Resultat sollte demnach etwas Trixbox-ähnliches sein, deshalb poste ich hier.

    Vorab der Versionsstand:
    ---
    Asterisk: 1.4.21.2
    Asterisk-Addons: 1.4.7
    FreePBX: 2.5.0.0
    ---

    Das System steht soweit, eigentlich klappt auch alles wie ich es mir vorstelle, eine Queue wurde eingerichtet die nacheinander SIP-Clients anklingelt (rmmemory). Allerdings sollen diese sich bequem aus der Queue an- und abmelden können. Nur scheint nirgendwo dokumentiert zu sein, wie das ablaufen müsste.
    Wenn ich die Clients dort statisch eintrage, klappt das auch - allerdings mit Nebenwirkungen: Der Anrufer hört nichts, kein Freizeichen und auch keine Warteschleifenmusik, bis der zweite in der Queue angerufen wird.

    Ich komme hier leider nicht wirklich weiter.

    Meine Frage also:

    Wie melde ich mich mit einem SIP-Client an der Queue an?
     
  2. kozzah.

    kozzah. Neuer User

    Registriert seit:
    2 Okt. 2008
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Nachtrag:

    Ich habe inzwischen herausgefunden, wie die Anmeldung funktionieren sollte; Die Nummer der Queue gefolgt von einem *. Leider funktioniert das nicht, im Folgenden die Ausgabe der Asterisk-Konsole:

    -----
    -- Executing [500*@from-internal:1] Macro("SIP/11-093db678", "agent-add|500|") in new stack
    -- Executing [s@macro-agent-add:1] Wait("SIP/11-093db678", "1") in new stack
    -- Executing [s@macro-agent-add:2] Macro("SIP/11-093db678", "user-callerid|SKIPTTL") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/11-093db678", "AMPUSER=11") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/11-093db678", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/11-093db678", "1|Set|REALCALLERIDNUM=11") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/11-093db678", "AMPUSER=11") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/11-093db678", "AMPUSERCIDNAME=Tester2") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/11-093db678", "0?report") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/11-093db678", "AMPUSERCID=11") in new stack
    -- Executing [s@macro-user-callerid:8] Set("SIP/11-093db678", "CALLERID(all)="Tester2" <11>") in new stack
    -- Executing [s@macro-user-callerid:9] Set("SIP/11-093db678", "REALCALLERIDNUM=11") in new stack
    -- Executing [s@macro-user-callerid:10] ExecIf("SIP/11-093db678", "0|Set|CHANNEL(language)=") in new stack
    -- Executing [s@macro-user-callerid:11] GotoIf("SIP/11-093db678", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,20)
    -- Executing [s@macro-user-callerid:20] NoOp("SIP/11-093db678", "Using CallerID "Tester2" <11>") in new stack
    -- Executing [s@macro-agent-add:3] Read("SIP/11-093db678", "CALLBACKNUM|agent-login||||") in new stack
    -- User disconnected
    == Spawn extension (macro-agent-add, s, 3) exited non-zero on 'SIP/11-093db678'
    -----

    Und hier der entsprechende Abschnitt in der extensions_additional.conf:


    -----
    [macro-agent-add]
    include => macro-agent-add-custom
    exten => s,1,Wait(1)
    exten => s,n,Macro(user-callerid,SKIPTTL)
    exten => s,n(a3),Read(CALLBACKNUM,agent-login,,,,)
    exten => s,n,GotoIf($["${CALLBACKNUM}" != ""]?a7)
    exten => s,n(a5),Set(CALLBACKNUM=${AMPUSER})
    exten => s,n,ExecIf($["${CALLBACKNUM}" = ""],Set,CALLBACKNUM=${CALLERID(number)})
    exten => s,n,GotoIf($["${CALLBACKNUM}" = ""]?a3)
    exten => s,n(a7),GotoIf($["${CALLBACKNUM}" = "${ARG1}"]?invalid)
    exten => s,n,ExecIf($["${QREGEX}" != ""],GotoIf,$["${REGEX("${QREGEX}" ${CALLBACKNUM})}" = "0"]?invalid)
    exten => s,n,ExecIf($["${ARG2}" != ""],Authenticate,${ARG2})
    exten => s,n(a9),AddQueueMember(${ARG1},Local/${CALLBACKNUM}@from-internal/n)
    exten => s,n,UserEvent(Agentlogin,Agent: ${CALLBACKNUM})
    exten => s,n,Wait(1)
    exten => s,n,Playback(agent-loginok&with&extension)
    exten => s,n,SayDigits(${CALLBACKNUM})
    exten => s,n,Hangup
    exten => s,n,MacroExit()
    exten => s,n(invalid),Playback(pbx-invalid)
    exten => s,n,Goto(a3)
    -----


    Ich werde daraus leider nicht besonders schlau :(




    Was ich noch vergessen hatte, war die Client-Information:

    Ich habe hier ein Linksys IP-Phone SPA942 und ein Snom 370. Die Ausgabe oben betrifft das Snom-Gerät, beim Linksys IP-Phone wird nach Eingabe von 500* überhaupt nichts gemacht ("call ended" im Display), das wird aber Sache des Telefons sein und soll jetzt nicht das Problem sein.
     
  3. kozzah.

    kozzah. Neuer User

    Registriert seit:
    2 Okt. 2008
    Beiträge:
    8
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hat sich erledigt...

    Hallo,

    das Problem hat sich erledigt. Habe irgendwann frustriert die Debian-Pakete runtergeworfen und von Hand kompiliert, seitdem läuft's mit der selben Konfiguration.

    Mal seh'n ob ich noch die Zeit finde einen Bug-Report bei Debian zu schreiben.