CTI mit Asterisk

Asterisk hat eine Manager-API in Form eines Telnet-Zugangs. Eine lange Liste von Kommandos erlaubt die Steuerung der Anlage, allerdings ist es auch möglich, Zugänge mit genau definierten Rechten auszustatten (z.B. call, command, system, all) und diesen beispielsweise nur den Aufbau eines Gespräches zu erlauben. AstTAPI etwa benutzt die Schnittstelle um unter Windows eine TAPI-Emulation herzustellen, mit welcher man dann etwa aus Outlook heraus direkt Nummern wählen kann. Ich mache dasselbe mit PHP und einer Webapplikation.

Kern des Tricks ist di Funktion “Originate”: Parameter sind die lokale Extension und die zu wählende Nummer. Asterisk öffnet dann einen Kanal zur gewünschten Extension (es klingelt), wartet auf Abnahme des Hörers, und baut sofort darauf eine Verbindung zur Gegenstelle auf. Gebietet der Asterisk-Server über einen ISDN-Kanal oder einen Uplink zu einem VoIP-Provider, kann die Nummer der Gegenstelle auch extern sein, sind zwei Kanäle verfügbar kann auch die Nummer der Extension extern sein. Damit lassen sich sogar Callback-Szenarien aufbauen, etwa wenn man als Extension die Nummer des eigenen Handys angibt.

Die Telefonkosten verdoppeln sich dann natürlich, andererseits kann man so aber auch die Anrufe externer Mitarbeiter ins Unternehmen (die Verbindung zwischen Asterisk und der internen Gegenstelle kostet nichts) auf Kosten des Unternehmens abwickeln, was die Abrechnung erleichtert. Besonders lustig wird es, wenn VoIP-Telefone im Spiel sind, dann ist die Anzahl der gleichzeitig telefonierenden Parteien irgendwann nur noch durch die Bandbreite der Anbindungen limitiert.

Missbrauchspotential gibts natürlich auch genügend, einfach mal “Originate” die Extension des Bürokollegen mitgeben 😉