I've observed something using pjsip 2.5.5 that I would like to know if it is expected behaviour.
I have a call between Alice and Bob where Bob is the PJSIP based UA.
0.01 Alice > Bob INVITE
0.02 Bob > Alice 100 TRYING
0.03 Bob > Alice 200 OK
0.04 Alice > Bob ACK
The call is up ok. After 5 seconds both Alice and Bob at near the same time have elected to
end the call. A BYE is sent in each direction.
5.010 Bob > Alice BYE
5.011 Alice > Bob BYE
5.020 Bob > Alice OK
5.021 Alice > Bob OK
However, the OK from Alice to Bob at timestamp 5.021 never reaches Bob, so at the 0.5 timer Bob retries sending his BYE
5.520 Bob > Alice BYE
6.020 Bob > Alice BYE
and keeps trying at greater intervals before finally giving up.
Setting aside the reason for the OK from Alice not making it, shouldn't PJSIP have destroyed the call upon getting a
BYE and responding OK to it? Instead it keeps trying to send the BYE that has gone unanswered, when the call is ended.
In my case, a load balancer in front of my UA is using Call-ID for persistence and helpfully killing the session once
it has seen a BYE / OK pair for that Call-ID. Consequently the OK response to the BYE Bob sent ends up on another
server in the pool.
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org