RestComm / Restcomm-Connect

The Open Source Cloud Communications Platform
http://www.restcomm.com/
GNU Affero General Public License v3.0
244 stars 215 forks source link

MGCP: When Call actor receives CANCEL on inbound call before MS has send respond to CRCX, Connect tries to remove all endpoints #2180

Closed gvagenas closed 7 years ago

gvagenas commented 7 years ago

... using DLCX mobicents/bridge/$ and DLCX mobicents/ivr/$ It should wait for response from MS to get the endpoint and then use the specific endpoint for DLCX

hrosa commented 7 years ago

Here's relevant portion from a pcap

screen shot 2017-06-01 at 14 21 32

My suggestion is that RestComm Call actor should enter a CANCELING state where it waits for the pending response from Media Server, before proceeding with resource cleanup.

This issue is serious and can cripple the system, because ghost resources will be left unchecked on Media Server side, consuming memory and CPU.

gvagenas commented 7 years ago

It's very hard to reproduce the issue with live test calls, since the CANCEL must arrive 10-15ms after INVITE. Its impossible to reproduce on the testsuite.