Hi Vitalii,

The waiting for the event is not strong correlated with the transaction. The transaction may disappear while waiting. The waiting context is only keeping a reference to the transaction, so the t_inject_branch() can look it up (if still exists). So, if the transaction is canceled, the event waiting is not affected, it will still be triggered, but the t_inject will fail (either with transaction not found, either with not able to create more branches on a canceled transaction).

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Bootcamp 2018
  http://opensips.org/training/OpenSIPS_Bootcamp_2018/

On 11/16/2018 07:07 PM, Vitalii Aleksandrov wrote:
Thanks for the information. Have one more  related question.

What If I call somewhere, opensips calls wait_for_event() and before the event happens or async timeout (will create a bug report) fired I CANCEL the call. Since async() keeps some context in transaction structure and this transaction is already canceled should I expect that async() task is also canceled and will never call a callback route? Or should I always check t_was_cancelled() in the beginning of a callback route?


Hi Vitalii,

For the wait_for_event(), the timeout seems to have no effect, the waiting being for ever :-| . The transaction has no timeout as you didn;t sent out any branch yet (the transaction timeout is for waiting on replies).

Could you please open bug report on the opensips tracker on github ?

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Bootcamp 2018
  http://opensips.org/training/OpenSIPS_Bootcamp_2018/

On 11/14/2018 03:17 PM, Vitalii Aleksandrov wrote:
Hi,

event_routing module provides the great async function wait_for_event(). If script subscribes for a event and received it it calls some "resume_route". What I can't understand is what happens with a transaction if wait_for_event() never catches an event and reaches its timeout. Is the any way to continue script execution from the place where "wait_for_event() was called or to execute some "timeout_route" to handle transaction properly?


_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to