kennt sich jemand mit dem asterisk framework "asterisk-java" aus ?? mein problem liegt darin das ich gern einen call datail record in einer db abspeichern möchte. dafür gibt es ja methoden um z.b. die dauer eines gespräches zurück zu bekommen. leider habe ich keine ahnung wie ich diese richtig in mein testprogramm, welches die userid und namen (und hoffentlich irgendwann die anrufdauer)ausliesst, in eine db schreibt und wieder ausgibt, implementieren kann.
Code:
import org.asteriskjava.fastagi.AgiChannel;
import org.asteriskjava.fastagi.AgiException;
import org.asteriskjava.fastagi.AgiRequest;
import org.asteriskjava.fastagi.BaseAgiScript;
import org.asteriskjava.fastagi.*;
import java.sql.*;
public class app extends BaseAgiScript {
public void service(AgiRequest request, AgiChannel channel) throws AgiException
{
// Answer the channel...
answer();
String userId = request.getCallerIdNumber();
String userName = request.getCallerIdName();
try{
String url ="jdbc:mysql://localhost/";
String driver ="org.gjt.mm.mysql.Driver";
String user="root";
String pw="admin01";
String dbName="asterisk";
try {
// Treiber laden
Class.forName(driver);
}
catch(Exception e) {
System.err.println(e.getMessage());
System.exit(0);
}
Connection conn = DriverManager.getConnection(url+dbName,user,pw);
System.out.println("Connection to MySQL Database Successful"+conn);
Statement stmt = conn.createStatement();
stmt.executeUpdate( "INSERT INTO benutzer (name,id) VALUES ("+userName+","+userId+")" );
ResultSet rs = stmt.executeQuery( "SELECT * FROM benutzer" );
while ( rs.next() )
System.out.println(rs.getString(1)+" "+ rs.getString(2));
stmt.close();
rs.close();
}
catch (SQLException sqe1){
sqe1.printStackTrace();
System.out.println("Caught SQL Exception: " + sqe1);
}
hangup();
}//public void service
}//public class app