config support
parent
bdabf0017a
commit
2c6ca541e0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -11,12 +11,8 @@ repositories {
|
|||
|
||||
|
||||
dependencies {
|
||||
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
|
||||
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
|
||||
}
|
||||
|
||||
test {
|
||||
useJUnitPlatform()
|
||||
implementation 'org.yaml:snakeyaml:1.29'
|
||||
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
|
||||
}
|
||||
|
||||
jar {
|
||||
|
|
|
@ -1,41 +1,76 @@
|
|||
package de.vincentschweiger.calltoj;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.yaml.snakeyaml.Yaml;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.*;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Base64;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Mo. 18/10/2021 17:32
|
||||
*
|
||||
* @author cook1e
|
||||
*/
|
||||
@SuppressWarnings("ResultOfMethodCallIgnored")
|
||||
public class CallToJ {
|
||||
private static String snom_webadmin_user = "admin";
|
||||
private static String snom_webadmin_pw = "x7eff15";
|
||||
private static String hostname_snom = "snom765-901777.getcom.de";
|
||||
private static final File configFile = new File(new File(System.getProperty("user.home")), ".callto.yaml");
|
||||
|
||||
public static void main(String[] args) throws java.io.IOException {
|
||||
String number;
|
||||
if (args.length < 1) {
|
||||
number = "015904183517";
|
||||
} else {
|
||||
number = args[0];
|
||||
// Replace cause of firefox and callto handling stuff
|
||||
number = number.replace("callto://", "");
|
||||
number = number.replace("tel://", "");
|
||||
number = number.replace("sip://", "");
|
||||
number = number.replace("+49", "0");
|
||||
number = number.replace("%20", "");
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
if (!configFile.exists()) {
|
||||
configFile.createNewFile();
|
||||
FileOutputStream outputStream = new FileOutputStream(configFile);
|
||||
InputStream inputStream = CallToJ.class.getResourceAsStream("/template.yaml");
|
||||
if (inputStream != null) {
|
||||
IOUtils.copy(inputStream, outputStream);
|
||||
inputStream.close();
|
||||
} else {
|
||||
JOptionPane.showMessageDialog(null, "IN is null");
|
||||
outputStream.close();
|
||||
configFile.delete();
|
||||
System.exit(-1);
|
||||
}
|
||||
outputStream.close();
|
||||
JOptionPane.showMessageDialog(null, "You have to configure CallToJ!\n See .callto.yaml in your home directory!");
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
Yaml yaml = new Yaml();
|
||||
FileInputStream inputStream = new FileInputStream(configFile);
|
||||
Map<String, Object> obj = yaml.load(inputStream);
|
||||
|
||||
String snom_webadmin_user = obj.get("user").toString();
|
||||
String snom_webadmin_pw = obj.get("password").toString();
|
||||
String hostname_snom = obj.get("hostname").toString();
|
||||
|
||||
String number;
|
||||
if (args.length < 1) {
|
||||
number = "015904183517";
|
||||
} else {
|
||||
number = args[0];
|
||||
// Replace cause of firefox and callto handling stuff
|
||||
number = number.replace("callto://", "");
|
||||
number = number.replace("tel://", "");
|
||||
number = number.replace("sip://", "");
|
||||
number = number.replace("+49", "0");
|
||||
number = number.replace("%20", "");
|
||||
}
|
||||
|
||||
System.out.println("Using Snom phone to dial number " + number);
|
||||
|
||||
URL url = new URL("http://" + hostname_snom + "/command.htm?number=" + number + "&outgoing_uri=URI");
|
||||
String encoding = Base64.getEncoder().encodeToString((snom_webadmin_user + ":" + snom_webadmin_pw).getBytes());
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("GET");
|
||||
connection.setDoOutput(false);
|
||||
connection.setRequestProperty("Authorization", "Basic " + encoding);
|
||||
connection.getResponseCode();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
System.out.println("Using Snom phone to dial number " + number);
|
||||
|
||||
URL url = new URL("http://" + hostname_snom + "/command.htm?number=" + number + "&outgoing_uri=URI");
|
||||
String encoding = Base64.getEncoder().encodeToString((snom_webadmin_user + ":" + snom_webadmin_pw).getBytes());
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setRequestMethod("GET");
|
||||
connection.setDoOutput(false);
|
||||
connection.setRequestProperty("Authorization", "Basic " + encoding);
|
||||
connection.getResponseCode();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
user: USERNAME
|
||||
password: PASSWORD
|
||||
hostname: HOSTNAME
|
Loading…
Reference in New Issue