コード例 #1
0
ファイル: tps_msg.c プロジェクト: 4N7HR4X/kamailio
int tps_reappend_route(sip_msg_t *msg, tps_data_t *ptsd, str *hbody, int rev)
{
	str hname = str_init("Route");
	int i;
	int c;
	str sb;

	if(hbody==NULL || hbody->s==NULL || hbody->len<=0)
		return 0;

	if(rev==1) {
		c = 0;
		sb.len = 1;
		for(i=hbody->len-2; i>=0; i--) {
			if(hbody->s[i]==',') {
				c = 1;
				if(sb.len>0) {
					sb.s = hbody->s + i + 1;
					if(sb.s[sb.len-1]==',') sb.len--;
					if(tps_add_headers(msg, &hname, &sb, 0)<0) {
						return -1;
					}
				}
				sb.len = 0;
			}
			sb.len++;
		}
		if(c==1) {
			if(sb.len>0) {
				sb.s = hbody->s;
				if(sb.s[sb.len-1]==',') sb.len--;
				if(tps_add_headers(msg, &hname, &sb, 0)<0) {
					return -1;
				}
			}
			return 0;
		}
	}

	sb = *hbody;
	if(sb.s[sb.len-1]==',') sb.len--;
	if(tps_add_headers(msg, &hname, &sb, 0)<0) {
		return -1;
	}

	return 0;
}
コード例 #2
0
ファイル: tps_msg.c プロジェクト: cloudvox/kamailio
int tps_reinsert_contact(sip_msg_t *msg, tps_data_t *ptsd, str *hbody)
{
	str hname = str_init("Contact");
	
	if(tps_add_headers(msg, &hname, hbody, 0)<0) {
		return -1;
	}

	return 0;
}
コード例 #3
0
ファイル: tps_msg.c プロジェクト: cloudvox/kamailio
int tps_reinsert_via(sip_msg_t *msg, tps_data_t *ptsd, str *hbody)
{
	str hname = str_init("Via");
	
	if(tps_add_headers(msg, &hname, hbody, 1)<0) {
		return -1;
	}

	return 0;
}
コード例 #4
0
ファイル: tps_msg.c プロジェクト: 4N7HR4X/kamailio
int tps_reappend_rr(sip_msg_t *msg, tps_data_t *ptsd, str *hbody)
{
	str hname = str_init("Record-Route");

	if(tps_add_headers(msg, &hname, hbody, 0)<0) {
		return -1;
	}

	return 0;
}
コード例 #5
0
ファイル: tps_msg.c プロジェクト: 4N7HR4X/kamailio
int tps_append_xuuid(sip_msg_t *msg, str *hbody)
{
	if(tps_add_headers(msg, &_sr_hname_xuuid, hbody, 0)<0) {
		LM_ERR("failed to add xuuid header [%.*s]/%d\n",
				hbody->len, hbody->s, hbody->len);
		return -1;
	}

	return 0;
}