linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] ACK construction not compliant to RFC 3261


From: Ramon Poca
Subject: Re: [Linphone-developers] ACK construction not compliant to RFC 3261
Date: Tue, 5 Jun 2012 13:03:23 +0200

Beware: You are reading the rules for an ACK to a NON-200 response.
The paragraph preceeding the one you cite states clearly:

   This section specifies the construction of ACK requests sent within
   the client transaction.  A UAC core that generates an ACK for 2xx
   MUST instead follow the rules described in Section 13.

So you must follow the rules in Section 13 for the ACK. I had trouble
with it last week so had this bit fresh on my mind.
:)

On Tue, Jun 5, 2012 at 12:31 PM, Rick van Rein <address@hidden> wrote:
> Hello,
>
> I ran into a problem with SIP that ended up being a flaw in LinPhone.
>
> Version:        linphone 3.3.2
> Variation:      console, linphonec (linphone-nox)
> Platform:       Debian Squeeze
> Transport:      UDP over IPv6
>
> The ACK constructed in response to a "200 OK" contains a Request-URI that
> seems to originate from the Contact: header.  This is incompatible with
> RFC 3621 which states:
>
>   The ACK request constructed by the client transaction MUST contain
>   values for the Call-ID, From, and Request-URI that are equal to the
>   values of those header fields in the request passed to the transport
>   by the client transaction (call this the "original request").
>
> As far as I can tell, the rest of the ACK construction is correct,
> only the Request-URI is incompatible.  I am enclosing a trace.
>
> As you can see from the route sets in the traces, I am passing the traffic
> through an IPv4/IPv6 translator of my own design,
>        http://devel.0cpm.org/sipproxy64/
> and my first instinct was to check if that was false.  But the RFC stated
> otherwise.
>
> I hope this is useful.  Thanks for making Linphone!
>
>
> Cheers,
>  -Rick
>
>    ------- 8< ------- 8< ------- 8< ------- 8< ------- 8< -------
>
> 1. linphone 2001:db8::200 -> opensips 2001:db8::11
>
>        INVITE sip:address@hidden:5080 SIP/2.0
>        Via: SIP/2.0/UDP [2001:db8::200]:5080;branch=z9hG4bK1847014067
>        From: <sip:address@hidden>;tag=1669548454
>        To: <sip:address@hidden:5080>
>        Call-ID: 1701848931
>        CSeq: 20 INVITE
>        Contact: <sip:address@hidden:db8::200]:5080>
>        Content-Type: application/sdp
>        Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, 
> SUBSCRIBE, INFO
>        Max-Forwards: 70
>        User-Agent: Linphone/3.3.2 (eXosip2/3.3.0)
>        Subject: Phone call
>        Content-Length:   427
>
>        v=0
>        o=3153xxxxxxx 123456 654321 IN IP6 2001:db8::200
>        s=A conversation
>        c=IN IP6 2001:db8::200
>        t=0 0
>        m=audio 7078 RTP/AVP 112 111 110 3 0 8 101
>        a=rtpmap:112 speex/32000/1
>        a=fmtp:112 vbr=on
>        a=rtpmap:111 speex/16000/1
>        a=fmtp:111 vbr=on
>        a=rtpmap:110 speex/8000/1
>        a=fmtp:110 vbr=on
>        a=rtpmap:3 GSM/8000/1
>        a=rtpmap:0 PCMU/8000/1
>        a=rtpmap:8 PCMA/8000/1
>        a=rtpmap:101 telephone-event/8000/1
>        a=fmtp:101 0-11
>
> 2. opensips 2001:db8::11 -> linphone 2001:db8::200 (after 100 and 183 
> messages)
>
>        SIP/2.0 200 OK
>        Via: SIP/2.0/UDP 
> [2001:db8::200]:5080;received=2001:db8::200;branch=z9hG4bK1847014067
>        Record-Route: <sip:83.143.188.165;lr=on;ftag=1669548454>
>        Record-Route: <sip:10.0.0.11;lr>
>        Record-Route: <sip:10.0.0.12:5060;lr>
>        Record-Route: <sip:[2001:db8::12]:5060;lr>;received=2001:db8::11
>        Record-Route: <sip:[2001:db8::11];r2=on;lr>
>        Record-Route: <sip:[2001:db8::11]:5080;r2=on;lr>
>        From: <sip:address@hidden>;tag=1669548454
>        To: <sip:address@hidden:5080>;tag=1490130588
>        Call-ID: 1701848931
>        CSeq: 20 INVITE
>        Contact: <sip:address@hidden:db8::12]:63493;bnat=yes>
>        Content-Type: application/sdp
>        Allow: INVITE
>        Allow: ACK
>        Allow: CANCEL
>        Allow: BYE
>        Allow: OPTIONS
>        Allow: INFO
>        Allow: REFER
>        Allow: SUBSCRIBE
>        Allow: NOTIFY
>        Supported: replaces
>        allow-events: message-summary
>        allow-events: refer
>        Max-Forwards: 70
>        Content-Length:   231
>
>        v=0
>        o=31534782239 5020 48 IN IP4 83.143.188.165
>        s=Mapping
>        c=IN IP6 2001:db8::12
>        t=0 0
>        m=audio 14008 RTP/AVP 0 101
>        a=rtpmap:0 PCMU/8000
>        a=rtpmap:101 telephone-event/8000
>        a=fmtp:101 0-16
>        a=sendrecv
>        a=nortpproxy:yes
>
> 3. linphone 2001:db8::200 -> opensips 2001:db8::11
>
>        ACK sip:address@hidden:db8::12]:63493;bnat=yes SIP/2.0
>        Via: SIP/2.0/UDP [2001:db8::200]:5080;branch=z9hG4bK1932446024
>        Route: <sip:[2001:db8::11]:5080;r2=on;lr>
>        Route: <sip:[2001:db8::11];r2=on;lr>
>        Route: <sip:[2001:db8::12]:5060;lr>;received=2001:db8::11
>        Route: <sip:10.0.0.12:5060;lr>
>        Route: <sip:10.0.0.11;lr>
>        Route: <sip:83.143.188.165;lr=on;ftag=1669548454>
>        From: <sip:address@hidden>;tag=1669548454
>        To: <sip:address@hidden:5080>;tag=1490130588
>        Call-ID: 1701848931
>        CSeq: 20 ACK
>        Contact: <sip:address@hidden:db8::200]:5080>
>        Max-Forwards: 70
>        User-Agent: Linphone/3.3.2 (eXosip2/3.3.0)
>        Content-Length: 0
>
>
>
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/linphone-developers



-- 
Ramon Poca
address@hidden
Numancia 73, 5º-A. 08029 Barcelona
Telèfon directe: +34 93 184 52 84
Centraleta: +34 93 184 52 80
Fax: +34 93 419 69 31
www.androme.es



reply via email to

[Prev in Thread] Current Thread [Next in Thread]