public void updContactSysState(InetAddress iaIn, int iState)
	{
		InetAddress iaTmp = this.normalizeAddressIfLocal(iaIn);
		int iIdx = this.idxContact(iaTmp);

		if (iIdx <= -1) return;
		
		EzimContact ecTmp = this.getElementAt(iIdx);

		if (ecTmp == null||! ecTmp.getAddress().equals(iaTmp)) return;
			
				// post auto narration in the plaza
	    EzimPlaza epTmp = EzimMain.getInstance().epMain;
	    
		if (!epTmp.isVisible()) return;
				
		if(ecTmp.getSysState() != EzimContact.SYSSTATE_PLAZA&& iState == EzimContact.SYSSTATE_PLAZA)
					
		{epTmp.addNarration(iaTmp, EzimLang.HasJoinedPlazaOfSpeech);}
		else if
		(ecTmp.getSysState() == EzimContact.SYSSTATE_PLAZA&& iState != EzimContact.SYSSTATE_PLAZA)
		{epTmp.addNarration(iaTmp, EzimLang.HasLeftPlazaOfSpeech);}
				
		ecTmp.setSysState(iState);
		this.fireContentsChanged(iIdx, iIdx);

		soundGetStateChange();
			
		
	}