Commit 735670e4 authored by baire's avatar baire
Browse files

support for Request-Route

parent adc8c845
Loading
Loading
Loading
Loading
+23 −0
Original line number Diff line number Diff line
@@ -647,6 +647,7 @@ private:
		SIP_HEADER_ADD (Alert-Info,		,	alertInfo,	ALERT_INFO_E);
		SIP_HEADER_ADD (Require,	,	require,	REQUIRE_E);
		SIP_HEADER_ADD (Proxy-Require,	,	proxyRequire,	PROXY_REQUIRE_E);
		SIP_HEADER_ADD (Record-Route,	,	recordRoute,	RECORD_ROUTE_E);
		{
			mEntries.push_back(Entry("", "", MessageHeader::id_undefinedHeader_List, ""));
			Entry& e = *mEntries.rbegin();
@@ -1268,5 +1269,27 @@ void OptionTag_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError)
	}
}

void RouteBody_List::PreDecodeField(int id, Buffer& buffer) throw (DecodeError)
{
	static Regex reg_comma ("^,");

	if (id) {
		if (reg_comma.Match(buffer)) {
			reg_comma.MovePast(buffer);
		} else {
			SetHypSize(-2);
		}
	}
}

void RouteBody::PreDecodeField(int id, Buffer& buffer) throw (DecodeError)
{
	static Regex reg_semi ("^;");

	if (id == id_rrParam) {
		SetHypFieldIsPresent (id, reg_semi.Match(buffer) ? 1 : 0);
	}
}


}} // namespaces