falconia submitted this change.

View Change

Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve
E1: implement dummy fill for HRv1 codec

In the absence of a proper TFO transform (TS 28.062 section
C3.2.1.1), OsmoMGW-E1 inserts constant fill frames when there is
no RTP input, or when RTP input fails conversion to TRAU-DL and
thus does not enqueue anything to the I.460 mux.

This dummy fill was previously implemented for FR and EFR codecs,
but not for HRv1. Fix this omission.

With this change and with a fix to OsmoBSC to select 8k subslot
endpoints for TCH/H instead of 16k, OsmoMGW-E1 now supports HR
codec to the same degree to which it supports FR and EFR: far from
perfect, but mostly usable, especially if DTXu is disabled
and there is no TrFO interworking with a far end that does DTXu.

Change-Id: I188bc0a0468b19126281016f45e36f1de617e9ee
---
M src/libosmo-mgcp/mgcp_e1.c
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c
index 0e42e62..dc0acca 100644
--- a/src/libosmo-mgcp/mgcp_e1.c
+++ b/src/libosmo-mgcp/mgcp_e1.c
@@ -82,6 +82,11 @@
dummy_fill_pl = osmo_gsm660_homing_frame;
dummy_fill_pl_len = GSM_EFR_BYTES;
break;
+ case OSMO_TRAU16_FT_HR:
+ case OSMO_TRAU8_SPEECH:
+ dummy_fill_pl = osmo_gsm620_silence_frame;
+ dummy_fill_pl_len = GSM_HR_BYTES;
+ break;
default:
LOGPENDP(endp, DE1, LOGL_ERROR, "E1-I.460-IDLE-TX: unsupported frame type\n");
goto skip;

To view, visit change 39751. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: merged
Gerrit-Project: osmo-mgw
Gerrit-Branch: master
Gerrit-Change-Id: I188bc0a0468b19126281016f45e36f1de617e9ee
Gerrit-Change-Number: 39751
Gerrit-PatchSet: 6
Gerrit-Owner: falconia <falcon@freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: falconia <falcon@freecalypso.org>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>