anchor.diff:  %% although it will acept some route and record-route entries that
   %% aren't legal as if they where.
   %%
  -%% Note: string:tokens/2 is used in some places where where sequences
  -%%       of separator char() are not allowed, but tokens/2 will only
  -%%       "see" one separator char().
  +%% Note: string:tokens/2 is used in some places where sequences of
  +%%       separator char() are not allowed, but tokens/2 will only "see"
  +%%       one separator char().
   %% Note: contents of quoted-string are not checked
   %%       - there is no need to, it should just be passed along
   %%         according to RFC 3261
  
positive.code: %% *(R)   = 0*inifinity(R) i.e. rule R may be applied any number of
  %%          times
  %% [R]    = *1(R), i.e. apply this rule 0-1 times
  %% "string" = quoted strings are case insensetive
  %% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  
  %% RFC 2234 and RFC 3261 - - - - - - - - - - - - - - - - - - - - - - -
  
negative.code: %%                  ( STAR / (contact-param *(COMMA contact-param)))
  %% contact-param =  (name-addr / addr-spec) *(SEMI contact-params)
  %%
  %% --- The rule above is rather ambiguous, in the
  %% "addr-spec *(SEMI contact-params)" case.
  %% "Contact: sip:foo@bar;foo=42;bar=52" could be interpreted as:
  %%
  