Hi,

 

I do have the following situation:

 

UA1 calls UA2 going through ser 0.8.12. All signaling is Recourd Routed and go through ser.

UA2 doesn’t answer and I do have a t_on_failure to go to UA3.

UA3 receives INVITES from ser, and answer with a 200/OK with sdp, this messages goes through ser which forward it to UA1.

UA1 sends an ACK to ser having this in message:

 

Session Initiation Protocol

    Request line: ACK sip:ua3@22.2.4.193:5071 SIP/2.0

        Method: ACK

    Message Header

        Via: SIP/2.0/UDP 2.20.64.193:5063;branch=z9hG4bk-7f415771

        From: test1 <sip:ua1@vocal.ipsound.net>;tag=eb646133bf338b12

        To: <sip:ua2@vocal.ipsound.net>;tag=as47221fa0

        Call-ID: a66804e6-5ac924fd@142.133.80.102

        CSeq: 102 ACK

        Max-Forwards: 70

        Route: <sip:sip-proxy@ser-domain.com;ftag=eb646133bf338b12;lr=on>

        Proxy-Authorization: Digest username="       

        Contact: ua1 <sip:ua1@24.202.64.193:5063>

        User-Agent: Sipura/SPA2000-1.0.10

        Content-Length: 0

 

Ser is supposed to follow the route, and ends up looking into the location table and re-forwards the request to UA2 again (even if it already timed out once).

 

Now I do have another UA which in this same scenario sends the correct ACK:

 

Session Initiation Protocol

    Request line: ACK sip:sip-proxy@ser-domain.com SIP/2.0

        Method: ACK

    Message Header

        Route: <sip:ua3@22.2.4.193:5071>

        Via: SIP/2.0/UDP 2.20.64.193:5063

        From: ua1 <sip:ua1@ser-domain.com;user=phone>;tag=3551608275

        To: <sip:ua2@ser-domain.com;user=phone>;tag=as112d04ea

        Call-ID: 2653016335@142.133.80.101

        CSeq: 2 ACK

        User-Agent: Cisco ATA 186  v3.0.0 atasip (031210A)

        Proxy-Authorization: Digest username

        Content-Length: 0

 

In this case ser follow the route header, and ends up sending the ACK to UA3.

 

Snom phone with 2.03o firmware as well as sipura with 1.0.10 and 1.0.29b firmware have the same wrong behaviour.

What is the right way of having this ?

 

My understanding is that in record route situation, ser looks into the route header, and sends the message based on it. Here I do have User Agents which seem to create an ACK message ignoring it should go to a sip proxy .

 

 

Am I missing something here ?

 

Thanks.

 

Samy.