To be clear, the two t_newtran() calls in the main request_route were naturally 
a typo. :-) Only the first one was intended. 

> On Dec 12, 2022, at 3:45 PM, Alex Balashov <abalas...@evaristesys.com> wrote:
> 
> Hi,
> 
> Is there any good solution for the scenario of an auth_challenge() with two 
> separate transaction suspensions?
> 
> To clarify (simplified):
> 
>     request_route {
>         ...
> 
>         t_newtran();
> 
>         if(!is_present_hf("Authorization") && 
> !is_present_hf("Proxy-Authorization")) {
>            auth_challenge("$fd", "1");
>            exit;
>         }
> 
>         # TM suspend/continue
>         t_newtran();
> 
>         async credentials query("RESUME_AUTH");
>     }
> 
>     route[RESUME_AUTH] {
>         # Credentials received into PVs.
> 
>         if(!pv_auth_check("...")) {
>             auth_challenge("$fd", "1");
>             exit;
>         }
> 
>         # Create transaction shell if not exists already from auth query.
>         if(!t_lookup_request())
>            t_newtran();
> 
>         # TM suspend/continue
>         async route query("RESUME_ROUTING");
>     }
> 
>     route[RESUME_ROUTING] {
>         # Unmarshal etc.
> 
>         t_relay(); # etc.
>     }
> 
> What happens here is that the first auth_challenge() results in a 
> retransmission of its 407 challenge without absorbing the negative ACK. This 
> is despite the ostensibly stateful behaviour of auth_challenge() without 
> "force_stateless_reply" enabled.
> 
> In this case, it eclipses the second, unrelated 407 challenge from the 
> subsequent routing query (407 challenge with +1 CSeq):
> 
> 
> <Screenshot 2022-12-12 at 3.44.15 PM.jpeg>
> -- Alex
> 
> -- 
> 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/
> 

-- 
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

Reply via email to