Projects
osmocom:master
osmo-pcu
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 133
View file
osmo-pcu.spec
Changed
@@ -14,13 +14,13 @@ Name: osmo-pcu Requires: osmocom-master -Version: 1.3.1.6.952f +Version: 1.3.1.7.4614 Release: 0 Summary: Osmocom GPRS Packet Control Unit (PCU) License: GPL-2.0-only Group: Productivity/Telephony/Servers URL: https://osmocom.org/projects/osmopcu -Source: osmo-pcu_1.3.1.6.952f.tar.xz +Source: osmo-pcu_1.3.1.7.4614.tar.xz Source1: rpmlintrc BuildRequires: autoconf BuildRequires: automake
View file
commit_46140948d9800bca6a7b4299f08b25efc1af0fa3.txt
Added
View file
commit_952f5c7b9566aff2322fb226d23103bd503fa152.txt
Deleted
View file
osmo-pcu_1.3.1.6.952f.dsc -> osmo-pcu_1.3.1.7.4614.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-pcu Binary: osmo-pcu, osmo-pcu-dbg, osmo-pcu-doc Architecture: any all -Version: 1.3.1.6.952f +Version: 1.3.1.7.4614 Maintainer: Osmocom team <openbsc@lists.osmocom.org> Homepage: http://osmocom.org/projects/osmopcu Standards-Version: 3.9.8 @@ -14,8 +14,8 @@ osmo-pcu-dbg deb debug extra arch=any osmo-pcu-doc deb doc optional arch=all Checksums-Sha1: - 696fdb0e9c5c9e40858549a8dbc462231217446b 429056 osmo-pcu_1.3.1.6.952f.tar.xz + ad2b335c95c511a20e149c1b05bea035e6a5b7dd 429424 osmo-pcu_1.3.1.7.4614.tar.xz Checksums-Sha256: - 9bb00f27bff1f6daea4f4e3b19a2579b58825feb88aa6832500c05fc639e0c88 429056 osmo-pcu_1.3.1.6.952f.tar.xz + 0efa2f90f54bbe453d39d982ff399edad091cec113d10a315249ee774b55720e 429424 osmo-pcu_1.3.1.7.4614.tar.xz Files: - 1670111db5a768bff95022c07cc39926 429056 osmo-pcu_1.3.1.6.952f.tar.xz + 5b7b197256de362b5a6e74fe6b7579c3 429424 osmo-pcu_1.3.1.7.4614.tar.xz
View file
osmo-pcu_1.3.1.6.952f.tar.xz/.tarball-version -> osmo-pcu_1.3.1.7.4614.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -1.3.1.6-952f +1.3.1.7-4614
View file
osmo-pcu_1.3.1.6.952f.tar.xz/debian/changelog -> osmo-pcu_1.3.1.7.4614.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-pcu (1.3.1.6.952f) unstable; urgency=medium +osmo-pcu (1.3.1.7.4614) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom master feed - -- Osmocom OBS scripts <info@osmocom.org> Mon, 09 Oct 2023 11:59:08 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Tue, 24 Oct 2023 15:10:52 +0000 osmo-pcu (1.3.1) unstable; urgency=medium
View file
osmo-pcu_1.3.1.6.952f.tar.xz/include/osmocom/pcu/pcuif_proto.h -> osmo-pcu_1.3.1.7.4614.tar.xz/include/osmocom/pcu/pcuif_proto.h
Changed
@@ -13,7 +13,6 @@ /* msg_type */ #define PCU_IF_MSG_DATA_REQ 0x00 /* send data to given channel */ -#define PCU_IF_MSG_DATA_CNF 0x01 /* confirm (e.g. transmission on PCH) */ #define PCU_IF_MSG_DATA_IND 0x02 /* receive data from given channel */ #define PCU_IF_MSG_SUSP_REQ 0x03 /* BTS forwards GPRS SUSP REQ to PCU */ #define PCU_IF_MSG_APP_INFO_REQ 0x04 /* BTS asks PCU to transmit APP INFO via PACCH */ @@ -35,8 +34,6 @@ /* sapi */ #define PCU_IF_SAPI_RACH 0x01 /* channel request on CCCH */ -#define PCU_IF_SAPI_AGCH 0x02 /* assignment on AGCH */ -#define PCU_IF_SAPI_PCH 0x03 /* paging/assignment on PCH */ #define PCU_IF_SAPI_BCCH 0x04 /* SI on BCCH */ #define PCU_IF_SAPI_PDTCH 0x05 /* packet data/control/ccch block */ #define PCU_IF_SAPI_PRACH 0x06 /* packet random access channel */ @@ -297,7 +294,6 @@ union { struct gsm_pcu_if_data data_req; - struct gsm_pcu_if_data data_cnf; struct gsm_pcu_if_data_cnf data_cnf2; struct gsm_pcu_if_data data_ind; struct gsm_pcu_if_susp_req susp_req;
View file
osmo-pcu_1.3.1.6.952f.tar.xz/src/bts.cpp -> osmo-pcu_1.3.1.7.4614.tar.xz/src/bts.cpp
Changed
@@ -1033,10 +1033,7 @@ rip->burst_type); bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_UL_TBF); if (plen >= 0) { - if (the_pcu->pcu_if_version >= 0x0b) - pcu_l1if_tx_agch2(bts, bv, plen, false, GSM_RESERVED_TMSI); - else - pcu_l1if_tx_agch(bts, bv, plen); + pcu_l1if_tx_agch2(bts, bv, plen, false, GSM_RESERVED_TMSI); rc = 0; } else { rc = plen; @@ -1050,12 +1047,8 @@ bv, rip->ra, rip->rfn, rip->burst_type, (uint8_t)osmo_tdef_get(bts->T_defs_bts, 3142, OSMO_TDEF_S, -1)); bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_REJ); - if (plen >= 0) { - if (the_pcu->pcu_if_version >= 0x0b) - pcu_l1if_tx_agch2(bts, bv, plen, false, GSM_RESERVED_TMSI); - else - pcu_l1if_tx_agch(bts, bv, plen); - } + if (plen >= 0) + pcu_l1if_tx_agch2(bts, bv, plen, false, GSM_RESERVED_TMSI); bitvec_free(bv); /* rc was already properly set before goto */ return rc; @@ -1136,24 +1129,20 @@ if (plen >= 0) { bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_DL_TBF); - if (the_pcu->pcu_if_version >= 0x0b) { - if (ms_imsi_is_valid(tbf->ms())) { - pcu_l1if_tx_pch2(bts, immediate_assignment, plen, true, tbf->imsi(), tbf->tlli()); - } else { - /* During GMM ATTACH REQUEST, the IMSI is not yet known to the PCU or SGSN. (It is - * requested after the GMM ATTACH REQUEST with the GMM IDENTITY REQUEST.) When the PCU - * has to assign a DL TBF but the IMSI is not known, then the IMMEDIATE ASSIGNMENT is - * sent on the AGCH. The reason for this is that without an IMSI we can not calculate - + the paging group, which would be necessary for transmission on PCH. Since the IMSI - * is usually only unknown during the GMM ATTACH REQUEST, we may assume that the MS - * is in non-DRX mode and hence it is listening on all CCCH blocks, including AGCH. - * - * See also: 3gpp TS 44.060, section 5.5.1.5 - * 3gpp TS 45.002, section 6.5.3, 6.5.6 */ - pcu_l1if_tx_agch2(bts, immediate_assignment, plen, true, tbf->tlli()); - } + if (ms_imsi_is_valid(tbf->ms())) { + pcu_l1if_tx_pch2(bts, immediate_assignment, plen, true, tbf->imsi(), tbf->tlli()); } else { - pcu_l1if_tx_pch(bts, immediate_assignment, plen, tbf->imsi()); + /* During GMM ATTACH REQUEST, the IMSI is not yet known to the PCU or SGSN. (It is + * requested after the GMM ATTACH REQUEST with the GMM IDENTITY REQUEST.) When the PCU + * has to assign a DL TBF but the IMSI is not known, then the IMMEDIATE ASSIGNMENT is + * sent on the AGCH. The reason for this is that without an IMSI we can not calculate + * the paging group, which would be necessary for transmission on PCH. Since the IMSI + * is usually only unknown during the GMM ATTACH REQUEST, we may assume that the MS + * is in non-DRX mode and hence it is listening on all CCCH blocks, including AGCH. + * + * See also: 3gpp TS 44.060, section 5.5.1.5 + * 3gpp TS 45.002, section 6.5.3, 6.5.6 */ + pcu_l1if_tx_agch2(bts, immediate_assignment, plen, true, tbf->tlli()); } }
View file
osmo-pcu_1.3.1.6.952f.tar.xz/src/gprs_rlcmac.c -> osmo-pcu_1.3.1.7.4614.tar.xz/src/gprs_rlcmac.c
Changed
@@ -44,11 +44,7 @@ } bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS); - if (the_pcu->pcu_if_version >= 0x0b) - pcu_l1if_tx_pch2(bts, paging_request, plen, false, imsi, GSM_RESERVED_TMSI); - else - pcu_l1if_tx_pch(bts, paging_request, plen, imsi); - + pcu_l1if_tx_pch2(bts, paging_request, plen, false, imsi, GSM_RESERVED_TMSI); bitvec_free(paging_request); return 0;
View file
osmo-pcu_1.3.1.6.952f.tar.xz/src/pcu_l1_if.cpp -> osmo-pcu_1.3.1.7.4614.tar.xz/src/pcu_l1_if.cpp
Changed
@@ -249,22 +249,6 @@ pcu_tx_data_req(bts, trx, ts, PCU_IF_SAPI_PTCCH, arfcn, fn, block_nr, data, data_len); } -void pcu_l1if_tx_agch(struct gprs_rlcmac_bts *bts, bitvec *block, int plen) -{ - /* TODO: When PCUIF v.11 has become mainline, we will use pcu_l1if_tx_agch2() exclusively. - * This will make this function obsolote, so we can remove it. */ - uint8_t dataGSM_MACBLOCK_LEN; /* prefix PLEN */ - - /* FIXME: why does OpenBTS has no PLEN and no fill in message? */ - bitvec_pack(block, data + 1); - data0 = (plen << 2) | 0x01; - - if (the_pcu->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_AGCH)) - gsmtap_send(the_pcu->gsmtap, 0, 0, GSMTAP_CHANNEL_AGCH, 0, 0, 0, 0, data, GSM_MACBLOCK_LEN); - - pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_AGCH, 0, 0, 0, data, sizeof(data)); -} - /* Send a MAC block via the access grant channel. This will (obviously) only work for MAC blocks that contain * an IMMEDIATE ASSIGNMENT. In case the confirm flag is set, the receiving end is required to send a confirmation * back when the IMMEDIATE ASSIGNMENT has been sent. */ @@ -283,43 +267,6 @@ pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_AGCH_2, 0, 0, 0, (uint8_t*)&agch, sizeof(agch)); } -#define IMSI_DIGITS_FOR_PAGING 3 -/* Send a MAC block via the paging channel. (See also comment below) */ -void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, bitvec *block, int plen, const char *imsi) -{ - /* TODO: When PCUIF v.11 has become mainline, we will use pcu_l1if_tx_pch2() exclusively. - * This will make this function obsolote, so we can remove it. */ - - uint8_t dataIMSI_DIGITS_FOR_PAGING + GSM_MACBLOCK_LEN; - - /* prepend last three IMSI digits (if present) from which BTS/BSC will calculate the paging group */ - if (imsi && strlen(imsi) >= IMSI_DIGITS_FOR_PAGING) - memcpy(data, imsi + strlen(imsi) - IMSI_DIGITS_FOR_PAGING, IMSI_DIGITS_FOR_PAGING); - else - memset(data, '0', IMSI_DIGITS_FOR_PAGING); - - /* OS#6097: if strlen(imsi) == 0: We assume the MS is in non-DRX - * mode (TS 44.060 5.5.1.5) and hence it is listening on all CCCH blocks - * (TS 45.002 6.5.3, 6.5.6). - * Hence, pgroup 000 is taken "randomly" to send it over it. This of - * course not optimal since it can actually be sent on any CCCH blocks, - * so we are delaying the ImmAss for no good reason. But anyway, - * pcu_l1if_tx_pch() is deprecated and pcu_l1if_tx_pch2() should be - * used instead, which doesn't suffer from this problem. - */ - - /* block provided by upper layer comes without first byte (plen), prepend it manually: */ - OSMO_ASSERT(sizeof(data) >= IMSI_DIGITS_FOR_PAGING + 1 + block->data_len); - dataIMSI_DIGITS_FOR_PAGING = (plen << 2) | 0x01; - bitvec_pack(block, data + IMSI_DIGITS_FOR_PAGING + 1); - - if (the_pcu->gsmtap_categ_mask & (1 << PCU_GSMTAP_C_DL_PCH)) - gsmtap_send(the_pcu->gsmtap, 0, 0, GSMTAP_CHANNEL_PCH, 0, 0, 0, 0, - data + IMSI_DIGITS_FOR_PAGING, GSM_MACBLOCK_LEN); - - pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, sizeof(data)); -} - /* Send a MAC block via the paging channel. This will (obviously) only work for MAC blocks that contain an * IMMEDIATE ASSIGNMENT or a PAGING COMMAND message. In case the MAC block contains an IMMEDIATE ASSIGNMENT * message, the receiving end is required to confirm when the IMMEDIATE ASSIGNMENT has been sent. */ @@ -556,26 +503,6 @@ return rc; } -static int pcu_rx_data_cnf(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_data *data_cnf) -{ - int rc = 0; - - LOGP(DL1IF, LOGL_DEBUG, "Data confirm received: sapi=%d\n", data_cnf->sapi); - - switch (data_cnf->sapi) { - case PCU_IF_SAPI_PCH: - if (data_cnf->data2 == GSM48_MT_RR_IMM_ASS) - bts_rcv_imm_ass_cnf(bts, data_cnf->data, GSM_RESERVED_TMSI); - break; - default: - LOGP(DL1IF, LOGL_ERROR, "Received PCU data confirm with " - "unsupported sapi %d\n", data_cnf->sapi); - rc = -EINVAL; - } - - return rc; -} - static int pcu_rx_data_cnf2(struct gprs_rlcmac_bts *bts, struct gsm_pcu_if_data_cnf *data_cnf) { int rc = 0; @@ -809,14 +736,7 @@ LOGP(DL1IF, LOGL_DEBUG, "Info indication received:\n"); - /* NOTE: The classic way to confirm an IMMEDIATE assignment is to send the whole MAC block payload back to the - * PCU. So it is the MAC block itsself that serves a reference for the confirmation. This method has certain - * disadvantages so it was replaced with a method that uses the TLLI as a reference (msg_id). This new - * method will replace the old one. The code that handles the old method will be removed in the foreseeable - * future. (see also OS#5927) */ - if (info_ind->version == 0x0a) { - LOGP(DL1IF, LOGL_NOTICE, "PCUIF version 10 is deprecated. OS#5927\n"); - } else if (info_ind->version != PCU_IF_VERSION) { + if (info_ind->version != PCU_IF_VERSION) { fprintf(stderr, "PCU interface version number of BTS/BSC (%u) is different (%u).\nPlease use a BTS/BSC with a compatble interface!\n", info_ind->version, PCU_IF_VERSION); exit(-1); @@ -1294,10 +1214,6 @@ CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_ind); rc = pcu_rx_data_ind(bts, &pcu_prim->u.data_ind); break; - case PCU_IF_MSG_DATA_CNF: - CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_cnf); - rc = pcu_rx_data_cnf(bts, &pcu_prim->u.data_cnf); - break; case PCU_IF_MSG_DATA_CNF_2: CHECK_IF_MSG_SIZE(pcu_prim_length, pcu_prim->u.data_cnf2); rc = pcu_rx_data_cnf2(bts, &pcu_prim->u.data_cnf2);
View file
osmo-pcu_1.3.1.6.952f.tar.xz/tests/app_info/AppInfoTest.err -> osmo-pcu_1.3.1.7.4614.tar.xz/tests/app_info/AppInfoTest.err
Changed
@@ -23,7 +23,7 @@ ws(64) MS(TA-220:MSCLS-10-11) Attaching DL TBF: TBF(DL:TFI-0-0-0:E){NEW} MS(TA-220:MSCLS-10-11:DL): + tbf: now used by 1 (tbf) -(bts=0,trx=0,ts=0) FN=0 Sending data request: sapi=3 arfcn=0 cur_fn=-1 block=0 data=30 30 30 2d 06 3f 30 0e 00 00 7d 80 00 1c 00 df ff ff ff f8 00 00 03 2b 2b 2b +(bts=0,trx=0,ts=0) FN=0 Sending data request: sapi=9 arfcn=0 cur_fn=-1 block=0 data=ff ff ff ff 2d 06 3f 30 0e 00 00 7d 80 00 1c 00 df ff ff ff f8 00 00 03 2b 2b 2b 01 Creating MS object Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12 Modifying MS object, TLLI = 0xffffffff, EGPRS MS class 0 -> 13 @@ -33,7 +33,7 @@ ws(64) MS(TA-220:MSCLS-12-13) Attaching DL TBF: TBF(DL:TFI-0-0-1:E){NEW} MS(TA-220:MSCLS-12-13:DL): + tbf: now used by 1 (tbf) -(bts=0,trx=0,ts=0) FN=0 Sending data request: sapi=3 arfcn=0 cur_fn=-1 block=0 data=30 30 30 2d 06 3f 30 0d 00 00 7d 80 00 1c 00 df ff ff ff f8 40 00 03 2b 2b 2b +(bts=0,trx=0,ts=0) FN=0 Sending data request: sapi=9 arfcn=0 cur_fn=-1 block=0 data=ff ff ff ff 2d 06 3f 30 0d 00 00 7d 80 00 1c 00 df ff ff ff f8 40 00 03 2b 2b 2b 01 --- test_sched_app_info_ok --- Application Information Request received: type=0x00000000 len=15
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.