p = Pattern.compile(PATTERN_SIPPROVIDER);
if (firmware.getMinorFirmwareVersion() < 42) p = Pattern.compile(PATTERN_SIPPROVIDER_OLD); else p = Pattern.compile(PATTERN_SIPPROVIDER_NEW);
    public static Vector parseSipProvider(String data) {        Vector list = new Vector();        data = removeDuplicateWhitespace(data);        Pattern p;        p = Pattern.compile(PATTERN_SIPPROVIDER);        Matcher m = p.matcher(data);        while (m.find()) {            if (!(m.group(4).equals(""))) {                list.add(new SipProvider(Integer.parseInt(m.group(5)), m                        .group(3), m.group(4)));                Debug.msg("SIP-Provider: " + list.lastElement());            }        }        p = Pattern.compile(PATTERN_SIPPROVIDER_ACTIVE);        m = p.matcher(data);        while (m.find()) {            Enumeration en = list.elements();            while (en.hasMoreElements()) {                SipProvider sipProvider = (SipProvider) en.nextElement();                if (sipProvider.getProviderID() == Integer.parseInt(m.group(1))) {                    if (Integer.parseInt(m.group(2)) == 1) {                        sipProvider.setActive(true);                    } else {                        sipProvider.setActive(false);                    }                }            }        }        return list;    }