Hey,
ich versuche gerade mit der Asterisk JAVA Api eine eigene Anbindung zu schreiben. Ich verstehe zwar nicht genau wieso das kompliziert gemacht wurde, aber najaa wird schon seinen Grund haben. Ich verstehe es evtl. einfach noch nicht
Also den Status von Endpoints und Peers bekomme ich abgefragt. Aber mit den "Registrations" von den Trunks finde ich nichts. Klaro kann ich einfach immer den CLI command schicken und bekomme einen String mit allen Info's, aber diesen muss ich ja dann selbst parsen. Klaro könnte ich machen aber es geht bestimmt besser oder?
Dann vielen Dank schon mal.
Cheers Imox
Hier mal mein Beispiel wie ich bisher die Info's abfrage. Sieht das soweit für euch gut aus oder gibt es einen besseren Weg?
ich versuche gerade mit der Asterisk JAVA Api eine eigene Anbindung zu schreiben. Ich verstehe zwar nicht genau wieso das kompliziert gemacht wurde, aber najaa wird schon seinen Grund haben. Ich verstehe es evtl. einfach noch nicht
Also den Status von Endpoints und Peers bekomme ich abgefragt. Aber mit den "Registrations" von den Trunks finde ich nichts. Klaro kann ich einfach immer den CLI command schicken und bekomme einen String mit allen Info's, aber diesen muss ich ja dann selbst parsen. Klaro könnte ich machen aber es geht bestimmt besser oder?
Dann vielen Dank schon mal.
Cheers Imox
Hier mal mein Beispiel wie ich bisher die Info's abfrage. Sieht das soweit für euch gut aus oder gibt es einen besseren Weg?
Java:
try {
CountDownLatch latch = new CountDownLatch(1);
List<EndpointList> endpointList = new ArrayList<>();
connection.addEventListener((event) -> {
if (event instanceof EndpointList) {
endpointList.add((EndpointList) event);
} else if (event instanceof EndpointListComplete) {
latch.countDown();
}
if (event instanceof PeerStatusEvent) {
PeerStatusEvent peerStatus = (PeerStatusEvent) event;
System.out.println("Endpoint: " + peerStatus.getPeer() + " Status: " + peerStatus.getPeerStatus());
}
});
connection.login();
PJSipShowEndpointsAction action = new PJSipShowEndpointsAction();
connection.sendAction(action);
latch.await();
for (EndpointList endpoint : endpointList) {
System.out.println("Endpoint: " + endpoint.getObjectName() + ": " + endpoint.getDevicestate());
}
while (true) {
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}