We probably need to rethink contact_details attribute on messages as its completely valid to have multiple Contact headers.
For example, from RFC 3261 on registrations:
If more than one Contact is sent in a REGISTER request, the
registering UA intends to associate all of the URIs in these Contact
header field values with the address-of-record present in the To
field. This list can be prioritized with the "q" parameter in the
Contact header field. The "q" parameter indicates a relative
preference for the particular Contact header field value compared to
other bindings for this address-of-record. Section 16.6 describes
how a proxy server uses this preference indication.
We probably need to rethink
contact_details
attribute on messages as its completely valid to have multiple Contact headers.For example, from RFC 3261 on registrations: