In der bisherigen Konfiguration werden Gespräche des überwachten Teilnehmers nur angezeigt. Wir wollen aber auch die Möglichkeit schaffen, ein Gespräch heranholen zu können, das an einem anderen Apparat eingeht.[130]
Man unterscheidet dabei zwischen dem gezielten Heranholen eines Anrufs von einem einzelnen Benutzer (Directed Pickup) und dem Heranholen eines Anrufs von einer Benutzergruppe (Group Pickup). Hier betrachten wir zunächst den ersten, einfacheren Fall.
Für das Pickup ist es notwendig, noch einen weiteren Eintrag in
der extensions.conf
hinzuzufügen:
[interne-benutzer]
; ...
; Gesprächsübernahme (PickUp)
exten => _*8X.,1,Set(nst=${EXTEN:2})
exten => _*8X.,n,Verbose(1,${CALLERID(num)} will Anruf von ${nst} holen)
exten => _*8X.,n,Pickup(${nst}@interne-benutzer)
bzw. extensions.ael
:
context interne-benutzer { // ... // Gesprächsübernahme (PickUp) _*8X. => { Set(nst=${EXTEN:2}); Verbose(1,${CALLERID(num)} will Anruf von ${nst} holen); // hier könnte eine Berechtigungsprüfung eingebaut werden Pickup(${nst}@interne-benutzer); } }
Damit haben wir in Asterisk eine Extension definiert, die besagt,
dass beim Wählen von
*8
<Nebenstelle>
(also z.
B. *821
) der Anruf herangeholt wird, der gerade auf dieser
<Nebenstelle>
(z. B. 21
)
im Context interne-benutzer
klingelt.[131][132]
Dem Snom-Telefon muss jetzt noch mitgeteilt werden, welche Nummer
zur Gesprächsübernahme gewählt werden muss. Anstatt wie oben beschrieben
(Abschnitt 3, „Konfiguration der Telefone für BLF“) bei
„Ziel“/„Nebenstelle“ bzw. „BLF“
nur die zu überwachende Nummer einzutragen, tragen Sie nun die Nummer
gefolgt von einem „|
“ (Pipe-Symbol) und der
oben definierten Zeichekette „*8
“ für das
Pickup ein – also für obiges Beispiel
„21|*8
“. Das Telefon wandelt dies wieder in
die passende SIP-URI um. Das Snom wird durch diesen Zusatz, der streng
genommen nicht zur SIP-URI gehört, angewiesen, zum Heranholen
*8
vor der Nebenstellennummer zu wählen, obwohl es ihm von
Asterisk in der Status-Benachrichtigung nicht so mitgeteilt
wird.[133] (Eine detaillierte technische Beschreibung, wie das Snom
auf verschiedene Formen der SIP-NOTIFY
-Nachrichten
reagiert, finden Sie unter http://wiki.snom.com/Features/Call_Pick-Up.)
Andere Telefone haben ähnliche Mechanismen (Grandstream z. B.
**
statt *8
, dafür muss man gegebenenfalls die
in diesem Kapitel beschriebenen Extensions anpassen).
Wichtig | |
---|---|
Ab den Firmware-Versionen 7.1.33 und 7.3 muss als Tastenfunktion „BLF“[134] statt „Nebenstelle“[135] verwendet werden. Weitere Informationen dazu von Snom auf http://wiki.snom.com/Features/Extension_Monitoring, http://wiki.snom.com/Features/Busy_Lamp_Field_(BLF) und http://wiki.snom.com/Features/Call_Pick-Up. |
Jetzt können Sie am überwachenden Telefon einfach die Anrufe annehmen, die am überwachten Telefon eingehen, indem Sie die zur blinkenden LED passende Taste drücken.
Anmerkung | |
---|---|
Um die Anzeige- und Übernahme-Funktionalität korrekt zu nutzen, müssen Sie in den „Erweiterten Einstellungen“ des Snoms zwei Einstellungen anpassen. Das Setting „Dialog-Info Call Pickup“ muss aktiviert sein, und „Pakete vom Registrar filtern“ muss deaktiviert werden. Die erweiterten Einstellungen sind nur im Admin-Modus des Telefons verfügbar. |
Anmerkung | |
---|---|
Es wäre natürlich auch schön, wenn man sehen könnte, wer gerade auf der überwachten Leitung anruft, bevor man den Anruf entgegennimmt. Dies bietet Asterisk von sich aus leider nicht an. Im Internet gibt es aber diverse Patches, die auch das ermöglichen. |
Sollen die erläuterten Einstellungen in Form einer automatischen Konfiguration ins Snom geladen werden, müssen beispielsweise folgende Parameter in der gerätespezifischen Konfiguration stehen:
filter_registrar: off callpickup_dialoginfo: on fkey5: dest 22|*8 fkey6: dest 23|*8
Anmerkung | |
---|---|
Die Funktionstasten sind 0-indiziert. Um wie im Beispiel die
Funktionstaste 6 zu belegen, muss der Parameter |
Das Heranholen eines Anrufs von einer Gruppe von Teilnehmern (group pickup) ist sehr ähnlich und schnell beschrieben. Entweder baut man sich Pickup-Extensions wie z. B. die folgende:
context interne-benutzer {
// Verkaufsabteilung
hint(SIP/21&SIP/22&SIP/23) 20 => {
Dial(SIP/21&SIP/22&SIP/23,40);
}
// Gesprächsübernahme (PickUp) von der Gruppe Verkauf
_*820 => {
Verbose(1,${CALLERID(num)} will Anruf von Gruppe Verkauf holen);
Pickup(21@interne-benutzer&22@interne-benutzer&23@interne-benutzer);
}
}
Als zu überwachende Nebenstelle würde man dann am Telefon die
20
eintragen (Snom: 20|*8
).
Als gute Alternative bietet sich die
PICKUPMARK
-Funktionalität der
Pickup()
-Applikation (Abschnitt 115, „Pickup()
“) an, mit der man flexibler ist.
Beispiel:
context interne-benutzer { // Verkaufsmitarbeiter _2X => { Set(__PICKUPMARK=verkauf); Dial(SIP/${EXTEN},40); } hint(SIP/21) 21 => {} hint(SIP/22) 22 => {} hint(SIP/23) 23 => {} // Verkaufsabteilung hint(SIP/21&SIP/22&SIP/23) 20 => { Set(__PICKUPMARK=verkauf); Dial(SIP/21&SIP/22&SIP/23,40); } // Gesprächsübernahme von der Gruppe Verkauf _*820 => { Verbose(1,${CALLERID(num)} will Anruf von Gruppe Verkauf holen); Pickup(verkauf@PICKUPMARK); } }
Will man keine Extra-Nebenstelle (im obigen Beispiel die
20
) für die Pickup-Gruppe verbrauchen, so bietet sich für
fortgeschrittene Anwender z. B. folgende Konfiguration an:
context interne-benutzer { // Verkaufsmitarbeiter _2X => { Set(__PICKUPMARK=200); // welcher Mitarbeiter zu welcher Pickup-Gruppe gehört, ließe sich // z. B. über ein ausgefeiltes AGI-Skript setzen Dial(SIP/${EXTEN}&Local/**${PICKUPMARK},40); } hint(SIP/21) 21 => {} hint(SIP/22) 22 => {} hint(SIP/23) 23 => {} // Pickup-Gruppen _**X. => { Verbose(1,Es klingelt in Pickup-Gruppe ${EXTEN:2}); } hint(SIP/21&SIP/22&SIP/23) **200 => {} // Gesprächsübernahme direkt _*8X. => { Set(nst=${EXTEN:2}); Verbose(1,${CALLERID(num)} will Anruf von ${nst} holen); // hier könnte eine Berechtigungsprüfung eingebaut werden Pickup(${nst}@interne-benutzer); } // Gesprächsübernahme von einer Gruppe _*8**X. => { Set(pmark=${EXTEN:4}); Verbose(1,${CALLERID(num)} will Anruf von Pickup-Gruppe ${pmark} holen); // hier könnte eine Berechtigungsprüfung eingebaut werden Pickup(${pmark}@PICKUPMARK); } }
Als zu überwachende Nebenstelle würde man dann am Telefon die
**200
eintragen (Snom: **200|*8
).
[130] Die Telefonanlagen-Funktion Pickup wird im Deutschen meist als Heranholen oder Rufübernahme bezeichnet.
[131] Zur Beschreibung der Applikation Pickup()
siehe
auch: Abschnitt 115, „Pickup()
“
[132] Die Applikation Pickup()
darf nicht verwechselt
werden mit der Bristuff-Applikation PickUp()
bzw.
DPickup()
, PickUp2()
oder anderen
Applikationen ähnlichen Namens, die in den diversen Internet-Foren
usw. als Patches herumgeistern, auch wenn sie ungefähr das Gleiche
bewirken.
[133] Das wird vermutlich in neueren Versionen von Asterisk behoben, siehe Asterisk Bug 5014.
AMOOCON 2010
Noch kein Ticket? Dann wird es Zeit. Nur noch wenige Tage.
- Infos unter www.amoocon.de.
- twitter.com/AMOOCON