mirror of https://github.com/sipwise/rtpengine.git
After a takeover, FOREIGN_MEDIA holds off the media timeout until the call receives media. The flag is cleared by the first packet that arrives on any of the call's sockets, before the packet is checked, so a packet that is then dropped, for example because of strict-source, ends the grace period without refreshing the stream's last packet time. A call that was restored longer than the timeout ago is then closed on the next timer run, before its real media has had a chance to arrive. With the peer address confirmation now restored from Redis, this is what happens to an adopted strict-source call when a stray packet arrives ahead of the peer's first one. Clear the flag only once a packet has passed the address check. The timer still clears it for kernel-forwarded media, and the grace period stays bounded by the timeout after the takeover. Ref #2184 Change-Id: Ib06a170d271e8aea709abc57cbfd3bcc59196ab5 (cherry picked from commitmr26.2.11d783ba1b9) (cherry picked from commit4f9c4f3f13)
parent
a77702103a
commit
e7f29214c0
Loading…
Reference in new issue