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"."
On Dec 24, 2024, at 9:51 AM, Ben Kaufman via sr-users <sr-users@lists.kamailio.org> wrote:
This is the contact in your 300:
sip:service@10.20.0.3: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:
sip:1@10.20.20.1:5060
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, addrss="true"
to therecv
line for your 300, and then use[next_url]
in the template for your ACK mesasge.
Here is an example: https://github.com/whosgonna/kamailio_http_async/blob/reply300/sipp/uac_expect_300.xml#L58
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
From: Sergio Charrua <sergio.charrua@voip.pt>
Sent: Monday, December 23, 2024 4:14 PM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Alexis Fidalgo <alzrck@gmail.com>; Ben Kaufman <bkaufman@bcmone.com>
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' ):
──────────┬───────── ──────────┬─────────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 ││ ──────────────────────────> ││ │
INVITE sip:1@10.20.20.1:5060 SIP/2.0Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0From: sipp <sip:sipp@10.20.0.1:5060>;tag=1To: <sip:1@10.20.20.1:5060>Call-ID: 1-3147164@10.20.0.1CSeq: 1 INVITEContact: sip:sipp@10.20.0.1:5060;transport=UDP>Max-Forwards: 70Subject: Performance TestContent-Type: application/sdpUser-Agent: SIPpSession-Expires: 3600;refresher=uasSupported: replaces, timerContent-Length: 129
v=0o=user1 53655765 2353687637 IN IP4 10.20.0.1s=-c=IN IP4 10.20.0.1t=0 0m=audio 6000 RTP/AVP 0a=rtpmap:0 PCMU/8000
SIP/2.0 100 trying -- your call is important to usVia: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0From: sipp <sip:sipp@10.20.0.1:5060>;tag=1To: <sip:1@10.20.20.1:5060>Call-ID: 1-3147164@10.20.0.1CSeq: 1 INVITEServer: kamailio (5.8.2 (x86_64/linux))Content-Length: 0
SIP/2.0 300 - Multiple ChoicesVia: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-0From: sipp <sip:sipp@10.20.0.1:5060>;tag=1To: <sip:1@10.20.20.1:5060>;tag=d360f2f6fe5d9cd3912155e609771cc6-f406b8d3Call-ID: 1-3147164@10.20.0.1CSeq: 1 INVITEServer: 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)
ACK sip:1@10.20.20.1:5060 SIP/2.0Via: SIP/2.0/UDP 10.20.0.1:5060;branch=z9hG4bK-3147164-1-3Max-Forwards: 70From: <sip:sipp@10.20.0.1:5060>;tag=1To: <sip:1@10.20.20.1:5060>;tag=d360f2f6fe5d9cd3912155e609771cc6-f406b8d3Contact: <sip:sipp@10.20.0.1:5060>Call-ID: 1-3147164@10.20.0.1CSeq: 1 ACKUser-Agent: SIPpContent-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 <sr-users@lists.kamailio.org> 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
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 ACKCAUTION: 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!
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!
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!