io::write_all(socket,
"MESSAGE sip:test.com \
SIP/2.0\r\nAccept:text/plain\r\nAccept-Encoding:*\r\nAccept-Language:\
- en-gb\r\nAlert-Info:<http://www.example.com/sounds/moo.wav>\r\nVia: \
+ en-gb\r\nAlert-Info:<http://www.example.com/sounds/moo.wav>\r\nAllow:MESSAGE\r\nVia: \
localhost\r\n\r\n")
});
tag!(b","),
alert_param)));
+named!(allow_header<Vec<Method>>, preceded!(
+ tag!(b"Allow:"),
+ separated_nonempty_list!(
+ tag!(b","),
+ method)));
+
named!(pub header<Header>, alt!(
// RFC 3261 Headers
accept_header => { |a| Header::Accept(a) } |
accept_encoding_header => { |a| Header::AcceptEncoding(a) } |
accept_language_header => { |a| Header::AcceptLanguage(a) } |
- alert_info_header => { |a| Header::AlertInfo(a) }
+ alert_info_header => { |a| Header::AlertInfo(a) } |
+ allow_header => { |a| Header::Allow(a) }
));
AcceptEncoding(Vec<Encoding>),
AcceptLanguage(Vec<Language>),
AlertInfo(Vec<AlertParam>),
+ Allow(Vec<Method>),
From(Uri),
To(Uri),
Extension { name: String, value: String },