if (filterSip) {
if (part.length() > 0 && (call.getPhoneNumber() == null || call .getPhoneNumber().getIntNumber().indexOf( parts[i]) == -1) && (call.getPhoneNumber() == null || call .getPhoneNumber().getCallByCall().indexOf( parts[i]) == -1) && (call.getPerson() == null || call.getPerson() .getFullname().toLowerCase().indexOf( part.toLowerCase()) == -1)) { searchFilterPassed = false; break; } }  if (filterSip) {
	public void updateFilter() {		Debug.msg("updating the filter");		boolean filterCallIn = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.callin")); //$NON-NLS-1$		boolean filterCallInFailed = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.callinfailed")); //$NON-NLS-1$		boolean filterCallOut = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.callout")); //$NON-NLS-1$		boolean filterNumber = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.number")); //$NON-NLS-1$		boolean filterFixed = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.fixed")); //$NON-NLS-1$		boolean filterHandy = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.handy")); //$NON-NLS-1$		boolean filterDate = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.date")); //$NON-NLS-1$		boolean filterSip = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.sip")); //$NON-NLS-1$		boolean filterCallByCall = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.callbycall")); //$NON-NLS-1$		boolean filterComment = JFritzUtils.parseBoolean(JFritz				.getProperty("filter.comment")); // fireTableDataChanged();$NON-NLS-1$		String filterSearch = JFritz.getProperty("filter.search", ""); //$NON-NLS-1$,  //$NON-NLS-2$		try {			JFritz.getJframe().getCallerTable().getCellEditor()					.cancelCellEditing();		} catch (NullPointerException e) {		}		if ((!filterCallIn) && (!filterCallInFailed) && (!filterCallOut)				&& (!filterNumber) && (!filterDate) && (!filterHandy)				&& (!filterFixed) && (!filterSip) && (!filterCallByCall)				&& (!filterComment) && (filterSearch.length() == 0)) {			// Use unfiltered data			filteredCallerData = (Vector) unfilteredCallerData.clone();			sortAllFilteredRowsBy(sortColumn, sortDirection);		} else { // Data got to be filtered			Vector filteredcallerdata;			filteredcallerdata = new Vector();			Enumeration en = unfilteredCallerData.elements();			while (en.hasMoreElements()) {				Call call = (Call) en.nextElement();				boolean dateFilterPassed = true;				boolean searchFilterPassed = true;				boolean handyFilterPassed = true;				boolean fixedFilterPassed = true;				boolean sipFilterPassed = true;				boolean commentFilterPassed = true;				// SearchFilter: Number, Participant, Date				String parts[] = filterSearch.split(" "); //$NON-NLS-1$				for (int i = 0; i < parts.length; i++) {					String part = parts[i];                                        					if (part.length() > 0							&& (call.getPhoneNumber() == null || call									.getPhoneNumber().getIntNumber().indexOf(											parts[i]) == -1)                            && (call.getPhoneNumber() == null || call.getPhoneNumber().getCallByCall().indexOf(parts[i]) == -1)                            							&& (call.getPerson() == null || call.getPerson()									.getFullname().toLowerCase().indexOf(											part.toLowerCase()) == -1)) {						searchFilterPassed = false;						break;					}				}				if (filterSip) {                    sipFilterPassed = sipFilter.filterPassed(call);				}				if (filterCallByCall) {                    searchFilterPassed = callByCallFilter.filterPassed(call);				}				if (filterDate) {                       dateFilterPassed = dateFilter.filterPassed(call);										}                                          				if (filterFixed && call.getPhoneNumber() != null						&& !call.getPhoneNumber().isMobile())					fixedFilterPassed = false;				if (filterHandy && call.getPhoneNumber() != null						&& call.getPhoneNumber().isMobile())					handyFilterPassed = false;				if (filterComment						&& !call.getComment().equals(								JFritz.getProperty("filter.comment.text", ""))) { //$NON-NLS-1$,  //$NON-NLS-2$					commentFilterPassed = false;				}				if (searchFilterPassed && dateFilterPassed && handyFilterPassed						&& fixedFilterPassed && sipFilterPassed						&& commentFilterPassed)					if (!(filterNumber && call.getPhoneNumber() == null)) {						if ((!filterCallIn)								&& (call.getCalltype().toInt() == CallType.CALLIN))							filteredcallerdata.add(call);						else if ((!filterCallInFailed)								&& (call.getCalltype().toInt() == CallType.CALLIN_FAILED))							filteredcallerdata.add(call);						else if ((!filterCallOut)								&& (call.getCalltype().toInt() == CallType.CALLOUT))							filteredcallerdata.add(call);					}			}			filteredCallerData = filteredcallerdata;			sortAllFilteredRowsBy(sortColumn, sortDirection);		}		if (JFritz.getJframe() != null)			JFritz.getJframe().setStatus();	}