All pastes #467135 Raw Edit

Untitled

public text v1 · immutable
·published 2007-05-02 10:48 UTC
rendered paste body
route{
	if(!mf_process_maxfwd_header("10")){
		sl_send_reply("483", "Too Many Hops");
		return;
	}

	if(msg:len >= max_len){
		sl_send_reply("513", "Message too big");
		return;
	}

	force_rport();

	if(is_method("NOTIFY")){
		sl_send_reply("200", "Ok");
		return;
	}

	if(is_method("SUBSCRIBE|PUBLISH")){
		sl_send_reply("200", "Ok");
		return;
	}

	# -- Enable Accounting -- #
	setflag(2);

	if(nat_uac_test("3")){
		if(is_method("REGISTER") || !is_present_hf("Record-Route")){
			fix_nated_register();
		} else {
			fix_nated_contact();
		}

		force_rtp_proxy();
		setbflag(5);
	}
	
	if(!is_method("REGISTER")){
		record_route();
	}

	if(is_method("BYE|CANCEL")){
		unforce_rtp_proxy();
	}

	if(loose_route()){
		if(!is_present_hf("P-hint")){
			append_hf("P-hint: rr-enforced\r\n");
		}
		route(1);
		return;
	}