Feature #4716

support handover between different codec types, like TCH/F FR1 <--> TCH/H HR1

Added by neels 5 months ago. Updated 3 months ago.

Target version:
Start date:
Due date:
% Done:


Spec Reference:


The handover algorithm 2 supports congestion resolution by re-assigning within the same cell (like move from TCH/F to TCH/H) and across cells.
So far, the lchan type may change between TCH/F <--> TCH/H, when the AMR codec is in use, because that can automatically adapt its bandwitdh to continue a call.
The aim of this issue is to also support TCH/F <--> TCH/H handovers where the codec is not AMR, i.e. {FR1,EFR} <--> HR1.

First, take stock of what osmo-bsc currently does right, and what parts are missing.

handover_tch-f_to_tch-h_first_trial.pcapng handover_tch-f_to_tch-h_first_trial.pcapng 10.1 MB trace of current TCH-F -> TCH-H handover procedure indicating what still needs fixing neels, 08/18/2020 12:24 PM
resolve_congestion_across_tch_types.patch resolve_congestion_across_tch_types.patch 6.89 KB neels, 10/28/2020 08:21 PM

Related issues

Related to OsmoMSC - Feature #4717: support Handover with changing codecNew08/18/2020


#1 Updated by neels 5 months ago

I tested osmo-bsc:

  • apply a patch that does TCH/F <-> TCH/H handovers regardless of codec ( )
  • configuration of two TCH/F and a couple TCH/H lchans, and handover algorithm 2.
  • establish voice call on the two TCH/F
  • then set 'handover2 min-free-slots tch/f 1'
  • the congestion check moves the first TCH/F to a TCH/H lchan.

What should happen?
Marking 'ok:' for things that already work with current osmo-bsc, 'TODO:' for things that don't.


  • ok: Establish new lchan with HR1 codec
  • ok: Perform handover dance


  • ok: redirect the BTS-facing endpoint conn to the new lchan's RTP port
  • ok: configure the BTS-facing endpoint conn to indicate the change to HR1 codec
  • TODO: since osmo-mgw does not transcode, also indicate the codec change on the MSC-facing endpoint conn


  • TODO: After handover, a Handover Performed message should indicate the codec change.
    • the Handover Performed message is sent, but it still indicates FR1 codec being used.

MSC, out of scope for this issue:

  • the MSC's MGW endpoint conns should be reconfigured to match the codec change.
  • mismatching codecs are only possible for external MNCC, i.e. using a SIP PBX behind osmo-msc.
  • the MNCC socket and SIP should be notified of the codec change (by updated SDP info).

#2 Updated by neels 5 months ago

  • Related to Feature #4717: support Handover with changing codec added

#4 Updated by neels 3 months ago

attaching patch as file since above link is to a branch which might get lost at some point

#5 Updated by neels 3 months ago

  • Status changed from In Progress to Stalled

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)