From f7dc7614c251a31061edfe022d45f05e6c5f4c70 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 10 Aug 2011 02:56:58 +0200 Subject: trau: fix wrong message size for GSM_TCHF_FRAME passed to MNCC During the GSM deployment in the CCC Camp, Daniel Willmann noticed that the LCR and the MNCC were closing the local connection over unix sockets communication quite so often. After some debugging, Peter Stuge noticed that openBSC was closing the connection since write was returning 0. Then, I suggested that it could be a malformed message with zero length. By skipping empty messages, Peter confirmed that the connection between the LCR and the MNCC was not closing anymore. However, there was no voice in the calls that went over MNCC. After some more debugging I found that we were not building GSM_TCHF_FRAME over MNCC appropriately in the TRAU multiplexer code, since we forgot to msgb_put() the message. --- openbsc/src/libtrau/trau_mux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openbsc/src/libtrau/trau_mux.c b/openbsc/src/libtrau/trau_mux.c index b8b90bd02..5ae5ed74b 100644 --- a/openbsc/src/libtrau/trau_mux.c +++ b/openbsc/src/libtrau/trau_mux.c @@ -212,6 +212,7 @@ int trau_mux_input(struct gsm_e1_subslot *src_e1_ss, } frame->msg_type = GSM_TCHF_FRAME; frame->callref = ue->callref; + msgb_put(msg, sizeof(struct gsm_data_frame) + 33); trau_tx_to_mncc(ue->net, msg); return 0; -- cgit v1.2.3