That's a little puzzling. Could you post the incoming invite, and perhaps the entire configuration?
— Sent from mobile, apologies for brevity and errors. > On Jan 12, 2024, at 9:26 AM, Chaigneau, Nicolas > <nicolas.chaign...@capgemini.com> wrote: > > Thanks for the clarification. So "branches" is not what I need. > > So I should do something like that: > > append_to_reply("Contact: <...>\r\n"); > sl_send_reply("302", "Moved Temporarily"); > exit; > > (I do have an "exit" immediately after all calls to "sl_send_reply") > > > I tried with a minimalist request_route, as follows: > > request_route { > if (is_method("INVITE")) { > append_to_reply("Contact: <sip:+1234;myparam=test@$si:$sp>\r\n"); > xlog("L_INFO", "Calling sl_send_reply then exit\n"); > sl_send_reply("302", "Moved Temporarily"); > exit; > } > } > > > But I still have this WARNING message logged by Kamailio when handling a SIP > INVITE: > > WARNING: <core> [core/dset.c:690]: print_dset(): no r-uri or branches > > > > Regards, > Nicolas. > > -----Message d'origine----- > De : Alex Balashov via sr-users <sr-users@lists.kamailio.org> > Envoyé : vendredi 12 janvier 2024 13:44 > À : Kamailio - 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 Nicolas, > > Yes, I think that unfortunately this is the outcome of some confusion. Apart > from the word "append", there is nothing in common between the concepts of > append_branch() and append_to_reply(). > > I'm not sure why you are getting the messages you are just sending redirects, > but the prime suspicion is that the execution of your configuration contains > additional steps beyond just sending stateless replies, e.g. that you call > sl_send_reply(), but do not call 'exit' afterward, and so the config > execution progresses to a step where some kind of relay is attempted. > > Conceptually, sending redirects is as simple as: > > request_route { > ... > > # Maybe some sanity-checking or request boilerplate here. > > if(method == "INVITE") { > # some DB ops or whatever, yielding $var(val). > > append_to_reply("Contact: <sip:$var(val)>\r\n"); > sl_send_reply("302", "Moved Temporarily"); > exit; > } > > # Anything else that might occur in this config should not > # occur if an INVITE was received--note the 'exit' step above. > } > > It may not be quite as simple as that, but hopefully this gives the right > idea. > > -- Alex > >> On 12 Jan 2024, at 03:16, Chaigneau, Nicolas >> <nicolas.chaign...@capgemini.com> wrote: >> >> Hello Alex, >> >> >> The confusion is probably on my part. >> >> Reading this: >> https://kamailio.org/docs/modules/devel/modules/sl.html#sl.f.sl_send_r >> eply >> >> 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: