Hello Alex,

The confusion is probably on my part. 

Reading this:
https://kamailio.org/docs/modules/devel/modules/sl.html#sl.f.sl_send_reply

        3.1.  sl_send_reply(code, reason)
        For the current request, a reply is sent back having the given code and 
text reason. The reply is sent stateless, totally independent of the 
Transaction module and with no retransmission for the INVITE's replies.

        If the code is in the range 300-399 (redirect reply), the current 
destination set is appended to the reply as Contact headers. The destination 
set contains the request URI (R-URI), if it is modified compared to the 
received one, plus the branches added to the request (e.g., after an     
append_branch() or lookup("location")). If the R-URI was changed but it is not 
desired to be part of the destination set, it can be reverted using the 
function revert_uri().

        Custom headers to the reply can be added using append_to_reply() 
function from textops module.



I thought that I needed to use append_branch before calling sl_send_reply to 
control the Contact headers in the reply.

I tried to use "append_to_reply" instead to add the Contact headers, like this:
append_to_reply("Contact: <...>\r\n");

This works, but then I get WARNING messages in the logs:
        WARNING: <core> [core/dset.c:690]: print_dset(): no r-uri or branches

Which is also why I was confused...
You're telling me I should not create branches... but if I don't, I get these 
messages.

Could you please clarify ?


Thanks a lot.

Regards,
Nicolas.


-----Message d'origine-----
De : Alex Balashov via sr-users <sr-users@lists.kamailio.org> 
Envoyé : jeudi 11 janvier 2024 18:57
À : Kamailio (SER) - Users Mailing List
Cc : Alex Balashov
Objet : [SR-Users] Re: Using http_async_query - transaction seems "reused" for 
subsequent SIP INVITE requests received ? (Kamailio 5.7.3)

******This mail has been sent from an external source. Do not reply to it, or 
open any links/attachments unless you are sure of the sender's identity.******

Hi,

First off, a bit confused as to why you are appending a branch and then sending 
a final reply? Adding a branch only makes sense if you plan to fork the request 
to an additional destination, instead of responding to the sender with a final 
dispositive (>= 3xx) reply.

-- Alex

> On 11 Jan 2024, at 12:16, Chaigneau, Nicolas via sr-users 
> <sr-users@lists.kamailio.org> wrote:
> 
>  Hello,
>   So far I was using Kamailio in "stateless" mode to handle SIP INVITE 
> requests and reply with 302.
>   I am now trying to use module http_async_client module, but I'm 
> experiencing unexpected behavior with "branches".
> I'm using function http_async_query as described in the example:
>  
> https://www.kamailio.org/docs/modules/devel/modules/http_async_client.
> html#http_async_client.f.http_async_query
>  When the transaction is resumed, I'm building and sending the reply, using 
> "append_branch" and "sl_send_reply":
> https://kamailio.org/docs/modules/devel/modules/sl.html#sl.f.sl_send_r
> eply
>  For example:
>                  append_branch("...");
>                 sl_send_reply("302", "Moved Temporarily");
>   This works, however when I'm sending new client SIP INVITE requests to 
> Kamailio, it seems it will always reuse the previous transaction.
> The new branches are appended to the branches of the first transaction.
> I end up with errors "ERROR: <core> [core/dset.c:424]: append_branch(): max 
> nr of branches exceeded" when the limit (12) is exceeded.
>  I do not understand why this happens. This is a new SIP INVITE message, it 
> should not be linked to the previous transaction ?
>  I tried a few things:
> - remove the transaction using "t_release();"
> - configure: modparam("tm", "wt_timer", 0)  This did not help...
>   How can I solve this ?
>  Thanks for your help.
>   Regards,
> Nicolas.
>  
> 
> 
> This message contains information that may be privileged or confidential and 
> is the property of the Capgemini Group. It is intended only for the person to 
> whom it is addressed. If you are not the intended recipient, you are not 
> authorized to read, print, retain, copy, disseminate, distribute, or use this 
> message or any part thereof. If you receive this message in error, please 
> notify the sender immediately and delete all copies of this message.
> __________________________________________________________
> Kamailio - Users Mailing List - Non Commercial Discussions To 
> unsubscribe send an email to sr-users-le...@lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the 
> sender!
> Edit mailing list options or unsubscribe:


--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send 
an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:

__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:

Reply via email to