Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Asterisk-Java at JUGC 2009-05-29

3.345 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, News & Politik
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Asterisk-Java at JUGC 2009-05-29

  1. 1. Asterisk-Java Stefan Reuter reucon 29. Mai 2009 Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 1/8
  2. 2. Asterisk Was ist Asterisk? • freie Telefonanlage in C unter GNU GPL f¨r Linux, Solaris, BSD u • unterst¨tzt VoIP, analoge sowie ISDN BRI und PRI Anschl¨sse u u • Anwendungen: • Anrufbeantworter • Telefonkonferenzen • Anfrufverteilung im Call-Center mit Warteschleife • Sprachaufzeichnung • Sprachdialoge (IVR) • zahlreiche Distributionen wie AsteriskNOW, FreePBX, Trixbox oder Gemeinschaft Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 2/8
  3. 3. Asterisk Asterisk bietet drei wesentliche Schnittstellen • AMI: Asterisk Manager Interface • Sicht auf das komplette System • Alle Anrufe, Nebenstellen, Konferenzen, Agenten • Events, Actions und Responses • Typische Anwendung: Click to Call, Dashboard • AGI: Asterisk Gateway Interface • Analog zu (Fast-)CGI uber TCP ¨ • Ablaufsteuerung f¨r einen Anruf u • Abspielen von Voiceprompts, Erkennen von DTMF, Spracherkennung • Typische Anwendung: Sprachdialogsystem (IVR) • IAX: Inter Asterisk Exchange Protocol • Zugriff auf Mediastream eines Anrufs • Typische Anwendung: Softphone Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 3/8
  4. 4. Asterisk F¨higkeiten der Schnittstellen a Anwendungsfall AMI AGI IAX Anruf initiieren Anruf weiterleiten Aktive Anrufe abfragen Status Nebenstelle abfragen Aufzeichnung starten/stoppen Mediadaten empfangen Dialplan ver¨ndern a Act as IVR application Act as soft phone Act as endpoint/caller Click to call Dashboard Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 4/8
  5. 5. Asterisk-Java Asterisk-Java • Java-Bibliothek f¨r AMI und AGI unter Apache Lizenz u • 100% Java, Kommunikation uber TCP/IP ¨ • vereinfachte Nutzung von AMI durch stateful Live API • unterst¨tzt Java 6 ScriptEngines f¨r die Entwicklung von AGIs u u (JavaScript, Groovy, JRuby, Jython, PHP, ...) • einfache Integration in Container wie Spring, Tomcat oder JBoss • In Vorbereitung: Unterst¨tzung von IAX u Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 5/8
  6. 6. Asterisk-Java Beispiel: AMI public c l a s s HelloAmi { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { A s t e r i s k S e r v e r pbx ; pbx = new D e f a u l t A s t e r i s k S e r v e r ( ” pbx . e x a m p l e . com” , ” u s e r ” , ” p a s s ” ) ; pbx . o r i g i n a t e T o E x t e n s i o n ( ” SIP / phone −01” , // Q u e l l e ” n a t i o n a l ” , ” 0221123456 ” , 1 , // Z i e l 20000 L ) ; // Timeout } } Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 6/8
  7. 7. Asterisk-Java Beispiel: AGI p u b l i c c l a s s H e l l o A g i S c r i p t implements A g i S c r i p t { public void s e r v i c e ( AgiRequest request , AgiChannel channel ) throws A g i E x c e p t i o n { channel . answer ( ) ; channel . streamFile (” h e l l o ” ) ; c h a n n e l . hangup ( ) ; } } Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 7/8
  8. 8. Asterisk-Java Fragen? http://asterisk-java.org Stefan Reuter (reucon) Asterisk-Java 29. Mai 2009 8/8

×