[asterisk-dev] Via/maddr: (was Re: [Code Review] Properly route responses according to the Via headers in the request)

Klaus Darilion klaus.mailinglists at pernau.at
Tue Jan 4 11:45:44 CST 2011

Hi Simon!

Am 04.01.2011 14:32, schrieb Simon Perreault:
> Le 04/01/2011 3:34 AM, Klaus Darilion a écrit :
>> why should a response be sent to a multicast
>> address at all?
> Some insight from RFC 3261, section 18.1.1:


> A client that sends a request to a multicast address MUST add the
> "maddr" parameter to its Via header field value containing the
> destination multicast address, and for IPv4, SHOULD add the "ttl"
> parameter with a value of 1. Usage of IPv6 multicast is not defined
> in this specification, and will be a subject of future
> standardization when the need arises.
> These rules result in a purposeful limitation of multicast in SIP.
> Its primary function is to provide a "single-hop-discovery-like"
> service, delivering a request to a group of homogeneous servers,
> where it is only required to process the response from any one of
> them. This functionality is most useful for registrations. In fact,
> based on the transaction processing rules in Section 17.1.3, the
> client transaction will accept the first response, and view any
> others as retransmissions because they all contain the same Via
> branch identifier.

This text may imply, that multiple servers will send responses. Why 
should multiple servers reply if there was already one server who 
replied - probably because it's a race condition and although every 
server will see the response of the other servers they will respond to. 
So they could respond to the unicast address as well.

Anyway, yes I know it is defined, but I don't like it at all ;-)


More information about the asterisk-dev mailing list