[Asterisk-Dev] Incorrect behavior : address for SIP responses

Christian Cayeux Christian.Cayeux at alcatel.fr
Wed Jun 8 06:56:43 MST 2005


I'm not using nat at all. Looking at the code of chan_sip.c (version 1.0.7),
this is hard coded in sip_alloc : reply address is the recvfrom address.
In a former response to my post, Marius argued that this behavior conforms
to RFC3581 :

> I am not very familiar with the SIP standards, however the behavior
> you describe seems to be legit.
> http://www.faqs.org/rfcs/rfc3581.html
>   When the client sends the request, if the request is sent using UDP,
>   the client MUST be prepared to receive the response on the same IP
>   address and port it used to populate the source IP address and source
>   port of the request.  For backwards compatibility, the client MUST
>   still be prepared to receive a response on the port indicated in the
>   sent-by field of the topmost Via header field value, as specified in
>   Section 18.1.1 of SIP [1].
> Marius

But on my understanding (please tell me if i'm wrong) rfc3581 is an optional
extension and its support is not mandatory. The reference is RFC3261, which
forbids such a behavior.

So, as Asterisk is intended to support RFC3581, should we consider it a bug?
Well, i still believe this is a bug, because this is the cause of potential
serious interop issues. If * is intended to interop with most of SIP
implementations, then it should conform to RFC3261.


-----Message d'origine-----
De : asterisk-dev-bounces at lists.digium.com
[mailto:asterisk-dev-bounces at lists.digium.com]De la part de Julian J. M.
Envoyé : mercredi 8 juin 2005 15:13
À : Asterisk Developers Mailing List
Objet : Re: [Asterisk-Dev] Incorrect behavior : address for SIP

You are probably using nat=yes for that peer. Then asterisk asumes
that the other end is behind a symetric nat firewall, thus replying to
the originating port, and not 5060.

Julian J. M.

On 5/27/05, Christian Cayeux <Christian.Cayeux at alcatel.fr> wrote:
> Hello all,
> When receiving a SIP request, I've observed that asterisk SIP channel
> returns responses to the address it was received from. For exemple, if a
> UA, name it A, sends an Invite from a port UDP:7777 to asterisk port
> UDP:5060, then Asterisk replies a 100 Trying to A:7777! On so on for each
> response.
> But this behavior is not compliant to RFC3261 ( on my understanding :-) )
> see section 18.2.2. Its says that (i understand that), when UDP is used
> unless specified in Via, the response must be sent to UDP:5060.
> Has anyone an opinion on that? Is it already a known problem?
> Thanks in advance for info.
> Christian.
Asterisk-Dev mailing list
Asterisk-Dev at lists.digium.com
To UNSUBSCRIBE or update options visit:
-------------- next part --------------
An embedded message was scrubbed...
From: "Marius S" <lov2cod at gmail.com>
Subject: Re: [Asterisk-Dev] Incorrect behavior : address for SIP responses
Date: Fri, 27 May 2005 16:59:42 +0200
Size: 3442
Url: http://lists.digium.com/pipermail/asterisk-dev/attachments/20050608/7974ef60/attachment.eml

More information about the asterisk-dev mailing list