Project

General

Profile

Bug #2265

OsmoMSC must DLCX after a voice call is done

Added by neels 7 months ago. Updated 4 months ago.

Status:
Closed
Priority:
High
Assignee:
Target version:
-
Start date:
05/16/2017
Due date:
% Done:

100%

Resolution:

Description

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.


Related issues

Related to OsmoNITB - Feature #1712: 3G Voice Closed 05/14/2016
Related to OsmoMSC - Feature #2289: implement AoverIP (OsmoMSC side) Closed 05/24/2017
Related to OsmoMSC - Bug #2279: osmo-mgcp-gw: Fix: cleanup of transaction IDs aka port numbers to be used by the MGCP gw Closed 05/22/2017

History

#1 Updated by neels 7 months ago

  • Parent task set to #1712

#2 Updated by neels 7 months ago

  • Parent task deleted (#1712)

#3 Updated by neels 7 months ago

#4 Updated by neels 7 months ago

  • Related to Feature #2289: implement AoverIP (OsmoMSC side) added

#5 Updated by dexter 6 months ago

  • 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.

#6 Updated by neels 6 months ago

  • Assignee changed from neels to dexter

dexter, please take this issue since you implemented the patches. Can this be resolved now?

#7 Updated by neels 6 months ago

  • Related to Bug #2279: osmo-mgcp-gw: Fix: cleanup of transaction IDs aka port numbers to be used by the MGCP gw added

#8 Updated by dexter 6 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 50 to 100

The DLCX message is now sent on the end of each call. I have added the missing "C" field today. Unfortunately I could not use trans->callref. For some reason this identifier gets lost. So I now use the endpoint id isself. This number is also unique, so it should fit the purpose.

See also patch on pmaier/aoip: 8761c965ff0b3d5f225a55411914313173758db9

I have created a new task for the problems we have with endpoints and restarts. This is the problem we currently solve with the DLCX befor CRCX method: See also: #2342

#9 Updated by laforge 4 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF