add: PROTO_UDP,
context: static inline int send_xpidf_notify(struct presentity* _p, struct watcher* _w){		str to;	xpidf_status_t st;	     /* Send a notify, saved Contact will be put in	      * Request-URI, To will be put in from and new tag	      * will be generated, callid will be callid,	      * from will be put in to including tag	      */	if (start_xpidf_doc(&body, BUF_LEN) < 0) {		LOG(L_ERR, "send_xpidf_notify(): start_xpidf_doc failed\n");		return -1;	}		to.s = _w->dialog.to.s;	to.len = _w->dialog.to.len;	trim(&to);	get_raw_uri(&to);	if (xpidf_add_presentity(&body, BUF_LEN - body.len, &to) < 0) {		LOG(L_ERR, "send_xpidf_notify(): xpidf_add_presentity failed\n");		return -2;	}	switch(_p->state) {	case PS_OFFLINE: st = XPIDF_ST_CLOSED; break;	default: st = XPIDF_ST_OPEN; break;	}	if (xpidf_add_address(&body, BUF_LEN - body.len, &to, st) < 0) {		LOG(L_ERR, "send_xpidf_notify(): xpidf_add_address failed\n");		return -3;	}	if (end_xpidf_doc(&body, BUF_LEN - body.len) < 0) {		LOG(L_ERR, "send_xpidf_notify(): end_xpidf_doc failed\n");		return -5;	}	if (create_headers(_w) < 0) {		LOG(L_ERR, "send_xpidf_notify(): Error while adding headers\n");		return -6;	}	tmb.t_uac_dlg(&method,              /* NOTIFY */ 		      0,                    /* dst */		      &_w->contact,         /* R-URI */		      &_w->from,            /* From -> To */		      &_w->dialog.to,       /* To -> From */		      &_w->dialog.from_tag, /* From tag -> To tag */		      0,                    /* From tag automatically generated */		      &_w->dialog.cseq,     /* CSeq */		      &_w->dialog.callid,   /* Call-ID */		      &headers,             /* Headers */		      &body,                /* Body */                      0,                    /* completition_cb */		      0                     /* cbp */		      );	_w->dialog.cseq++;	return 0;}