< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate-users] a question about maddr param


I agree.  For responses resiprocate always sends back to the address and port that the message was received from, it does not inspect the via headers from the request.  Perhaps one of the original stack authors could comment on the reason for not implementing this.  : )

Scott

2010/10/11 吴振宇 <ssosun@xxxxxxxxx>
in the 18.2.2 Sending Responses of rfc3261 is about response.
i know there is process in DnsResult::lookupInternal,but i don't think
it will pass the DnsResult::lookupInternal when stack send a response.

using dns,not only here as below?
 mDnsResult = mController.mTransportSelector.createDnsResult(this);
 mWaitingForDnsResult=true;
 mController.mTransportSelector.dnsResolve(mDnsResult, sip);

in TransportSelector::dnsResolve function there are:
else if (msg->isResponse())
  {
     ErrLog(<<"unimplemented response dns");
     assert(0);
  }

2010/10/12 Scott Godin <sgodin@xxxxxxxxxxxxxxx>:
> p_maddr processing is done in the DNS lookup code.  Check out:
> DnsResult::lookupInternal(const Uri& uri) in DnsResult.cxx
> Scott
>
> On Sat, Oct 9, 2010 at 4:06 AM, 吴振宇 <ssosun@xxxxxxxxx> wrote:
>>
>> hi,all
>>     i get a question when i learn rfc3261 in detail,then see the resip
>> code.
>>     18.2.2 Sending Responses:
>> "Otherwise, if the Via header field value contains a "maddr"
>>         parameter, the response MUST be forwarded to the address listed
>>         there, using the port indicated in "sent-by", or port 5060 if
>>         none is present.  If the address is a multicast address, the
>>         response SHOULD be sent using the TTL indicated in the "ttl"
>>         parameter, or with a TTL of 1 if that parameter is not present."
>>
>> sending response may use maddr.
>>
>> 19.1 SIP and SIPS Uniform Resource Indicators:
>> "The maddr parameter indicates the server address to be
>>         contacted for this user, overriding any address derived from
>>         the host field.  When an maddr parameter is present, the port
>>         and transport components of the URI apply to the address
>>         indicated in the maddr parameter value.  [4] describes the
>>         proper interpretation of the transport, maddr, and hostport in
>>         order to obtain the destination address, port, and transport
>>         for sending a request."
>>
>> then i see the sendToWire function of  transactionstate.cxx,i can't
>> find the process of the maddr param.
>> are there some process of this at other postion?
>> ps: i don't test this
>> _______________________________________________
>> resiprocate-users mailing list
>> resiprocate-users@xxxxxxxxxxxxxxx
>> List Archive: http://list.resiprocate.org/archive/resiprocate-users/
>
>