OsmoMSC must DLCX after a voice call is done
embarrassingly enough, we don't yet DLCX and the voice stream channels stay open indefinitely after each voice call (3G calls and soon AoIP).
Add DLCX to openbsc/libmgcp/mgcpgw_client.c and use in osmo-msc when a call disconnects.
- Status changed from New to In Progress
- % Done changed from 0 to 50
The mgcp_client now supports the generation of DLCX messages. In msc_ifaces.c (looks like all mgcp related switching stuff is implemented here) I have added the following function, which sends a DLCX to the endpoint that is associated with the given transaction:
void msc_call_release(struct gsm_trans *trans)
For 2G I call this function from gsm_04_08.c. For 3G a suitable place has still to be found, perhaps @neels knows best where to put it.
We also have another big problem: Assume the MSC has crashed and respawned. All ongoing calls will leave an open endpoint on the mgcp gateway. This endpoint will stay open for ever and it can not be re-used. My current hotfix is to send a DLCX to all endpoints at startup. This works fine, but is of course a little ugly. Another solution would be to send a DLCX before we want to seize a new endpoint. If there is still a lingering connection it would be closed then.