Hey Brett, I agree that the terminology around the ’suspend’ might be confusing. The concept that this configuration vernacular is trying to invoke — and, in fact, uses under the hood — is that of the TM module’s t_suspend() / t_continue() functionality:
https://kamailio.org/docs/modules/5.6.x/modules/tmx.html#tmx.f.t_suspend https://kamailio.org/docs/modules/5.6.x/modules/tmx.html#tmx.f.t_continue As you can surmise, t_suspend() also halts execution of the current cycle of message processing, and any further action on the message is done in the ‘continued’ route. — Alex > On Aug 19, 2022, at 12:34 AM, Brett Nemeroff > <brett+kamai...@voicefoxtelephony.com> wrote: > > Hey Alex, > Thanks that was really helpful.The $avps were available. Just needs a little > refactoring to work as expected. > > Doesn't feel like a "suspend". I think calling it that and not being more > clear in the docs is confusing. But I can see how it kinda makes sense. > > Appreciate the help, > Brett > > On Thu, Aug 18, 2022 at 5:02 PM Alex Balashov <abalas...@evaristesys.com> > wrote: > A little more helpfully, perhaps: > > - By default, a transaction is not created until t_relay(); if you want > `http_async_client` to preserve any transaction-affiliated information, > you’ll need to create it explicitly with t_newtran() beforehand; > > - Only transaction-persistent information is recoverable once the reply is > received and the transaction is resumed. $[x]avp’s should be available, since > they are transaction-persistent, but $var()s will not be; $var()s are used > for individuated message processing, although scoped to the worker process > into which the message lands. > > - A common pattern for passing relatively more sophisticated, nonscalar data > sets, or bits of state, into the other side of the async HTTP reply is to > store some kind of payload in `htable`, keyed by `$http_req_id`. > > — Alex > > > On Aug 18, 2022, at 5:50 PM, Brett Nemeroff > > <brett+kamai...@voicefoxtelephony.com> wrote: > > > > Hello Kamailio Team! > > > > I've tried following the documentation for http_async_query() with > > suspend=1 and not getting results I'm expecting. Perhaps I'm > > misunderstanding the documentation. > > > > Basically I'm performing a http_async_query() with suspend set to 1 and a > > "route_name" set to HTTP_REPLY. > > > > When my query executes, it appears that Kamailio stops processing in that > > route block, suspends, and then when a reply is available, it continues in > > HTTP_REPLY. That makes sense. I pull the return value and set some $var and > > $avp. When I get to the end of the HTTP_REPLY block, I'm EXPECTING it to > > RESUME FROM the suspended location from the original route block, which it > > does NOT seem to do. Is that expected? > > > > For what it's worth, I did test just continuing my route logic in > > HTTP_REPLY and just forgetting about the original route block (moved all > > the remaining processing logic into HTTP_REPLY) However, existing $avp and > > $vars that were already set within the transaction were not set. So that's > > not possible either. > > > > I'm pretty sure there is a right way to do this without getting hacky. Can > > someone help me out? > > > > And yes, I know what I'm trying to do sounds like sync, but I want async to > > handle high volume and the potential for my external URL to lightly block. > > I believe the right way to do this is with async+suspending. > > > > Thank you, > > Brett > > > > __________________________________________________________ > > Kamailio - Users Mailing List - Non Commercial Discussions > > * sr-users@lists.kamailio.org > > Important: keep the mailing list in the recipients, do not reply only to > > the sender! > > Edit mailing list options or unsubscribe: > > * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > -- > Alex Balashov | Principal | Evariste Systems LLC > > Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) > Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ > > > __________________________________________________________ > Kamailio - Users Mailing List - Non Commercial Discussions > * sr-users@lists.kamailio.org > Important: keep the mailing list in the recipients, do not reply only to the > sender! > Edit mailing list options or unsubscribe: > * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > __________________________________________________________ > Kamailio - Users Mailing List - Non Commercial Discussions > * sr-users@lists.kamailio.org > Important: keep the mailing list in the recipients, do not reply only to the > sender! > Edit mailing list options or unsubscribe: > * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- Alex Balashov | Principal | Evariste Systems LLC Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free) Web: http://www.evaristesys.com/, http://www.csrpswitch.com/ __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users