[Asterisk-code-review] res pjsip session: Add cleanup to ast sip session terminate (asterisk[13])

George Joseph asteriskteam at digium.com
Thu Apr 27 10:43:11 CDT 2017


Hello Jenkins2,

I'd like you to reexamine a change.  Please visit

    https://gerrit.asterisk.org/5546

to look at the new patch set (#2).

Change subject: res_pjsip_session:  Add cleanup to ast_sip_session_terminate
......................................................................

res_pjsip_session:  Add cleanup to ast_sip_session_terminate

If you use ast_request to create a PJSIP channel but then hang it
up without causing a transaction to be sent, the session will
never be destroyed.  This is due ot the fact that it's pjproject
that triggers the session cleanup when the transaction ends.
app_chanisavail was doing this to get more granular channel state
and it's also possible for this to happen via ARI.

* ast_sip_session_terminate was modified to explicitly call the
  cleanup tasks and unreference session if the invite state is NULL
  AND invite_tsx is NULL (meaning we never sent a transaction).

* chan_pjsip/hangup was modified to bump session before it calls
  ast_sip_session_terminate to insure that session stays valid
  while it does its own cleanup.

* Added test events to session_destructor for a future testsuite
  test.

ASTERISK-26908 #close
Reported-by: Richard Mudgett

Change-Id: I52daf6f757184e5544c261f64f6fe9602c4680a9
---
M channels/chan_pjsip.c
M include/asterisk/res_pjsip_session.h
M res/res_pjsip_session.c
3 files changed, 47 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/46/5546/2
-- 
To view, visit https://gerrit.asterisk.org/5546
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I52daf6f757184e5544c261f64f6fe9602c4680a9
Gerrit-PatchSet: 2
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Jenkins2



More information about the asterisk-code-review mailing list