request_route:
if(is_method("ACK")){ 
  if(!t_check_trans()){ 
 xlog("L_INFO","AAAA: MATCHED TRANSACTION\n"); } 
else {
 xlog("L_INFO","BBBB: MATCHED TRANSACTION\n"); 
 } 
 exit; 
 }

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



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");
append_branch("sip:1111@otherdomain.com:5060");
t_reply(302,"Redirect");
    } else {
        xlog("L_INFO", "route[HTTP_REPLY]: error  $http_err)\n");
    }
}

pcap list

   15 173.459633617 192.168.86.250 → 192.168.86.128 SIP/SDP 588 Request: INVITE sip:123456@192.168.86.128:5060 |
   16 173.460549905 192.168.86.128 → 192.168.86.250 SIP 344 Status: 100 Trying |
   17 173.762804083 192.168.86.128 → 192.168.86.250 SIP 467 Status: 302 Redirect |
   18 173.789493070 192.168.86.250 → 192.168.86.128 SIP 415 Request: ACK sip:123456@192.168.86.128:5060 |
   19 174.213115954 192.168.86.128 → 192.168.86.250 SIP 467 Status: 302 Redirect |
   20 175.213132963 192.168.86.128 → 192.168.86.250 SIP 467 Status: 302 Redirect |
   21 177.213136064 192.168.86.128 → 192.168.86.250 SIP 467 Status: 302 Redirect |


sipp trace dump

----------------------------------------------- 2024-12-23 19:10:01.820622
UDP message sent (546 bytes):

INVITE sip:123456@192.168.86.128:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.86.250:5060;branch=z9hG4bK-35646-1-0
From: sipp <sip:sipp@192.168.86.250:5060>;tag=35646SIPpTag001
To: 123456 <sip:123456@192.168.86.128:5060>
Call-ID: 1-35646@192.168.86.250
CSeq: 1 INVITE
Contact: sip:sipp@192.168.86.250:5060
Max-Forwards: 70
Subject: Performance Test
Content-Type: application/sdp
Content-Length:   139

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

----------------------------------------------- 2024-12-23 19:10:01.847444
UDP message received [302] bytes :

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.86.250:5060;branch=z9hG4bK-35646-1-0
From: sipp <sip:sipp@192.168.86.250:5060>;tag=35646SIPpTag001
To: 123456 <sip:123456@192.168.86.128:5060>
Call-ID: 1-35646@192.168.86.250
CSeq: 1 INVITE
Server: kamailio (5.8.4 (x86_64/linux))
Content-Length: 0


----------------------------------------------- 2024-12-23 19:10:02.169378
UDP message received [425] bytes :

SIP/2.0 302 Redirect
Via: SIP/2.0/UDP 192.168.86.250:5060;branch=z9hG4bK-35646-1-0
From: sipp <sip:sipp@192.168.86.250:5060>;tag=35646SIPpTag001
To: 123456 <sip:123456@192.168.86.128:5060>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-e0f89f75
Call-ID: 1-35646@192.168.86.250
CSeq: 1 INVITE
Contact: <sip:1111@otherdomain.com:5060>, <sip:1111@otherdomain.com:5060>
Server: kamailio (5.8.4 (x86_64/linux))
Content-Length: 0


----------------------------------------------- 2024-12-23 19:10:02.169921
UDP message sent (373 bytes):

ACK sip:123456@192.168.86.128:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.86.250:5060;branch=z9hG4bK-35646-1-3
From: sipp <sip:sipp@192.168.86.250:5060>;tag=35646SIPpTag001
To: 123456 <sip:123456@192.168.86.128:5060>;tag=a6a1c5f60faecf035a1ae5b6e96e979a-e0f89f75
Call-ID: 1-35646@192.168.86.250
CSeq: 1 ACK
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0


sipp br.xml

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">

<scenario name="Basic Sipstone UAC">
  <!-- In client mode (sipp placing calls), the Call-ID MUST be         -->
  <!-- generated by sipp. To do so, use [call_id] keyword.                -->
  <send retrans="500">
    <![CDATA[

      INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: [service] <sip:[service]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 1 INVITE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Type: application/sdp
      Content-Length: [len]

      v=0
      o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
      s=-
      c=IN IP[media_ip_type] [media_ip]
      t=0 0
      m=audio [media_port] RTP/AVP 0
      a=rtpmap:0 PCMU/8000

    ]]>
  </send>

  <recv response="100" optional="true"></recv>

  <!-- By adding rrs="true" (Record Route Sets), the route sets         -->
  <!-- are saved and used for following messages sent. Useful to test   -->
  <!-- against stateful SIP proxies/B2BUAs.                             -->
  <recv response="302" rtd="true">
  </recv>

  <!-- Packet lost can be simulated in any send/recv message by         -->
  <!-- by adding the 'lost = "10"'. Value can be [1-100] percent.       -->
  <send>
    <![CDATA[

      ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: [service] <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 1 ACK
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0

    ]]>
  </send>

  <!-- definition of the response time repartition table (unit is ms)   -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

  <!-- definition of the call length repartition table (unit is ms)     -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

</scenario>





On 23 Dec 2024, at 6:44 PM, Ben Kaufman <bkaufman@bcmone.com> wrote:

Does your 3xx message have a Contact, and does that Contact URI match the RURI in your ACK?

Kaufman
Senior Voice Engineer



E: bkaufman@bcmone.com




 

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 <sr-users@lists.kamailio.org>
Sent: Monday, December 23, 2024 3:19 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Alexis Fidalgo <alzrck@gmail.com>
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 -- sr-users@lists.kamailio.org
To unsubscribe send an email to sr-users-leave@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!