THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Timo Reimann (tr)
Attached to Project - sip-router Summary - DLGCB_CONFIRMED triggered on 200/OK, not ACK Task Type - Bug Report Category - dialog Status - Assigned Assigned To - Timo Reimann Operating System - All Severity - Medium Priority - Normal Reported Version - Development Due in Version - Undecided Due Date - Undecided Details - As can be observed from dialog's documentation and the dialog state machine (in modules_k/dialog/dlg_hash.c), DLG_CONFIRMED is to be triggered on detection of a handshake-concluding ACK message, i.e., the finalization of the message triple INVITE/200/ACK. However, the callback is executed when the state transitions to DLG_STATE_CONFIRMED_NA (NA = No Ack; see dlg_handlers.c:dlg_onreply()) which is when the 200 has been received only.
There are two possible fixes:
- Move execution of DLGCB_CONFIRMED from dlg_onreply() to dlg_onroute(), not providing a callback anymore for when 200 is received. - Rename DLGCB_CONFIRMED to DLGCB_CONFIRMED_NA and implement another callback DLGCB_CONFIRMED in dlg_onroute().
I favor the second approach as it does not remove an existing functionality (even if it's implemented erroneously from a logical point of view) and allows dialog callback users to run code at all (three) relevant moments during dialog establishment.
More information can be found at the following URL: http://sip-router.org/tracker/index.php?do=details&task_id=143
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.