From 6597b54bd5b1ac6daeb14549cc38a34870f30c4d Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 8 Nov 2018 16:34:04 +0100 Subject: abis_nm: Add support to parse some nanoBTS Attribute Response attributes nanoBTS actually supports regular formatting. There are a few differences with spec though: * The attributes are listed directly in the message instead of being inside the Get Attributes Response Info after the unsupported attribute ID list. * The Get Attributes Response Info can be at any position in the attribute list, and it only contains the unsupported attribute ID list. As a result, parsing is currently split into 3 main parts or functions: * Parsing regular (per spec) Get Attributes Response Info attr and get a pointer to the list of attributes. * A function that parses the list of attributes, called directly in case of nanoBTS, and called by the former parser of Get Attributes Response Info for regular (per spec) OML endpoints. * A function to parse the unsupported attribute ID list, also used in the first function to get a pointer to the list of attributes. Related: OS#3624 Change-Id: I52e9f177c14fec1ec3f5c4ddb244594409008357 --- src/osmo-bsc/abis_nm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/osmo-bsc/abis_nm.c b/src/osmo-bsc/abis_nm.c index 76fba5919..005c417a8 100644 --- a/src/osmo-bsc/abis_nm.c +++ b/src/osmo-bsc/abis_nm.c @@ -569,7 +569,8 @@ static int abis_nm_rx_get_attr_resp(struct msgb *mb, const struct gsm_bts_trx *t /* nanoBTS doesn't send Get Attribute Response Info, uses its own format */ if (bts->type != GSM_BTS_TYPE_NANOBTS) return parse_attr_resp_info(bts, trx, foh, &tp); - return 0; + else + return parse_attr_resp_info_attr(bts, trx, foh, &tp); } /* 3GPP TS 52.021 ยง6.2.5 */ -- cgit v1.2.3