Exemplo n.º 1
0
int parse_min_expires(struct sip_msg *msg)
{
	if (msg->min_expires==NULL && parse_headers(msg,HDR_MIN_EXPIRES_F,0)!=0 ) {
		LM_ERR("failed to parse Min=Expires\n");
		return -1;
	}
	if (msg->min_expires) {
		/* We will re-uise the min-se parser here */
		if (msg->min_expires->parsed == 0 &&
			parse_sst_success != parse_min_se_body(msg->min_expires)) {
			set_err_info(OSER_EC_PARSER, OSER_EL_MEDIUM,
				"error parsing Min-Expires header");
				set_err_reply(400, "bad headers");
				return -1;
		}
	}
	return 0;
}
Exemplo n.º 2
0
enum parse_sst_result
parse_min_se( struct sip_msg *msg, unsigned int *min_se )
{
	enum parse_sst_result result;

	if ( msg->min_se ) {
		if ( msg->min_se->parsed == 0
			 && (result = parse_min_se_body(msg->min_se))
				!= parse_sst_success ) {
			return result;
		}
		if ( min_se ) {
			*min_se = (unsigned int)(long)msg->min_se->parsed;
		}
		return parse_sst_success;
	}
	else {
		return parse_sst_header_not_found;
	}
}