FreePBX: Anmelden an der Queue

kozzah.

Neuer User
Mitglied seit
2 Okt 2008
Beiträge
8
Punkte für Reaktionen
0
Punkte
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?
 

kozzah.

Neuer User
Mitglied seit
2 Okt 2008
Beiträge
8
Punkte für Reaktionen
0
Punkte
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 [[email protected]:1] Wait("SIP/11-093db678", "1") in new stack
-- Executing [[email protected]:2] Macro("SIP/11-093db678", "user-callerid|SKIPTTL") in new stack
-- Executing [[email protected]:1] Set("SIP/11-093db678", "AMPUSER=11") in new stack
-- Executing [[email protected]:2] GotoIf("SIP/11-093db678", "0?report") in new stack
-- Executing [[email protected]:3] ExecIf("SIP/11-093db678", "1|Set|REALCALLERIDNUM=11") in new stack
-- Executing [[email protected]:4] Set("SIP/11-093db678", "AMPUSER=11") in new stack
-- Executing [[email protected]:5] Set("SIP/11-093db678", "AMPUSERCIDNAME=Tester2") in new stack
-- Executing [[email protected]:6] GotoIf("SIP/11-093db678", "0?report") in new stack
-- Executing [[email protected]:7] Set("SIP/11-093db678", "AMPUSERCID=11") in new stack
-- Executing [[email protected]:8] Set("SIP/11-093db678", "CALLERID(all)="Tester2" <11>") in new stack
-- Executing [[email protected]:9] Set("SIP/11-093db678", "REALCALLERIDNUM=11") in new stack
-- Executing [[email protected]:10] ExecIf("SIP/11-093db678", "0|Set|CHANNEL(language)=") in new stack
-- Executing [[email protected]:11] GotoIf("SIP/11-093db678", "1?continue") in new stack
-- Goto (macro-user-callerid,s,20)
-- Executing [[email protected]:20] NoOp("SIP/11-093db678", "Using CallerID "Tester2" <11>") in new stack
-- Executing [[email protected]: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.
 

kozzah.

Neuer User
Mitglied seit
2 Okt 2008
Beiträge
8
Punkte für Reaktionen
0
Punkte
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.
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,890
Beiträge
2,027,788
Mitglieder
351,014
Neuestes Mitglied
goldeneye