e.printStackTrace();
Debug.err(e.toString());
    public void callOutMsg(String calledInput, String providerInput) {        Debug.msg("Called: " + calledInput);        Debug.msg("Provider: " + providerInput);        String calledstr = "", providerstr = "", name = "";		String firstname = "", surname = "", company = "";		        if (!calledInput.startsWith("SIP")) {            PhoneNumber called = new PhoneNumber(calledInput);            if (called.getIntNumber().equals("")) {                calledstr = "Unbekannt";            } else                calledstr = called.getIntNumber();        }        if (!providerInput.startsWith("SIP") && !providerInput.startsWith("Analog")) {            PhoneNumber provider = new PhoneNumber(providerInput);            if (provider.getIntNumber().equals("")) {                providerstr = "Unbekannt";            } else                providerstr = providerInput;        } else if (providerInput.equals("Analog")) {            providerstr = "Analog";        } else            providerstr = getSIPProviderTableModel().getSipProvider(                    providerInput, providerInput);        name = searchNameToPhoneNumber(calledstr);		String [] nameArray = searchFirstAndLastNameToPhoneNumber(calledstr);		firstname = nameArray[0];		surname = nameArray[1];		company = nameArray[2];		if (name.equals("")) name = "Unbekannt";		if (firstname.equals("") && surname.equals("")) surname = "Unbekannt";		if (company.equals("")) company = "Unbekannt";				if (calledstr.startsWith("+49")) calledstr = "0" + calledstr.substring(3);		        infoMsg("Ausgehender Telefonanruf\n " + "\nan " + calledstr + " ("                + name + ") " + "ber " + providerstr);        if (JFritzUtils.parseBoolean(JFritz.getProperty("option.playSounds",                "true"))) {            playSound(callSound);        }		        if (false && JFritzUtils.parseBoolean(JFritz.getProperty(                "option.startExternProgram", "false"))) { //z.Z. noch deaktiviert            String programString = JFritz.getProperty("option.externProgram",                    "");            programString = programString.replaceAll("%Number", providerstr);            programString = programString.replaceAll("%Name", name);            programString = programString.replaceAll("%Called", calledstr);			programString = programString.replaceAll("%Firstname", firstname);			programString = programString.replaceAll("%Surname", surname);			programString = programString.replaceAll("%Company", company);            if (programString.indexOf("%URLENCODE") > -1) {                try {                    Pattern p;                    p = Pattern.compile("%URLENCODE\\(([^;]*)\\);");                    Matcher m = p.matcher(programString);                    while (m.find()) {                        String toReplace = m.group();                        toReplace = toReplace.replaceAll("\\\\", "\\\\\\\\");                        toReplace = toReplace.replaceAll("\\(", "\\\\(");                        toReplace = toReplace.replaceAll("\\)", "\\\\)");                        String toEncode = m.group(1);                        programString = programString.replaceAll(toReplace,                                URLEncoder.encode(toEncode, "UTF-8"));                    }                } catch (UnsupportedEncodingException uee) {                    Debug.err("JFritz.class: UnsupportedEncodingException: "                            + uee.toString());                }            }            if (programString.equals("")) {                Debug                        .errDlg("Kein externes Programm angegeben"                                + programString);                return;            }            Debug.msg("Starte externes Programm: " + programString);            try {                Runtime.getRuntime().exec(programString);            } catch (IOException e) {                Debug.errDlg("Konnte externes Programm nicht ausfhren: "                        + programString);                e.printStackTrace();            }        }    }