\begin{syntax}
Via               & = & ( "Via" $|$ "v" ) ":" 1\#( sent-protocol sent-by\\
                  &   & *( ";" via-params ) [ comment ] ) \\
via-params        & = & via-hidden $|$ via-ttl $|$ via-maddr\\
                  &$|$& via-received $|$ via-branch $|$ via-extension\\
via-hidden        & = & "hidden"\\
via-ttl           & = & "ttl" "=" ttl \\
via-maddr         & = & "maddr" "=" host \\
via-received	  & = & "received" "=" host\\
via-branch        & = & "branch" "=" token \\
via-extension     & = & generic-param\\
sent-protocol     & = & protocol-name "/" protocol-version \\
                  &   & "/" transport \\
protocol-name     & = & "SIP" $|$ token \\
protocol-version  & = & token\\
transport         & = & "UDP" $|$ "TCP" $|$ "TLS" $|$ "SCTP" $|$ other-transport\\
sent-by           & = & host [ ":" port ]\\
ttl               & = & 1*3DIGIT           & ; 0 to 255\\
\end{syntax}
