]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_session.c: Process initial INVITE sooner. (key exists)
authorRichard Mudgett <rmudgett@digium.com>
Sat, 13 May 2017 02:04:59 +0000 (21:04 -0500)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 15 May 2017 20:14:40 +0000 (15:14 -0500)
commitd7461f22d9572bc583657dac6868a09a1a889f17
treec206a880355dbc27cb70bbc24e4932ec95976d09
parentbf19c0e5965927251e81a6df734c7124ba292004
res_pjsip_session.c: Process initial INVITE sooner. (key exists)

Retransmissions of an initial INVITE could be queued in the serializer
before we have processed the first INVITE message.  If the first INVITE
message doesn't get completely processed before the retransmissions are
seen then we could try to setup the same call from the retransmissions.  A
symptom of this is seeing a (key exists) message associated with an
INVITE.  An earlier change attempted to address this kind of problem by
calculating a distributor serializer to use for unassociated messages.
Part of that change also made incoming calls keep using that distributor
serializer.  (ASTERISK-26088) However, some leftover code was still
deferring the INVITE processing to the session's serializer even though we
were already in that serializer.  This not only is unnecessary but would
cause the same call resetup problem.

* Removed the code to defer processing the initial INVITE to the session's
serializer because we are already running in that serializer.

ASTERISK-26998 #close

Change-Id: I1e822d82dcc650e508bc2d40d545d5de4f3421f6
res/res_pjsip_session.c