rem: DBG("XJAB:xj_worker:%d: having %d open" " conferences\n", _xj_pid, jcp->ojc[i]->nrjconf);
context: void xj_worker_check_jcons(xj_wlist jwl, xj_jcon_pool jcp, int ltime, fd_set *pset){	int i;	xj_jconf jcf;		for(i = 0; i < jcp->len && main_loop; i++)	{		if(jcp->ojc[i] == NULL)			continue;		if(jcp->ojc[i]->jkey->flag==0 &&			jcp->ojc[i]->expire > ltime)			continue;					DBG("XJAB:xj_worker:%d: connection expired for"			" <%.*s> \n", _xj_pid, jcp->ojc[i]->jkey->id->len,			jcp->ojc[i]->jkey->id->s);		xj_send_sip_msgz(jcp->ojc[i]->jkey->id,  &jab_gw_name,			jwl->contact_h, XJ_DMSG_INF_JOFFLINE, NULL);		DBG("XJAB:xj_worker:%d: connection's close flag =%d\n",			_xj_pid, jcp->ojc[i]->jkey->flag);		// CLEAN JAB_WLIST		xj_wlist_del(jwl, jcp->ojc[i]->jkey, _xj_pid);		// looking for open conference rooms		DBG("XJAB:xj_worker:%d: having %d open"			" conferences\n", _xj_pid, jcp->ojc[i]->nrjconf);		while(jcp->ojc[i]->nrjconf > 0)		{			if((jcf=delpos234(jcp->ojc[i]->jconf,0))!=NULL)			{				// get out of room				xj_jcon_jconf_presence(jcp->ojc[i],jcf,						"unavailable", NULL);				xj_jconf_free(jcf);			}			jcp->ojc[i]->nrjconf--;		}		// send offline presence to all subscribers		if(jcp->ojc[i]->expire > 0 && jcp->ojc[i]->plist)		{			DBG("XJAB:xj_worker:%d: sending offline status to SIP subscriber\n",					_xj_pid);			xj_pres_list_notifyall(jcp->ojc[i]->plist,					XJ_PRES_STATE_OFFLINE);		}		FD_CLR(jcp->ojc[i]->sock, pset);		xj_jcon_disconnect(jcp->ojc[i]);		xj_jcon_free(jcp->ojc[i]);		jcp->ojc[i] = NULL;	}}