SIP BYE race between two UA with PJSIP 2.5.5 not ending call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux