Пример #1
0
int reginfo_add_events(void)
{
	pres_ev_t event;
	
	/* constructing message-summary event */
	memset(&event, 0, sizeof(pres_ev_t));
	event.name.s = "reg";
	event.name.len = 3;

	event.content_type.s = "application/reginfo+xml";
	event.content_type.len = 23;
	event.default_expires= 3600;
	event.type = PUBL_TYPE;
	event.req_auth = 0;
	event.evs_publ_handl = 0;

	if (pres_add_event(&event) < 0) {
		LM_ERR("failed to add event \"reginfo\"\n");
		return -1;
	}		
	return 0;
}
Пример #2
0
int mwi_add_events(void)
{
	pres_ev_t event;

	/* constructing message-summary event */
	memset(&event, 0, sizeof(pres_ev_t));
	event.name.s = "message-summary";
	event.name.len = 15;

	event.content_type.s = "application/simple-message-summary";
	event.content_type.len = 34;

	event.default_expires= 3600;
	event.type = PUBL_TYPE;
	event.req_auth = 0;
	event.evs_publ_handl = mwi_publ_handl;

	if (pres_add_event(&event) < 0) {
		LM_ERR("failed to add event \"message-summary\"\n");
		return -1;
	}

	return 0;
}
Пример #3
0
int xml_add_events(void)
{
	pres_ev_t event;
	
	/* constructing presence event */
	memset(&event, 0, sizeof(pres_ev_t));
	event.name.s= "presence";
	event.name.len= 8;

	event.content_type.s= "application/pidf+xml";
	event.content_type.len= 20;

	event.mandatory_body = 1;
	event.mandatory_timeout_notification = 1;
	event.type= PUBL_TYPE;
	event.req_auth= 1;
	event.apply_auth_nbody= pres_apply_auth;
	event.get_auth_status= pres_watcher_allowed;
	event.agg_nbody= presence_agg_nbody;
	event.evs_publ_handl= xml_publ_handl;
	event.free_body= free_xml_body;
	event.default_expires= 3600;
	event.get_rules_doc= pres_get_rules_doc;
	if(pres_add_event(&event)< 0)
	{
		LM_ERR("while adding event presence\n");
		return -1;
	}

	/* constructing presence.winfo event */
	memset(&event, 0, sizeof(pres_ev_t));
	event.name.s= "presence.winfo";
	event.name.len= 14;

	event.content_type.s= "application/watcherinfo+xml";
	event.content_type.len= 27;
	event.mandatory_body = 1;
	event.mandatory_timeout_notification = 1;
	event.type= WINFO_TYPE;
	event.free_body= free_xml_body;
	event.default_expires= 3600;

	if(pres_add_event(&event)< 0)
	{
		LM_ERR("while adding event presence.winfo\n");
		return -1;
	}
	
	/* constructing bla event */
	memset(&event, 0, sizeof(pres_ev_t));
	event.name.s= "dialog;sla";
	event.name.len= 10;

	event.mandatory_body = 1;
	event.mandatory_timeout_notification = 1;
//	event.etag_not_new= 1;
	event.evs_publ_handl= xml_publ_handl;
	event.agg_nbody= dialog_agg_nbody;
	event.content_type.s= "application/dialog-info+xml";
	event.content_type.len= 27;
	event.type= PUBL_TYPE;
	event.free_body= free_xml_body;
	event.aux_body_processing = bla_set_version;
	event.aux_free_body = free_xml_body;
	event.default_expires= 3600;
	if(pres_add_event(&event)< 0)
	{
		LM_ERR("while adding event dialog;sla\n");
		return -1;
	}
	
	return 0;
}