< Previous by Date | Date Index | Next by Date > |
Thread Index | Next in Thread > |
Hi,Please consider the attached patch against HEAD. It implements queueing for any outgoing REFER, INFO, or MESSAGE requests associated with an InviteSession. If a non-INVITE transaction is already in progress when refer(), info() or message() is invoked, the resulting SIP request is pushed into a FIFO. Queued requestes are shipped out one at a time without overlap as final responses are processed.
For INFO and MESSAGE, the new behavior is semantically equivalent to before (queueing notwithstanding).
For REFER, the previous code locked out a new request until the onReferAccepted() callback fired on the first NOTIFY. The patch changes the end of that lockout to coincide with the final response for the REFER itself. The new lockout period should be shorter, and proved easier to code. Does anyone see a problem with this?
The new queue should also work with the DUM command API, but I did not test it.
Cheers, -- kobi
Attachment:
resiprocate_queued_NITs.diff
Description: Binary data