aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-08-10 02:56:58 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2011-08-10 13:40:35 +0200
commitf7dc7614c251a31061edfe022d45f05e6c5f4c70 (patch)
tree19cfda4c25b0d08a3cb45bac9a429246b54e9c9e
parent2962c20f73b0a80f0c31cbaf7bbd600a24aecf94 (diff)
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.
-rw-r--r--openbsc/src/libtrau/trau_mux.c1
1 files changed, 1 insertions, 0 deletions
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;