Ben,

From 17.1.1.3:

"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").  The To
   header field in the ACK MUST equal the To header field in the
   response being acknowledged, and therefore will usually differ from
   the To header field in the original request by the addition of the
   tag parameter.  The ACK MUST contain a single Via header field, and
   this MUST be equal to the top Via header field of the original
   request.  The CSeq header field in the ACK MUST contain the same
   value for the sequence number as was present in the original request,
   but the method parameter MUST be equal to "ACK"."
I think you are mistaken here. The Contact in the 300 should not be used.

Sent from mobile, apologies for brevity and errors.

On Dec 24, 2024, at 9:51 AM, Ben Kaufman via sr-users <[email protected]> wrote:







This is the contact in your 300:

sip:[email protected]:5060?P-Asserted-Identity=%2216001%22%3Csip%3A16001%3Bverstat%3DTN-Validation-Passed%4010.20.0.2%3A5060%3E

This is the URI in your ACK:


It looks like you're using SIPp which is a pain this way.  Rather than coding the URI into the ACK of your SIPp scenario, add rss="true" to the recv line for your 300, and then use [next_url] in the template for your ACK mesasge.


Kaufman
Senior Voice Engineer



E: [email protected]




 

SIP.US Client Support: 800.566.9810  |  SIPTRUNK Client Support: 800.250.6510  |  Flowroute Client Support: 855.356.9768

img
img
img
 


From: Sergio Charrua <[email protected]>
Sent: Monday, December 23, 2024 4:14 PM
To: Kamailio (SER) - Users Mailing List <[email protected]>
Cc: Alexis Fidalgo <[email protected]>; Ben Kaufman <[email protected]>
Subject: Re: [SR-Users] Re: help on how to get ACK
 

CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Hi !

I have the exact same issue as Alexis. This is my SIP flow (which I believe must be very similar, if not identical, to Alexis' ):

                                                          
            10.20.0.1:5060               10.20.20.1:5060  
        ──────────┬─────────          ──────────┬─────────
19:49:35.432327   │        INVITE (SDP)         │         
      +0.007536   │ ──────────────────────────> │         
19:49:35.439863   │  100 trying -- your call is │         
      +0.006997   │ <────────────────────────── │         
19:49:35.446860   │  300 SL - Multiple Choices  │         
      +0.001942   │ <────────────────────────── │         
19:49:35.448802   │             ACK             │         
                  │ ──────────────────────────> │         
                  │                             │         

Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0
From: sipp <sip:[email protected]:5060>;tag=1
CSeq: 1 INVITE
Contact: sip:[email protected]:5060;transport=UDP>
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
User-Agent: SIPp
Session-Expires: 3600;refresher=uas
Supported: replaces, timer
Content-Length:   129

v=0
o=user1 53655765 2353687637 IN IP4 10.20.0.1
s=-
c=IN IP4 10.20.0.1
t=0 0
m=audio 6000 RTP/AVP 0
a=rtpmap:0 PCMU/8000


SIP/2.0 100 trying -- your call is important to us
Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0
From: sipp <sip:[email protected]:5060>;tag=1
CSeq: 1 INVITE
Server: kamailio (5.8.2 (x86_64/linux))
Content-Length: 0


SIP/2.0 300 - Multiple Choices
Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0
From: sipp <sip:[email protected]:5060>;tag=1
To: <sip:[email protected]:5060>;tag=d360f2f6fe5d9cd3912155e609771cc6-f406b8d3
CSeq: 1 INVITE
Server: kamailio (5.8.2 (x86_64/linux))
Content-Length: 0

(The above 300 - Multiple Choice message has a new Contact header, that will be used by SBC to redirect the call somewhere else)

Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-3
Max-Forwards: 70
To: <sip:[email protected]:5060>;tag=d360f2f6fe5d9cd3912155e609771cc6-f406b8d3
CSeq: 1 ACK
User-Agent: SIPp
Content-Length: 0


From this point, Kamailio will re-send the 300 Multiple Choice message, repeating until timeout...



Atenciosamente / Kind Regards / Cordialement / Un saludo,


Sérgio Charrua



On Mon, Dec 23, 2024 at 11:05 PM Ben Kaufman via sr-users <[email protected]> wrote:
Does your 3xx message have a Contact, and does that Contact URI match the RURI in your ACK?

Kaufman
Senior Voice Engineer



E: [email protected]




 

SIP.US Client Support: 800.566.9810  |  SIPTRUNK Client Support: 800.250.6510  |  Flowroute Client Support: 855.356.9768

img
img
img
 


From: Alexis Fidalgo via sr-users <[email protected]>
Sent: Monday, December 23, 2024 3:19 PM
To: Kamailio (SER) - Users Mailing List <[email protected]>
Cc: Alexis Fidalgo <[email protected]>
Subject: [SR-Users] help on how to get ACK
 
CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Hello all, moving just a bit aside of the http and async_http.

After all the real useful and interesting thread on that topic what helped me, im facing a problem i cant deal with and need a hint at least.

Scenario

INVITE -> Kamailio

on request_route
...
        if(is_method("INVITE")){
                t_newtran();
                http_async_query("http://nuc:8080", "HTTP_REPLY");
        }


Kamailio -> 100 - Trying


then

route[HTTP_REPLY] {
    if ($http_ok) {
        xlog("L_INFO", "route[HTTP_REPLY]: status $http_rs\n");
        xlog("L_INFO", "route[HTTP_REPLY]: body   $http_rb\n");
        t_reply(302,"Redirect");
    } else {
        xlog("L_INFO", "route[HTTP_REPLY]: error  $http_err)\n");
    }
}

Kamailio -> 302 Redirect
ACK -> Kamailio

This last ACK, how can i read it and use it to terminate the transaction? because Kamailio keeps transmitting the 302 message 3 more times until the transaction is finished by a timer

42(44) DEBUG: tm [t_reply.c:1723]: t_retransmit_reply(): reply retransmitted. buf=0x7f4c44f9d680: SIP/2.0 3..., shmem=0x7f4c3fce7900: SIP/2.0 3
42(44) DEBUG: tm [t_reply.c:1723]: t_retransmit_reply(): reply retransmitted. buf=0x7f4c44f9d680: SIP/2.0 3..., shmem=0x7f4c3fce7900: SIP/2.0 3
42(44) DEBUG: tm [t_reply.c:1723]: t_retransmit_reply(): reply retransmitted. buf=0x7f4c44f9d680: SIP/2.0 3..., shmem=0x7f4c3fce7900: SIP/2.0 3
42(44) DEBUG: tm [timer.c:642]: wait_handler(): finished transaction: 0x7f4c3fcd35a0 (p:0x7f4c3fad85d0/n:0x7f4c3fad85d0)
42(44) DEBUG: tm [h_table.c:133]: free_cell_helper(): freeing transaction 0x7f4c3fcd35a0 from timer.c:651


in request_route i have

        if(is_method("ACK")){
                if(!t_check_trans()){
                t_release();
                }
        exit;
        }


__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the sender!
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the sender!
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the sender!
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions -- 
[email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the 
sender!

Reply via email to