]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip: Refactor endpt_send_transaction (qualify_timeout) 92/492/4
authorGeorge Joseph <george.joseph@fairview5.com>
Wed, 20 May 2015 16:11:20 +0000 (10:11 -0600)
committerGeorge Joseph <george.joseph@fairview5.com>
Fri, 22 May 2015 15:18:07 +0000 (10:18 -0500)
commit60e2fbfe624680d7df948aab243d77ff111e4f4e
tree099825e3b14aad7723f450835cb29f55c6ca97d8
parent620054c5274bd8d7071e21c66d73c492c29472bf
res_pjsip: Refactor endpt_send_transaction (qualify_timeout)

This patch refactors the transaction timeout processing to eliminate
calling the lower level public pjsip functions and reverts to calling
pjsip_endpt_send_request again.  This is the result of me noticing
a possible incompatibility with pjproject-2.4 which was causing
contact status flapping.

The original version of this feature used the lower level calls to
get access to the tsx structure in order to cancel the transaction
when our own timer expires. Since we no longer have that access,
if our own timer expires before the pjsip timer, we call the callbacks
and just let the pjsip transaction take it's own course.  When the
transaction ends, it discovers the callbacks have already been run
and just cleans itself up.

A few messages in pjsip_configuration were also added/cleaned up.

ASTERISK-25105 #close

Change-Id: I0810f3999cf63f3a72607bbecac36af0a957f33e
Reported-by: George Joseph <george.joseph@fairview5.com>
Tested-by: George Joseph <george.joseph@fairview5.com>
include/asterisk/res_pjsip.h
res/res_pjsip.c
res/res_pjsip/pjsip_configuration.c