From gerrit-no-reply at lists.osmocom.org Sun Aug 1 05:29:51 2021 From: gerrit-no-reply at lists.osmocom.org (andrew-ma) Date: Sun, 1 Aug 2021 05:29:51 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes References: Message-ID: andrew-ma has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Allow update_binary function to write more than 255 bytes The T0 protocol (selected in transport/pcsc.py) does not support extended APDU, so 255 bytes is the maximum number of bytes that can be transmitted at a time. We can divide large data into 255 byte chunks. The read_binary function already has code to read more than 255 bytes, so we can just adapt it to the update_binary function. Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 --- M pySim/commands.py 1 file changed, 15 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/14/25114/1 diff --git a/pySim/commands.py b/pySim/commands.py index 76b7cd5..9657162 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -170,11 +170,23 @@ return None, sw self.select_path(ef) - pdu = self.cla_byte + 'd6%04x%02x' % (offset, data_length) + data - res = self._tp.send_apdu_checksw(pdu) + total_data = '' + total_sw = "9000" + chunk_offset = offset + while chunk_offset < data_length: + chunk_len = min(255, data_length - chunk_offset) + # chunk_offset is bytes, but data slicing is hex chars, so we need to multiply by 2 + pdu = self.cla_byte + 'd6%04x%02x' % (chunk_offset, chunk_len) + data[chunk_offset*2 : (chunk_offset+chunk_len)*2] + chunk_data, chunk_sw = self._tp.send_apdu(pdu) + if chunk_sw == total_sw: + total_data += chunk_data + chunk_offset += chunk_len + else: + total_sw = chunk_sw + raise ValueError('Failed to write chunk (chunk_offset %d, chunk_len %d)' % (chunk_offset, chunk_len)) if verify: self.verify_binary(ef, data, offset) - return res + return total_data, total_sw def verify_binary(self, ef, data:str, offset:int=0): """Verify contents of transparent EF. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:14:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:14:47 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 09:14:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:15:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:15:28 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 09:15:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:15:45 +0000 Subject: Change in osmo-msc[master]: add sequence_charts/call_reestablishment.msc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25074 ) Change subject: add sequence_charts/call_reestablishment.msc ...................................................................... add sequence_charts/call_reestablishment.msc Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 --- M doc/sequence_charts/Makefile.am A doc/sequence_charts/call_reestablishment.msc 2 files changed, 35 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/sequence_charts/Makefile.am b/doc/sequence_charts/Makefile.am index 6782f44..5efe855 100644 --- a/doc/sequence_charts/Makefile.am +++ b/doc/sequence_charts/Makefile.am @@ -7,6 +7,7 @@ inter_bsc_ho.msc \ inter_msc_ho.msc \ mncc_call_fsm.msc \ + call_reestablishment.msc \ $(NULL) CLEANFILES = \ @@ -21,6 +22,7 @@ $(builddir)/inter_bsc_ho.png \ $(builddir)/inter_msc_ho.png \ $(builddir)/voice_call_full.png \ + $(builddir)/call_reestablishment.png \ $(NULL) dot: \ diff --git a/doc/sequence_charts/call_reestablishment.msc b/doc/sequence_charts/call_reestablishment.msc new file mode 100644 index 0000000..b4d081c --- /dev/null +++ b/doc/sequence_charts/call_reestablishment.msc @@ -0,0 +1,33 @@ +msc { + hscale="2"; + ms[label="MS"],cell1[label="Cell 1 (BTS+BSC)"],cell0[label="Cell 0 (BTS+BSC)"],__msc[label="MSC"]; + + ms rbox __msc [label="Call Re-Establishment"]; + ms note __msc [label="Ongoing voice call: MM is established"]; + + ...; + + ms -x cell0 [label="radio link fails"]; + ms x- cell0; + + __msc abox __msc [label="Keep MM until timeout"]; + + ms => cell1 [label="Channel Required"]; + ms <= cell1 [label="Immediate Assignment"]; + ms => cell1 [label="Complete Layer3"]; + cell1 => __msc [label="Complete Layer3:\nCM Re-Establishment Request"]; + + cell0 <= __msc [label="Clear Command"]; + cell0 => __msc [label="Clear Complete"]; + + cell1 <= __msc [label="Authentication Request"]; + cell1 => __msc [label="Authentication Response"]; + + cell1 <= __msc [label="Cipher Mode Commad"]; + cell1 => __msc [label="Cipher Mode Complete"]; + + cell1 <= __msc [label="Assignment Request\nthis Assignment ACKs the CM Re-Establishment"]; + ms <= cell1 [label="RR Assignment Command"]; + ms => cell1 [label="RR Assignment Complete"]; + cell1 => __msc [label="Assignment Complete"]; +} -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6ebc3a0555ef82e1c027ca75b45f8147a3e07ee6 Gerrit-Change-Number: 25074 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:15:45 +0000 Subject: Change in osmo-msc[master]: add vlr_subscr_find_by_mi In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25075 ) Change subject: add vlr_subscr_find_by_mi ...................................................................... add vlr_subscr_find_by_mi Will be used by I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 "implement CM Re-Establish for voice calls" Related: SYS#5130 Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c --- M include/osmocom/msc/vlr.h M src/libvlr/vlr.c 2 files changed, 23 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 6e65283..3273333 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -358,6 +358,9 @@ #define vlr_subscr_find_by_msisdn(vlr, msisdn, USE) \ _vlr_subscr_find_by_msisdn(vlr, msisdn, USE, __FILE__, __LINE__) +#define vlr_subscr_find_by_mi(vlr, mi, USE) \ + _vlr_subscr_find_by_mi(vlr, mi, USE, __FILE__, __LINE__) + struct vlr_subscr *_vlr_subscr_find_by_imsi(struct vlr_instance *vlr, const char *imsi, const char *use, @@ -385,6 +388,11 @@ const char *use, const char *file, int line); +struct vlr_subscr *_vlr_subscr_find_by_mi(struct vlr_instance *vlr, + const struct osmo_mobile_identity *mi, + const char *use, + const char *file, int line); + #define vlr_subscr_get(VSUB, USE) vlr_subscr_get_src(VSUB, USE, __FILE__, __LINE__) #define vlr_subscr_put(VSUB, USE) vlr_subscr_put_src(VSUB, USE, __FILE__, __LINE__) diff --git a/src/libvlr/vlr.c b/src/libvlr/vlr.c index 02aceef..23bd671 100644 --- a/src/libvlr/vlr.c +++ b/src/libvlr/vlr.c @@ -188,6 +188,21 @@ return NULL; } +struct vlr_subscr *_vlr_subscr_find_by_mi(struct vlr_instance *vlr, + const struct osmo_mobile_identity *mi, + const char *use, + const char *file, int line) +{ + switch (mi->type) { + case GSM_MI_TYPE_IMSI: + return _vlr_subscr_find_by_imsi(vlr, mi->imsi, use, file, line); + case GSM_MI_TYPE_TMSI: + return _vlr_subscr_find_by_tmsi(vlr, mi->tmsi, use, file, line); + default: + return NULL; + } +} + /* Transmit GSUP message for subscriber to HLR, using IMSI from subscriber */ static int vlr_subscr_tx_gsup_message(const struct vlr_subscr *vsub, struct osmo_gsup_message *gsup_msg) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25075 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5291d098a02268bd1c2e30195ae61e4a13e8709c Gerrit-Change-Number: 25075 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:15:45 +0000 Subject: Change in osmo-msc[master]: implement CM Re-Establish for voice calls In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25076 ) Change subject: implement CM Re-Establish for voice calls ...................................................................... implement CM Re-Establish for voice calls Related: SYS#5130 Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 --- M include/osmocom/msc/gsm_data.h M include/osmocom/msc/msc_common.h M include/osmocom/msc/vlr.h M src/libmsc/gsm_04_08.c M src/libmsc/msc_a.c 5 files changed, 136 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/msc/gsm_data.h b/include/osmocom/msc/gsm_data.h index 1870804..170d884 100644 --- a/include/osmocom/msc/gsm_data.h +++ b/include/osmocom/msc/gsm_data.h @@ -44,6 +44,8 @@ MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED, MSC_CTR_PAGING_RESP_REJECTED, MSC_CTR_PAGING_RESP_ACCEPTED, + MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED, + MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED, MSC_CTR_SMS_SUBMITTED, MSC_CTR_SMS_NO_RECEIVER, MSC_CTR_SMS_DELIVERED, @@ -76,6 +78,8 @@ [MSC_CTR_CM_SERVICE_REQUEST_ACCEPTED] = {"cm_service_request:accepted", "Accepted CM Service Requests."}, [MSC_CTR_PAGING_RESP_REJECTED] = {"paging_resp:rejected", "Rejected Paging Responses."}, [MSC_CTR_PAGING_RESP_ACCEPTED] = {"paging_resp:accepted", "Accepted Paging Responses."}, + [MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED] = {"cm_re_establish_request:rejected", "Rejected CM Re-Establishing Requests."}, + [MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED] = {"cm_re_establish_request:accepted", "Accepted CM Re-Establishing Requests."}, [MSC_CTR_SMS_SUBMITTED] = {"sms:submitted", "Total MO SMS received from the MS."}, [MSC_CTR_SMS_NO_RECEIVER] = {"sms:no_receiver", "Failed MO SMS delivery attempts (no receiver found)."}, [MSC_CTR_SMS_DELIVER_UNKNOWN_ERROR] = {"sms:deliver_unknown_error", "Failed MO SMS delivery attempts (other reason)."}, diff --git a/include/osmocom/msc/msc_common.h b/include/osmocom/msc/msc_common.h index e7ac559..f3fb0e0 100644 --- a/include/osmocom/msc/msc_common.h +++ b/include/osmocom/msc/msc_common.h @@ -41,6 +41,7 @@ COMPLETE_LAYER3_LU, COMPLETE_LAYER3_CM_SERVICE_REQ, COMPLETE_LAYER3_PAGING_RESP, + COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ, }; extern const struct value_string complete_layer3_type_names[]; diff --git a/include/osmocom/msc/vlr.h b/include/osmocom/msc/vlr.h index 3273333..f12e906 100644 --- a/include/osmocom/msc/vlr.h +++ b/include/osmocom/msc/vlr.h @@ -444,6 +444,7 @@ VLR_PR_ARQ_T_INVALID = 0, /* to guard against unset vars */ VLR_PR_ARQ_T_CM_SERV_REQ, VLR_PR_ARQ_T_PAGING_RESP, + VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ, /* FIXME: differentiate between services of 24.008 10.5.3.3 */ }; diff --git a/src/libmsc/gsm_04_08.c b/src/libmsc/gsm_04_08.c index fb450e6..565e7ad 100644 --- a/src/libmsc/gsm_04_08.c +++ b/src/libmsc/gsm_04_08.c @@ -48,11 +48,13 @@ #include #include #include +#include #include #include #include #include +#include #include @@ -824,17 +826,128 @@ /* Receive a CM Re-establish Request */ static int gsm48_rx_cm_reest_req(struct msc_a *msc_a, struct msgb *msg) { + struct gsm_network *net = msc_a_net(msc_a); + struct gsm48_hdr *gh; + struct gsm48_service_request *req; + struct gsm48_classmark2 *cm2; + uint8_t *cm2_buf, cm2_len; + bool is_utran; + struct vlr_subscr *vsub; struct osmo_mobile_identity mi; + struct msub *prev_msub; + struct msc_a *prev_msc_a; + int rc = osmo_mobile_identity_decode_from_l3(&mi, msg, false); if (rc) { LOGP(DMM, LOGL_ERROR, "CM RE-ESTABLISH REQUEST: cannot decode Mobile Identity\n"); return -EINVAL; } + msc_a->complete_layer3_type = COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ; + msub_update_id_from_mi(msc_a->c.msub, &mi); + DEBUGP(DMM, "<- CM RE-ESTABLISH REQUEST %s\n", osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); - /* we don't support CM call re-establishment */ - return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_SRV_OPT_NOT_SUPPORTED); + gh = (struct gsm48_hdr *) msgb_l3(msg); + req = (struct gsm48_service_request *) gh->data; + + /* Unfortunately in Phase1 the Classmark2 length is variable, so we cannot + * just use gsm48_service_request struct, and need to parse it manually. */ + cm2_len = gh->data[1]; + cm2_buf = gh->data + 2; + cm2 = (struct gsm48_classmark2 *) cm2_buf; + + /* Prevent buffer overrun: check the length of Classmark2 */ + if (cm2_buf + cm2_len > msg->tail) { + LOG_MSC_A(msc_a, LOGL_ERROR, "Rx CM SERVICE REQUEST: Classmark2 " + "length=%u is too big\n", cm2_len); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_INCORRECT_MESSAGE); + } + + /* Look up the other, previously active connection for this subscriber */ + vsub = vlr_subscr_find_by_mi(net->vlr, &mi, __func__); + prev_msub = msub_for_vsub(vsub); + prev_msc_a = msub_msc_a(prev_msub); + if (!vsub || !prev_msub || !prev_msc_a) { + LOG_MSC_A(msc_a, LOGL_ERROR, "CM Re-Establish Request for unknown subscriber: %s\n", + osmo_mobile_identity_to_str_c(OTC_SELECT, &mi)); + if (vsub) + vlr_subscr_put(vsub, __func__); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED); + } + + LOG_MSC_A(msc_a, LOGL_NOTICE, "New conn requesting Re-Establishment\n"); + LOG_MSC_A(prev_msc_a, LOGL_NOTICE, "Old conn matching Re-Establishment request (%s)\n", + osmo_use_count_to_str_c(OTC_SELECT, &prev_msc_a->use_count)); + + if (!prev_msc_a->cc.call_leg || !prev_msc_a->cc.active_trans) { + LOG_MSC_A(msc_a, LOGL_ERROR, "CM Re-Establish Request only supported for voice calls\n"); + if (vsub) + vlr_subscr_put(vsub, __func__); + return msc_gsm48_tx_mm_serv_rej(msc_a, GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED); + } + + msc_a_get(prev_msc_a, __func__); + + /* Move the call_leg and active CC trans over to the new msc_a */ + call_leg_reparent(prev_msc_a->cc.call_leg, + msc_a->c.fi, + MSC_EV_CALL_LEG_TERM, + MSC_EV_CALL_LEG_RTP_LOCAL_ADDR_AVAILABLE, + MSC_EV_CALL_LEG_RTP_COMPLETE); + msc_a->cc.call_leg = prev_msc_a->cc.call_leg; + prev_msc_a->cc.call_leg = NULL; + + msc_a->cc.active_trans = prev_msc_a->cc.active_trans; + msc_a->cc.active_trans->msc_a = msc_a; + msc_a_get(msc_a, MSC_A_USE_CC); + prev_msc_a->cc.active_trans = NULL; + msc_a_put(prev_msc_a, MSC_A_USE_CC); + + /* Dis-associate the VLR subscriber from the previous msc_a, so that we can start a new Process Access Request + * on the new msc_a. */ + if (vsub->proc_arq_fsm) { + osmo_fsm_inst_term(vsub->proc_arq_fsm, OSMO_FSM_TERM_REGULAR, NULL); + vsub->proc_arq_fsm = NULL; + } + if (prev_msub->vsub) { + vlr_subscr_put(prev_msub->vsub, VSUB_USE_MSUB); + prev_msub->vsub = NULL; + } + + /* Clear the previous conn. + * FIXME: we are clearing the previous conn before having authenticated the new conn. That means anyone can send + * CM Re-Establishing requests with arbitrary mobile identities without having to authenticate, and can freely + * Clear any connections at will. */ + msc_a_release_cn(prev_msc_a); + msc_a_put(prev_msc_a, __func__); + prev_msc_a = NULL; + + /* Kick off Authentication and Ciphering for the new conn. */ + is_utran = (msc_a->c.ran->type == OSMO_RAT_UTRAN_IU); + vlr_proc_acc_req(msc_a->c.fi, + MSC_A_EV_AUTHENTICATED, MSC_A_EV_CN_CLOSE, NULL, + net->vlr, msc_a, + VLR_PR_ARQ_T_CM_RE_ESTABLISH_REQ, 0, + &mi, &msc_a->via_cell.lai, + is_utran || net->authentication_required, + is_utran ? net->uea_encryption : net->a5_encryption_mask > 0x01, + req->cipher_key_seq, + osmo_gsm48_classmark2_is_r99(cm2, cm2_len), + is_utran); + vlr_subscr_put(vsub, __func__); + + /* From vlr_proc_acc_req() we expect an implicit dispatch of PR_ARQ_E_START, and we expect + * msc_vlr_subscr_assoc() to already have been called and completed. Has an error occurred? */ + vsub = msc_a_vsub(msc_a); + if (!vsub) { + LOG_MSC_A(msc_a, LOGL_ERROR, "subscriber not allowed to do a CM Service Request\n"); + return -EIO; + } + + vsub->classmark.classmark2 = *cm2; + vsub->classmark.classmark2_len = cm2_len; + return 0; } static int gsm48_rx_mm_imsi_detach_ind(struct msc_a *msc_a, struct msgb *msg) diff --git a/src/libmsc/msc_a.c b/src/libmsc/msc_a.c index 0bc7b26..fa8e842 100644 --- a/src/libmsc/msc_a.c +++ b/src/libmsc/msc_a.c @@ -120,6 +120,11 @@ case COMPLETE_LAYER3_PAGING_RESP: rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, conn_accepted ? MSC_CTR_PAGING_RESP_ACCEPTED : MSC_CTR_PAGING_RESP_REJECTED)); break; + case COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ: + rate_ctr_inc(rate_ctr_group_get_ctr(net->msc_ctrs, + conn_accepted ? MSC_CTR_CM_RE_ESTABLISH_REQ_ACCEPTED + : MSC_CTR_CM_RE_ESTABLISH_REQ_REJECTED)); + break; default: break; } @@ -151,6 +156,15 @@ if (msc_a->complete_layer3_type == COMPLETE_LAYER3_LU) msc_a_put(msc_a, MSC_A_USE_LOCATION_UPDATING); + + if (msc_a->complete_layer3_type == COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ) { + /* Trigger new Assignment to recommence the voice call. A little dance here because normally we verify + * that no CC trans is already active. */ + struct gsm_trans *cc_trans = msc_a->cc.active_trans; + msc_a->cc.active_trans = NULL; + osmo_fsm_inst_dispatch(msc_a->c.fi, MSC_A_EV_TRANSACTION_ACCEPTED, cc_trans); + msc_a_try_call_assignment(cc_trans); + } } bool msc_a_is_accepted(const struct msc_a *msc_a) @@ -1092,6 +1106,7 @@ { COMPLETE_LAYER3_LU, "LU" }, { COMPLETE_LAYER3_CM_SERVICE_REQ, "CM_SERVICE_REQ" }, { COMPLETE_LAYER3_PAGING_RESP, "PAGING_RESP" }, + { COMPLETE_LAYER3_CM_RE_ESTABLISH_REQ, "CM_RE_ESTABLISH_REQ" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25076 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Gerrit-Change-Number: 25076 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:17:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:17:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: check MGW domain name earlier In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25099 ) Change subject: mgcp_trunk: check MGW domain name earlier ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df Gerrit-Change-Number: 25099 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 09:17:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:17:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:17:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_trunk: check MGW domain name earlier In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25099 ) Change subject: mgcp_trunk: check MGW domain name earlier ...................................................................... mgcp_trunk: check MGW domain name earlier The MGW domain name is usually checked while resolving the endpoint after the trunk has been resolved. This was no problem before, but since we allow wildcarded DLCX requests, which require only a trunk to work, the check is not done correctly for wildcarded DLCX requests and invalid domain names may slip through. Checking the domain name earlier while the trunk is resolved makes sense and it fixes the problem. Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df --- M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_trunk.c 2 files changed, 30 insertions(+), 30 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 41e0d4f..16043d4 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -300,32 +300,6 @@ return NULL; } -/* Check if the domain name, which is supplied with the endpoint name - * matches the configuration. */ -static int check_domain_name(const char *epname, struct mgcp_config *cfg) -{ - char *domain_to_check; - - domain_to_check = strstr(epname, "@"); - if (!domain_to_check) { - LOGP(DLMGCP, LOGL_ERROR, "missing domain name in endpoint name \"%s\", expecting \"%s\"\n", - epname, cfg->domain); - return -EINVAL; - } - - /* Accept any domain if configured as "*" */ - if (!strcmp(cfg->domain, "*")) - return 0; - - if (strcmp(domain_to_check+1, cfg->domain) != 0) { - LOGP(DLMGCP, LOGL_ERROR, "wrong domain name in endpoint name \"%s\", expecting \"%s\"\n", - epname, cfg->domain); - return -EINVAL; - } - - return 0; -} - /*! Find an endpoint by its name, search at all trunks. * \param[out] cause, pointer to store cause code, can be NULL. * \param[in] epname, must contain trunk prefix. @@ -349,10 +323,6 @@ if (!trunk) return NULL; - /* All endpoint names require a domain as suffix */ - if (check_domain_name(epname, cfg)) - return NULL; - /* Identify the endpoint on the trunk */ endp = mgcp_endp_by_name_trunk(cause, epname, trunk); if (!endp) { diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 27663b4..73de972 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -206,6 +206,32 @@ } } +/* Check if the domain name, which is supplied with the endpoint name + * matches the configuration. */ +static int check_domain_name(const char *epname, const struct mgcp_config *cfg) +{ + char *domain_to_check; + + domain_to_check = strstr(epname, "@"); + if (!domain_to_check) { + LOGP(DLMGCP, LOGL_ERROR, "missing domain name in endpoint name \"%s\", expecting \"%s\"\n", + epname, cfg->domain); + return -EINVAL; + } + + /* Accept any domain if configured as "*" */ + if (!strcmp(cfg->domain, "*")) + return 0; + + if (strcmp(domain_to_check+1, cfg->domain) != 0) { + LOGP(DLMGCP, LOGL_ERROR, "wrong domain name in endpoint name \"%s\", expecting \"%s\"\n", + epname, cfg->domain); + return -EINVAL; + } + + return 0; +} + /*! Find a trunk by the trunk prefix in the endpoint name. * \param[in] epname endpoint name with trunk prefix to look up. * \param[in] cfg that contains the trunks where the endpoint is located. @@ -220,6 +246,10 @@ osmo_str_tolower_buf(epname_lc, sizeof(epname_lc), epname); epname = epname_lc; + /* All endpoint names require a domain as suffix */ + if (check_domain_name(epname, cfg)) + return NULL; + prefix_len = sizeof(MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK) - 1; if (strncmp(epname, MGCP_ENDPOINT_PREFIX_VIRTUAL_TRUNK, prefix_len) == 0) { return mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25099 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I9944a9103981fb5f4d0d8714ee2847ae020f76df Gerrit-Change-Number: 25099 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Aug 2021 09:17:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 to look at the new patch set (#3). Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 91 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:17:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Aug 2021 09:17:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25041/2/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25041/2/src/libosmo-mgcp/mgcp_ratectr.c at 271 PS2, Line 271: static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) > I usually add "talloc_destructor" at the end of this function name, to clearly state it's for talloc [?] I have added the suffix in the follow up Change I6d3a74f6087512130d85002348787bffc672de81 since this change removes talloc destructors in mgcp_ratectr.c anyway. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 09:17:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:18:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:18:48 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 02 Aug 2021 09:18:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:19:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:19:25 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Patch Set 1: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 02 Aug 2021 09:19:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:20:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:20:41 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Patch Set 4: Code-Review+2 lets merge this as-is, i currently do not have the capability to address review issues. it will not break exitsing code as it is a self-contained new file. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 Gerrit-Change-Number: 24574 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:20:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:21:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:21:33 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25082 ) Change subject: introduce support for new ngff_cardem board ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:21:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:21:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:21:46 +0000 Subject: Change in simtrace2[master]: firmware: data sections In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25080 ) Change subject: firmware: data sections ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a Gerrit-Change-Number: 25080 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:21:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:13 +0000 Subject: Change in simtrace2[master]: firmware: proper makefile deps In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25081 ) Change subject: firmware: proper makefile deps ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 Gerrit-Change-Number: 25081 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:22:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:41 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25083 ) Change subject: firmware: make the ngff beakout blink ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 9 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:22:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:46 +0000 Subject: Change in simtrace2[master]: Introduce simtrace2-tool In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24574 ) Change subject: Introduce simtrace2-tool ...................................................................... Introduce simtrace2-tool The simtrace-tool is a command line tool which can be used to e.g. manually request a modem reset. Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 --- M host/src/Makefile.am A host/src/simtrace2-tool.c 2 files changed, 335 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/host/src/Makefile.am b/host/src/Makefile.am index fa5be6e..17be9eb 100644 --- a/host/src/Makefile.am +++ b/host/src/Makefile.am @@ -5,10 +5,12 @@ LDADD= $(top_builddir)/lib/libosmo-simtrace2.la \ $(LIBOSMOCORE_LIBS) $(LIBOSMOSIM_LIBS) $(LIBOSMOUSB_LIBS) $(LIBUSB_LIBS) -bin_PROGRAMS = simtrace2-cardem-pcsc simtrace2-list simtrace2-sniff +bin_PROGRAMS = simtrace2-cardem-pcsc simtrace2-list simtrace2-sniff simtrace2-tool simtrace2_cardem_pcsc_SOURCES = simtrace2-cardem-pcsc.c simtrace2_list_SOURCES = simtrace2_usb.c simtrace2_sniff_SOURCES = simtrace2-sniff.c + +simtrace2_tool_SOURCES = simtrace2-tool.c diff --git a/host/src/simtrace2-tool.c b/host/src/simtrace2-tool.c new file mode 100644 index 0000000..658f84a --- /dev/null +++ b/host/src/simtrace2-tool.c @@ -0,0 +1,332 @@ +/* simtrace2-tool - main program for the host PC to provide a remote SIM + * using the SIMtrace 2 firmware in card emulation mode + * + * (C) 2019 by Harald Welte + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +#include +#include +#include +#include +#include +#include +#include +#define _GNU_SOURCE +#include + +#include + +#include + +#include +#include +#include +#include + +#include +#include + +/*********************************************************************** + * Incoming Messages + ***********************************************************************/ + +static void print_welcome(void) +{ + printf("simtrace2-tool\n" + "(C) 2019 Harald Welte \n"); +} + +static void print_help(void) +{ + printf( "simtrace2-tool [OPTIONS] COMMAND\n\n"); + printf( "Options:\n" + "\t-h\t--help\n" + "\t-V\t--usb-vendor\tVENDOR_ID\n" + "\t-P\t--usb-product\tPRODUCT_ID\n" + "\t-C\t--usb-config\tCONFIG_ID\n" + "\t-I\t--usb-interface\tINTERFACE_ID\n" + "\t-S\t--usb-altsetting ALTSETTING_ID\n" + "\t-A\t--usb-address\tADDRESS\n" + "\t-H\t--usb-path\tPATH\n" + "\n" + ); + printf( "Commands:\n" + "\tmodem reset (enable|disable|cycle)\n" + "\tmodem sim-switch (local|remote)\n" + "\n"); +} + +static const struct option opts[] = { + { "help", 0, 0, 'h' }, + { "usb-vendor", 1, 0, 'V' }, + { "usb-product", 1, 0, 'P' }, + { "usb-config", 1, 0, 'C' }, + { "usb-interface", 1, 0, 'I' }, + { "usb-altsetting", 1, 0, 'S' }, + { "usb-address", 1, 0, 'A' }, + { "usb-path", 1, 0, 'H' }, + { NULL, 0, 0, 0 } +}; + +static void run_mainloop(struct osmo_st2_cardem_inst *ci) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + uint8_t buf[16*265]; + int xfer_len; + int rc; + + while (1) { + /* read data from SIMtrace2 device */ + rc = libusb_bulk_transfer(transp->usb_devh, transp->usb_ep.in, + buf, sizeof(buf), &xfer_len, 100); + if (rc < 0 && rc != LIBUSB_ERROR_TIMEOUT && + rc != LIBUSB_ERROR_INTERRUPTED && + rc != LIBUSB_ERROR_IO) { + fprintf(stderr, "BULK IN transfer error; rc=%d\n", rc); + return; + } + /* break the loop if no new messages arrive within 100ms */ + if (rc == LIBUSB_ERROR_TIMEOUT) + return; + } +} + +static struct osmo_st2_transport _transp; + +static struct osmo_st2_slot _slot = { + .transp = &_transp, + .slot_nr = 0, +}; + +struct osmo_st2_cardem_inst _ci = { + .slot = &_slot, +}; + +struct osmo_st2_cardem_inst *ci = &_ci; + +/* perform a modem reset */ +static int do_modem_reset(int argc, char **argv) +{ + char *command; + if (argc < 1) + command = "cycle"; + else { + command = argv[0]; + argc--; + argv++; + } + + if (!strcmp(command, "enable")) { + printf("Activating Modem RESET\n"); + return osmo_st2_modem_reset_active(ci->slot); + } else if (!strcmp(command, "disable")) { + printf("Deactivating Modem RESET\n"); + return osmo_st2_modem_reset_inactive(ci->slot); + } else if (!strcmp(command, "cycle")) { + printf("Pulsing Modem RESET (1s)\n"); + return osmo_st2_modem_reset_pulse(ci->slot, 1000); + } else { + fprintf(stderr, "Unsupported modem reset command: '%s'\n", command); + return -EINVAL; + } + return 0; +} + +/* switch between local and remote (emulated) SIM */ +static int do_modem_sim_switch(int argc, char **argv) +{ + char *command; + if (argc < 1) + return -EINVAL; + command = argv[0]; + argc--; + argv++; + + if (!strcmp(command, "local")) { + printf("Setting SIM=LOCAL; Modem reset recommended\n"); + return osmo_st2_modem_sim_select_local(ci->slot); + } else if (!strcmp(command, "remote")) { + printf("Setting SIM=REMOTE; Modem reset recommended\n"); + return osmo_st2_modem_sim_select_remote(ci->slot); + } else { + fprintf(stderr, "Unsupported modem sim-switch command: '%s'\n", command); + return -EINVAL; + } + return 0; +} + +static int do_subsys_modem(int argc, char **argv) +{ + char *command; + int rc; + + if (argc < 1) + return -EINVAL; + command = argv[0]; + argc--; + argv++; + + if (!strcmp(command, "reset")) { + rc = do_modem_reset(argc, argv); + } else if (!strcmp(command, "sim-switch")) { + rc = do_modem_sim_switch(argc, argv); + } else { + fprintf(stderr, "Unsupported command for subsystem modem: '%s'\n", command); + return -EINVAL; + } + + return rc; +} + +static int do_command(int argc, char **argv) +{ + char *subsys; + int rc; + + if (argc < 1) + return -EINVAL; + subsys = argv[0]; + argc--; + argv++; + + if (!strcmp(subsys, "modem")) + rc = do_subsys_modem(argc, argv); + else { + fprintf(stderr, "Unsupported subsystem '%s'\n", subsys); + rc = -EINVAL; + } + + return rc; +} + + +int main(int argc, char **argv) +{ + struct osmo_st2_transport *transp = ci->slot->transp; + int rc; + int c, ret = 1; + int if_num = 0, vendor_id = -1, product_id = -1; + int config_id = -1, altsetting = 0, addr = -1; + char *path = NULL; + + while (1) { + int option_index = 0; + + c = getopt_long(argc, argv, "hV:P:C:I:S:A:H:", opts, &option_index); + if (c == -1) + break; + switch (c) { + case 'h': + print_help(); + exit(0); + break; + case 'V': + vendor_id = strtol(optarg, NULL, 16); + break; + case 'P': + product_id = strtol(optarg, NULL, 16); + break; + case 'C': + config_id = atoi(optarg); + break; + case 'I': + if_num = atoi(optarg); + break; + case 'S': + altsetting = atoi(optarg); + break; + case 'A': + addr = atoi(optarg); + break; + case 'H': + path = optarg; + break; + } + } + + if (vendor_id < 0 || product_id < 0) { + fprintf(stderr, "You have to specify the vendor and product ID\n"); + goto do_exit; + } + + transp->udp_fd = -1; + + rc = libusb_init(NULL); + if (rc < 0) { + fprintf(stderr, "libusb initialization failed\n"); + goto do_exit; + } + + print_welcome(); + + do { + if (transp->udp_fd < 0) { + struct usb_interface_match _ifm, *ifm = &_ifm; + ifm->vendor = vendor_id; + ifm->product = product_id; + ifm->configuration = config_id; + ifm->interface = if_num; + ifm->altsetting = altsetting; + ifm->addr = addr; + if (path) + osmo_strlcpy(ifm->path, path, sizeof(ifm->path)); + transp->usb_devh = osmo_libusb_open_claim_interface(NULL, NULL, ifm); + if (!transp->usb_devh) { + fprintf(stderr, "can't open USB device\n"); + goto close_exit; + } + + rc = osmo_libusb_get_ep_addrs(transp->usb_devh, if_num, &transp->usb_ep.out, + &transp->usb_ep.in, &transp->usb_ep.irq_in); + if (rc < 0) { + fprintf(stderr, "can't obtain EP addrs; rc=%d\n", rc); + goto close_exit; + } + } + + if (argc - optind <= 0) { + fprintf(stderr, "You have to specify a command to execute\n"); + exit(1); + } + + rc = do_command(argc-optind, argv+optind); + switch (rc) { + case 0: + break; + case -EINVAL: + fprintf(stderr, "Error: Invalid command/syntax\n"); + exit(1); + break; + default: + fprintf(stderr, "Error executing command: %d\n", rc); + exit(1); + break; + } + + run_mainloop(ci); + ret = 0; + + libusb_release_interface(transp->usb_devh, 0); +close_exit: + if (transp->usb_devh) + libusb_close(transp->usb_devh); + } while (0); + + libusb_exit(NULL); +do_exit: + return ret; +} -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24574 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I3a8896ac2b3caef7590b51118359e5caed820a40 Gerrit-Change-Number: 24574 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:47 +0000 Subject: Change in simtrace2[master]: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25082 ) Change subject: introduce support for new ngff_cardem board ...................................................................... introduce support for new ngff_cardem board This adds support for the new ngff_cardem board, a board that basically combines a ngff breakout board with a built-in SIMtrace2. Cardem works, but depending on the modem it might need a adjusted ATR to ensure a lower baud rate is used by the modem, high rates might lead to weird power cycling of the card after a few transfers. Trace was also tested and appears to work as expected. Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 --- M contrib/flash.py M contrib/simtrace.lua M firmware/apps/cardem/main.c A firmware/libboard/ngff_cardem/include/board.h A firmware/libboard/ngff_cardem/include/card_pres.h A firmware/libboard/ngff_cardem/include/wwan_led.h A firmware/libboard/ngff_cardem/include/wwan_perst.h A firmware/libboard/ngff_cardem/product_string.txt A firmware/libboard/ngff_cardem/source/board_ngff_cardem.c A firmware/libboard/ngff_cardem/source/card_pres.c A firmware/libboard/ngff_cardem/source/sim_switch.c A firmware/libboard/ngff_cardem/source/wwan_led.c A firmware/libboard/ngff_cardem/source/wwan_perst.c M firmware/libboard/simtrace/include/board.h M firmware/libcommon/include/simtrace_usb.h M firmware/libcommon/source/mode_cardemu.c M host/contrib/99-simtrace2.rules M host/lib/usb_util.c M host/src/simtrace2-sniff.c 19 files changed, 798 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/contrib/flash.py b/contrib/flash.py index 21903bb..01fe7c9 100755 --- a/contrib/flash.py +++ b/contrib/flash.py @@ -28,7 +28,8 @@ DEVICE_QMOD = Device(usb_vendor_id=0x1d50, usb_product_id=0x4004, name="sysmoQMOD (Quad Modem)", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/qmod-cardem-dfu-latest.bin"}) DEVICE_OWHW = Device(usb_vendor_id=0x1d50, usb_product_id=0x4001, name="OWHW", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/owhw-cardem-dfu-latest.bin"}) DEVICE_OCTSIMTEST = Device(usb_vendor_id=0x1d50, usb_product_id=0x616d, name="OCTSIMTEST", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/octsimtest-cardem-dfu-latest.bin"}) -DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST] +DEVICE_NGFF_CARDEM = Device(usb_vendor_id=0x1d50, usb_product_id=0x616e, name="ngff-cardem", url={"cardem": "https://ftp.osmocom.org/binaries/simtrace2/firmware/latest/ngff_cardem-cardem-dfu-latest.bin"}) +DEVICES = [DEVICE_SIMTRACE, DEVICE_QMOD, DEVICE_OCTSIMTEST, DEVICE_NGFF_CARDEM] # which firmware does the SIMtrace USN interface subclass correspond FIRMWARE_SUBCLASS = {1: "trace", 2: "cardem"} diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 68eb961..8298265 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -62,6 +62,7 @@ function usb_simtrace_protocol.init() local usb_product_dissectors = DissectorTable.get("usb.product") usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) +usb_product_dissectors:add(0x1d50616e, usb_simtrace_protocol) -- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) end diff --git a/firmware/apps/cardem/main.c b/firmware/apps/cardem/main.c index a30a211..95967ba 100644 --- a/firmware/apps/cardem/main.c +++ b/firmware/apps/cardem/main.c @@ -71,8 +71,13 @@ .init = mode_cardemu_init, .exit = mode_cardemu_exit, .run = mode_cardemu_run, +#if defined (ngff_cardem) + .usart0_irq = mode_cardemu_usart1_irq, + .usart1_irq = mode_cardemu_usart0_irq, +#else .usart0_irq = mode_cardemu_usart0_irq, .usart1_irq = mode_cardemu_usart1_irq, +#endif }, #endif #ifdef HAVE_MITM diff --git a/firmware/libboard/ngff_cardem/include/board.h b/firmware/libboard/ngff_cardem/include/board.h new file mode 100644 index 0000000..8be7b7f --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/board.h @@ -0,0 +1,166 @@ +/* Osmocom ngff-cardem board definition + * + * (C) 2021 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once +#include "board_common.h" +#include "simtrace_usb.h" + +/** Name of the board */ +#define BOARD_NAME "NGFF-CARDEM" +/** Board definition */ +#define ngff_cardem + +/** oscillator used as main clock source (in Hz) */ +#define BOARD_MAINOSC 12000000 +/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */ +#define BOARD_MCK 58000000 // 12.000 * 29 / 6 + +/** MCU pin connected to red LED */ +#define PIO_LED_RED PIO_PA17 +/** MCU pin connected to green LED */ +#define PIO_LED_GREEN PIO_PA18 +/** red LED pin definition */ +#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** green LED pin definition */ +#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +/** LEDs pin definition */ +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +/** index for red LED in LEDs pin definition array */ +#define LED_NUM_RED 0 +/** index for green LED in LEDs pin definition array */ +#define LED_NUM_GREEN 1 +/** the green LED is actually red and used as indication for USIM1 */ +#define LED_USIM1 LED_GREEN + +/* USIM 2 interface (USART) */ +#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM2 PIN_USIM2_CLK, PIN_USIM2_IO + +/* USIM 2 interface (TC) */ +#define PIN_USIM2_IO_TC {PIO_PA1, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM2_CLK_TC {PIO_PA4, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM2 PIN_USIM2_IO_TC, PIN_USIM2_CLK_TC + +/* USIM 1 interface (USART) */ +#define PIN_USIM1_IO {PIO_PA22, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PIN_USIM1_CLK {PIO_PA23, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +#define PINS_ISO7816_USIM1 PIN_USIM1_CLK, PIN_USIM1_IO + +/* USIM 1 interface (TC) */ +#define PIN_USIM1_IO_TC {PIO_PA27, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PIN_USIM1_CLK_TC {PIO_PA29, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +#define PINS_TC_USIM1 PIN_USIM1_IO_TC, PIN_USIM1_CLK_TC + +#define PIN_USIM1_nRST {PIO_PA24, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +#define PIN_USIM1_VCC {PIO_PB3, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PIN_USIM2_nRST {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT} +//#define PIN_USIM2_VCC {PIO_PB2, PIOB, ID_PIOB, PIO_INPUT, PIO_DEFAULT} + +#define PINS_USIM1 PINS_TC_USIM1, PINS_ISO7816_USIM1, PIN_USIM1_nRST +#define PINS_USIM2 PINS_TC_USIM2, PINS_ISO7816_USIM2, PIN_USIM2_nRST + +/* from v3 and onwards only (!) */ +#define PIN_DET_USIM1_PRES {PIO_PA8, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE} + +/* inputs reading the WWAN LED level */ +#define PIN_WWAN1 {PIO_PA15, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEGLITCH | PIO_IT_EDGE} +#define PINS_WWAN_IN { PIN_WWAN1 } + +#define PIN_MODEM_EN {PIO_PA11, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define PIN_N_MODEM_PWR_ON {PIO_PA26, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +/* outputs controlling RESET input of modems */ +#define PIN_PERST1 {PIO_PA25, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define PINS_PERST { PIN_PERST1 } + +#define PIN_VERSION_DET {PIO_PA19, PIOA, ID_PIOA, PIO_PERIPH_D, PIO_DEFAULT} + +/* GPIO towards SPDT switches between real SIM and SAM3 */ +//#define PIN_SIM_SWITCH1 {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +//#define PIN_SIM_SWITCH2 {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define BOARD_USB_BMATTRIBUTES USBConfigurationDescriptor_SELFPOWERED_NORWAKEUP + +#define BOARD_USB_VENDOR_ID USB_VENDOR_OPENMOKO +#define BOARD_USB_PRODUCT_ID USB_PRODUCT_NGFF_CARDEM +#define BOARD_DFU_USB_PRODUCT_ID USB_PRODUCT_NGFF_CARDEM +#define BOARD_USB_RELEASE 0x010 + +#define DETECT_VCC_BY_ADC +#define VCC_UV_THRESH_1V8 1500000 +#define VCC_UV_THRESH_3V VCC_UV_THRESH_1V8 + +#ifdef APPLICATION_cardem +#define HAVE_CARDEM +#define HAVE_BOARD_CARDINSERT +struct cardem_inst; +void board_set_card_insert(struct cardem_inst *ci, bool card_insert); +#endif + +#ifdef APPLICATION_trace +#define HAVE_SNIFFER +#endif + +/* Card I/O data signal input/output (I/O_SIM in schematic) */ +#define PIN_SIM_IO {PIO_PA6A_TXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT} +/* Card CLK clock input (CLK_SIM in schematic) */ +#define PIN_SIM_CLK {PIO_PA2B_SCK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Card RST reset signal input (use as input since the phone will drive it) */ +#define PIN_SIM_RST_SNIFF {PIO_PA7, PIOA, ID_PIOA, PIO_INPUT, PIO_DEGLITCH | PIO_IT_EDGE} +/* Pins used to sniff phone-card communication */ +#define PINS_SIM_SNIFF PIN_SIM_IO, PIN_SIM_CLK, PIN_SIM_RST_SNIFF + +/* Pin to measure card I/O timing (to start measuring the ETU on I/O activity; connected I/O_SIM in schematic) */ +#define PIN_SIM_IO_INPUT {PIO_PA1B_TIOB0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pin used as clock input (to measure the ETU duration; connected to CLK_SIM in schematic) */ +#define PIN_SIM_CLK_INPUT {PIO_PA4B_TCLK0, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT} +/* Pins used to measure ETU timing (using timer counter) */ +#define PINS_TC PIN_SIM_IO_INPUT, PIN_SIM_CLK_INPUT + +//default state: NO uart connected, modem connected to physical sim, NO sim presence override, modem powers sim slot +#define pin_conn_usim1_default {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_default {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_mdm_sim_default {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_set_sim_det_default {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_default {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_default {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} + +//cardem state: uart2 (!) connected, NO modem connected to physical sim, sim presence override, NOTHING powers sim slot +#define pin_conn_usim1_cem {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_cem {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_mdm_sim_cem {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_cem {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_cem {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +//trace state: uart2 (!) connected, modem connected to physical sim, st powers sim slot +#define pin_conn_usim1_trace {PIO_PA20, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_conn_usim2_trace {PIO_PA28, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_mdm_sim_trace {PIO_PA0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} +#define pin_conn_set_sim_det_trace {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_st_sim_vdd_trace {PIO_PB2, PIOB, ID_PIOB, PIO_OUTPUT_1, PIO_DEFAULT} +#define pin_en_mdm_sim_vdd_trace {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define PIN_MODEM_EN_off {PIO_PA11, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + +#define PINS_SIM_DEFAULT pin_conn_usim1_default, pin_conn_usim2_default, pin_conn_mdm_sim_default, pin_conn_set_sim_det_default, PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_default, pin_en_mdm_sim_vdd_default +#define PINS_SIM_CARDEM pin_conn_usim1_cem, pin_conn_usim2_cem, pin_conn_mdm_sim_cem, pin_en_mdm_sim_vdd_cem, pin_en_st_sim_vdd_cem// , pin_conn_set_sim_det_cem + +#define PINS_BUS_SNIFF pin_conn_usim1_trace, pin_conn_usim2_trace, pin_conn_mdm_sim_trace, pin_conn_set_sim_det_trace,PIN_MODEM_EN_off +#define PINS_PWR_SNIFF PIN_N_MODEM_PWR_ON, PIN_MODEM_EN, pin_en_st_sim_vdd_trace, pin_en_mdm_sim_vdd_trace diff --git a/firmware/libboard/ngff_cardem/include/card_pres.h b/firmware/libboard/ngff_cardem/include/card_pres.h new file mode 100644 index 0000000..81f0613 --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/card_pres.h @@ -0,0 +1,22 @@ +/* card presence utilities + * + * (C) 2016-2017 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int is_card_present(int port); +int card_present_init(void); diff --git a/firmware/libboard/ngff_cardem/include/wwan_led.h b/firmware/libboard/ngff_cardem/include/wwan_led.h new file mode 100644 index 0000000..77887c7 --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/wwan_led.h @@ -0,0 +1,20 @@ +/* Code to read/track the status of the WWAN LEDs of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int wwan_led_active(int wwan); +int wwan_led_init(void); diff --git a/firmware/libboard/ngff_cardem/include/wwan_perst.h b/firmware/libboard/ngff_cardem/include/wwan_perst.h new file mode 100644 index 0000000..c934afc --- /dev/null +++ b/firmware/libboard/ngff_cardem/include/wwan_perst.h @@ -0,0 +1,21 @@ +/* Code to control the PERST lines of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#pragma once + +int wwan_perst_set(int modem_nr, int active); +int wwan_perst_do_reset_pulse(int modem_nr, unsigned int duration_ms); +int wwan_perst_init(void); diff --git a/firmware/libboard/ngff_cardem/product_string.txt b/firmware/libboard/ngff_cardem/product_string.txt new file mode 100644 index 0000000..09a33c6 --- /dev/null +++ b/firmware/libboard/ngff_cardem/product_string.txt @@ -0,0 +1 @@ +ngff-cardem diff --git a/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c new file mode 100644 index 0000000..0ac9cd8 --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/board_ngff_cardem.c @@ -0,0 +1,159 @@ +/* sysmocom ngff-cardem application code + * + * (C) 2021 Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "simtrace.h" +#include "utils.h" +#include "led.h" +#include "wwan_led.h" +#include "wwan_perst.h" +#include "sim_switch.h" +#include "boardver_adc.h" +#include "card_pres.h" +#include +#include "usb_buf.h" + +/* array of generated USB Strings */ +extern unsigned char *usb_strings[]; + +/* returns '1' in case we should break any endless loop */ +void board_exec_dbg_cmd(int ch) +{ + switch (ch) { + case '?': + printf("\t?\thelp\n\r"); + printf("\tR\treset SAM3\n\r"); + printf("\tl\tswitch off LED 1\n\r"); + printf("\tL\tswitch on LED 1\n\r"); + printf("\tg\tswitch off LED 2\n\r"); + printf("\tG\tswitch on LED 2\n\r"); + printf("\t1\tGenerate 1ms reset pulse on WWAN1\n\r"); + printf("\t!\tSwitch Channel A from physical -> remote\n\r"); + printf("\tt\t(pseudo)talloc report\n\r"); + break; + case 'R': + printf("Asking NVIC to reset us\n\r"); + USBD_Disconnect(); + NVIC_SystemReset(); + break; + case 'l': + led_blink(LED_GREEN, BLINK_ALWAYS_OFF); + printf("LED 1 switched off\n\r"); + break; + case 'L': + led_blink(LED_GREEN, BLINK_ALWAYS_ON); + printf("LED 1 switched on\n\r"); + break; + case 'g': + led_blink(LED_RED, BLINK_ALWAYS_OFF); + printf("LED 2 switched off\n\r"); + break; + case 'G': + led_blink(LED_RED, BLINK_ALWAYS_ON); + printf("LED 2 switched on\n\r"); + break; + case '1': + printf("Resetting Modem\n\r"); + wwan_perst_do_reset_pulse(0, 300); + break; + case '!': + sim_switch_use_physical(0, 0); + break; + case 't': + talloc_report(NULL, stdout); + break; + default: + printf("Unknown command '%c'\n\r", ch); + break; + } +} + +void board_main_top(void) +{ +#ifndef APPLICATION_dfu + usb_buf_init(); + + wwan_led_init(); + wwan_perst_init(); + sim_switch_init(); +#endif + + /* Obtain the circuit board version (currently just prints voltage) */ + get_board_version_adc(); +#ifndef APPLICATION_dfu + /* Initialize checking for card insert/remove events */ + card_present_init(); +#endif + wwan_perst_set(0, 0); +} + +static int uart_has_loopback_jumper(void) +{ + unsigned int i; + const Pin uart_loopback_pins[] = { + {PIO_PA9A_URXD0, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}, + {PIO_PA10A_UTXD0, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT} + }; + + /* Configure UART pins as I/O */ + PIO_Configure(uart_loopback_pins, PIO_LISTSIZE(uart_loopback_pins)); + + /* Send pattern over UART TX and check if it is received on RX + * If the loop doesn't get interrupted, RxD always follows TxD and thus a + * loopback jumper has been placed on RxD/TxD, and we will boot + * into DFU unconditionally + */ + int has_loopback_jumper = 1; + for (i = 0; i < 10; i++) { + /* Set TxD high; abort if RxD doesn't go high either */ + PIO_Set(&uart_loopback_pins[1]); + if (!PIO_Get(&uart_loopback_pins[0])) { + has_loopback_jumper = 0; + break; + } + /* Set TxD low, abort if RxD doesn't go low either */ + PIO_Clear(&uart_loopback_pins[1]); + if (PIO_Get(&uart_loopback_pins[0])) { + has_loopback_jumper = 0; + break; + } + } + + /* Put pins back to UART mode */ + const Pin uart_pins[] = {PINS_UART}; + PIO_Configure(uart_pins, PIO_LISTSIZE(uart_pins)); + + return has_loopback_jumper; +} + +int board_override_enter_dfu(void) +{ + /* If the loopback jumper is set, we enter DFU mode */ + if (uart_has_loopback_jumper()) + return 1; + + return 0; +} + + static const Pin deton = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_0, PIO_DEFAULT}; + static const Pin detoff = {PIO_PA13, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}; + +void board_set_card_insert(struct cardem_inst *ci, bool card_insert) +{ + PIO_Configure(card_insert ? &deton : &detoff, 1); +} \ No newline at end of file diff --git a/firmware/libboard/ngff_cardem/source/card_pres.c b/firmware/libboard/ngff_cardem/source/card_pres.c new file mode 100644 index 0000000..7d6c483 --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/card_pres.c @@ -0,0 +1,76 @@ +/* card presence utilities + * + * (C) 2016-2021 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include +#include "board.h" +#include "utils.h" +#include "card_pres.h" + +#define NUM_CARDPRES 1 + +#define TIMER_INTERVAL_MS 500 + +static const Pin pin_cardpres[NUM_CARDPRES] = { PIN_DET_USIM1_PRES }; +static int last_state[NUM_CARDPRES] = { -1 }; +static struct osmo_timer_list cardpres_timer; + +/* Determine if a SIM card is present in the given slot */ +int is_card_present(int port) +{ + const Pin *pin; + int present; + + if (port < 0 || port >= NUM_CARDPRES) + return -1; + pin = &pin_cardpres[port]; + + + /* high active here */ + present = PIO_Get(pin); + + return present; +} + +static void cardpres_tmr_cb(void *data) +{ + unsigned int i; + + for (i = 0; i < ARRAY_SIZE(pin_cardpres); i++) { + int state = is_card_present(i); + if (state != last_state[i]) { + TRACE_INFO("%u: Card Detect Status %d -> %d\r\n", i, last_state[i], state); + /* FIXME: report to USB host */ + last_state[i] = state; + } + } + + osmo_timer_schedule(&cardpres_timer, 0, TIMER_INTERVAL_MS*1000); +} + +int card_present_init(void) +{ + unsigned int i; + + PIO_Configure(pin_cardpres, ARRAY_SIZE(pin_cardpres)); + + /* start timer */ + cardpres_timer.cb = cardpres_tmr_cb; + osmo_timer_schedule(&cardpres_timer, 0, TIMER_INTERVAL_MS*1000); + + return 2; +} diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c new file mode 100644 index 0000000..eb2d305 --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -0,0 +1,81 @@ +/* Code to switch between local (physical) and remote (emulated) SIM + * + * (C) 2015-2017 by Harald Welte + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +#include "board.h" +#include "trace.h" +#include "led.h" +#include "sim_switch.h" + +//uart12bus 2-20e pa20 +//uart22bus 1-20e pa28 +//usim2bus 1-10e pa0 pivot +//sim det 2-10e pa13 + +static const Pin pins_default[] = {PINS_SIM_DEFAULT}; +static const Pin pins_cem[] = {PINS_SIM_CARDEM}; + +static int initialized = 0; + +int sim_switch_use_physical(unsigned int nr, int physical) +{ + const Pin pin = PIN_MODEM_EN;// PIN_N_MODEM_PWR_ON; + enum led led; + + if (!initialized) { + TRACE_ERROR("Somebody forgot to call sim_switch_init()\r\n"); + sim_switch_init(); + } + + TRACE_INFO("Modem %d: %s SIM\n\r", nr, + physical ? "physical" : "virtual"); + + switch (nr) { + case 0: + led = LED_USIM1; + break; + + default: + TRACE_ERROR("Invalid SIM%u\n\r", nr); + return -1; + } + + if (physical) { + TRACE_INFO("%u: Use local/physical SIM\r\n", nr); + PIO_Configure(pins_default, PIO_LISTSIZE(pins_default)); + led_blink(led, BLINK_ALWAYS_ON); + } else { + TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); + PIO_Configure(pins_cem, PIO_LISTSIZE(pins_cem)); + led_blink(led, BLINK_ALWAYS_OFF); + } + + /* just power cycle the modem because this circumvents weird issues with unreliable signals */ + PIO_Clear(&pin); + mdelay(200); + PIO_Set(&pin); + + + return 0; +} + +int sim_switch_init(void) +{ + PIO_Configure(pins_default, PIO_LISTSIZE(pins_default)); + initialized = 1; + return 1; +} diff --git a/firmware/libboard/ngff_cardem/source/wwan_led.c b/firmware/libboard/ngff_cardem/source/wwan_led.c new file mode 100644 index 0000000..36eb0ec --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/wwan_led.c @@ -0,0 +1,93 @@ +/* Code to read/track the status of the WWAN LEDs of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +/* Depending on the board this is running on, it might be possible + * for the controller to read the status of the WWAN LED output lines of + * the cellular modem. If the board supports this, it sets the + * PIN_WWAN1 and/or PIN_WWAN2 defines in its board.h file. + */ +#include "board.h" +#include "wwan_led.h" + +#ifdef PIN_WWAN1 +static const Pin pin_wwan1 = PIN_WWAN1; + +static void wwan1_irqhandler(const Pin *pPin) +{ + int active = wwan_led_active(0); + + TRACE_INFO("0: WWAN LED %u\r\n", active); + + /* TODO: notify host via USB */ +} +#endif + +#ifdef PIN_WWAN2 +static const Pin pin_wwan2 = PIN_WWAN2; + +static void wwan2_irqhandler(const Pin *pPin) +{ + int active = wwan_led_active(1); + TRACE_INFO("1: WWAN LED %u\r\n", active); + + /* TODO: notify host via USB */ +} +#endif + +/* determine if a given WWAN led is currently active or not */ +int wwan_led_active(int wwan) +{ + const Pin *pin; + int active; + + switch (wwan) { +#ifdef PIN_WWAN1 + case 0: + pin = &pin_wwan1; + break; +#endif +#ifdef PIN_WWAN2 + case 1: + pin = &pin_wwan2; + break; +#endif + default: + return -1; + } + + active = PIO_Get(pin) ? 0 : 1; + return active; +} + +int wwan_led_init(void) +{ + int num_leds = 0; + +#ifdef PIN_WWAN1 + PIO_Configure(&pin_wwan1, 1); + PIO_ConfigureIt(&pin_wwan1, wwan1_irqhandler); + PIO_EnableIt(&pin_wwan1); + num_leds++; +#endif + +#ifdef PIN_WWAN2 + PIO_Configure(&pin_wwan2, 1); + PIO_ConfigureIt(&pin_wwan2, wwan2_irqhandler); + PIO_EnableIt(&pin_wwan2); + num_leds++; +#endif + return num_leds; +} diff --git a/firmware/libboard/ngff_cardem/source/wwan_perst.c b/firmware/libboard/ngff_cardem/source/wwan_perst.c new file mode 100644 index 0000000..95a7c7b --- /dev/null +++ b/firmware/libboard/ngff_cardem/source/wwan_perst.c @@ -0,0 +1,127 @@ +/* Code to control the PERST lines of attached modems + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + */ +/* Depending on the board this is running on, it might be possible + * for the controller to set the status of the PERST input line of + * the cellular modem. If the board supports this, it sets the + * PIN_PERST1 and/or PIN_PERST2 defines in its board.h file. + */ +#include "board.h" +#include "trace.h" +#include "wwan_perst.h" +#include + +struct wwan_perst { + uint8_t idx; + const Pin pin; + struct osmo_timer_list timer; +}; + +#ifdef PIN_PERST1 +static struct wwan_perst perst1 = { + .idx = 0, + .pin = PIN_PERST1, +}; +#endif + +#ifdef PIN_PERST2 +static struct wwan_perst perst2 = { + .idx = 1, + .pin = PIN_PERST2, +}; +#endif + +static int initialized = 0; + +static void perst_tmr_cb(void *data) +{ + struct wwan_perst *perst = data; + /* release the (low-active) reset */ + TRACE_INFO("%u: De-asserting modem reset\r\n", perst->idx); + PIO_Clear(&perst->pin); +} + +static struct wwan_perst *get_perst_for_modem(int modem_nr) +{ + if (!initialized) { + TRACE_ERROR("Somebody forgot to call wwan_perst_init()\r\n"); + wwan_perst_init(); + } + + switch (modem_nr) { +#ifdef PIN_PERST1 + case 0: + return &perst1; +#endif +#ifdef PIN_PERST2 + case 1: + return &perst2; +#endif + default: + return NULL; + } +} + +int wwan_perst_do_reset_pulse(int modem_nr, unsigned int duration_ms) +{ + struct wwan_perst *perst = get_perst_for_modem(modem_nr); + if (!perst) + return -1; + + TRACE_INFO("%u: Asserting modem reset\r\n", modem_nr); + PIO_Set(&perst->pin); + osmo_timer_schedule(&perst->timer, duration_ms/1000, (duration_ms%1000)*1000); + + return 0; +} + +int wwan_perst_set(int modem_nr, int active) +{ + struct wwan_perst *perst = get_perst_for_modem(modem_nr); + if (!perst) + return -1; + + osmo_timer_del(&perst->timer); + if (active) { + TRACE_INFO("%u: Asserting modem reset\r\n", modem_nr); + PIO_Set(&perst->pin); + } else { + TRACE_INFO("%u: De-asserting modem reset\r\n", modem_nr); + PIO_Clear(&perst->pin); + } + + return 0; +} + +int wwan_perst_init(void) +{ + int num_perst = 0; +#ifdef PIN_PERST1 + PIO_Configure(&perst1.pin, 1); + perst1.timer.cb = perst_tmr_cb; + perst1.timer.data = (void *) &perst1; + num_perst++; +#endif + +#ifdef PIN_PERST2 + PIO_Configure(&perst2.pin, 1); + perst2.timer.cb = perst_tmr_cb; + perst2.timer.data = (void *) &perst2; + num_perst++; +#endif + initialized = 1; + return num_perst; +} diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h index 4b6eda2..be18f64 100644 --- a/firmware/libboard/simtrace/include/board.h +++ b/firmware/libboard/simtrace/include/board.h @@ -40,7 +40,7 @@ /** green LED pin definition */ #define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT} /** LEDs pin definition */ -#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN +#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN /** index for red LED in LEDs pin definition array */ #define LED_NUM_RED 0 /** index for green LED in LEDs pin definition array */ diff --git a/firmware/libcommon/include/simtrace_usb.h b/firmware/libcommon/include/simtrace_usb.h index a232ac5..7bf401c 100644 --- a/firmware/libcommon/include/simtrace_usb.h +++ b/firmware/libcommon/include/simtrace_usb.h @@ -26,6 +26,7 @@ #define USB_PRODUCT_SIMTRACE2_DFU 0x60e3 /* was 0x60e2 */ #define USB_PRODUCT_SIMTRACE2 0x60e3 #define USB_PRODUCT_OCTSIMTEST 0x616d +#define USB_PRODUCT_NGFF_CARDEM 0x616e /* USB proprietary class */ #define USB_CLASS_PROPRIETARY 0xff diff --git a/firmware/libcommon/source/mode_cardemu.c b/firmware/libcommon/source/mode_cardemu.c index 2440ec5..4a0b862 100644 --- a/firmware/libcommon/source/mode_cardemu.c +++ b/firmware/libcommon/source/mode_cardemu.c @@ -39,9 +39,21 @@ #endif /* UART pins */ +#if defined(ngff_cardem) +static const Pin pins_usim1[] = {PINS_USIM2}; +static const Pin pin_usim1_rst = PIN_USIM2_nRST; +#define FIRST_USART_BASE USART0 +#define FIRST_USART_ID ID_USART0 +#define FIRST_USART_IRQ USART0_IRQn +#else static const Pin pins_usim1[] = {PINS_USIM1}; static const Pin pin_usim1_rst = PIN_USIM1_nRST; +#define FIRST_USART_BASE USART1 +#define FIRST_USART_ID ID_USART1 +#define FIRST_USART_IRQ USART1_IRQn +#endif static const Pin pin_usim1_vcc = PIN_USIM1_VCC; + #ifdef PIN_USIM1_IO_DIR static const Pin pin_io_dir = PIN_USIM1_IO_DIR; #endif @@ -85,8 +97,8 @@ { .num = 0, .usart_info = { - .base = USART1, - .id = ID_USART1, + .base = FIRST_USART_BASE, + .id = FIRST_USART_ID, .state = USART_RCV }, .ep_out = SIMTRACE_CARDEM_USB_EP_USIM1_DATAOUT, @@ -569,7 +581,7 @@ /* configure USART as ISO-7816 slave (e.g. card) */ ISO7816_Init(&cardem_inst[0].usart_info, CLK_SLAVE); - NVIC_EnableIRQ(USART1_IRQn); + NVIC_EnableIRQ(FIRST_USART_IRQ); PIO_ConfigureIt(&pin_usim1_rst, usim1_rst_irqhandler); PIO_EnableIt(&pin_usim1_rst); @@ -627,9 +639,9 @@ PIO_DisableIt(&pin_usim1_rst); PIO_DisableIt(&pin_usim1_vcc); - NVIC_DisableIRQ(USART1_IRQn); - USART_SetTransmitterEnabled(USART1, 0); - USART_SetReceiverEnabled(USART1, 0); + NVIC_DisableIRQ(FIRST_USART_IRQ); + USART_SetTransmitterEnabled(FIRST_USART_BASE, 0); + USART_SetReceiverEnabled(FIRST_USART_BASE, 0); #ifdef CARDEMU_SECOND_UART PIO_DisableIt(&pin_usim2_rst); diff --git a/host/contrib/99-simtrace2.rules b/host/contrib/99-simtrace2.rules index b576389..5ae04e2 100644 --- a/host/contrib/99-simtrace2.rules +++ b/host/contrib/99-simtrace2.rules @@ -18,6 +18,8 @@ ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="4004", GROUP="plugdev" # sysmocom OCTSIMTEST ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616d", GROUP="plugdev" +# ngff-cardem +ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="616e", GROUP="plugdev" # All done LABEL="simtrace2_rules_end" diff --git a/host/lib/usb_util.c b/host/lib/usb_util.c index 4d3b2b9..872d185 100644 --- a/host/lib/usb_util.c +++ b/host/lib/usb_util.c @@ -33,5 +33,6 @@ { USB_VENDOR_OPENMOKO, USB_PRODUCT_QMOD_SAM3 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, { USB_VENDOR_OPENMOKO, USB_PRODUCT_OCTSIMTEST }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_NGFF_CARDEM }, { 0, 0 } }; diff --git a/host/src/simtrace2-sniff.c b/host/src/simtrace2-sniff.c index 47d9e77..c44029a 100644 --- a/host/src/simtrace2-sniff.c +++ b/host/src/simtrace2-sniff.c @@ -315,6 +315,7 @@ /* Known USB device with SIMtrace firmware supporting sniffer */ static const struct dev_id compatible_dev_ids[] = { { USB_VENDOR_OPENMOKO, USB_PRODUCT_SIMTRACE2 }, + { USB_VENDOR_OPENMOKO, USB_PRODUCT_NGFF_CARDEM }, { 0, 0 } }; -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25082 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia96124fbe8a752c98e7fd4096d542a3b2b9bc255 Gerrit-Change-Number: 25082 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:48 +0000 Subject: Change in simtrace2[master]: firmware: data sections In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25080 ) Change subject: firmware: data sections ...................................................................... firmware: data sections Might or might not be compiler default, but why guess? Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a --- M firmware/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/firmware/Makefile b/firmware/Makefile index 684f223..76a58e1 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -174,7 +174,7 @@ #CFLAGS += -Wa,-a,-ad CFLAGS += -D__ARM -fno-builtin CFLAGS += --param max-inline-insns-single=500 -mcpu=cortex-m3 -mthumb # -mfix-cortex-m3-ldrd -CFLAGS += -ffunction-sections -g $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -DTRACE_LEVEL=$(TRACE_LEVEL) -DALLOW_PEER_ERASE=$(ALLOW_PEER_ERASE) +CFLAGS += -fdata-sections -ffunction-sections -g $(OPTIMIZATION) $(INCLUDES) -D$(CHIP) -DTRACE_LEVEL=$(TRACE_LEVEL) -DALLOW_PEER_ERASE=$(ALLOW_PEER_ERASE) CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" CFLAGS += -DBOARD=\"$(BOARD)\" -DBOARD_$(BOARD) CFLAGS += -DAPPLICATION=\"$(APP)\" -DAPPLICATION_$(APP) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id3da816611afea0858466949dcc47db5e5d5493a Gerrit-Change-Number: 25080 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:48 +0000 Subject: Change in simtrace2[master]: firmware: proper makefile deps In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25081 ) Change subject: firmware: proper makefile deps ...................................................................... firmware: proper makefile deps Single threaded evaluation is (assumed to be!) left to right, depth first - but with concurrent make using -j this breaks, because the actual usb string header is generated after the attempt to concurrently compile the code that needs it, since there is no explicit order among the all: dependencies. This is fixed by properly adding a dependency on that header. Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 --- M firmware/Makefile 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/firmware/Makefile b/firmware/Makefile index 76a58e1..2a14025 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -197,7 +197,7 @@ # Rules #------------------------------------------------------------------------------- -all: apps/$(APP)/usb_strings_generated.h $(BIN) $(OBJ) $(MEMORIES) +all: $(BIN) $(OBJ) $(MEMORIES) combined: $(OUTPUT)-combined.bin @@ -208,7 +208,7 @@ $(OUTPUT)-combined.bin: $(BIN)/$(BOARD)-dfu-flash-padded.bin $(OUTPUT)-dfu.bin cat $^ > $@ -$(BIN) $(OBJ): +$(BIN) $(OBJ): apps/$(APP)/usb_strings_generated.h mkdir -p $@ usbstring/usbstring: usbstring/usbstring.c -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25081 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I0bdf915deabeda861f6398e654764918e58a64c2 Gerrit-Change-Number: 25081 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:49 +0000 Subject: Change in simtrace2[master]: firmware: make the ngff beakout blink In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25083 ) Change subject: firmware: make the ngff beakout blink ...................................................................... firmware: make the ngff beakout blink ..but only if the cardem sim is active Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde --- M firmware/libboard/common/include/led.h M firmware/libboard/common/source/led.c M firmware/libboard/ngff_cardem/source/sim_switch.c 3 files changed, 11 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/firmware/libboard/common/include/led.h b/firmware/libboard/common/include/led.h index 339702d..1ade823 100644 --- a/firmware/libboard/common/include/led.h +++ b/firmware/libboard/common/include/led.h @@ -31,7 +31,8 @@ BLINK_200O_F = 7, BLINK_600O_F = 8, BLINK_CUSTOM = 9, - BLINK_2F_O, + BLINK_2F_O = 10, + BLINK_5O_5F = 11, _NUM_LED_BLINK }; diff --git a/firmware/libboard/common/source/led.c b/firmware/libboard/common/source/led.c index 6772007..4822a6d 100644 --- a/firmware/libboard/common/source/led.c +++ b/firmware/libboard/common/source/led.c @@ -58,6 +58,10 @@ { 0, 1 } }; +static const struct blink_state bs_5on_5off[] = { + { 500, 1 }, { 500, 0 } +}; + static const struct blink_state bs_3on_5off[] = { { 300, 1 }, { 500, 0 } }; @@ -107,6 +111,10 @@ .states = bs_on, .size = ARRAY_SIZE(bs_on), }, + [BLINK_5O_5F] = { + .states = bs_5on_5off, + .size = ARRAY_SIZE(bs_5on_5off), + }, [BLINK_3O_5F] = { .states = bs_3on_5off, .size = ARRAY_SIZE(bs_3on_5off), diff --git a/firmware/libboard/ngff_cardem/source/sim_switch.c b/firmware/libboard/ngff_cardem/source/sim_switch.c index eb2d305..cc4860a 100644 --- a/firmware/libboard/ngff_cardem/source/sim_switch.c +++ b/firmware/libboard/ngff_cardem/source/sim_switch.c @@ -61,7 +61,7 @@ } else { TRACE_INFO("%u: Use remote/emulated SIM\r\n", nr); PIO_Configure(pins_cem, PIO_LISTSIZE(pins_cem)); - led_blink(led, BLINK_ALWAYS_OFF); + led_blink(led, BLINK_5O_5F); } /* just power cycle the modem because this circumvents weird issues with unreliable signals */ -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25083 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I65f1fbeb06690a143ef4c792728c9cb917a4ffde Gerrit-Change-Number: 25083 Gerrit-PatchSet: 10 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:22:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:22:57 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem: use local sim on exit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25084 ) Change subject: simtrace2-cardem: use local sim on exit ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 Gerrit-Change-Number: 25084 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:22:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:23:09 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25086 ) Change subject: contrib: more cardem dissection ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:23:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:23:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:23:19 +0000 Subject: Change in simtrace2[master]: simtrace2-cardem: use local sim on exit In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25084 ) Change subject: simtrace2-cardem: use local sim on exit ...................................................................... simtrace2-cardem: use local sim on exit There is no obvious reason why the st should be stuck in cardem mode without a working running util on the host side since there is no state that is being kept, so switch back to using the local sim upon reset. Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 --- M host/src/simtrace2-cardem-pcsc.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/host/src/simtrace2-cardem-pcsc.c b/host/src/simtrace2-cardem-pcsc.c index d43e7f2..8e143ba 100644 --- a/host/src/simtrace2-cardem-pcsc.c +++ b/host/src/simtrace2-cardem-pcsc.c @@ -420,6 +420,7 @@ switch (signal) { case SIGINT: osmo_st2_cardem_request_card_insert(ci, false); + osmo_st2_modem_sim_select_local(ci->slot); exit(0); break; default: -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25084 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ib622af0027d40b4e8afbb0fa0d3689f0dbfcac92 Gerrit-Change-Number: 25084 Gerrit-PatchSet: 7 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:23:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:23:20 +0000 Subject: Change in simtrace2[master]: contrib: more cardem dissection In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25086 ) Change subject: contrib: more cardem dissection ...................................................................... contrib: more cardem dissection Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 --- M contrib/simtrace.lua 1 file changed, 27 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 8298265..5a273d2 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -36,9 +36,29 @@ local payloadlen = ProtoField.uint16("usb_simtrace.length", "length", base.HEX_DEC) local payload = ProtoField.bytes("usb_simtrace.payload", "Data") +local pb_and_rx = ProtoField.uint32("usb_simtrace.pb_and_rx", "pb_and_rx", base.HEX_DEC, NULL, 0x8) +local pb_and_tx = ProtoField.uint32("usb_simtrace.pb_and_tx", "pb_and_tx", base.HEX_DEC, NULL, 0x4) +local final = ProtoField.uint32("usb_simtrace.final", "final", base.HEX_DEC, NULL, 0x2) +local tpdu_hdr = ProtoField.uint32("usb_simtrace.tpdu_hdr", "tpdu_hdr", base.HEX_DEC, NULL, 0x1) +local rxtxdatalen = ProtoField.uint16("usb_simtrace.rxtxdatalen", "rx/tx data length", base.HEX_DEC) +local rxtxdata = ProtoField.bytes("usb_simtrace.rxtxdata", "rx/tx (data)") usb_simtrace_protocol.fields = { - msgtype, seqnr, slotnr, reserved, payloadlen, payload + msgtype, seqnr, slotnr, reserved, payloadlen, payload, pb_and_rx, pb_and_tx, final, tpdu_hdr, rxtxdatalen, rxtxdata } +function dissect_rxtx(payload_data,pinfo,tree) + + local headerSubtree = tree:add(usb_simtrace_protocol, payload_data, "rx/tx data") + local len = payload_data(8+4,2):le_uint(); + local cmd32 = payload_data(8+0,4):le_uint(); + + headerSubtree:add(pb_and_rx, cmd32) + headerSubtree:add(pb_and_tx, cmd32) + headerSubtree:add(final, cmd32) + headerSubtree:add(tpdu_hdr, cmd32) + + headerSubtree:add(rxtxdatalen, len) + headerSubtree:add_le(rxtxdata, payload_data(8+6,len)) +end function usb_simtrace_protocol.dissector(buffer, pinfo, tree) length = buffer:len() @@ -54,7 +74,12 @@ subtree:add(slotnr, buffer(3,1)) subtree:add_le(payloadlen, buffer(6,2)) pinfo.cols.info = string.format("Cmd 0x%04X : %s", command, control_commands[command]) - subtree:add(payload, buffer(8,length-8)) + local payload_data = buffer(8,length-8) + if(command == 0x0101 or command == 0x0106) then + return dissect_rxtx(buffer(),pinfo,subtree) + else + subtree:add(payload, payload_data) + end end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25086 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ia74d3674f854b390c9745a1cb8d5756bd5d39540 Gerrit-Change-Number: 25086 Gerrit-PatchSet: 8 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:23:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:23:42 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 ) Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 3 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:23:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:23:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:23:45 +0000 Subject: Change in osmo-ccid-firmware[master]: add script to generate a inititial osmo-bankd slotconfig sorted by us... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 ) Change subject: add script to generate a inititial osmo-bankd slotconfig sorted by usb path ...................................................................... add script to generate a inititial osmo-bankd slotconfig sorted by usb path Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 --- A contrib/gen_bankd_pcsc_slots-csv.sh 1 file changed, 19 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/gen_bankd_pcsc_slots-csv.sh b/contrib/gen_bankd_pcsc_slots-csv.sh new file mode 100755 index 0000000..217fbd2 --- /dev/null +++ b/contrib/gen_bankd_pcsc_slots-csv.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# this script is to scan for octsim boards, sort them by usb path and generate a bankd_pcsc_slots.csv on stdout +# basic flow +# - get usb path and serialno tupel from dfu-util -l +# - reformat and sort by usbpath, drop the usbpath (grep cut tr sort cut) +# - generate the config file from the list of serialno in the format required by osmo-remsim-bankd (awk) + +dfu-util -l \ + | grep "Found Runtime: \[1d50:6141\]" \ + | cut -d ' ' -f 8,13 \ + | tr -d ',' \ + | cut -d \" -f 2,4 \ + | tr \" ' ' \ + | sort \ + | cut -d ' ' -f 2 \ + | awk 'BEGIN {count=0}{for (slot=0; slot<8; slot++) {print count, $0, 0slot; count++}}' \ + | awk '{print "\"1\",\""$1"\",\"sysmocom sysmoOCTSIM \[CCID\] \("$2"\) [A-F0-9]{2} "$3"\""}' + -- To view, visit https://gerrit.osmocom.org/c/osmo-ccid-firmware/+/25062 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ccid-firmware Gerrit-Branch: master Gerrit-Change-Id: Ibb5e7db78c8a2129d2093b0dd5ecaa7c13ab9ee3 Gerrit-Change-Number: 25062 Gerrit-PatchSet: 3 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:25:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:25:25 +0000 Subject: Change in simtrace2[master]: firmware: trace for ngff In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25085 ) Change subject: firmware: trace for ngff ...................................................................... Patch Set 5: patch has no content? Isee no changed lines ... -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b Gerrit-Change-Number: 25085 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Aug 2021 09:25:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:28:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:28:25 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:28:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:30:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:30:51 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:30:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 09:31:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 09:31:37 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25045 ) Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 09:31:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 11:03:26 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 2 Aug 2021 11:03:26 +0000 Subject: Change in simtrace2[master]: firmware: trace for ngff In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25085 ) Change subject: firmware: trace for ngff ...................................................................... Patch Set 5: This was part of the previous patchset until the trace commit was squashed into the cardem board support, apparently this results in a still existing but empty patch. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b Gerrit-Change-Number: 25085 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Aug 2021 11:03:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 11:05:09 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 2 Aug 2021 11:05:09 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 02 Aug 2021 11:05:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 11:08:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Aug 2021 11:08:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#8). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 141 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 11:08:55 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Aug 2021 11:08:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 8: (5 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c at a912 PS7, Line 912: } > moving this function seems like an unrelated change, maybe put it in a separate commit? Its not unrelated, I need this function in mgcp_client_connect now, which is more up. That is why I moved it. https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client.c at 856 PS7, Line 856: Fromat > Format Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 178 PS7, Line 178: for (i = 0; i < strlen(argv[0]); i++) { > How about, instead of the for and if: [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 193 PS7, Line 193: return CMD_WARNING; > reset_ep is not deallocated in this code path Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/7/src/libosmo-mgcp-client/mgcp_client_vty.c at 204 PS7, Line 204: MGW_STR "emove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" > "emove -> "remove Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 11:08:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 11:09:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 2 Aug 2021 11:09:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25115 ) Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... mgcp_client: do not print (null) when address is ANY When the address is set to ANY, the address string is NULL. The log then prints "(null)" where the address normaly would be. This looks odd, lets print "(any)" instead. Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 4 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/25115/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 03391d3..d5941a7 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -824,7 +824,8 @@ /* Choose a new port number to try next */ LOGP(DLMGCP, LOGL_NOTICE, "MGCPGW failed to bind to %s:%u, retrying with port %u\n", - mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.local_port + 1); + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, + mgcp->actual.local_port + 1); mgcp->actual.local_port++; } @@ -892,8 +893,8 @@ if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", - mgcp->actual.local_addr, mgcp->actual.local_port, - mgcp->actual.remote_addr, mgcp->actual.remote_port, strerror(errno)); + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, + mgcp->actual.remote_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.remote_port, strerror(errno)); goto error_close_fd; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:00:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:00:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Fix race condition checking for unblocked BVC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 ) Change subject: gbproxy: Fix race condition checking for unblocked BVC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 Gerrit-Change-Number: 25025 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 02 Aug 2021 15:00:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:00:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:00:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Fix race condition checking for unblocked BVC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 ) Change subject: gbproxy: Fix race condition checking for unblocked BVC ...................................................................... gbproxy: Fix race condition checking for unblocked BVC It sometimes happens that the ttcn3 test checks the BVC FSM state before the gbproxy had time to process the BVC_RESET_ACK from the "SGSN". It then reports the state WAIT_RESET_ACK which will fail the test. Introduce a small wait to give the gbproxy some more time. Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index 6aa5e0c..035a47d 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -631,6 +631,10 @@ } } + /* Wait to ensure the gbproxy processed the RESET_ACK messages from the SGSN. + * Otherwise the state might still be WAIT_RESET_ACK */ + f_sleep(0.2); + /* verify all SGSN-side BVC FSM in IUT are UNBLOCKED */ for (i := 0; i < lengthof(mp_nsconfig_sgsn); i := i+1) { f_bvc_fsm_ensure_state(mp_nsconfig_sgsn[i].nsei, 0, "UNBLOCKED"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25025 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic31b2188195c5d76b2d5aac9fa1f0b4efa5ca8b2 Gerrit-Change-Number: 25025 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:01:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:01:27 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix m3ua_encode_dupu In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 ) Change subject: m3ua: fix m3ua_encode_dupu ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 Gerrit-Change-Number: 25033 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:01:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:01:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:01:30 +0000 Subject: Change in libosmo-sccp[master]: m3ua: fix m3ua_encode_dupu In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 ) Change subject: m3ua: fix m3ua_encode_dupu ...................................................................... m3ua: fix m3ua_encode_dupu Fix wrong header and swapped user / cause values (see RFC 4666). This makes TC_ssnm_distribution_dupu pass. Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 --- M src/m3ua.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/m3ua.c b/src/m3ua.c index 4583683..607813f 100644 --- a/src/m3ua.c +++ b/src/m3ua.c @@ -820,9 +820,9 @@ const char *info_string) { struct xua_msg *xua = xua_msg_alloc(); - uint32_t user_cause = (user << 16) | cause; + uint32_t user_cause = (cause << 16) | user; - xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUNA); + xua->hdr = XUA_HDR(M3UA_MSGC_SNM, M3UA_SNM_DUPU); xua->hdr.version = M3UA_VERSION; if (rctx) xua_msg_add_data(xua, M3UA_IEI_ROUTE_CTX, num_rctx * sizeof(*rctx), (const uint8_t *)rctx); -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/25033 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I717b64d13d12a2781c90e4d2f83643331797bed4 Gerrit-Change-Number: 25033 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:02:07 +0000 Subject: Change in osmo-bsc[master]: coverity: quench null deref warning in gscon_change_primary_lchan() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25097 ) Change subject: coverity: quench null deref warning in gscon_change_primary_lchan() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 Gerrit-Change-Number: 25097 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:02:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:02:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:02:11 +0000 Subject: Change in osmo-bsc[master]: coverity: quench null deref warning in gscon_change_primary_lchan() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25097 ) Change subject: coverity: quench null deref warning in gscon_change_primary_lchan() ...................................................................... coverity: quench null deref warning in gscon_change_primary_lchan() The if conditions for logging an lchan change made it look like new_lchan might actually be NULL, which it never is. So rather pin new_lchan as non-NULL with an assert and simplify the logic. Related: CID#237146 Related: b0d854556dafe885d740346b1b34ab247cb09d56 Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 --- M src/osmo-bsc/bsc_subscr_conn_fsm.c 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index 671f065..afb633d 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -699,13 +699,15 @@ /* On release, do not receive release events that look like the primary lchan is gone. */ struct gsm_lchan *old_lchan = conn->lchan; + OSMO_ASSERT(new_lchan); + if (old_lchan == new_lchan) return; - if (!old_lchan && new_lchan) + if (!old_lchan) LOGPFSML(conn->fi, LOGL_DEBUG, "setting primary lchan for this conn to %s\n", new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); - else if (old_lchan && new_lchan) + else LOGPFSML(conn->fi, LOGL_DEBUG, "primary lchan for this conn changes from %s to %s\n", old_lchan->fi? osmo_fsm_inst_name(old_lchan->fi) : gsm_lchan_name(old_lchan), new_lchan->fi? osmo_fsm_inst_name(new_lchan->fi) : gsm_lchan_name(new_lchan)); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25097 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8859c6cb9b3b15287e339ce4b6815b946965d0d9 Gerrit-Change-Number: 25097 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:02:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:02:57 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... Patch Set 1: doesn't it make sense to resolve the conflicting port number rater than working around it? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 02 Aug 2021 15:02:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:03:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:03:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:03:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:04:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:04:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: .gitignore sms.db In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: .gitignore sms.db ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:04:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:04:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:04:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:04:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:04:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:04:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: eliminate bssap_idx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 ) Change subject: msc: eliminate bssap_idx ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 Gerrit-Change-Number: 25088 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:04:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:05:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:05:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: allow another reject cause in TC_cm_reest_req_reject In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 ) Change subject: msc: allow another reject cause in TC_cm_reest_req_reject ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 Gerrit-Change-Number: 25109 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:05:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:05:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:05:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:05:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:06:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:06:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:06:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:07:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:07:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:07:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:07:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:07:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:07:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:07:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:07:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SMPP_Emulation: replace previous entries in f_create_smpp_expect() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 ) Change subject: SMPP_Emulation: replace previous entries in f_create_smpp_expect() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 Gerrit-Change-Number: 25072 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:07:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:07:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:07:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:07:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:08:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:08:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: split f_start_handler_with_pars() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 ) Change subject: msc: split f_start_handler_with_pars() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Gerrit-Change-Number: 25089 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:08:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:08:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:08:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:08:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:08:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:08:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:08:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:08:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:08:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_ciph In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_ciph ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 Gerrit-Change-Number: 25091 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:08:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:09:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:09:18 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:09:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:09:37 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 02 Aug 2021 15:09:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:10:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:10:19 +0000 Subject: Change in simtrace2[master]: firmware: trace for ngff In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25085 ) Change subject: firmware: trace for ngff ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b Gerrit-Change-Number: 25085 Gerrit-PatchSet: 5 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 02 Aug 2021 15:10:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 2 15:10:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 2 Aug 2021 15:10:21 +0000 Subject: Change in simtrace2[master]: firmware: trace for ngff In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25085 ) Change subject: firmware: trace for ngff ...................................................................... firmware: trace for ngff Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b --- 0 files changed, 0 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25085 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Iee1eedd93d72c02880fd59fb8588abe14d05e77b Gerrit-Change-Number: 25085 Gerrit-PatchSet: 6 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue Aug 3 00:31:50 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:31:50 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <61088e78535ab_268b2aac5dcfe5fc1652c4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 54s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-1.1 simtrace2(x86-32) = 0.7.0.142.d1d50.202108030026-1.1 [ 54s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 54s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmo-simtrace2.so.0 libosmocore.so.17 libosmosim.so.2 libosmousb.so.0 libusb-1.0.so.0 [ 54s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-1.1.i586 [ 54s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0(x86-32) = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2.so.0 [ 54s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 54s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 54s] Requires(post): /sbin/ldconfig [ 54s] Requires(postun): /sbin/ldconfig [ 54s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libosmocore.so.17 libosmosim.so.2 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libusb-1.0.so.0 [ 54s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-1.1.i586 [ 55s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-devel(x86-32) = 0.7.0.142.d1d50.202108030026-1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 55s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 55s] Requires: /usr/bin/pkg-config [ 55s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.i386 [ 55s] error: Installed (but unpackaged) file(s) found: [ 55s] /usr/bin/simtrace2-tool [ 55s] [ 55s] [ 55s] RPM build errors: [ 55s] Installed (but unpackaged) file(s) found: [ 55s] /usr/bin/simtrace2-tool [ 55s] ### VM INTERACTION START ### [ 58s] [ 49.963045] sysrq: Power Off [ 58s] [ 49.971099] reboot: Power down [ 58s] ### VM INTERACTION END ### [ 58s] [ 58s] lamb21 failed "build simtrace2.spec" at Tue Aug 3 00:31:39 UTC 2021. [ 58s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:32:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:32:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <61088e96c4d12_268b2aac5dcfe5fc1653ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 30s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-1.1 simtrace2(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 30s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 30s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-simtrace2.so.0()(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libosmousb.so.0()(64bit) libusb-1.0.so.0()(64bit) [ 30s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 30s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2.so.0()(64bit) [ 30s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 30s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 30s] Requires(post): /sbin/ldconfig [ 30s] Requires(postun): /sbin/ldconfig [ 30s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libusb-1.0.so.0()(64bit) [ 30s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 30s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-devel(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 30s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 30s] Requires: /usr/bin/pkg-config [ 30s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 30s] error: Installed (but unpackaged) file(s) found: [ 30s] /usr/bin/simtrace2-tool [ 30s] [ 30s] [ 30s] RPM build errors: [ 30s] Installed (but unpackaged) file(s) found: [ 30s] /usr/bin/simtrace2-tool [ 30s] ### VM INTERACTION START ### [ 33s] [ 27.313717] sysrq: Power Off [ 33s] [ 27.315412] reboot: Power down [ 33s] ### VM INTERACTION END ### [ 33s] [ 33s] build78 failed "build simtrace2.spec" at Tue Aug 3 00:31:50 UTC 2021. [ 33s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:33:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:33:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <61088ed3e453d_268b2aac5dcfe5fc16554d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 69s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-lp151.1.1 simtrace2(x86-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 [ 69s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 69s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-simtrace2.so.0()(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libusb-1.0.so.0()(64bit) [ 69s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-lp151.1.1.x86_64 [ 69s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-0(x86-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2.so.0()(64bit) [ 69s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 69s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 69s] Requires(post): /sbin/ldconfig [ 69s] Requires(postun): /sbin/ldconfig [ 69s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libusb-1.0.so.0()(64bit) [ 69s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-lp151.1.1.x86_64 [ 69s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-devel(x86-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 69s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 69s] Requires: /usr/bin/pkg-config [ 69s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-lp151.1.1.x86_64 [ 69s] error: Installed (but unpackaged) file(s) found: [ 69s] /usr/bin/simtrace2-tool [ 69s] [ 69s] [ 69s] RPM build errors: [ 69s] Installed (but unpackaged) file(s) found: [ 69s] /usr/bin/simtrace2-tool [ 69s] ### VM INTERACTION START ### [ 73s] [ 61.953217] sysrq: SysRq : Power Off [ 73s] [ 61.970580] reboot: Power down [ 73s] ### VM INTERACTION END ### [ 73s] [ 73s] lamb60 failed "build simtrace2.spec" at Tue Aug 3 00:33:09 UTC 2021. [ 73s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:33:15 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:33:15 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <61088ed42ac8d_268b2aac5dcfe5fc1656fd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 82s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-lp151.1.1 simtrace2(aarch-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 [ 82s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 82s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-simtrace2.so.0()(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libusb-1.0.so.0()(64bit) [ 82s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-lp151.1.1.aarch64 [ 82s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-0(aarch-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2.so.0()(64bit) [ 82s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 82s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 82s] Requires(post): /sbin/ldconfig [ 82s] Requires(postun): /sbin/ldconfig [ 82s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libusb-1.0.so.0()(64bit) [ 82s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-lp151.1.1.aarch64 [ 82s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-devel(aarch-64) = 0.7.0.142.d1d50.202108030026-lp151.1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 82s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 82s] Requires: /usr/bin/pkg-config [ 82s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-lp151.1.1.aarch64 [ 82s] error: Installed (but unpackaged) file(s) found: [ 82s] /usr/bin/simtrace2-tool [ 82s] [ 82s] [ 82s] RPM build errors: [ 82s] Installed (but unpackaged) file(s) found: [ 82s] /usr/bin/simtrace2-tool [ 82s] ### VM INTERACTION START ### [ 85s] [ 71.546057] sysrq: SysRq : Power Off [ 85s] [ 71.547817] reboot: Power down [ 85s] ### VM INTERACTION END ### [ 85s] [ 85s] obs-arm-8 failed "build simtrace2.spec" at Tue Aug 3 00:33:14 UTC 2021. [ 85s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:32:58 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:32:58 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <61088ed3a717e_268b2aac5dcfe5fc16543b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/CentOS_8/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 103s] Requires: /usr/bin/pkg-config libosmo-simtrace2.so.0()(64bit) [ 103s] Processing files: simtrace2-debugsource-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 103s] Provides: simtrace2-debugsource = 0.7.0.142.d1d50.202108030026-1.1 simtrace2-debugsource(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 103s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 103s] Processing files: simtrace2-debuginfo-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 103s] Provides: debuginfo(build-id) = 1ed0640e1ccf4220ed8649dfa735046c11f2eba1 debuginfo(build-id) = 3144a6413105288a35301344bf7adafb00c27362 debuginfo(build-id) = 5144d849d7d7a0497f058c3c9c13933d67ae4e4a simtrace2-debuginfo = 0.7.0.142.d1d50.202108030026-1.1 simtrace2-debuginfo(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 103s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 103s] Recommends: simtrace2-debugsource(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 103s] Processing files: libosmo-simtrace2-0-debuginfo-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 103s] Provides: debuginfo(build-id) = ddb1046335ad380ef67f399e42d16b87e960aae8 libosmo-simtrace2-0-debuginfo = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0-debuginfo(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 103s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 103s] Recommends: simtrace2-debugsource(x86-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 103s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.x86_64 [ 103s] error: Installed (but unpackaged) file(s) found: [ 103s] /usr/bin/simtrace2-tool [ 103s] /usr/lib/debug/usr/bin/simtrace2-tool-0.7.0.142.d1d50.202108030026-1.1.x86_64.debug [ 103s] [ 103s] [ 103s] RPM build errors: [ 103s] Installed (but unpackaged) file(s) found: [ 103s] /usr/bin/simtrace2-tool [ 103s] /usr/lib/debug/usr/bin/simtrace2-tool-0.7.0.142.d1d50.202108030026-1.1.x86_64.debug [ 103s] ### VM INTERACTION START ### [ 104s] Powering off. [ 104s] [ 82.668575] reboot: Power down [ 104s] ### VM INTERACTION END ### [ 104s] [ 104s] cloud117 failed "build simtrace2.spec" at Tue Aug 3 00:32:43 UTC 2021. [ 104s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:33:32 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:33:32 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <61088ef2acda1_268b2aac5dcfe5fc1657f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 53s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-1.1 simtrace2(armv7hl-32) = 0.7.0.142.d1d50.202108030026-1.1 [ 53s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 53s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-simtrace2.so.0 libosmocore.so.17 libosmosim.so.2 libosmousb.so.0 libusb-1.0.so.0 [ 53s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-1.1.armv7hl [ 53s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0(armv7hl-32) = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2.so.0 [ 53s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 53s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 53s] Requires(post): /sbin/ldconfig [ 53s] Requires(postun): /sbin/ldconfig [ 53s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmocore.so.17 libosmosim.so.2 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libusb-1.0.so.0 [ 53s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-1.1.armv7hl [ 53s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-devel(armv7hl-32) = 0.7.0.142.d1d50.202108030026-1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 53s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 53s] Requires: /usr/bin/pkg-config [ 53s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.arm [ 53s] error: Installed (but unpackaged) file(s) found: [ 53s] /usr/bin/simtrace2-tool [ 53s] [ 53s] [ 53s] RPM build errors: [ 53s] Installed (but unpackaged) file(s) found: [ 53s] /usr/bin/simtrace2-tool [ 53s] ### VM INTERACTION START ### [ 56s] [ 33.911719] sysrq: Power Off [ 56s] [ 33.912727] reboot: Power down [ 57s] ### VM INTERACTION END ### [ 57s] [ 57s] obs-arm-11 failed "build simtrace2.spec" at Tue Aug 3 00:33:30 UTC 2021. [ 57s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:33:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:33:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <61088ef2e75dc_268b2aac5dcfe5fc16581c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 57s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-lp152.1.1 simtrace2(x86-64) = 0.7.0.142.d1d50.202108030026-lp152.1.1 [ 57s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 57s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmo-simtrace2.so.0()(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libosmousb.so.0()(64bit) libpthread.so.0()(64bit) libusb-1.0.so.0()(64bit) [ 57s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-lp152.1.1.x86_64 [ 57s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-lp152.1.1 libosmo-simtrace2-0(x86-64) = 0.7.0.142.d1d50.202108030026-lp152.1.1 libosmo-simtrace2.so.0()(64bit) [ 57s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 57s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 57s] Requires(post): /sbin/ldconfig [ 57s] Requires(postun): /sbin/ldconfig [ 57s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libusb-1.0.so.0()(64bit) [ 57s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-lp152.1.1.x86_64 [ 57s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-lp152.1.1 libosmo-simtrace2-devel(x86-64) = 0.7.0.142.d1d50.202108030026-lp152.1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 57s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 57s] Requires: /usr/bin/pkg-config [ 57s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-lp152.1.1.x86_64 [ 57s] error: Installed (but unpackaged) file(s) found: [ 57s] /usr/bin/simtrace2-tool [ 57s] [ 57s] [ 57s] RPM build errors: [ 57s] Installed (but unpackaged) file(s) found: [ 57s] /usr/bin/simtrace2-tool [ 57s] ### VM INTERACTION START ### [ 61s] [ 52.491291] sysrq: Power Off [ 61s] [ 52.498724] reboot: Power down [ 61s] ### VM INTERACTION END ### [ 61s] [ 61s] lamb53 failed "build simtrace2.spec" at Tue Aug 3 00:33:41 UTC 2021. [ 61s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:34:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:34:06 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <61088f0c494c1_268b2aac5dcfe5fc1659c6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 83s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-1.1 simtrace2(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 83s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 83s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmo-simtrace2.so.0()(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libosmousb.so.0()(64bit) libusb-1.0.so.0()(64bit) [ 83s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 83s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2.so.0()(64bit) [ 83s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 83s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 83s] Requires(post): /sbin/ldconfig [ 83s] Requires(postun): /sbin/ldconfig [ 83s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libosmosim.so.2()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libusb-1.0.so.0()(64bit) [ 83s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 83s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-devel(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 83s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 83s] Requires: /usr/bin/pkg-config [ 83s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 83s] error: Installed (but unpackaged) file(s) found: [ 83s] /usr/bin/simtrace2-tool [ 83s] [ 83s] [ 83s] RPM build errors: [ 83s] Installed (but unpackaged) file(s) found: [ 83s] /usr/bin/simtrace2-tool [ 83s] ### VM INTERACTION START ### [ 86s] [ 69.383345] sysrq: Power Off [ 86s] [ 69.384802] reboot: Power down [ 86s] ### VM INTERACTION END ### [ 86s] [ 86s] obs-arm-9 failed "build simtrace2.spec" at Tue Aug 3 00:34:05 UTC 2021. [ 86s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:35:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:35:14 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in CentOS_8/aarch64 In-Reply-To: References: Message-ID: <61088f4977f32_268b2aac5dcfe5fc1660d7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/CentOS_8/aarch64 Package network:osmocom:nightly/simtrace2 failed to build in CentOS_8/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 152s] Requires: /usr/bin/pkg-config libosmo-simtrace2.so.0()(64bit) [ 152s] Processing files: simtrace2-debugsource-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 152s] Provides: simtrace2-debugsource = 0.7.0.142.d1d50.202108030026-1.1 simtrace2-debugsource(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 152s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 152s] Processing files: simtrace2-debuginfo-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 152s] Provides: debuginfo(build-id) = 576ab01cc51b99e2acc61a4a567ff7259057a487 debuginfo(build-id) = b17b2f9a13d88cd96f5bb5c5a39efbd2399f66f4 debuginfo(build-id) = c51477d87e6b40815dc51b0cd29b5fe61f2e45fc simtrace2-debuginfo = 0.7.0.142.d1d50.202108030026-1.1 simtrace2-debuginfo(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 152s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 152s] Recommends: simtrace2-debugsource(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 152s] Processing files: libosmo-simtrace2-0-debuginfo-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 152s] Provides: debuginfo(build-id) = 9be7d383580f82cb3d1432268d5591488e26eca5 libosmo-simtrace2-0-debuginfo = 0.7.0.142.d1d50.202108030026-1.1 libosmo-simtrace2-0-debuginfo(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 152s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 152s] Recommends: simtrace2-debugsource(aarch-64) = 0.7.0.142.d1d50.202108030026-1.1 [ 152s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-1.1.aarch64 [ 152s] error: Installed (but unpackaged) file(s) found: [ 152s] /usr/bin/simtrace2-tool [ 152s] /usr/lib/debug/usr/bin/simtrace2-tool-0.7.0.142.d1d50.202108030026-1.1.aarch64.debug [ 152s] [ 152s] [ 152s] RPM build errors: [ 152s] Installed (but unpackaged) file(s) found: [ 152s] /usr/bin/simtrace2-tool [ 152s] /usr/lib/debug/usr/bin/simtrace2-tool-0.7.0.142.d1d50.202108030026-1.1.aarch64.debug [ 152s] ### VM INTERACTION START ### [ 153s] Powering off. [ 153s] [ 130.986771] reboot: Power down [ 153s] ### VM INTERACTION END ### [ 153s] [ 153s] obs-arm-9 failed "build simtrace2.spec" at Tue Aug 3 00:35:02 UTC 2021. [ 153s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Tue Aug 3 00:38:04 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 03 Aug 2021 00:38:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <6108900063788_268b2aac5dcfe5fc16639b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 159s] Provides: simtrace2 = 0.7.0.142.d1d50.202108030026-lp151.1.1 simtrace2(armv7hl-32) = 0.7.0.142.d1d50.202108030026-lp151.1.1 [ 159s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 159s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmo-simtrace2.so.0 libosmocore.so.17 libosmosim.so.2 libosmousb.so.0 libpthread.so.0 libusb-1.0.so.0 [ 159s] Processing files: libosmo-simtrace2-0-0.7.0.142.d1d50.202108030026-lp151.1.1.armv7hl [ 159s] Provides: libosmo-simtrace2-0 = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-0(armv7hl-32) = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2.so.0 [ 159s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 159s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 159s] Requires(post): /sbin/ldconfig [ 159s] Requires(postun): /sbin/ldconfig [ 159s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmocore.so.17 libosmosim.so.2 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libusb-1.0.so.0 [ 159s] Processing files: libosmo-simtrace2-devel-0.7.0.142.d1d50.202108030026-lp151.1.1.armv7hl [ 160s] Provides: libosmo-simtrace2-devel = 0.7.0.142.d1d50.202108030026-lp151.1.1 libosmo-simtrace2-devel(armv7hl-32) = 0.7.0.142.d1d50.202108030026-lp151.1.1 pkgconfig(libosmo-simtrace2) = 0.7.0.142-d1d50 [ 160s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 160s] Requires: /usr/bin/pkg-config [ 160s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/simtrace2-0.7.0.142.d1d50.202108030026-lp151.1.1.arm [ 160s] error: Installed (but unpackaged) file(s) found: [ 160s] /usr/bin/simtrace2-tool [ 160s] [ 160s] [ 160s] RPM build errors: [ 160s] Installed (but unpackaged) file(s) found: [ 160s] /usr/bin/simtrace2-tool [ 160s] ### VM INTERACTION START ### [ 163s] [ 134.030442] sysrq: SysRq : Power Off [ 163s] [ 134.037318] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] obs-arm-6 failed "build simtrace2.spec" at Tue Aug 3 00:37:49 UTC 2021. [ 164s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:02:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:02:46 +0000 Subject: Change in simtrace2[master]: simtrace2.spec: Add simtrace2-tool binary to package References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25116 ) Change subject: simtrace2.spec: Add simtrace2-tool binary to package ...................................................................... simtrace2.spec: Add simtrace2-tool binary to package This fixes RPM build issues reported as [ 59s] error: Installed (but unpackaged) file(s) found: [ 59s] /usr/bin/simtrace2-tool Change-Id: I1fd5980a686652afb47cd1c30e12919de626aec7 --- M host/contrib/simtrace2.spec.in 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/16/25116/1 diff --git a/host/contrib/simtrace2.spec.in b/host/contrib/simtrace2.spec.in index 058b789..ca62ad5 100644 --- a/host/contrib/simtrace2.spec.in +++ b/host/contrib/simtrace2.spec.in @@ -84,6 +84,7 @@ %{_bindir}/simtrace2-cardem-pcsc %{_bindir}/simtrace2-list %{_bindir}/simtrace2-sniff +%{_bindir}/simtrace2-tool %{_udevrulesdir}/99-simtrace2.rules %files -n libosmo-simtrace2-0 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1fd5980a686652afb47cd1c30e12919de626aec7 Gerrit-Change-Number: 25116 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:03:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:03:46 +0000 Subject: Change in simtrace2[master]: simtrace2.spec: Add simtrace2-tool binary to package In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25116 ) Change subject: simtrace2.spec: Add simtrace2-tool binary to package ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1fd5980a686652afb47cd1c30e12919de626aec7 Gerrit-Change-Number: 25116 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 03 Aug 2021 07:03:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:08:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:08:52 +0000 Subject: Change in simtrace2[master]: simtrace2.spec: Add simtrace2-tool binary to package In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25116 ) Change subject: simtrace2.spec: Add simtrace2-tool binary to package ...................................................................... simtrace2.spec: Add simtrace2-tool binary to package This fixes RPM build issues reported as [ 59s] error: Installed (but unpackaged) file(s) found: [ 59s] /usr/bin/simtrace2-tool Change-Id: I1fd5980a686652afb47cd1c30e12919de626aec7 --- M host/contrib/simtrace2.spec.in 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/host/contrib/simtrace2.spec.in b/host/contrib/simtrace2.spec.in index 058b789..ca62ad5 100644 --- a/host/contrib/simtrace2.spec.in +++ b/host/contrib/simtrace2.spec.in @@ -84,6 +84,7 @@ %{_bindir}/simtrace2-cardem-pcsc %{_bindir}/simtrace2-list %{_bindir}/simtrace2-sniff +%{_bindir}/simtrace2-tool %{_udevrulesdir}/99-simtrace2.rules %files -n libosmo-simtrace2-0 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25116 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I1fd5980a686652afb47cd1c30e12919de626aec7 Gerrit-Change-Number: 25116 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:09:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:09:18 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 03 Aug 2021 07:09:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:09:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:09:23 +0000 Subject: Change in pysim[master]: Allow update_binary function to write more than 255 bytes In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/25114 ) Change subject: Allow update_binary function to write more than 255 bytes ...................................................................... Allow update_binary function to write more than 255 bytes The T0 protocol (selected in transport/pcsc.py) does not support extended APDU, so 255 bytes is the maximum number of bytes that can be transmitted at a time. We can divide large data into 255 byte chunks. The read_binary function already has code to read more than 255 bytes, so we can just adapt it to the update_binary function. Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 --- M pySim/commands.py 1 file changed, 15 insertions(+), 3 deletions(-) Approvals: Hoernchen: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 76b7cd5..9657162 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -170,11 +170,23 @@ return None, sw self.select_path(ef) - pdu = self.cla_byte + 'd6%04x%02x' % (offset, data_length) + data - res = self._tp.send_apdu_checksw(pdu) + total_data = '' + total_sw = "9000" + chunk_offset = offset + while chunk_offset < data_length: + chunk_len = min(255, data_length - chunk_offset) + # chunk_offset is bytes, but data slicing is hex chars, so we need to multiply by 2 + pdu = self.cla_byte + 'd6%04x%02x' % (chunk_offset, chunk_len) + data[chunk_offset*2 : (chunk_offset+chunk_len)*2] + chunk_data, chunk_sw = self._tp.send_apdu(pdu) + if chunk_sw == total_sw: + total_data += chunk_data + chunk_offset += chunk_len + else: + total_sw = chunk_sw + raise ValueError('Failed to write chunk (chunk_offset %d, chunk_len %d)' % (chunk_offset, chunk_len)) if verify: self.verify_binary(ef, data, offset) - return res + return total_data, total_sw def verify_binary(self, ef, data:str, offset:int=0): """Verify contents of transparent EF. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25114 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icc240d5c8c04198640eb118565ea99f10ba27466 Gerrit-Change-Number: 25114 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:10:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 3 Aug 2021 07:10:44 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... Patch Set 1: > Patch Set 1: > > doesn't it make sense to resolve the conflicting port number rater than working around it? Yes, that would be better but I wasn't sure if this leads to problems with users expecting the current ports, see: https://osmocom.org/issues/5203 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 03 Aug 2021 07:10:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 07:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 3 Aug 2021 07:11:51 +0000 Subject: Change in simtrace2[master]: WIP: introduce support for new ngff_cardem board In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/simtrace2/+/24879 ) Change subject: WIP: introduce support for new ngff_cardem board ...................................................................... Abandoned for some reason Horenchen pushed an updated version of this patch with a new Change-Id at https://gerrit.osmocom.org/c/simtrace2/+/25082 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/24879 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I9649c853271c22d5403cdf3a7ec9029c9cecfa32 Gerrit-Change-Number: 24879 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 09:36:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 09:36:40 +0000 Subject: Change in osmo-msc[master]: running.adoc: add section about MGCP configuration References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25117 ) Change subject: running.adoc: add section about MGCP configuration ...................................................................... running.adoc: add section about MGCP configuration The manual seems to lack a section about how the MGW is set up. In the osmo-bsc manual we have a "Configure MGCP to connect to an MGW" section under the "Configure primary links" section. We should have the same thing in the osmo-msc manual as well. Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Depends: osmo-mgw I47e7ff858d5067b46d52329be5f362ff61c0dff8 --- M doc/manuals/chapters/running.adoc 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/17/25117/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 688fbbe..565c8d0 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -149,3 +149,21 @@ ! default port is 4222, optionally configurable by: remote-port 1234 ---- + +==== Configure MGCP to connect to an MGW + +OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By +default, an MGW is expected to receive MGCP requests on the IANA-registered +default port for MGCP (2427) on local host (127.0.0.1). + +Here is an example configuration for a remote MGW: + +---- +msc + mgw remote-ip 10.9.8.7 + mgw remote-port 2427 + mgw reset-endpoint rtpbridge/* <1> +---- +<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded +DLCX to the media gateway. This helps to clear lingering calls from the +media gateway when the OsmoMSC is restarted. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Gerrit-Change-Number: 25117 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 09:45:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 09:45:32 +0000 Subject: Change in osmo-bsc[master]: running.adoc: explain mgw reset-endpoint VTY setting References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25118 ) Change subject: running.adoc: explain mgw reset-endpoint VTY setting ...................................................................... running.adoc: explain mgw reset-endpoint VTY setting When OsmoBSC is restarted, it does not automatically clear the calls on the MGW. However, this is an important part of the configuration to avoid trouble with resource leakage on the MGW, so lets make (especially novice) users aware of that option. Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Depends: osmo-mgw I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M doc/manuals/chapters/running.adoc 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/25118/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index ae177a9..3e48c4a 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -139,7 +139,12 @@ msc 0 mgw remote-ip 10.9.8.7 mgw remote-port 2427 + mgw reset-endpoint rtpbridge/* <1> ---- +<1> The 'reset-endpoint' setting instructs the OsmoBSC to send a wildcarded +DLCX to the media gateway. This helps to clear lingering calls from the +media gateway when the OsmoBSC is restarted. + ==== Configure Lb to connect to an SMLC -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Gerrit-Change-Number: 25118 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 11:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 11:28:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Aug 2021 11:28:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 12:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 12:53:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#9). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 141 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 13:01:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 3 Aug 2021 13:01:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 03 Aug 2021 13:01:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 13:07:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 13:07:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 to look at the new patch set (#2). Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... mgcp_client: do not print (null) when address is ANY When the address is set to ANY, the address string is NULL. The log then prints "(null)" where the address normaly would be. This looks odd, lets print "(any)" instead. Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/15/25115/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 13:07:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 13:07:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix typo Initalize -> Initialize References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25119 ) Change subject: mgcp_client: fix typo Initalize -> Initialize ...................................................................... mgcp_client: fix typo Initalize -> Initialize Change-Id: If57f8c0e54dbb5d37f40e36d968a6e6b75eec066 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/19/25119/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 786019a..69d687b 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -189,7 +189,7 @@ return pt; } -/*! Initalize MGCP client configuration struct with default values. +/*! Initialize MGCP client configuration struct with default values. * \param[out] conf Client configuration.*/ void mgcp_client_conf_init(struct mgcp_client_conf *conf) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If57f8c0e54dbb5d37f40e36d968a6e6b75eec066 Gerrit-Change-Number: 25119 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:43:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:43:30 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW poolig References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW poolig ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW poolig At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 598 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/1 diff --git a/include/Makefile.am b/include/Makefile.am index 457ac3f..eb262a6 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -6,6 +6,7 @@ osmocom/mgcp_client/mgcp_client.h \ osmocom/mgcp_client/mgcp_client_endpoint_fsm.h \ osmocom/mgcp_client/mgcp_client_fsm.h \ + osmocom/mgcp_client/mgcp_client_pool.h \ osmocom/mgcp/mgcp.h \ osmocom/mgcp/mgcp_common.h \ osmocom/mgcp/osmux.h \ diff --git a/include/osmocom/mgcp_client/Makefile.am b/include/osmocom/mgcp_client/Makefile.am index d303ddf..90b1bd7 100644 --- a/include/osmocom/mgcp_client/Makefile.am +++ b/include/osmocom/mgcp_client/Makefile.am @@ -4,6 +4,7 @@ noinst_HEADERS = \ mgcp_client_internal.h \ + mgcp_client_pool_internal.h \ $(NULL) mgcp_common.h: $(top_srcdir)/include/osmocom/mgcp/mgcp_common.h diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 5d79b48..d84adf4 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -142,6 +142,8 @@ struct mgcp_client *mgcp_client_init(void *ctx, struct mgcp_client_conf *conf); int mgcp_client_connect(struct mgcp_client *mgcp); +int mgcp_client_connect2(struct mgcp_client *mgcp, unsigned int retry_n_ports); +void mgcp_client_disconnect(struct mgcp_client *mgcp); const char *mgcp_client_remote_addr_str(struct mgcp_client *mgcp); uint16_t mgcp_client_remote_port(struct mgcp_client *mgcp); diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 78e3a41..f21f40e 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -47,6 +47,7 @@ const char *osmo_mgcpc_ep_name(const struct osmo_mgcpc_ep *ep); const char *osmo_mgcpc_ep_ci_name(const struct osmo_mgcpc_ep_ci *ci); const char *osmo_mgcpc_ep_ci_id(const struct osmo_mgcpc_ep_ci *ci); +struct mgcp_client *osmo_mgcpc_ep_client(const struct osmo_mgcpc_ep *ep); extern const struct value_string osmo_mgcp_verb_names[]; static inline const char *osmo_mgcp_verb_name(enum mgcp_verb val) diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index e315753..ade4f49 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -69,5 +69,6 @@ void mgcp_conn_delete(struct osmo_fsm_inst *fi); const char *mgcp_conn_get_ci(struct osmo_fsm_inst *fi); +struct mgcp_client *mgcp_conn_get_client(struct osmo_fsm_inst *fi); const char *osmo_mgcpc_conn_peer_name(const struct mgcp_conn_peer *info); diff --git a/include/osmocom/mgcp_client/mgcp_client_internal.h b/include/osmocom/mgcp_client/mgcp_client_internal.h index b4b3b02..42960d0 100644 --- a/include/osmocom/mgcp_client/mgcp_client_internal.h +++ b/include/osmocom/mgcp_client/mgcp_client_internal.h @@ -10,6 +10,7 @@ mgcp_trans_id_t next_trans_id; struct llist_head responses_pending; struct llist_head inuse_endpoints; + struct mgcp_client_pool *pool; }; struct mgcp_inuse_endpoint { diff --git a/include/osmocom/mgcp_client/mgcp_client_pool.h b/include/osmocom/mgcp_client/mgcp_client_pool.h new file mode 100644 index 0000000..18cbe42 --- /dev/null +++ b/include/osmocom/mgcp_client/mgcp_client_pool.h @@ -0,0 +1,11 @@ +#pragma once + +struct mgcp_client; +struct mgcp_client_pool; + +struct mgcp_client_pool *mgcp_client_alloc_pool(void *talloc_ctx); +void mgcp_client_vty_init_pool(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool); +unsigned int mgcp_client_connect_pool(struct mgcp_client_pool *pool); +void mgcp_client_pool_register_legacy(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client); +struct mgcp_client *mgcp_client_pool_get(struct mgcp_client_pool *pool); +void mgcp_client_pool_put(struct mgcp_client *mgcp_client); diff --git a/include/osmocom/mgcp_client/mgcp_client_pool_internal.h b/include/osmocom/mgcp_client/mgcp_client_pool_internal.h new file mode 100644 index 0000000..bb696f4 --- /dev/null +++ b/include/osmocom/mgcp_client/mgcp_client_pool_internal.h @@ -0,0 +1,35 @@ +#pragma once + +/* Struct to handle a member of a pool of MGWs. */ +struct mgcp_client_pool_member { + struct llist_head list; + + /* Reference number assinged by VTY. This number is used to manage the + * pool from the VTY and to identify it in the log. */ + unsigned int nr; + + /* MGCP client configuration, this is not the running configuration, + * when mgcp_client_init() is executed, a copy of this config is + * created. */ + struct mgcp_client_conf conf; + + /* MGCP client descriptor, will be automatically allocated when + * mgcp_client_connect_pool() is called. (the MGCP client is connected + * when this pointer is populated) */ + struct mgcp_client *client; + + /* A pool member may be set as 'blocked' from the VTY, this means thet + * the pool member may still work and serve ongoing calls, but it won't + * be picked from the pool anymore. */ + bool blocked; + + /* Reference counter to count how often this pool member is currently + * picked. */ + unsigned int refcount; +}; + +/* Struct to handle a pool of MGWs. (Use _pool functions) */ +struct mgcp_client_pool { + struct mgcp_client *mgcp_client_legacy; + struct llist_head pool; +}; diff --git a/src/libosmo-mgcp-client/Makefile.am b/src/libosmo-mgcp-client/Makefile.am index 4f17e53..c472ec1 100644 --- a/src/libosmo-mgcp-client/Makefile.am +++ b/src/libosmo-mgcp-client/Makefile.am @@ -32,6 +32,7 @@ mgcp_client_vty.c \ mgcp_client_fsm.c \ mgcp_client_endpoint_fsm.c \ + mgcp_client_pool.c \ $(NULL) libosmo_mgcp_client_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(MGCP_CLIENT_LIBVERSION) diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 66dac21..72ee1bb 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -796,40 +796,46 @@ return mgcp; } -static int init_socket(struct mgcp_client *mgcp) +static int init_socket(struct mgcp_client *mgcp, unsigned int retry_n_ports) { int rc; struct osmo_wqueue *wq; - int i; + unsigned int i; wq = &mgcp->wq; - for (i = 0; i < 100; i++) { + for (i = 0; i < retry_n_ports + 1; i++) { - /* Initalize socket with the currently configured port - * number */ + /* Initialize socket with the currently configured port number */ rc = osmo_sock_init2_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.remote_addr, mgcp->actual.remote_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); if (rc > 0) return rc; - /* If there is a different port than the default port - * configured then we assume that the user has choosen - * that port conciously and we will not try to resolve - * this by silently choosing a different port. */ + /* If there is a different port than the default port configured then we assume that the user has + * choosen that port conciously and we will not try to resolve this by silently choosing a different + * port. */ if (mgcp->actual.local_port != MGCP_CLIENT_LOCAL_PORT_DEFAULT && i == 0) return -EINVAL; + /* Last try failed */ + if (i == retry_n_ports) { + LOGP(DLMGCP, LOGL_NOTICE, "MGCPGW failed to bind to %s:%u -- check configuration!\n", + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port); + if (retry_n_ports == 0) + return -EINVAL; + } + /* Choose a new port number to try next */ LOGP(DLMGCP, LOGL_NOTICE, - "MGCPGW failed to bind to %s:%u, retrying with port %u\n", + "MGCPGW failed to bind to %s:%u, retrying with port %u -- check configuration!\n", mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, mgcp->actual.local_port + 1); mgcp->actual.local_port++; } - LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %i times.\n", i); + LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %i times -- check configuration!\n", i); return -EINVAL; } @@ -869,8 +875,9 @@ /*! Initialize client connection (opens socket) * \param[in,out] mgcp MGCP client descriptor. + * \param[in] retry_n_ports number of consecutive local ports that should be used to retry on failure. * \returns 0 on success, -EINVAL on error. */ -int mgcp_client_connect(struct mgcp_client *mgcp) +int mgcp_client_connect2(struct mgcp_client *mgcp, unsigned int retry_n_ports) { struct osmo_wqueue *wq; int rc; @@ -889,7 +896,7 @@ osmo_fd_setup(&wq->bfd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, mgcp, 0); - rc = init_socket(mgcp); + rc = init_socket(mgcp, retry_n_ports); if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", @@ -915,6 +922,35 @@ return rc; } +/*! Initialize client connection (opens socket) + * \param[in,out] mgcp MGCP client descriptor. + * \returns 0 on success, -EINVAL on error. */ +int mgcp_client_connect(struct mgcp_client *mgcp) +{ + return mgcp_client_connect2(mgcp, 99); +} + +/*! Terminate client connection + * \param[in,out] mgcp MGCP client descriptor. + * \returns 0 on success, -EINVAL on error. */ +void mgcp_client_disconnect(struct mgcp_client *mgcp) +{ + struct osmo_wqueue *wq; + + if (!mgcp) { + LOGP(DLMGCP, LOGL_FATAL, "MGCPGW client not initialized properly\n"); + return; + } + + wq = &mgcp->wq; + osmo_wqueue_clear(wq); + LOGP(DLMGCP, LOGL_INFO, "MGCP GW connection: %s -- closed!\n", osmo_sock_get_name2(wq->bfd.fd)); + close(wq->bfd.fd); + wq->bfd.fd = -1; + if (osmo_fd_is_registered(&wq->bfd)) + osmo_fd_unregister(&wq->bfd); +} + /*! Get the IP-Aaddress of the associated MGW as string. * \param[in] mgcp MGCP client descriptor. * \returns a pointer to the address string. */ diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 0613e17..ea4c378 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -216,6 +216,13 @@ return ci->mgcp_ci_str; } +struct mgcp_client *osmo_mgcpc_ep_client(const struct osmo_mgcpc_ep *ep) +{ + if (!ep) + return NULL; + return ep->mgcp_client; +} + static struct value_string osmo_mgcpc_ep_fsm_event_names[33] = {}; static char osmo_mgcpc_ep_fsm_event_name_bufs[32][32] = {}; diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 3f33dc7..1a2b6d8 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -252,6 +252,18 @@ return mgcp_ctx->conn_id; } +/* Get the mgcp_client that is used with this mgcp_client_fsm instance */ +struct mgcp_client *mgcp_conn_get_client(struct osmo_fsm_inst *fi) +{ + struct mgcp_ctx *mgcp_ctx; + + if (!fi) + return NULL; + + mgcp_ctx = fi->priv; + return mgcp_ctx->mgcp; +} + static void mgw_crcx_resp_cb(struct mgcp_response *r, void *priv) { struct osmo_fsm_inst *fi = priv; diff --git a/src/libosmo-mgcp-client/mgcp_client_pool.c b/src/libosmo-mgcp-client/mgcp_client_pool.c new file mode 100644 index 0000000..10485fb --- /dev/null +++ b/src/libosmo-mgcp-client/mgcp_client_pool.c @@ -0,0 +1,181 @@ +/* (C) 2021 by sysmocom s.f.m.c. GmbH + * All Rights Reserved + * + * Author: Philipp Maier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include + +/*! Allocate MGCP client pool. This is called once on startup and before the pool is used with + * mgcp_client_vty_init_pool(). Since the pool is linked with the VTY it must exist througout the entire runtime. + * \param[in] talloc_ctx talloc context. */ +struct mgcp_client_pool *mgcp_client_alloc_pool(void *talloc_ctx) +{ + struct mgcp_client_pool *pool; + + pool = talloc_zero(talloc_ctx, struct mgcp_client_pool); + if (!pool) + return NULL; + + INIT_LLIST_HEAD(&pool->pool); + + return pool; +} + +/*! Initalize and connect an mcgp clien pool. + * \param[in,out] mgcp MGCP client pool descriptor. + * \returns number of successfully initalized pool members. */ +unsigned int mgcp_client_connect_pool(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + unsigned int pool_members_initalized = 0; + + llist_for_each_entry(pool_member, &pool->pool, list) { + + /* Initalize client */ + pool_member->client = mgcp_client_init(pool_member, &pool_member->conf); + if (!pool_member->client) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u initalization failed\n", pool_member->nr); + continue; + } + + /* Set backpointer so that we can detect later that this MGCP client is managed + * by this pool. */ + pool_member->client->pool = pool; + + /* Connect client */ + if (mgcp_client_connect2(pool_member->client, 0)) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u connect failed at (%s:%u)\n", + pool_member->nr, pool_member->conf.remote_addr, pool_member->conf.remote_port); + talloc_free(pool_member->client); + pool_member->client = NULL; + continue; + } + + pool_members_initalized++; + } + + return pool_members_initalized; +} + +/*! register a legacy mgcp_client instance to the pool. + * \param[out] pool MGCP client pool descriptor. + * \param[in] mgcp MGCP client descriptor. */ +void mgcp_client_pool_register_legacy(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client) +{ + /*! Some applications still support the non-pooled MGW VTY configuration variant provided by + * mgcp_client_vty_init(). If this is the case the mgcp_client instance created by mgcp_client_init() + * can be registered here so that it will appear as if it were part of the pool. When the user actively + * configures MGW pool members, the MGCP client registered here will be ignored. */ + pool->mgcp_client_legacy = mgcp_client; +} + +/* Not every pool member may have a functional MGCP client, we will run through the pool once until we meet a + * pool member that is suitable (has a client, is not blocked, has a low load). */ +static struct mgcp_client_pool_member *mgcp_client_pool_pick(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + struct mgcp_client_pool_member *pool_member_picked = NULL; + unsigned int n_pool_members = llist_count(&pool->pool); + + llist_for_each_entry(pool_member, &pool->pool, list) { + if (pool_member->blocked == false && pool_member->client) { + if (!pool_member_picked) { + pool_member_picked = pool_member; + } else if (pool_member_picked->refcount > pool_member->refcount) + pool_member_picked = pool_member; + } else { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool has %u members -- MGW %u is unusable\n", n_pool_members, + pool_member->nr); + } + } + + if (pool_member_picked) { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool has %u members -- using MGW %u (active calls: %u)\n", + n_pool_members, pool_member_picked->nr, pool_member_picked->refcount); + return pool_member_picked; + } + + LOGP(DLMGCP, LOGL_ERROR, + "MGW pool has %u members, but no functional MGW pool member found -- check configuration!\n", + n_pool_members); + + return NULL; +} + +/*! get an MGCP client from the pool. + * \param[in,out] pool MGCP client pool descriptor. + * \returns MGCP client descriptor, NULL if no member was found (empty pool). */ +struct mgcp_client *mgcp_client_pool_get(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + + /* When the pool is empty, return a legacy MGCP client if it is registered. */ + if (llist_empty(&pool->pool) && pool->mgcp_client_legacy) { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool is empty -- using (legacy) MGW\n"); + return pool->mgcp_client_legacy; + } + + /* Abort when the pool is empty */ + if (llist_empty(&pool->pool)) { + LOGP(DLMGCP, LOGL_ERROR, "MGW pool is empty -- no MGW available!\n"); + return NULL; + } + + /* Pick a suitable pool member */ + pool_member = mgcp_client_pool_pick(pool); + if (pool_member) { + pool_member->refcount++; + return pool_member->client; + } + + return NULL; +} + +/*! put an MGCP client back into the pool (decrement reference counter). + * \param[in,out] pool MGCP client pool descriptor. + * \param[in] mgcp MGCP client descriptor. */ +void mgcp_client_pool_put(struct mgcp_client *mgcp_client) +{ + /*! This function is able to detect atomatically to which pool the mgcp_client belongs. If the mgcp_client does + * not belong to a pool at all, the function call will have no effect. */ + + struct mgcp_client_pool_member *pool_member; + struct mgcp_client_pool *pool; + + if (!mgcp_client) + return; + + if (mgcp_client->pool) + pool = mgcp_client->pool; + else + return; + + llist_for_each_entry(pool_member, &pool->pool, list) { + if (pool_member->client == mgcp_client) { + if (pool_member->refcount == 0) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u has invalid refcount\n", pool_member->nr); + return; + } + pool_member->refcount--; + } + } +} diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 6ef336b..fc4cf68 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -29,11 +29,25 @@ #include #include +#include +#include #define MGW_STR MGCP_CLIENT_MGW_STR -void *global_mgcp_client_ctx = NULL; -struct mgcp_client_conf *global_mgcp_client_conf = NULL; +static void *global_mgcp_client_ctx = NULL; +static struct mgcp_client_conf *global_mgcp_client_conf = NULL; + +static struct cmd_node global_mgcp_mgw_node_pool; +static const char *global_mgcp_client_indent_pool = NULL; +static struct mgcp_client_pool *global_mgcp_client_pool = NULL; + +#define GET_MGCP_CLIENT_CONFIG_PTR() \ +do { \ + if (vty->node == global_mgcp_mgw_node_pool.node) \ + conf = vty->index; \ + else \ + conf = global_mgcp_client_conf; \ +} while (0) \ DEFUN(cfg_mgw_local_ip, cfg_mgw_local_ip_cmd, "mgw local-ip " VTY_IPV46_CMD, @@ -41,8 +55,12 @@ "local bind IPv4 address\n" "local bind IPv6 address\n") { + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); + osmo_talloc_replace_string(global_mgcp_client_ctx, - (char**)&global_mgcp_client_conf->local_addr, + (char**)&conf->local_addr, argv[0]); return CMD_SUCCESS; } @@ -56,7 +74,11 @@ MGW_STR "local port to connect to MGW from\n" "local bind port\n") { - global_mgcp_client_conf->local_port = atoi(argv[0]); + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); + + conf->local_port = atoi(argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_local_port, cfg_mgcpgw_local_port_cmd, @@ -70,9 +92,12 @@ "remote IPv4 address\n" "remote IPv6 address\n") { + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); + osmo_talloc_replace_string(global_mgcp_client_ctx, - (char**)&global_mgcp_client_conf->remote_addr, - argv[0]); + (char**)&conf->remote_addr, argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_remote_ip, cfg_mgcpgw_remote_ip_cmd, @@ -85,7 +110,11 @@ MGW_STR "remote port to reach the MGW at\n" "remote port\n") { - global_mgcp_client_conf->remote_port = atoi(argv[0]); + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); + + conf->remote_port = atoi(argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_remote_port, cfg_mgcpgw_remote_port_cmd, @@ -135,11 +164,14 @@ MGW_STR "Set the domain name to send in MGCP messages, e.g. the part 'foo' in 'rtpbridge/*@foo'.\n" "Domain name, should be alphanumeric.\n") { - if (osmo_strlcpy(global_mgcp_client_conf->endpoint_domain_name, argv[0], - sizeof(global_mgcp_client_conf->endpoint_domain_name)) - >= sizeof(global_mgcp_client_conf->endpoint_domain_name)) { + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); + + if (osmo_strlcpy(conf->endpoint_domain_name, argv[0], sizeof(conf->endpoint_domain_name)) + >= sizeof(conf->endpoint_domain_name)) { vty_out(vty, "%% Error: 'mgw endpoint-domain' name too long, max length is %zu: '%s'%s", - sizeof(global_mgcp_client_conf->endpoint_domain_name) - 1, argv[0], VTY_NEWLINE); + sizeof(conf->endpoint_domain_name) - 1, argv[0], VTY_NEWLINE); return CMD_WARNING; } return CMD_SUCCESS; @@ -154,9 +186,12 @@ { int rc; struct reset_ep *reset_ep; + struct mgcp_client_conf *conf; + + GET_MGCP_CLIENT_CONFIG_PTR(); /* stop when the address is already in the list */ - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { if (strcmp(argv[0], reset_ep->name) == 0) { vty_out(vty, "%% duplicate endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); return CMD_WARNING; @@ -181,7 +216,7 @@ return CMD_WARNING; } - llist_add_tail(&reset_ep->list, &global_mgcp_client_conf->reset_epnames); + llist_add_tail(&reset_ep->list, &conf->reset_epnames); return CMD_SUCCESS; } @@ -194,8 +229,11 @@ { struct reset_ep *reset_ep; struct reset_ep *reset_ep_del = NULL; + struct mgcp_client_conf *conf; - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + GET_MGCP_CLIENT_CONFIG_PTR(); + + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { if (strcmp(argv[0], reset_ep->name) == 0) { reset_ep_del = reset_ep; break; @@ -213,45 +251,47 @@ return CMD_SUCCESS; } -int mgcp_client_config_write(struct vty *vty, const char *indent) +static int config_write(struct vty *vty, const char *indent, struct mgcp_client_conf *conf) { const char *addr; int port; struct reset_ep *reset_ep; - addr = global_mgcp_client_conf->local_addr; + addr = conf->local_addr; if (addr) vty_out(vty, "%smgw local-ip %s%s", indent, addr, VTY_NEWLINE); - port = global_mgcp_client_conf->local_port; + port = conf->local_port; if (port >= 0) vty_out(vty, "%smgw local-port %u%s", indent, (uint16_t)port, VTY_NEWLINE); - addr = global_mgcp_client_conf->remote_addr; + addr = conf->remote_addr; if (addr) vty_out(vty, "%smgw remote-ip %s%s", indent, addr, VTY_NEWLINE); - port = global_mgcp_client_conf->remote_port; + port = conf->remote_port; if (port >= 0) vty_out(vty, "%smgw remote-port %u%s", indent, (uint16_t)port, VTY_NEWLINE); - if (global_mgcp_client_conf->endpoint_domain_name[0]) + if (conf->endpoint_domain_name[0]) vty_out(vty, "%smgw endpoint-domain %s%s", indent, - global_mgcp_client_conf->endpoint_domain_name, VTY_NEWLINE); + conf->endpoint_domain_name, VTY_NEWLINE); - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) vty_out(vty, "%smgw reset-endpoint %s%s", indent, reset_ep->name, VTY_NEWLINE); return CMD_SUCCESS; } -void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) +int mgcp_client_config_write(struct vty *vty, const char *indent) { - global_mgcp_client_ctx = talloc_ctx; - global_mgcp_client_conf = conf; + return config_write(vty, indent, global_mgcp_client_conf); +} +static void vty_init_common(void *talloc_ctx, int node) +{ install_lib_element(node, &cfg_mgw_local_ip_cmd); install_lib_element(node, &cfg_mgw_local_port_cmd); install_lib_element(node, &cfg_mgw_remote_ip_cmd); @@ -262,6 +302,14 @@ install_lib_element(node, &cfg_mgw_reset_ep_name_cmd); install_lib_element(node, &cfg_mgw_no_reset_ep_name_cmd); + osmo_fsm_vty_add_cmds(); +} + +void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) +{ + global_mgcp_client_ctx = talloc_ctx; + global_mgcp_client_conf = conf; + /* deprecated 'mgcpgw' commands */ install_lib_element(node, &cfg_mgcpgw_local_ip_cmd); install_lib_element(node, &cfg_mgcpgw_local_port_cmd); @@ -270,5 +318,226 @@ install_lib_element(node, &cfg_mgcpgw_endpoint_range_cmd); install_lib_element(node, &cfg_mgcpgw_rtp_bts_base_port_cmd); - osmo_fsm_vty_add_cmds(); + vty_init_common(talloc_ctx, node); +} + +static int config_write_pool(struct vty *vty) +{ + struct mgcp_client_pool_member *pool_member; + unsigned int indent_buf_len = strlen(global_mgcp_client_indent_pool) + 1 + 1; + char *indent = talloc_zero_size(vty, indent_buf_len); + snprintf(indent, indent_buf_len, "%s ", global_mgcp_client_indent_pool); + + llist_for_each_entry(pool_member, &global_mgcp_client_pool->pool, list) { + vty_out(vty, "%smgw %u%s", global_mgcp_client_indent_pool, pool_member->nr, VTY_NEWLINE); + config_write(vty, indent, &pool_member->conf); + } + + talloc_free(indent); + return CMD_SUCCESS; +} + +/* Lookup the selected MGCP client config by its reference number */ +static struct mgcp_client_pool_member *pool_member_by_nr(unsigned int nr) +{ + struct mgcp_client_pool_member *pool_member = NULL; + struct mgcp_client_pool_member *pool_member_tmp; + + llist_for_each_entry(pool_member_tmp, &global_mgcp_client_pool->pool, list) { + if (pool_member_tmp->nr == nr) { + pool_member = pool_member_tmp; + break; + } + } + + return pool_member; +} + +DEFUN_ATTR(cfg_mgw, + cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + pool_member = talloc_zero(global_mgcp_client_ctx, struct mgcp_client_pool_member); + OSMO_ASSERT(pool_member); + mgcp_client_conf_init(&pool_member->conf); + pool_member->nr = nr; + llist_add_tail(&pool_member->list, &global_mgcp_client_pool->pool); + } + + vty->index = &pool_member->conf; + vty->index_sub = NULL; + vty->node = global_mgcp_mgw_node_pool.node; + + return CMD_SUCCESS; +} + +DEFUN_ATTR(cfg_no_mgw, + cfg_no_mgw_cmd, + "no mgw <0-255>", "Select a MGCP client config to remove\n" "reference number", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Make sure that there are no ongoing calls */ + if (pool_member->refcount > 0) { + vty_out(vty, "%% MGCP client (MGW %u) is still serving ongoing calls -- can't remove it now!%s", + pool_member->nr, VTY_NEWLINE); + return CMD_WARNING; + } + + llist_del(&pool_member->list); + if (pool_member->client) { + mgcp_client_disconnect(pool_member->client); + talloc_free(pool_member->client); + } + talloc_free(pool_member); + + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_reconnect, mgw_reconnect_cmd, + "mgw <0-255> reconnect", + MGW_STR "reconfigure and reconnect MGCP client (will drop ongoing calls)\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Make sure that there are no ongoing calls */ + if (pool_member->refcount > 0) { + vty_out(vty, "%% MGCP client (MGW %u) is still serving ongoing calls -- can't reconnect it now!%s", + pool_member->nr, VTY_NEWLINE); + return CMD_WARNING; + } + + /* Get rid of a possibly existing old MGCP client instance first */ + if (pool_member->client) { + mgcp_client_disconnect(pool_member->client); + talloc_free(pool_member->client); + } + + /* Create a new MGCP client instance with the current config */ + pool_member->client = mgcp_client_init(pool_member, &pool_member->conf); + if (!pool_member->client) { + LOGP(DLMGCP, LOGL_ERROR, "(manual) MGW %u initalization failed\n", pool_member->nr); + vty_out(vty, "%% MGCP client initalization failed ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Set backpointer so that we can detect later that this MGCP client is managed by this pool. */ + pool_member->client->pool = global_mgcp_client_pool; + + /* Connect client */ + if (mgcp_client_connect(pool_member->client)) { + LOGP(DLMGCP, LOGL_ERROR, "(manual) MGW %u connect failed at (%s:%u)\n", + pool_member->nr, pool_member->conf.remote_addr, pool_member->conf.remote_port); + talloc_free(pool_member->client); + pool_member->client = NULL; + vty_out(vty, "%% MGCP client initalization failed ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_block, mgw_block_cmd, + "mgw <0-255> block", + MGW_STR "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + pool_member->blocked = true; + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_unblock, mgw_unblock_cmd, + "mgw <0-255> unblock", + MGW_STR "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + pool_member->blocked = false; + return CMD_SUCCESS; +} + +DEFUN(mgw_show, mgw_snow_cmd, "show mgw-pool", SHOW_STR "Display information about the MGW-Pool\n") +{ + vty_out(vty, "%% MGW-Pool:%s", VTY_NEWLINE); + struct mgcp_client_pool_member *pool_member; + + if (llist_empty(&global_mgcp_client_pool->pool) && global_mgcp_client_pool->mgcp_client_legacy) { + vty_out(vty, "%% (pool is empty, legacy MGCP client will be used)%s", VTY_NEWLINE); + return CMD_SUCCESS; + } else if (llist_empty(&global_mgcp_client_pool->pool)) { + vty_out(vty, "%% (pool is empty)%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + llist_for_each_entry(pool_member, &global_mgcp_client_pool->pool, list) { + vty_out(vty, "%% MGW %u%s", pool_member->nr, VTY_NEWLINE); + vty_out(vty, "%% mgcp-client: %s%s", pool_member->client ? "connected" : "disconnected", + VTY_NEWLINE); + vty_out(vty, "%% service: %s%s", pool_member->blocked ? "blocked" : "unblocked", VTY_NEWLINE); + vty_out(vty, "%% ongoing calls: %u%s", pool_member->refcount, VTY_NEWLINE); + } + return CMD_SUCCESS; +} + +/*! Set up MGCP client VTY (pooled) + * (called once at startup by the application process). + * \param[in] parent_node identifier of the parent node on which the mgw node appears. + * \param[in] mgw_node identifier that should be used with the newly installed MGW node. + * \param[in] indent indentation string to match the indentation in the VTY config + * \param[in] pool user provided memory to store the configured MGCP client (MGW) pool. */ +void mgcp_client_vty_init_pool(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool) +{ + global_mgcp_mgw_node_pool = (struct cmd_node) { + .node = mgw_node, + .prompt = "%s(config-mgw)# ", + .vtysh = 1, + }; + + global_mgcp_client_ctx = pool; + global_mgcp_client_pool = pool; + global_mgcp_client_indent_pool = indent; + + install_lib_element(parent_node, &cfg_mgw_cmd); + install_lib_element(parent_node, &cfg_no_mgw_cmd); + install_node(&global_mgcp_mgw_node_pool, config_write_pool); + vty_init_common(global_mgcp_client_ctx, mgw_node); + + install_lib_element(ENABLE_NODE, &mgw_reconnect_cmd); + install_lib_element(ENABLE_NODE, &mgw_block_cmd); + install_lib_element(ENABLE_NODE, &mgw_unblock_cmd); + + install_lib_element_ve(&mgw_snow_cmd); } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:43:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:43:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25121 ) Change subject: mgcp_client_vty: add missing docstrings ...................................................................... mgcp_client_vty: add missing docstrings The VTY for the classic non pooled MGCP Client does not have any API doctumentation. Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/21/25121/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index fc4cf68..b23bb6a 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -285,6 +285,10 @@ return CMD_SUCCESS; } +/*! Write out MGCP client config to VTY. + * \param[in] vty VTY to which we should print. + * \param[in] string used for indentation (e.g. " "). + * \returns CMD_SUCCESS on success, CMD_WARNING on error */ int mgcp_client_config_write(struct vty *vty, const char *indent) { return config_write(vty, indent, global_mgcp_client_conf); @@ -305,6 +309,11 @@ osmo_fsm_vty_add_cmds(); } +/*! Set up MGCP client VTY + * (called once at startup by the application process). + * \param[in] talloc_ctx talloc context to be used by the VTY for allocating memory. + * \param[in] node identifier of the node on which the VTY commands should be installed. + * \param[in] conf user provided memory to to store the MGCP client configuration data. */ void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) { global_mgcp_client_ctx = talloc_ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:46:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:46:17 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#2). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 598 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:46:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:46:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 to look at the new patch set (#2). Change subject: mgcp_client_vty: add missing docstrings ...................................................................... mgcp_client_vty: add missing docstrings The VTY for the classic non pooled MGCP Client does not have any API doctumentation. Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/21/25121/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:48:50 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: remove unused commandline option -l References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25122 ) Change subject: osmo_bsc_main: remove unused commandline option -l ...................................................................... osmo_bsc_main: remove unused commandline option -l The option -l ("The local address of the MGCP") is still present in the commandline help and the manual, but it is used nowhere and osmo-bsc exists when it is used. Lets remove it. Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e --- M doc/manuals/chapters/running.adoc M src/osmo-bsc/osmo_bsc_main.c 2 files changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/22/25122/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 3e48c4a..327e0bd 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -35,8 +35,6 @@ Set the global log level for logging to stderr. This has mostly been deprecated by VTY based logging configuration, see <> for more information. -*-l, --local='IP'*:: - Specify the local IP address of the OsmoBSC-MGCP *-r, --rf-ctl 'RFCTL'*:: Offer a Unix domain socket for RF control at the path/filename 'RFCTL' in the file system. diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 2a6c501..b97c7a1 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -104,7 +104,6 @@ printf(" -T --timestamp Print a timestamp in the debug output.\n"); printf(" -V --version Print the version of OsmoBSC.\n"); printf(" -c --config-file filename The config file to use.\n"); - printf(" -l --local IP The local address of the MGCP.\n"); printf(" -e --log-level number Set a global loglevel.\n"); printf(" -r --rf-ctl NAME A unix domain socket to listen for cmds.\n"); printf(" -t --testmode A special mode to provoke failures at the MSC.\n"); @@ -152,7 +151,6 @@ {"disable-color", 0, 0, 's'}, {"timestamp", 0, 0, 'T'}, {"version", 0, 0, 'V' }, - {"local", 1, 0, 'l'}, {"log-level", 1, 0, 'e'}, {"rf-ctl", 1, 0, 'r'}, {"testmode", 0, 0, 't'}, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e Gerrit-Change-Number: 25122 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 14:48:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 14:48:51 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 8 files changed, 326 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/1 diff --git a/doc/manuals/chapters/mgwpool.adoc b/doc/manuals/chapters/mgwpool.adoc new file mode 100644 index 0000000..d7f1b1c --- /dev/null +++ b/doc/manuals/chapters/mgwpool.adoc @@ -0,0 +1,240 @@ +[[mgw_pooling]] +== MGW Pooling + +OsmoBSC is able to use a pool of media gateway (MGW) instances since mid 2021. +The aim of MGW pooling is to evenly distribute the RTP voice stream load across +multiple MGW instances. This can help to get a better CPU utilization on +multi-core CPUs. + +The load distribution is managed in such a way that when a new call is placed +the pool will automatically assign the call to the MGW with the lowest load. + +MGW pooling is recommended for larger RAN installations. For small networks and +lab installations the classic method with one MGW per BSC offers sufficient +performance. + +=== VTY configuration + +In OsmoBSC the MGW is controlled via an MGCP-Client. The VTY commands to +configure the MGCP-Client are part of the 'msc' node due to historical reasons. +Unfortunately this concept does not allow to configure multiple MGCP-Client +instances as required by MGW pooling. In order to support MGW pooling a new +'mgw' node has been added under the 'network' node. + +=== Legacy configuration files + +legacy OsmoBSC configuration files will continue to work but as soon as an MGW +pool is configured the 'mgw' settings under the 'msc' node will be ignored. + +Example configuration with only one MGCP-Client under the 'msc' node: +---- +msc 0 + mgw remote-ip 127.0.0.1 + mgw remote-port 2428 +---- + +=== MGW pool configuration + +to setup an MGW pool, the user must first install multiple OsmoMGW instances so +that they won?t interfere each other. This can be done using different local +host ip-addresses or different ports. When OsmoMGW is installed from packages, +the systemd configuration may also require adjustment. + +The VTY settings under the 'mgw' node work the same way as the VTY settings for +the MGW under the 'msc' node. + +Example configuration with two MGCP-Client instances in a pool: +---- + mgw 0 + mgw remote-ip 127.0.0.1 + mgw remote-port 2432 + mgw local-ip 127.0.0.1 + mgw local-port 2431 + mgw endpoint-domain mgw0 + mgw 1 + mgw remote-ip 127.0.0.1 + mgw remote-port 2430 + mgw local-ip 127.0.0.1 + mgw local-port 2429 + mgw endpoint-domain mgw1 +---- + +NOTE: When working with multiple MGW / MGCP-Client instances it is higly +recommended to assign each MGW an individual domain name. Otherwise it can be +difficult to distinguish the endpoint names in the log. + +=== MGW pool management + +While it was not possible to change the MGCP-Client configuration under the +?msc? node at runtime, the pool is fully runtime-manageable. The only limitation +is that an MGCP-Client can not be restarted or removed as long as it is serving +calls. + +==== MGW pool status + +The VTY implenets a 'show mgw-pool' command that lists the currently configured +MGW pool members, their status and call utilization. + +---- +OsmoBSC> show mgw-pool +% MGW-Pool: +% MGW 0 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 1 +% MGW 1 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 0 +---- + +==== Adding an MGW / MGCP-Client to the MGW pool + +To add a new MGCP-Client to the pool, the 'mgw' node is used. Like with the +'bts' or the 'msc' node a reference number is used that usually starts at 0. +However it is still possible to assign any number from 0-255. The enumeration +also may contain gaps. + +---- +OsmoBSC> enable +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# mgw 2 +OsmoBSC(config-mgw)# mgw + local-ip local bind to connect to MGW from + local-port local port to connect to MGW from + remote-ip remote IP address to reach the MGW at + remote-port remote port to reach the MGW at + endpoint-domain Set the domain name to send in MGCP messages, e.g. the part 'foo' in 'rtpbridge/*@foo'. + reset-endpoint Add an endpoint name that should be reset (DLCX) on connect to the reset-endpoint list,e.g. 'rtpbridge/*' +---- + +The newly added MGW will immediately appear in the mgc-pool list but it won't +be used until its configuration finished by restarting it. + +---- +% MGW-Pool: +% MGW 0 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 2 +% MGW 1 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 3 +% MGW 2 +% mgcp-client: disconnected +% service: unblocked +% ongoing calls: 0 +---- + +==== Reconnecting an MGW / MGCP-Client + +It may become necessary to reconnect an MGCP-Client. This is the case when the +VTY configuration was changed at runtime. In order to make the changes effective +the MGW configuration must be reloaded by reconnecting the MGW connection. Also +newly created MGW instances require a reconnect once their configuration is +done. + +To reconnect an MGCP-Client use the 'reconnect' VTY command: +---- +OsmoBSC# mgw 2 reconnect +---- + +The mgcp-client status should immediately change to 'connected'. The MGW is now +ready to be used for new calls. + +---- +OsmoBSC# show mgw-pool +% MGW-Pool: +% MGW 0 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 2 +% MGW 1 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 3 +% MGW 2 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 0 +---- + +It should be noted that MGCP a protocol is used via UDP, the connect only +happens locally to forward the UDP datagrams properly. Also (unless a reset +endpoint is configured like in the example config above) there will be no +immediate interaction with the MGW. However, the log should at least confirm +the the connect worked and the MGCP client has been created successfully. + +---- +Mon Aug 2 17:15:00 2021 DLMGCP <0025> mgcp_client.c:788 MGCP client: using endpoint domain '@mgw' +Mon Aug 2 17:15:00 2021 DLMGCP <0025> mgcp_client.c:908 MGCP GW connection: r=127.0.0.1:2427<->l=127.0.0.1:2727 +---- + +It is strongly advised to check the activity on the related MGW and to follow +the log in order to see that the communication between OsmoBSC and the MGW is +working correctly. + +==== Blocking an MGW / MGCP-Client + +If it becomes apparent that an MGCP-Client must be restarted or removed from +the config (maintenance) the operator can put that MGCP-Client into a blocked +mode. A blocked MGCP-Client will still serve the ongoing calls but it will not +be picked for the assignment of new calls. + +To block an MGCP-Client use the 'block' VTY command: +---- +OsmoBSC# mgw 2 block +OsmoBSC# show mgw-pool +% MGW-Pool: +% MGW 0 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 11 +% MGW 1 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 12 +% MGW 2 +% mgcp-client: connected +% service: blocked +% ongoing calls: 10 +---- + +When the number of ongoing calls has tapered off, the MGW / MGCP-Client can be +restarted or removed if necessary. + +---- +OsmoBSC# show mgw-pool +% MGW-Pool: +% MGW 0 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 15 +% MGW 1 +% mgcp-client: connected +% service: unblocked +% ongoing calls: 14 +% MGW 2 +% mgcp-client: connected +% service: blocked +% ongoing calls: 0 +---- + +If the blockade should be reverted, the 'unblock' VTY command can be used in +the same way to remove the blockade. (Reconnecting will not remove the +blockade.) + +==== Removing an MGW / MGCP-Client + +An MGCP-Client is removed from the pool using the 'no mgw' command from the +configure terminal. The MGCP-Client instance will automatically be terminated +and the related resources are freed. The only requirement is that there are no +ongoing calls on the selected instance. + +---- +OsmoBSC# configure terminal +OsmoBSC(config)# network +OsmoBSC(config-net)# no mgw 2 +---- diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 327e0bd..26d62f6 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -143,6 +143,9 @@ DLCX to the media gateway. This helps to clear lingering calls from the media gateway when the OsmoBSC is restarted. +NOTE: OsmoBSC is also able to handle a pool of media gateways for load +distribution. See also See also <>. + ==== Configure Lb to connect to an SMLC diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc index c7589cc..120fe2c 100644 --- a/doc/manuals/osmobsc-usermanual.adoc +++ b/doc/manuals/osmobsc-usermanual.adoc @@ -32,6 +32,8 @@ include::{srcdir}/chapters/mscpool.adoc[] +include::{srcdir}/chapters/mgwpool.adoc[] + include::{srcdir}/chapters/smlc.adoc[] include::./common/chapters/qos-dscp-pcp.adoc[] diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a20e72..8fd88cb 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1346,8 +1346,14 @@ struct osmo_timer_list bts_store_uptime_timer; struct { + /* Legacy MGCP client configuration under msc node (also required for + * MGCP proxy when sccp-lite is used) */ struct mgcp_client_conf *conf; - struct mgcp_client *client; + + /* MGW pool, also contains the legacy MGCP client. */ + struct mgcp_client_pool *mgw_pool; + + /* Timer definitions, the same for all MGW pool members */ struct osmo_tdef *tdefs; } mgw; diff --git a/include/osmocom/bsc/vty.h b/include/osmocom/bsc/vty.h index 9ea9835..70b973d 100644 --- a/include/osmocom/bsc/vty.h +++ b/include/osmocom/bsc/vty.h @@ -23,6 +23,7 @@ enum bsc_vty_node { GSMNET_NODE = _LAST_OSMOVTY_NODE + 1, + MGW_NODE, BTS_NODE, TRX_NODE, TS_NODE, diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index afb633d..2256487 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -518,39 +519,54 @@ uint16_t msc_assigned_cic, struct gsm_lchan *for_lchan) { const char *epname; + struct mgcp_client *mgcp_client = NULL; if (conn->user_plane.mgw_endpoint) return conn->user_plane.mgw_endpoint; if (gscon_is_sccplite(conn)) { + /* Get MGCP client from pool */ + mgcp_client = mgcp_client_pool_get(conn->network->mgw.mgw_pool); + if (!mgcp_client) { + LOGPFSML(conn->fi, LOGL_ERROR, + "cannot ensure MGW endpoint -- no MGW configured, check configuration!\n"); + conn->user_plane.mgw_endpoint = NULL; + return NULL; + } + /* derive endpoint name from CIC on A interface side */ conn->user_plane.mgw_endpoint = osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, - conn->network->mgw.client, + mgcp_client, conn->network->mgw.tdefs, conn->fi->id, "%x@%s", msc_assigned_cic, - mgcp_client_endpoint_domain(conn->network->mgw.client)); + mgcp_client_endpoint_domain(mgcp_client)); LOGPFSML(conn->fi, LOGL_DEBUG, "MGW endpoint name derived from CIC 0x%x: %s\n", msc_assigned_cic, osmo_mgcpc_ep_name(conn->user_plane.mgw_endpoint)); } else if (gscon_is_aoip(conn)) { + /* Get MGCP client from pool */ + mgcp_client = mgcp_client_pool_get(conn->network->mgw.mgw_pool); + if (!mgcp_client) { + LOGPFSML(conn->fi, LOGL_ERROR, + "cannot ensure MGW endpoint -- no MGW configured, check configuration!\n"); + conn->user_plane.mgw_endpoint = NULL; + return NULL; + } if (is_ipaccess_bts(for_lchan->ts->trx->bts)) /* use dynamic RTPBRIDGE endpoint allocation in MGW */ - epname = mgcp_client_rtpbridge_wildcard(conn->network->mgw.client); + epname = mgcp_client_rtpbridge_wildcard(mgcp_client); else { - epname = mgcp_client_e1_epname(conn, conn->network->mgw.client, for_lchan->ts->e1_link.e1_nr, + epname = mgcp_client_e1_epname(conn, mgcp_client, for_lchan->ts->e1_link.e1_nr, for_lchan->ts->e1_link.e1_ts, 16, for_lchan->ts->e1_link.e1_ts_ss*2); } conn->user_plane.mgw_endpoint = - osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, - conn->network->mgw.client, - conn->network->mgw.tdefs, - conn->fi->id, - "%s", epname); + osmo_mgcpc_ep_alloc(conn->fi, GSCON_EV_FORGET_MGW_ENDPOINT, mgcp_client, + conn->network->mgw.tdefs, conn->fi->id, "%s", epname); } else { LOGPFSML(conn->fi, LOGL_ERROR, "Conn is neither SCCPlite nor AoIP!?\n"); return NULL; @@ -801,6 +817,12 @@ static void gscon_forget_mgw_endpoint(struct gsm_subscriber_connection *conn) { + struct mgcp_client *mgcp_client; + + /* Put MGCP client back into MGW pool */ + mgcp_client = osmo_mgcpc_ep_client(conn->user_plane.mgw_endpoint); + mgcp_client_pool_put(mgcp_client); + conn->user_plane.mgw_endpoint = NULL; conn->user_plane.mgw_endpoint_ci_msc = NULL; conn->ho.created_ci_for_msc = NULL; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6d10426..d3d769e 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -37,6 +37,7 @@ #include #include +#include #include #include @@ -3382,7 +3383,9 @@ install_element(GSMNET_NODE, &cfg_net_nri_null_add_cmd); install_element(GSMNET_NODE, &cfg_net_nri_null_del_cmd); + bts_vty_init(); + mgcp_client_vty_init_pool(GSMNET_NODE, MGW_NODE, " ", vty_global_gsm_network->mgw.mgw_pool); install_element(ENABLE_NODE, &drop_bts_cmd); install_element(ENABLE_NODE, &restart_bts_cmd); diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index b97c7a1..d44d3b7 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -57,6 +57,7 @@ #include #include +#include #include #include @@ -69,6 +70,7 @@ #include #include +#include #include @@ -866,6 +868,41 @@ extern void *tall_tqe_ctx; extern void *tall_ctr_ctx; +static int bsc_mgw_setup() +{ + struct mgcp_client *mgcp_client_legacy; + unsigned int pool_members_initalized; + + /* Initalize MGW pool. This initalizes and connects all MGCP clients that are currently configured in + * the pool. Adding additional MGCP clients to the pool is possible but the user has to initalize and + * start them manually from the VTY. */ + pool_members_initalized = mgcp_client_connect_pool(bsc_gsmnet->mgw.mgw_pool); + if (pool_members_initalized) { + LOGP(DNM, LOGL_NOTICE, + "MGW pool with %u pool members configured, (ignoring MGW configuration in VTY node 'msc').\n", + pool_members_initalized); + return 0; + } + + /* Initalize and connect a legacy MGCP client. This MGCP client will appear as the one and only pool + * member if there is no MGW pool configured. */ + LOGP(DNM, LOGL_NOTICE, "No MGW pool configured, using MGW configuration in VTY node 'msc'\n"); + mgcp_client_legacy = mgcp_client_init(bsc_gsmnet, bsc_gsmnet->mgw.conf); + if (!mgcp_client_legacy) { + LOGP(DNM, LOGL_ERROR, "MGW (legacy) client initalization failed\n"); + return -EINVAL; + } + if (mgcp_client_connect(mgcp_client_legacy)) { + LOGP(DNM, LOGL_ERROR, "MGW (legacy) connect failed at (%s:%u)\n", + bsc_gsmnet->mgw.conf->remote_addr, + bsc_gsmnet->mgw.conf->remote_port); + return -EINVAL; + } + mgcp_client_pool_register_legacy(bsc_gsmnet->mgw.mgw_pool, mgcp_client_legacy); + + return 0; +} + int main(int argc, char **argv) { struct bsc_msc_data *msc; @@ -896,6 +933,7 @@ } bsc_gsmnet->mgw.conf = talloc_zero(bsc_gsmnet, struct mgcp_client_conf); + bsc_gsmnet->mgw.mgw_pool = mgcp_client_alloc_pool(bsc_gsmnet); mgcp_client_conf_init(bsc_gsmnet->mgw.conf); bts_init(); @@ -999,14 +1037,8 @@ } } - bsc_gsmnet->mgw.client = mgcp_client_init(bsc_gsmnet, bsc_gsmnet->mgw.conf); - - if (mgcp_client_connect(bsc_gsmnet->mgw.client)) { - LOGP(DNM, LOGL_ERROR, "MGW connect failed at (%s:%u)\n", - bsc_gsmnet->mgw.conf->remote_addr, - bsc_gsmnet->mgw.conf->remote_port); + if (bsc_mgw_setup() != 0) exit(1); - } if (osmo_bsc_sigtran_init(&bsc_gsmnet->mscs) != 0) { LOGP(DNM, LOGL_ERROR, "Failed to initialize sigtran backhaul.\n"); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:05:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 15:05:46 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: add stats items to monitor trunk usage In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25041 ) Change subject: mgcp_ratectr: add stats items to monitor trunk usage ...................................................................... mgcp_ratectr: add stats items to monitor trunk usage We are currently counting events in rate counters, but there is currently no way to get a sample of the current situation of the trunk usage. In particular how many endpoints are currently in use. This is a corrected version of: Ib7b654168dc3512f55e45cc4755dc1f6f423d023 Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M include/osmocom/mgcp/mgcp_trunk.h M src/libosmo-mgcp/mgcp_endp.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c M tests/mgcp/mgcp_test.c 6 files changed, 101 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 4c01059..5212f9b 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -94,3 +94,17 @@ int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); + +/* Trunk-global common stat items */ +enum { + TRUNK_STAT_ENDPOINTS_TOTAL, + TRUNK_STAT_ENDPOINTS_USED, +}; + +struct mgcp_stat_trunk { + /* Stat item group which contains general status values of the trunk. */ + struct osmo_stat_item_group *common; +}; + +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); + diff --git a/include/osmocom/mgcp/mgcp_trunk.h b/include/osmocom/mgcp/mgcp_trunk.h index 048ac5b..d960428 100644 --- a/include/osmocom/mgcp/mgcp_trunk.h +++ b/include/osmocom/mgcp/mgcp_trunk.h @@ -52,8 +52,9 @@ unsigned int number_endpoints; struct mgcp_endpoint **endpoints; - /* global rate counters to measure the trunks overall performance and health */ + /* rate counters and stat items to measure the trunks overall performance and health */ struct mgcp_ratectr_trunk ratectr; + struct mgcp_stat_trunk stats; union { /* Virtual trunk specific */ diff --git a/src/libosmo-mgcp/mgcp_endp.c b/src/libosmo-mgcp/mgcp_endp.c index 16043d4..4fcddb8 100644 --- a/src/libosmo-mgcp/mgcp_endp.c +++ b/src/libosmo-mgcp/mgcp_endp.c @@ -29,6 +29,7 @@ #include #include +#include #define E1_RATE_MAX 64 #define E1_OFFS_MAX 8 @@ -122,6 +123,12 @@ * RSIP is executed), free them all at once. */ mgcp_conn_free_all(endp); + /* We must only decrement the stat item when the endpoint as actually + * claimed. An endpoint is claimed when a call-id is set */ + if (endp->callid) + osmo_stat_item_dec(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); + /* Reset endpoint parameters and states */ talloc_free(endp->callid); endp->callid = NULL; @@ -598,6 +605,8 @@ * connection ids) */ endp->callid = talloc_strdup(endp, callid); OSMO_ASSERT(endp->callid); + osmo_stat_item_inc(osmo_stat_item_group_get_item(endp->trunk->stats.common, + TRUNK_STAT_ENDPOINTS_USED), 1); /* Allocate resources */ switch (endp->trunk->trunk_type) { diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 3c3b5db..d8e0374 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -24,8 +24,11 @@ #include #include +#include #include #include +#include +#include #include static const struct rate_ctr_desc mgcp_general_ctr_desc[] = { @@ -247,3 +250,48 @@ } return 0; } + +const struct osmo_stat_item_desc trunk_stat_desc[] = { + [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", + "Number of endpoints that exist on the trunk", + "", 60, 0 }, + [TRUNK_STAT_ENDPOINTS_USED] = { "endpoints:used", + "Number of endpoints in use", + "", 60, 0 }, +}; + +const struct osmo_stat_item_group_desc trunk_statg_desc = { + .group_name_prefix = "trunk", + .group_description = "mgw trunk", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(trunk_stat_desc), + .item_desc = trunk_stat_desc, +}; + +static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) +{ + osmo_stat_item_group_free(stat_item_group); + return 0; +} + +/*! allocate trunk specific stat items + * (called once on trunk initialization). + * \param[in] trunk for which the stat items are allocated. + * \returns 0 on success, -EINVAL on failure. */ +int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + static unsigned int common_stat_index = 0; + char stat_name[256]; + + stats->common = osmo_stat_item_group_alloc(trunk, &trunk_statg_desc, common_stat_index); + if (!stats->common) + return -EINVAL; + snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), + trunk->trunk_nr); + osmo_stat_item_group_set_name(stats->common, stat_name); + talloc_set_destructor(stats->common, free_stat_item_group); + common_stat_index++; + + return 0; +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index 73de972..a97ad39 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -27,6 +27,7 @@ #include #include #include +#include const struct value_string mgcp_trunk_type_strs[] = { { MGCP_TRUNK_VIRTUAL, "virtual" }, @@ -64,6 +65,7 @@ llist_add_tail(&trunk->entry, &cfg->trunks); mgcp_ratectr_trunk_alloc(trunk); + mgcp_stat_trunk_alloc(trunk); return trunk; } @@ -127,7 +129,8 @@ /* make the endpoints we just created available to the MGW code */ trunk->number_endpoints = number_endpoints; - + osmo_stat_item_set(osmo_stat_item_group_get_item(trunk->stats.common, TRUNK_STAT_ENDPOINTS_TOTAL), + trunk->number_endpoints); return 0; } diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index bcbcc02..26fcc2a 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -1065,20 +1065,20 @@ int i; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; - struct mgcp_trunk trunk; + struct mgcp_config *cfg; + struct mgcp_trunk *trunk; printf("Testing packet loss calculation.\n"); memset(&endp, 0, sizeof(endp)); - memset(&trunk, 0, sizeof(trunk)); - - endp.cfg = &cfg; + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - endp.trunk = &trunk; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); for (i = 0; i < ARRAY_SIZE(pl_test_dat); ++i) { @@ -1116,6 +1116,8 @@ mgcp_conn_free_all(&endp); } + talloc_free(trunk); + talloc_free(cfg); } int mgcp_parse_stats(struct msgb *msg, uint32_t *ps, uint32_t *os, @@ -1297,10 +1299,10 @@ { int i; - struct mgcp_trunk trunk; + struct mgcp_trunk *trunk; struct mgcp_endpoint endp; struct mgcp_endpoint *endpoints[1]; - struct mgcp_config cfg = {0}; + struct mgcp_config *cfg; struct mgcp_rtp_state state; struct mgcp_rtp_end *rtp; struct osmo_sockaddr addr = { 0 }; @@ -1318,7 +1320,8 @@ patch_ssrc ? ", patch SSRC" : "", patch_ts ? ", patch timestamps" : ""); - memset(&trunk, 0, sizeof(trunk)); + cfg = mgcp_config_alloc(); + trunk = mgcp_trunk_alloc(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); memset(&endp, 0, sizeof(endp)); memset(&state, 0, sizeof(state)); @@ -1327,16 +1330,16 @@ state.in_stream.err_ts_ctr = &test_ctr_in; state.out_stream.err_ts_ctr = &test_ctr_out; - endp.cfg = &cfg; + endp.cfg = cfg; endp.type = &ep_typeset.rtp; - trunk.v.vty_number_endpoints = 1; - trunk.endpoints = endpoints; - trunk.endpoints[0] = &endp; - trunk.force_constant_ssrc = patch_ssrc; - trunk.force_aligned_timing = patch_ts; + trunk->v.vty_number_endpoints = 1; + trunk->endpoints = endpoints; + trunk->endpoints[0] = &endp; + trunk->force_constant_ssrc = patch_ssrc; + trunk->force_aligned_timing = patch_ts; - endp.trunk = &trunk; + endp.trunk = trunk; INIT_LLIST_HEAD(&endp.conns); _conn = mgcp_conn_alloc(NULL, &endp, MGCP_CONN_TYPE_RTP, @@ -1395,6 +1398,8 @@ force_monotonic_time_us = -1; mgcp_conn_free_all(&endp); + talloc_free(trunk); + talloc_free(cfg); } static void test_multilple_codec(void) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25041 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I6d3a74f6087512130d85002348787bffc672de81 Gerrit-Change-Number: 25041 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:14:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 15:14:51 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 to look at the new patch set (#5). Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: SYS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 85 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:26:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 15:26:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: add support for wildcarded DLCX In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/24823 ) Change subject: mgcp_protocol: add support for wildcarded DLCX ...................................................................... Abandoned old version of this patch, no longer needed -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/24823 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0770cf46d93ab09efe9cafdd56d2e3f1132db189 Gerrit-Change-Number: 24823 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:29:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 15:29:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_start_handler() in two, ..._create() and ..._run() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 ) Change subject: bsc: split f_start_handler() in two, ..._create() and ..._run() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 Gerrit-Change-Number: 25020 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 03 Aug 2021 15:29:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:39:36 2021 From: gerrit-no-reply at lists.osmocom.org (andrew-ma) Date: Tue, 3 Aug 2021 15:39:36 +0000 Subject: Change in pysim[master]: Use README.md as long description in package metadata References: Message-ID: andrew-ma has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/25124 ) Change subject: Use README.md as long description in package metadata ...................................................................... Use README.md as long description in package metadata The normal description can be accessed with `python3 setup.py --description`. The long description can be accessed with `python3 setup.py --long-description`. Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d --- A setup.cfg 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/24/25124/1 diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..1155c2a --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +[metadata] +long_description = file: README.md +long_description_content_type = text/markdown \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d Gerrit-Change-Number: 25124 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 3 15:42:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 3 Aug 2021 15:42:37 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 03 Aug 2021 15:42:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:04:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 08:04:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix typo Initalize -> Initialize In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25119 ) Change subject: mgcp_client: fix typo Initalize -> Initialize ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If57f8c0e54dbb5d37f40e36d968a6e6b75eec066 Gerrit-Change-Number: 25119 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 08:04:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:04:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 08:04:10 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: fix typo Initalize -> Initialize In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25119 ) Change subject: mgcp_client: fix typo Initalize -> Initialize ...................................................................... mgcp_client: fix typo Initalize -> Initialize Change-Id: If57f8c0e54dbb5d37f40e36d968a6e6b75eec066 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: dexter: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 786019a..69d687b 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -189,7 +189,7 @@ return pt; } -/*! Initalize MGCP client configuration struct with default values. +/*! Initialize MGCP client configuration struct with default values. * \param[out] conf Client configuration.*/ void mgcp_client_conf_init(struct mgcp_client_conf *conf) { -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25119 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: If57f8c0e54dbb5d37f40e36d968a6e6b75eec066 Gerrit-Change-Number: 25119 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Aug 2021 08:18:44 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25115 ) Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 08:18:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:27:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 08:27:50 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#4). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 598 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:39:08 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 08:39:08 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#5). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 598 insertions(+), 39 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:44:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 08:44:53 +0000 Subject: Change in pysim[master]: Use README.md as long description in package metadata In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25124 ) Change subject: Use README.md as long description in package metadata ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d Gerrit-Change-Number: 25124 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 04 Aug 2021 08:44:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 08:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 08:58:23 +0000 Subject: Change in docker-playground[master]: MGCP_Test: set STATSVTY.CTRL_HOSTNAME In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24975 ) Change subject: MGCP_Test: set STATSVTY.CTRL_HOSTNAME ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24975 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Gerrit-Change-Number: 24975 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 08:58:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:04:44 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:04:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:04:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:09:37 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:09:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 3: Code-Review+1 The question from Pau is still valid, do you actually use the ctrl interface? In https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 you are using the statsd checker and I couldn't find any changes where you start using it. Feel free to +2 if you need to use it in the future. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:09:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:20:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:20:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 5: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_protocol.c at 1656 PS5, Line 1656: talloc_free(cfg); I don't think this is needed, see https://talloc.samba.org/talloc/doc/html/group__talloc.html#ga79d9cfea777a3d63167be7aa05463309 "If your destructor attempts to talloc_free() the pointer that it is the destructor for then talloc_free() will return -1 and the free will be ignored. This would be a pointless operation anyway, as the destructor is only called when the memory is just about to go away." https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_trunk.c at 45 PS5, Line 45: talloc_free(trunk); Same -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:20:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:29:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 11: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c at 208 PS11, Line 208: llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { llist_for_each_entry_safe could be used here to remove the endpoint inside the loop. Actually, since you break after the free anyway even the non-safe variant should work. Just return CMD_SUCCESS from inside the loop. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Wed, 04 Aug 2021 09:29:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:30:49 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25115 ) Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:30:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:32:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 4 Aug 2021 09:32:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25121 ) Change subject: mgcp_client_vty: add missing docstrings ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:32:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:42:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Aug 2021 09:42:48 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 5: Code-Review-1 (12 comments) Very readable! Some thoughts: * since this changes the VTY logic a lot, having VTY tests would be nice. from a quick glance it looks like there aren't any yet for mgcp-client, so not sure if this is reasonable. * adjust / add an example config? https://gerrit.osmocom.org/c/osmo-mgw/+/25120/3/include/osmocom/mgcp_client/mgcp_client_pool_internal.h File include/osmocom/mgcp_client/mgcp_client_pool_internal.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/3/include/osmocom/mgcp_client/mgcp_client_pool_internal.h at 21 PS3, Line 21: thet that https://gerrit.osmocom.org/c/osmo-mgw/+/25120/4/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/4/src/libosmo-mgcp-client/mgcp_client.c at 799 PS4, Line 799: static int init_socket(struct mgcp_client *mgcp, unsigned int retry_n_ports) Adding the retry_n_ports and other slight tweaks to this function seem like a different logical change. Maybe put this into a separate commit? https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c File src/libosmo-mgcp-client/mgcp_client_pool.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 43 PS5, Line 43: clien client https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 56 PS5, Line 56: initalization initialization https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 153 PS5, Line 153: put an MGCP client back into the pool maybe it's just me, but I find this a bit misleading: it sounds like the mgcp client was taken "out of the pool", as in, it can't be used anymore. but what happened earlier is, that it was picked and got a call assigned, the ref counter was increased. it will still be used if all other mgcp clients swimming in the pool have a higher refcount. but that's more of a nitpick, all in all I find this patch and newly introduced code very readable. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 159 PS5, Line 159: * not belong to a pool at all, the function call will have no effect. */ this comment describes what the whole function does, so I'd merge it with the function description on top of the function and put it there https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 47 PS5, Line 47: vty->index just to be sure, is this intended? I'm wondering if vty->index has type struct mgcp_client_conf https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 50 PS5, Line 50: \ \ at the end of the macro looks wrong (also, being curious: what's the advantage of using a macro here?) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 329 PS5, Line 329: just to be sure: is this extra space on purpose? given that there's already two +1 above for indent_buf_len the whole indent logic here seems a bit complicated TBH, is the global variable really necessary? it gets written to every time config_write_pool is called anyway. after looking at this some more, it seems with each config_write_pool, the snprintf here tries to write more and more bytes after global_mgcp_client_indent_pool. that's certainly not what's intended? so if this variable is used, the passed size shouldn't be strlen + n, rather sizeof and a fixed buffer length? https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 394 PS5, Line 394: pool_member->nr, VTY_NEWLINE); (I guess for users it would be useful to have it block (not use it for new calls) and auto-remove the mgw once all calls are served - maybe that's useful for a follow-up patch?) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 410 PS5, Line 410: will drop ongoing calls with the check below it won't drop ongoing calls https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 531 PS5, Line 531: indent shouldn't this be talloc_strdup or something? but even better would be to get rid of the global var if possible IMHO, see my other comment -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:42:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:44:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Aug 2021 09:44:52 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25121 ) Change subject: mgcp_client_vty: add missing docstrings ...................................................................... Patch Set 5: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25121/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/25121/5//COMMIT_MSG at 10 PS5, Line 10: doctumentation documentation -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 09:44:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:54:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Aug 2021 09:54:22 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5//COMMIT_MSG at 17 PS5, Line 17: SYS#5201 OS#5201? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 04 Aug 2021 09:54:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 09:55:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 4 Aug 2021 09:55:25 +0000 Subject: Change in osmo-ci[master]: repo-install-test: disable osmo-pcap-server In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25100 ) Change subject: repo-install-test: disable osmo-pcap-server ...................................................................... Abandoned resolving the port conflict instead, see https://osmocom.org/issues/5203 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25100 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic40a4df8b86ca1dda6a08aa3f9381391e6fb0770 Gerrit-Change-Number: 25100 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 11:29:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 11:29:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#12). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 134 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 14:53:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 14:53:01 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#6). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 606 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 14:53:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 14:53:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... mgcp_client: refactor function init_socket The function init_socket has an arbitrary retry count when opening the socket. After each retry the local port is incremented by one. The intention behind this is to find a useable local port in case the configured port is used by another process. The maximum number of retrys is hardcoded. The upcomming MGW pooling patch requires to set the maximum retry count. Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 18 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/25/25125/1 diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 66dac21..e5fe5f0 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -796,40 +796,46 @@ return mgcp; } -static int init_socket(struct mgcp_client *mgcp) +static int init_socket(struct mgcp_client *mgcp, unsigned int retry_n_ports) { int rc; struct osmo_wqueue *wq; - int i; + unsigned int i; wq = &mgcp->wq; - for (i = 0; i < 100; i++) { + for (i = 0; i < retry_n_ports + 1; i++) { - /* Initalize socket with the currently configured port - * number */ + /* Initialize socket with the currently configured port number */ rc = osmo_sock_init2_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.remote_addr, mgcp->actual.remote_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); if (rc > 0) return rc; - /* If there is a different port than the default port - * configured then we assume that the user has choosen - * that port conciously and we will not try to resolve - * this by silently choosing a different port. */ + /* If there is a different port than the default port configured then we assume that the user has + * chosen that port conciously and we will not try to resolve this by silently choosing a different + * port. */ if (mgcp->actual.local_port != MGCP_CLIENT_LOCAL_PORT_DEFAULT && i == 0) return -EINVAL; + /* Last try failed */ + if (i == retry_n_ports) { + LOGP(DLMGCP, LOGL_NOTICE, "MGCPGW failed to bind to %s:%d -- check configuration!\n", + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port); + if (retry_n_ports == 0) + return -EINVAL; + } + /* Choose a new port number to try next */ LOGP(DLMGCP, LOGL_NOTICE, - "MGCPGW failed to bind to %s:%u, retrying with port %u\n", + "MGCPGW failed to bind to %s:%d, retrying with port %d -- check configuration!\n", mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, mgcp->actual.local_port + 1); mgcp->actual.local_port++; } - LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %i times.\n", i); + LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %u times -- check configuration!\n", i); return -EINVAL; } @@ -889,7 +895,7 @@ osmo_fd_setup(&wq->bfd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, mgcp, 0); - rc = init_socket(mgcp); + rc = init_socket(mgcp, 99); if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 15:04:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 15:04:05 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 6: (12 comments) Thanks for the review. In order to get VTY tests I think we would need an application first. This could be a dummy application maybe or we could add some checks to osmo-bsc where the client is used. However the VTY for the MGCP Client is not very complex. At least for this patch I think I did not damage anything. Also in the osmo-mgw we do not have any example configs for the client. In osmo-bsc I could add an example config but I don't know if this makes sense since I have already put an example into the manual. See also: osmo-bsc I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d https://gerrit.osmocom.org/c/osmo-mgw/+/25120/3/include/osmocom/mgcp_client/mgcp_client_pool_internal.h File include/osmocom/mgcp_client/mgcp_client_pool_internal.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/3/include/osmocom/mgcp_client/mgcp_client_pool_internal.h at 21 PS3, Line 21: thet > that Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/4/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/4/src/libosmo-mgcp-client/mgcp_client.c at 799 PS4, Line 799: static int init_socket(struct mgcp_client *mgcp, unsigned int retry_n_ports) > Adding the retry_n_ports and other slight tweaks to this function seem like a different logical chan [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c File src/libosmo-mgcp-client/mgcp_client_pool.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 43 PS5, Line 43: clien > client Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 56 PS5, Line 56: initalization > initialization Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 153 PS5, Line 153: put an MGCP client back into the pool > maybe it's just me, but I find this a bit misleading: it sounds like the mgcp client was taken "out [?] Yes it sounds a bit like that but I do not know how to explain it differently. I have added some more comments to make clear what actually happens - so nobody gets confused. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 159 PS5, Line 159: * not belong to a pool at all, the function call will have no effect. */ > this comment describes what the whole function does, so I'd merge it with the function description o [?] I think that is done automatically by doxygen. I have marked the comment with a /*! that should work. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 47 PS5, Line 47: vty->index > just to be sure, is this intended? I'm wondering if vty->index has type [?] It should be correct. Index is void pointer. See cfg_mgw_cmd, there I am assigning the configuration. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 50 PS5, Line 50: \ > \ at the end of the macro looks wrong [?] I have to use this macro in each (common) VTY command to get the pointer to the conf. There are quite a few of them so it reduces some code dup. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 329 PS5, Line 329: > just to be sure: is this extra space on purpose? given that there's already two +1 above for indent_ [?] The extra space is on purpose. I use it to indent the mgw vty settings under the mgw x node by one space. The global_mgcp_client_indent_pool should be written only once. I don't really see what you mean but I managed to eliminate the global variable. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 394 PS5, Line 394: pool_member->nr, VTY_NEWLINE); > (I guess for users it would be useful to have it block (not use it for new calls) and auto-remove th [?] I think it is better if blocking and removing is done consciously. It is also not done very often. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 410 PS5, Line 410: will drop ongoing calls > with the check below it won't drop ongoing calls Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 531 PS5, Line 531: indent > shouldn't this be talloc_strdup or something? but even better would be to get rid of the global var [?] I would normally expect the indent string to be a constant, but who knows where an API user is getting this from. I had a closer look to the global variables and I have now eliminated as much of them as I could. At the moment this VTY implementation can only manage one pool. This is a limitation, but at the Moment we do not have any application that would benefit from multiple pools. However, I wonder if it would be possible to manage multiple pools but the only way to do it is to use a vty->index that is populated by the VTY of the application. But think that would be too complicated for now. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 04 Aug 2021 15:04:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 15:08:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 15:08:04 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#7). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 606 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 15:19:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 15:19:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 to look at the new patch set (#6). Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: OS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 83 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 15:19:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 15:19:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 6: (3 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5//COMMIT_MSG at 17 PS5, Line 17: SYS#5201 > OS#5201? Done https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_protocol.c at 1656 PS5, Line 1656: talloc_free(cfg); > I don't think this is needed, see https://talloc.samba.org/talloc/doc/html/group__talloc. [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_trunk.c File src/libosmo-mgcp/mgcp_trunk.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/5/src/libosmo-mgcp/mgcp_trunk.c at 45 PS5, Line 45: talloc_free(trunk); > Same Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Wed, 04 Aug 2021 15:19:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 4 15:44:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 4 Aug 2021 15:44:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb. ...................................................................... mgcp_protocol: get rid of policy_cb and change_cb. The two callback functions policy_cb and change_cb are essentially dead code. They also make the code more difficult to read and understand. Lets remove them. Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c 4 files changed, 17 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/26/25126/1 diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 29963cc..b3f2eb5 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -62,8 +62,6 @@ #define MGCP_POLICY_REJECT 5 #define MGCP_POLICY_DEFER 6 -typedef int (*mgcp_change)(struct mgcp_endpoint *endp, int state); -typedef int (*mgcp_policy)(struct mgcp_endpoint *endp, int state, const char *transaction_id); typedef int (*mgcp_reset)(struct mgcp_trunk *cfg); typedef int (*mgcp_rqnt)(struct mgcp_endpoint *endp, char tone); @@ -147,8 +145,6 @@ int force_ptime; - mgcp_change change_cb; - mgcp_policy policy_cb; mgcp_reset reset_cb; mgcp_rqnt rqnt_cb; void *data; diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index 7ab283d..df134ab 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -16,6 +16,8 @@ int pkt_period_max; /* time in ms */ }; +char *mgcp_debug_get_last_endpoint_name(void); + char *get_lco_identifier(const char *options); int check_local_cx_options(void *ctx, const char *options); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index e69c00f..1343b61 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,16 @@ #include #include +/* Contains the last successfuly resolved endpoint name. This variable is used + * for the unit-tests to verify that the endpoint was correctly resolved. */ +static char debug_last_endpoint_name[MGCP_ENDPOINT_MAXLEN]; + +/* Called from unit-tests only */ +char *mgcp_debug_get_last_endpoint_name(void) +{ + return debug_last_endpoint_name; +} + /* A combination of LOGPENDP and LOGPTRUNK that automatically falls back to * LOGPTRUNK when the endp parameter is NULL */ #define LOGPEPTR(endp, trunk, cat, level, fmt, args...) \ @@ -328,6 +338,8 @@ struct msgb *resp = NULL; char *data; + debug_last_endpoint_name[0] = '\0'; + /* Count all messages, even incorect ones */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_TOTAL)); @@ -395,6 +407,7 @@ return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); } } else { + osmo_strlcpy(debug_last_endpoint_name, rq.endp->name, sizeof(debug_last_endpoint_name)); rq.trunk = rq.endp->trunk; rq.mgcp_cause = 0; @@ -1050,32 +1063,8 @@ goto error2; } - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_CRCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, - "CRCX: CRCX rejected by policy\n"); - mgcp_endp_release(endp); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_REJECTED_BY_POLICY)); - return create_err_response(endp, 400, "CRCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "CRCX: Creating connection: port: %u\n", conn->end.local_port); - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_CRCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1290,40 +1279,11 @@ goto error3; } - - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_MDCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, - "MDCX: rejected by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_REJECTED_BY_POLICY)); - if (silent) - goto out_silent; - return create_err_response(endp, 400, "MDCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, - "MDCX: deferred by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_DEFERRED_BY_POLICY)); - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - mgcp_rtp_end_config(endp, 1, &conn->end); /* modify */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: modified conn:%s\n", mgcp_conn_dump(conn->conn)); - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_MDCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1431,29 +1391,6 @@ } } - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_DLCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_REJECTED_BY_POLICY)); - if (silent) - goto out_silent; - return create_err_response(endp, 400, "DLCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_DEFERRED_BY_POLICY)); - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - /* Handle wildcarded DLCX that refers to the whole trunk. This means * that we walk over all endpoints on the trunk in order to drop all * connections on the trunk. (see also RFC3435 Annex F.7) */ @@ -1515,9 +1452,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: endpoint released\n"); } - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_DLCX); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS)); if (silent) goto out_silent; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 26fcc2a..1c0d3cc 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -614,28 +614,6 @@ return msg; } -static char last_endpoint[MGCP_ENDPOINT_MAXLEN]; - -static int mgcp_test_policy_cb(struct mgcp_endpoint *endp, - int state, const char *transaction_id) -{ - unsigned int i; - struct mgcp_trunk *trunk; - - fprintf(stderr, "Policy CB got state %d on endpoint %s\n", - state, endp->name); - - trunk = endp->trunk; - last_endpoint[0] = '\0'; - for (i = 0; i < trunk->number_endpoints; i++) { - if (strcmp(endp->name, trunk->endpoints[i]->name) == 0) - osmo_strlcpy(last_endpoint, trunk->endpoints[i]->name, - sizeof(last_endpoint)); - } - - return MGCP_POLICY_CONT; -} - static int dummy_packets = 0; /* override and forward */ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, @@ -792,13 +770,13 @@ struct mgcp_conn_rtp *conn = NULL; char last_conn_id[256]; int rc; + char *last_endpoint = mgcp_debug_get_last_endpoint_name(); cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); trunk->v.vty_number_endpoints = 64; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -810,7 +788,6 @@ printf("\n================================================\n"); printf("Testing %s\n", t->name); - last_endpoint[0] = '\0'; dummy_packets = 0; osmo_talloc_replace_string(cfg, &trunk->audio_fmtp_extra, @@ -1411,6 +1388,7 @@ struct in_addr addr; struct mgcp_conn_rtp *conn = NULL; char conn_id[256]; + char *last_endpoint = mgcp_debug_get_last_endpoint_name(); printf("Testing multiple payload types\n"); @@ -1418,7 +1396,6 @@ trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); trunk->v.vty_number_endpoints = 64; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; /* Allocate endpoint 1 at mgw with two codecs */ last_endpoint[0] = '\0'; @@ -1620,8 +1597,6 @@ trunk->audio_send_name = 0; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; - inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 08:01:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 5 Aug 2021 08:01:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 to look at the new patch set (#2). Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... mgcp_protocol: get rid of policy_cb and change_cb The two callback functions policy_cb and change_cb are essentially dead code. They also make the code more difficult to read and understand. Lets remove them. Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c 4 files changed, 17 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/26/25126/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 09:05:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 5 Aug 2021 09:05:58 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#8). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 607 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 11:00:07 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Thu, 5 Aug 2021 11:00:07 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution References: Message-ID: ninjab3s has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Fix AmarisoftEPC local execution Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/27/25127/1 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 1534d87..e2aad4e 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -101,7 +101,7 @@ self.process.launch() def start_locally(self): - binary = self.inst.child('', BINFILE) + binary = self.inst.child('', AmarisoftEPC.BINFILE) env = {} # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 1 Gerrit-Owner: ninjab3s Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 12:21:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 12:21:41 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 8: (6 comments) only some cosmetics, rest looks good! thanks for answering everything in detail, makes sense. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c File src/libosmo-mgcp-client/mgcp_client_pool.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 159 PS5, Line 159: * not belong to a pool at all, the function call will have no effect. */ > I think that is done automatically by doxygen. [?] What I meant is, I'd move this comment above "void mgcp_client_pool_put(...". like here: https://git.osmocom.org/libosmocore/tree/src/timer.c?id=7af860fb78d6a13258d5887e7bb71276509229cb#n114 https://gerrit.osmocom.org/c/osmo-mgw/+/25120/8/src/libosmo-mgcp-client/mgcp_client_pool.c File src/libosmo-mgcp-client/mgcp_client_pool.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/8/src/libosmo-mgcp-client/mgcp_client_pool.c at 133 PS8, Line 133: * by the application code. */ (Move above struct mgcp_client *mgcp_client_pool_get, see other comment?) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 50 PS5, Line 50: \ > I have to use this macro in each (common) VTY command to get the pointer to the conf. [?] but why not a function instead of a macro? https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 329 PS5, Line 329: > The extra space is on purpose. [?] sorry I got confused about the snprintf arguments. global_mgcp_client_indent_pool gets read, not written to. FWIW I think it is more readable in the new version without the global variable. https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 531 PS5, Line 531: indent > I would normally expect the indent string to be a constant, but who knows where an API user is getti [?] (nvm the strdup comment, I thought global_mgcp_client_indent_pool would get written to... but now I see that it was only read.) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/8/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/8/src/libosmo-mgcp-client/mgcp_client_vty.c at 38 PS8, Line 38: connands commands -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 12:21:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 12:31:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 12:31:03 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25125/1/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25125/1/src/libosmo-mgcp-client/mgcp_client.c at 835 PS1, Line 835: mgcp->actual.local_port++; I'd wrap this in } else { /* Choose a new port... Otherwise it will print an extra line for retry_n_ports > 0, e.g. for retry_n_ports = 1: MGCPGW failed to bind to %s:%d, retrying with port %d -- check configuration! MGCPGW failed to bind to %s:%d -- check configuration! MGCPGW failed to bind to %s:%d, retrying with port %d -- check configuration! # <--- extra line MGCPGW failed to find a port to bind on %u times -- check configuration! -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 12:31:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 12:32:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 12:32:39 +0000 Subject: Change in osmo-bsc[master]: running.adoc: explain mgw reset-endpoint VTY setting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25118 ) Change subject: running.adoc: explain mgw reset-endpoint VTY setting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Gerrit-Change-Number: 25118 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 12:32:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 12:34:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 12:34:34 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: remove unused commandline option -l In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25122 ) Change subject: osmo_bsc_main: remove unused commandline option -l ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e Gerrit-Change-Number: 25122 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Aug 2021 12:34:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:09:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:09:53 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 1: Verified-1 (14 comments) just cosmetics and one block that could probably be simplified. rest looks good! https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 9 PS1, Line 9: placed placed, https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 26 PS1, Line 26: l L https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 26 PS1, Line 26: , https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 38 PS1, Line 38: to To https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 38 PS1, Line 38: instances so instances, so https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 39 PS1, Line 39: interfere each interfere with each other https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 43 PS1, Line 43: work works https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 53 PS1, Line 53: spaces at the end of the line, also below (gerrit highlights them) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 112 PS1, Line 112: mgc mgw https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 113 PS1, Line 113: restarting reconnecting? (that's the terminology used below, so I'd also use it here) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc at 147 PS1, Line 147: See also See also twice https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc at 148 PS1, Line 148: In the other chapter and in the code you say that this is now the legacy method of configuration. So maybe call it that in this chapter too? https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 556 PS1, Line 556: } this block is the same for both parts of the if ... else, right? so move it above the if and only have it once? https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_vty.c at 3386 PS1, Line 3386: (unintended?) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Aug 2021 13:09:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:11:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:11:17 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 1: -Verified Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Aug 2021 13:11:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:12:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:12:44 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 1 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Aug 2021 13:12:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:23:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:23:56 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 05 Aug 2021 13:23:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:24:24 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 8: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 13:24:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:34:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:34:31 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 6: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c at 178 PS6, Line 178: * \returns 0 on success, -EINVAL on failure. */ returns nothing :) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c at 243 PS6, Line 243: (added on purpose?) -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 13:34:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:37:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:37:01 +0000 Subject: Change in osmo-msc[master]: running.adoc: add section about MGCP configuration In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25117 ) Change subject: running.adoc: add section about MGCP configuration ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-msc/+/25117/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-msc/+/25117/1/doc/manuals/chapters/running.adoc at 157 PS1, Line 157: local host (localhost, without space?) -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Gerrit-Change-Number: 25117 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 13:37:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 13:43:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 13:43:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 05 Aug 2021 13:43:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 16:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Thu, 5 Aug 2021 16:04:56 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 to look at the new patch set (#2). Change subject: Fix AmarisoftEPC local execution ...................................................................... Fix AmarisoftEPC local execution Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/ms_amarisoft.py 2 files changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/27/25127/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 16:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Thu, 5 Aug 2021 16:32:09 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: ninjab3s has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py File src/osmo_gsm_tester/obj/ms_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py at 185 PS2, Line 185: util.change_elf_rpath(self.inst.child('', "lteue-*"), str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf2')) Passing 'lteue-*' does not work because the asterisks is interpreted as a string. I tried to fix this by escaping the asterisk but without success. Do you have any idea on how to fix this? Adding the double "" happened accidentally. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py at 190 PS2, Line 190: util.setcap_net_admin(self.inst.child('', 'lteue-*'), self.run_dir.new_dir('setcap_net_admin2')) Same here -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 05 Aug 2021 16:32:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:07:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:07:22 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 to look at the new patch set (#2). Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... repo-install-test: clear SERVICES_NIGHTLY list All services that start up in nightly should also start in the latest release now, as new versions have been released of related programs. Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 6 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/01/25101/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:19:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:19:00 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... vty/ports: move pcap server/client ports Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Remove wrong previous comments that claimed 4240 and 4241 were used. Related: OS#5203 Related: osmo-pcap I3b18b1fbbca2799f868f28104e2f5d513f93d46c Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d --- M include/osmocom/vty/ports.h 1 file changed, 24 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/25128/1 diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index b3550d1..580e642 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -8,33 +8,35 @@ #pragma once +#define OSMO_VTY_PORT_PCAP_CLIENT 4227 +#define OSMO_VTY_PORT_PCAP_SERVER 4228 /* 4236 used by control interface */ -#define OSMO_VTY_PORT_TRX 4237 +#define OSMO_VTY_PORT_TRX 4237 /* 4238 used by osmo-bts control interface */ -#define OSMO_VTY_PORT_STP 4239 -#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ -#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ -#define OSMO_VTY_PORT_NITB_BSC 4242 -#define OSMO_VTY_PORT_BSC_MGCP 4243 -#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP -#define OSMO_VTY_PORT_BSC_NAT 4244 -#define OSMO_VTY_PORT_SGSN 4245 -#define OSMO_VTY_PORT_GBPROXY 4246 -#define OSMO_VTY_PORT_BB 4247 +#define OSMO_VTY_PORT_STP 4239 +#define OSMO_VTY_PORT_PCU 4240 +#define OSMO_VTY_PORT_BTS 4241 +#define OSMO_VTY_PORT_NITB_BSC 4242 +#define OSMO_VTY_PORT_BSC_MGCP 4243 +#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP +#define OSMO_VTY_PORT_BSC_NAT 4244 +#define OSMO_VTY_PORT_SGSN 4245 +#define OSMO_VTY_PORT_GBPROXY 4246 +#define OSMO_VTY_PORT_BB 4247 /* 4249-4251 used by control interface */ -#define OSMO_VTY_PORT_BTSMGR 4252 -#define OSMO_VTY_PORT_GTPHUB 4253 -#define OSMO_VTY_PORT_MSC 4254 +#define OSMO_VTY_PORT_BTSMGR 4252 +#define OSMO_VTY_PORT_GTPHUB 4253 +#define OSMO_VTY_PORT_MSC 4254 /* 4255 used by control interface */ -#define OSMO_VTY_PORT_MNCC_SIP 4256 +#define OSMO_VTY_PORT_MNCC_SIP 4256 /* 4257 used by control interface */ -#define OSMO_VTY_PORT_HLR 4258 +#define OSMO_VTY_PORT_HLR 4258 /* 4259 used by control interface */ -#define OSMO_VTY_PORT_GGSN 4260 -#define OSMO_VTY_PORT_HNBGW 4261 +#define OSMO_VTY_PORT_GGSN 4260 +#define OSMO_VTY_PORT_HNBGW 4261 /* 4262-4263 used by control interface */ -#define OSMO_VTY_PORT_CBC 4264 -#define OSMO_VTY_PORT_UECUPS 4268 -#define OSMO_VTY_PORT_E1D 4269 -#define OSMO_VTY_PORT_SMLC 4271 +#define OSMO_VTY_PORT_CBC 4264 +#define OSMO_VTY_PORT_UECUPS 4268 +#define OSMO_VTY_PORT_E1D 4269 +#define OSMO_VTY_PORT_SMLC 4271 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:19:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:19:12 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: add osmo-pcap-client, -server References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 ) Change subject: port_numbers: add osmo-pcap-client, -server ...................................................................... port_numbers: add osmo-pcap-client, -server Related: OS#5203 Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d Change-Id: Iebbb07bfa1ecb6597de9925f79eb8e0aff26ae4f --- M common/chapters/port_numbers.adoc 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/29/25129/1 diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index 48ba7a2..477c3b3 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -14,6 +14,8 @@ |TCP|2775|SMPP (SMS interface for external programs)|osmo-nitb |TCP|3002|A-bis/IP OML|osmo-bts, osmo-bsc, osmo-nitb |TCP|3003|A-bis/IP RSL|osmo-bts, osmo-bsc, osmo-nitb +|TCP|4227|telnet (VTY)|osmo-pcap-client +|TCP|4228|telnet (VTY)|osmo-pcap-server |TCP|4236|Control Interface|osmo-trx |TCP|4237|telnet (VTY)|osmo-trx |TCP|4238|Control Interface|osmo-bts -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iebbb07bfa1ecb6597de9925f79eb8e0aff26ae4f Gerrit-Change-Number: 25129 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:19:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:19:25 +0000 Subject: Change in osmo-pcap[master]: README.md: fix typo References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25130 ) Change subject: README.md: fix typo ...................................................................... README.md: fix typo Change-Id: I624e491dda95449b879f362ed98784adf604ba2b --- M README.md 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/30/25130/1 diff --git a/README.md b/README.md index 791e28f..fc1cfd5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # osmo-pcap distributed network capture osmo-pcap has been created to collect network traces at different nodes -but store them centrally at a dedicated note for further analysis. This +but store them centrally at a dedicated node for further analysis. This might be needed for auditing, resolving conflicts, post processing or debugging a distributed system. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I624e491dda95449b879f362ed98784adf604ba2b Gerrit-Change-Number: 25130 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:19:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:19:25 +0000 Subject: Change in osmo-pcap[master]: Change default ports of client, server References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25131 ) Change subject: Change default ports of client, server ...................................................................... Change default ports of client, server Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Notably the defines OSMO_VTY_PORT_PCAP_CLIENT and _SERVER are currently not provided by libosmocore, but will be added with the related commit. Related: OS#5203 Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c --- M include/osmo-pcap/common.h 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/31/25131/1 diff --git a/include/osmo-pcap/common.h b/include/osmo-pcap/common.h index 79080a2..7ac5bb0 100644 --- a/include/osmo-pcap/common.h +++ b/include/osmo-pcap/common.h @@ -32,10 +32,10 @@ /* support old versions of libosmocore */ #ifndef OSMO_VTY_PORT_PCAP_CLIENT -#define OSMO_VTY_PORT_PCAP_CLIENT 4237 +#define OSMO_VTY_PORT_PCAP_CLIENT 4227 #endif #ifndef OSMO_VTY_PORT_PCAP_SERVER -#define OSMO_VTY_PORT_PCAP_SERVER 4238 +#define OSMO_VTY_PORT_PCAP_SERVER 4228 #endif enum { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c Gerrit-Change-Number: 25131 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 5 17:24:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 5 Aug 2021 17:24:12 +0000 Subject: Change in osmo-pcap[master]: Change default ports of client, server In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 to look at the new patch set (#2). Change subject: Change default ports of client, server ...................................................................... Change default ports of client, server Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Notably the defines OSMO_VTY_PORT_PCAP_CLIENT and _SERVER are currently not provided by libosmocore, but will be added with the related commit. Related: OS#5203 Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c --- M include/osmo-pcap/common.h M osmoappdesc.py 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcap refs/changes/31/25131/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c Gerrit-Change-Number: 25131 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 09:57:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 09:57:52 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#2). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 8 files changed, 325 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 09:59:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 09:59:54 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 2: (11 comments) Thanks for taking the time to review this. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 9 PS1, Line 9: placed > placed, Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 26 PS1, Line 26: l > L Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 26 PS1, Line 26: > , Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 38 PS1, Line 38: instances so > instances, so Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 38 PS1, Line 38: to > To Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 39 PS1, Line 39: interfere each > interfere with each other Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 43 PS1, Line 43: work > works Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 53 PS1, Line 53: > spaces at the end of the line, also below (gerrit highlights them) Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 112 PS1, Line 112: mgc > mgw Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/mgwpool.adoc at 113 PS1, Line 113: restarting > reconnecting? (that's the terminology used below, so I'd also use it here) Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_vty.c at 3386 PS1, Line 3386: > (unintended?) Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 09:59:54 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 11:25:25 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Aug 2021 11:25:25 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: remove unused commandline option -l In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25122 ) Change subject: osmo_bsc_main: remove unused commandline option -l ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e Gerrit-Change-Number: 25122 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 11:25:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 11:37:59 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Aug 2021 11:37:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... Patch Set 2: Has this ever been used anywhere? I can see the old osmo-bsc_nat installed a custom policy_cb (bsc_mgcp_policy_cb in bsc_mgcp_utils.c). See SYS#5560 which sounds like osmo-bsc_nat will be used in the future so maybe we'll need a policy_cb then. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 11:37:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 12:53:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 12:53:02 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc at 147 PS1, Line 147: See also See also > twice Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/doc/manuals/chapters/running.adoc at 148 PS1, Line 148: > In the other chapter and in the code you say that this is now the legacy method of configuration. [?] I have now renamed "legacy" into "single". After all it is not really a legacy (as in deprecated) configuration, even though one could configure a pool with only one member and have the same effect like old config would have. Both is valid. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_subscr_conn_fsm.c File src/osmo-bsc/bsc_subscr_conn_fsm.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/1/src/osmo-bsc/bsc_subscr_conn_fsm.c at 556 PS1, Line 556: } > this block is the same for both parts of the if ... [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 12:53:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 12:53:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 12:53:21 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#3). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 8 files changed, 320 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 12:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 12:53:33 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#9). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 608 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 12:58:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 12:58:44 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 12:58:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:11:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Aug 2021 13:11:16 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:11:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:12:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 13:12:23 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... Patch Set 2: Verified+1 Code-Review+2 trivial change after pau's review, so 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:12:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:12:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 13:12:29 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... repo-install-test: clear SERVICES_NIGHTLY list All services that start up in nightly should also start in the latest release now, as new versions have been released of related programs. Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 6 insertions(+), 10 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index 91c8375..da0d27c 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -14,27 +14,23 @@ # * osmo-ggsn (no tun device in docker) SERVICES=" osmo-bsc + osmo-bts-virtual osmo-gbproxy osmo-gtphub osmo-hlr + osmo-hnbgw osmo-mgw osmo-msc osmo-pcap-client + osmo-pcap-server + osmo-pcu + osmo-sgsn osmo-sip-connector osmo-stp " # Services working in nightly, but not yet in latest -# * osmo-pcap-server: service not included in osmo-pcap 0.0.11 -# * osmo-sgsn: conflicts with osmo-gtphub config in osmo-sgsn 1.4.0 -# * osmo-pcu: needs osmo-bts-virtual to start up properly -# * osmo-hnbgw: tries to listen on 10.23.24.1 in osmo-iuh 0.4.0 -# * osmo-bts-virtual: unit id not matching osmo-bsc's config in osmo-bsc 1.4.0 +# * (currently none) SERVICES_NIGHTLY=" - osmo-pcap-server - osmo-sgsn - osmo-pcu - osmo-hnbgw - osmo-bts-virtual " distro_obsdir() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:16:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:16:03 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2//COMMIT_MSG at 7 PS2, Line 7: Fix AmarisoftEPC local execution (unfortunately I can't give you a hint about your problem). Maybe you could describe the problem in more detail in the commit message. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 06 Aug 2021 13:16:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Aug 2021 13:18:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 6: Code-Review+1 +2 after Oliver's comments are addressed. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:18:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:22:47 +0000 Subject: Change in osmo-pcap[master]: Change default ports of client, server In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25131 ) Change subject: Change default ports of client, server ...................................................................... Patch Set 2: Code-Review+2 I see the wiki is already updated ;-) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c Gerrit-Change-Number: 25131 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 06 Aug 2021 13:22:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:24:38 +0000 Subject: Change in osmo-pcap[master]: README.md: fix typo In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25130 ) Change subject: README.md: fix typo ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I624e491dda95449b879f362ed98784adf604ba2b Gerrit-Change-Number: 25130 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 06 Aug 2021 13:24:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:25:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 6 Aug 2021 13:25:57 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 12: Code-Review+1 (2 comments) The callback could/should be static, otherwise lgtm https://gerrit.osmocom.org/c/osmo-mgw/+/25008/12/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/12/src/libosmo-mgcp-client/mgcp_client.c at 836 PS12, Line 836: void static void https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c at 208 PS11, Line 208: llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { > llist_for_each_entry_safe could be used here to remove the endpoint inside the loop. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Fri, 06 Aug 2021 13:25:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:27:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:27:19 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 06 Aug 2021 13:27:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:33:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:33:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: allow another reject cause in TC_cm_reest_req_reject In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 ) Change subject: msc: allow another reject cause in TC_cm_reest_req_reject ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 Gerrit-Change-Number: 25109 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:33:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:35:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 13:35:07 +0000 Subject: Change in osmo-pcu[master]: fix typo 's/dowlink/downlink/g' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25113 ) Change subject: fix typo 's/dowlink/downlink/g' ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 Gerrit-Change-Number: 25113 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 13:35:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:56:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:56:25 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: add osmo-pcap-client, -server In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 ) Change subject: port_numbers: add osmo-pcap-client, -server ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iebbb07bfa1ecb6597de9925f79eb8e0aff26ae4f Gerrit-Change-Number: 25129 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 13:56:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:57:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:57:40 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25128/1/include/osmocom/vty/ports.h File include/osmocom/vty/ports.h: https://gerrit.osmocom.org/c/libosmocore/+/25128/1/include/osmocom/vty/ports.h at 18 PS1, Line 18: #define OSMO_VTY_PORT_BTS 4241 there appear to be a lot of unrelated cosmetic changes, making it more difficult to figure out what was actually changed. If you want to reformat the file, fine - but do that in a separate commit. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 13:57:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:57:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:57:58 +0000 Subject: Change in osmo-pcap[master]: README.md: fix typo In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25130 ) Change subject: README.md: fix typo ...................................................................... README.md: fix typo Change-Id: I624e491dda95449b879f362ed98784adf604ba2b --- M README.md 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/README.md b/README.md index 791e28f..fc1cfd5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # osmo-pcap distributed network capture osmo-pcap has been created to collect network traces at different nodes -but store them centrally at a dedicated note for further analysis. This +but store them centrally at a dedicated node for further analysis. This might be needed for auditing, resolving conflicts, post processing or debugging a distributed system. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25130 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I624e491dda95449b879f362ed98784adf604ba2b Gerrit-Change-Number: 25130 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:58:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:58:14 +0000 Subject: Change in osmo-pcap[master]: Change default ports of client, server In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25131 ) Change subject: Change default ports of client, server ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c Gerrit-Change-Number: 25131 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 13:58:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:58:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:58:32 +0000 Subject: Change in osmo-ci[master]: repo-install-test: clear SERVICES_NIGHTLY list In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25101 ) Change subject: repo-install-test: clear SERVICES_NIGHTLY list ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25101 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idc94270978ec5ca67d6f7e20e009f905e972f984 Gerrit-Change-Number: 25101 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:58:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:58:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:58:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test DLCX request to non existant endpoint In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 ) Change subject: MGCP_Test: test DLCX request to non existant endpoint ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Gerrit-Change-Number: 24976 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:58:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:58:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:58:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:58:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:59:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 ) Change subject: MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded ...................................................................... MGCP_Test: upgrade expected behavior for TC_dlcx_wildcarded The testcase TC_dlcx_wildcarded expect osmo-mgw to reject wildcarded DLCX requests but osmo-mgw now implements wildcarded DLCX Depends: osmo-mgw I6d3a74f6087512130d85002348787bffc672de81 Depends: docker-playground I693cc17dbf6836e7a74b34111671b6e589744a63 Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Related: SYS#5535 --- M mgw/MGCP_Test.default M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 4 files changed, 59 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/mgw/MGCP_Test.default b/mgw/MGCP_Test.default index 35f7ed0..54bf9af 100644 --- a/mgw/MGCP_Test.default +++ b/mgw/MGCP_Test.default @@ -11,6 +11,15 @@ *.MGWVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" *.MGWVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" *.MGWVTY.PROMPT1 := "OsmoMGW> " +*.STATSVTY.CTRL_MODE := "client" +*.STATSVTY.CTRL_HOSTNAME := "127.0.0.1" +*.STATSVTY.CTRL_PORTNUM := "4243" +*.STATSVTY.CTRL_LOGIN_SKIPPED := "yes" +*.STATSVTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" +*.STATSVTY.CTRL_READMODE := "buffered" +*.STATSVTY.CTRL_CLIENT_CLEANUP_LINEFEED := "yes" +*.STATSVTY.CTRL_DETECT_CONNECTION_ESTABLISHMENT_RESULT := "yes" +*.STATSVTY.PROMPT1 := "OsmoMGW> " [MODULE_PARAMETERS] mp_local_udp_port := 2727; diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 307f0a8..6990679 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -30,6 +30,10 @@ import from IP_Types all; import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; + import from StatsD_Types all; + import from StatsD_CodecPort all; + import from StatsD_CodecPort_CtrlFunct all; + import from StatsD_Checker all; const charstring c_mgw_domain := "mgw"; const charstring c_mgw_ep_rtpbridge := "rtpbridge/"; @@ -37,7 +41,7 @@ /* any variables declared in the component will be available to * all functions that 'run on' the named component, similar to * class members in C++ */ - type component dummy_CT { + type component dummy_CT extends StatsD_ConnHdlr { port MGCP_CODEC_PT MGCP; var boolean initialized := false; var ConnectionId g_mgcp_conn_id := -1; @@ -50,6 +54,8 @@ port OsmuxEM_CTRL_PT OsmuxEM; port TELNETasp_PT MGWVTY; + + var StatsD_Checker_CT vc_STATSD; }; function get_next_trans_id() runs on dummy_CT return MgcpTransId { @@ -71,6 +77,8 @@ charstring mp_remote_ipv6 := "::1"; PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; + PortNumber mp_mgw_statsd_port := 8125; + charstring mp_test_ip := "127.0.0.1"; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -141,6 +149,11 @@ f_osmuxem_init(vc_OsmuxEM); connect(vc_OsmuxEM:CTRL, self:OsmuxEM); } + + f_init_statsd("VirtCallAgent", vc_STATSD, mp_test_ip, mp_mgw_statsd_port); + connect(self:STATSD_PROC, vc_STATSD:STATSD_PROC); + + f_statsd_reset(); } if (isvalue(ep)) { @@ -1043,25 +1056,52 @@ /* test valid wildcarded DLCX */ testcase TC_dlcx_wildcarded() runs on dummy_CT { - /* Note: A wildcarded DLCX is specified, but our MGW does not - * support this feature so we expect the MGW to reject the - * request */ var template MgcpCommand cmd; var MgcpResponse resp; var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "*@" & c_mgw_domain; + const integer n_endpoints := 31; + var integer i; + var MgcpCallId call_id := '1234'H; + var StatsDExpects expect; + f_init(ep); + + /* Allocate a few endpoints */ + for (i := 0; i < n_endpoints; i := i+1) { + cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id); + resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK); + } + + expect := { + { name := "TTCN3.trunk.virtual-0.common.endpoints.used", mtype := "g", min := n_endpoints, max := n_endpoints} + }; + f_statsd_expect(expect); + + /* Send wildcarded DLCX */ var template MgcpResponse rtmpl := { line := { - code := "507", + code := "200", string := ? }, params:= { }, sdp := omit }; + cmd := ts_DLCX(get_next_trans_id(), ep); + mgcp_transceive_mgw(cmd, rtmpl); - f_init(ep); + /* The stats reporter collects multiple samples during the reporting interval and + * reports the highest back to the user. This means we will not immediately get + * the 0 endpoints but an intermediate result instead. */ + expect := { + { name := "TTCN3.trunk.virtual-0.common.endpoints.used", mtype := "g", min := 0, max := n_endpoints} + }; + f_statsd_expect(expect); - cmd := ts_DLCX(get_next_trans_id(), ep, '41234'H); - resp := mgcp_transceive_mgw(cmd, rtmpl); + /* The second interval must resturn a result with 0 endpoints in use. */ + expect := { + { name := "TTCN3.trunk.virtual-0.common.endpoints.used", mtype := "g", min := 0, max := 0} + }; + f_statsd_expect(expect); + setverdict(pass); } diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh index 8893954..6ca53a6 100755 --- a/mgw/gen_links.sh +++ b/mgw/gen_links.sh @@ -45,6 +45,7 @@ FILES+="Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn " FILES+="Osmocom_VTY_Functions.ttcn " FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " +FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " gen_links $DIR $FILES ignore_pp_results diff --git a/mgw/regen_makefile.sh b/mgw/regen_makefile.sh index 4662933..2368c77 100755 --- a/mgw/regen_makefile.sh +++ b/mgw/regen_makefile.sh @@ -1,5 +1,5 @@ #!/bin/sh -FILES="*.ttcn SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc " +FILES="*.ttcn SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc StatsD_CodecPort_CtrlFunctdef.cc " ../regen-makefile.sh MGCP_Test.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24821 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I61e23e264bc85eb36d07431c7839fb445c110947 Gerrit-Change-Number: 24821 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:59:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:59:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: test DLCX request to non existant endpoint In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 ) Change subject: MGCP_Test: test DLCX request to non existant endpoint ...................................................................... MGCP_Test: test DLCX request to non existant endpoint Since we now support wildcarded DLCX request, which so not necessarly require a specific endpoint (the trunk is enough). We should also check what happens when we send a DLCX request to a non existent endpoint. The situation would be very similar. osmo-mgw will be unable to resolve the endpoint, but the trunk will be resolved. However eventually the request is not wildcarded and we expect that osmo-mgw is rejecting it. Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Related: SYS#5535 --- M mgw/MGCP_Test.ttcn 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 6990679..3aa7926 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -1026,6 +1026,27 @@ setverdict(pass); } + /* DLCX to non existing endpoint */ + testcase TC_dlcx_non_existant_ep() runs on dummy_CT { + var template MgcpCommand cmd; + var MgcpResponse resp; + var MgcpEndpoint ep := c_mgw_ep_rtpbridge & "AA@" & c_mgw_domain; + var template MgcpResponse rtmpl := { + line := { + code := ("500"), + string := ? + }, + params:= { }, + sdp := omit + }; + + f_init(ep); + + cmd := ts_DLCX(get_next_trans_id(), ep, '41234'H); + resp := mgcp_transceive_mgw(cmd, rtmpl); + setverdict(pass); + } + /* test valid wildcarded MDCX */ testcase TC_mdcx_wildcarded() runs on dummy_CT { /* Note: A wildcarded MDCX is not allowed, so we expect the @@ -2459,6 +2480,7 @@ execute(TC_crcx_wildcarded_exhaust()); execute(TC_mdcx_without_crcx()); execute(TC_dlcx_without_crcx()); + execute(TC_dlcx_non_existant_ep()); execute(TC_mdcx_wildcarded()); execute(TC_dlcx_wildcarded()); execute(TC_crcx_and_dlcx_ep_callid_connid()); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24976 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3d8c6f84404c1c95f97f113813528175523d36b8 Gerrit-Change-Number: 24976 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:59:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:59:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:59:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 13:59:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 13:59:50 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25115 ) Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 13:59:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:00:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:00:50 +0000 Subject: Change in osmo-msc[master]: running.adoc: add section about MGCP configuration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25117 ) Change subject: running.adoc: add section about MGCP configuration ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Gerrit-Change-Number: 25117 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:00:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:01:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:01:30 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 14:01:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:02:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:02:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:02:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:03:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add Coord_PT to communicate between components In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 ) Change subject: bsc: add Coord_PT to communicate between components ...................................................................... bsc: add Coord_PT to communicate between components This is used by upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 --- M bsc/MSC_ConnectionHandler.ttcn 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index af93343..5f77764 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -431,6 +431,11 @@ [] as_Media_mgw(); } +type port Coord_PT message +{ + inout charstring; +} with { extension "internal" }; + /* this component represents a single subscriber connection at the MSC. * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components. * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */ @@ -441,6 +446,7 @@ /* procedure port back to our parent (RAN_Emulation_CT) for control */ port RAN_PROC_PT RAN; port TELNETasp_PT BSCVTY; + port Coord_PT COORD; /* Proxy MGCP-over-IPA and MGCP-over-UDP */ port IPA_MGCP_PT MGCP_MSC_CLIENT; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25019 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165 Gerrit-Change-Number: 25019 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: split f_start_handler() in two, ..._create() and ..._run() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 ) Change subject: bsc: split f_start_handler() in two, ..._create() and ..._run() ...................................................................... bsc: split f_start_handler() in two, ..._create() and ..._run() This is used by upcoming BSC_Tests.TC_cm_reestablishment(). Related: SYS#5130 Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 --- M bsc/BSC_Tests.ttcn 1 file changed, 13 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 61ae49e..c4ae469 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -3290,7 +3290,7 @@ connect(vc_conn:STATSD_PROC, vc_STATSD:STATSD_PROC); } -function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) +function f_start_handler_create(template (omit) TestHdlrParams pars := omit) runs on test_CT return MSC_ConnHdlr { var charstring id := testcasename(); var MSC_ConnHdlr vc_conn; @@ -3300,12 +3300,23 @@ } vc_conn := MSC_ConnHdlr.create(id); f_connect_handler(vc_conn, bssap_idx); + return vc_conn; +} + +function f_start_handler_run(MSC_ConnHdlr vc_conn, void_fn fn, template (omit) TestHdlrParams pars := omit) +runs on test_CT return MSC_ConnHdlr { + var charstring id := testcasename(); /* Emit a marker to appear in the SUT's own logging output */ - f_logp(BSCVTY, testcasename() & "() start"); + f_logp(BSCVTY, id & "() start"); vc_conn.start(f_handler_init(fn, id, pars)); return vc_conn; } +function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit) +runs on test_CT return MSC_ConnHdlr { + return f_start_handler_run(f_start_handler_create(pars), fn, pars); +} + /* first function inside ConnHdlr component; sets g_pars + starts function */ private function f_handler_init(void_fn fn, charstring id, template (omit) TestHdlrParams pars := omit) runs on MSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25020 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256 Gerrit-Change-Number: 25020 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_cm_reestablishment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 ) Change subject: bsc: add TC_cm_reestablishment ...................................................................... bsc: add TC_cm_reestablishment Related: SYS#5130 Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e --- M bsc/BSC_Tests.ttcn M library/L3_Templates.ttcn 2 files changed, 158 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index c4ae469..0ab8bde 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9434,6 +9434,141 @@ f_shutdown_helper(); } +const charstring REEST_LOST_CONNECTION := "REEST_LOST_CONNECTION"; +const charstring REEST_CLEAR := "REEST_CLEAR"; +const charstring REEST_CLEAR_DONE := "REEST_CLEAR_DONE"; + +/* CM Re-Establishment, 3GPP TS 24.008 4.5.1.6. + * The MS <-> BTS loses radio connection, MS shows up on second BTS and asks for CM Re-Establishment. + * BSC should establish a separate A conn for the same MS, the original A conn is then cleared by + * the MSC as the CM Re-Establishment is handled. + * + * MS bts0 bts1 bsc msc test-component + * |<----->|<----------------->|<-0-->| _1 Establish channel on bts 0 + * | | _1 wait a bit, to settle down + * |<-x x--| | _1 "lose connection" + * | | REEST_LOST_CONNECTION + * |----------------->|------->|--1-->| _2 new A-conn: Chan Rqd, Imm Ass, Compl L3 with CM Re-Establishment Req + * | | REEST_CLEAR + * | |<-0---| _1 Clear Command on first A-conn + * | |--0-->| _1 Clear Complete + * | |<----------------->| | _1 Release first channel + * | | REEST_CLEAR_DONE + * |<-----------------|<-------|<-1---| _2 Chan Activ, Assignment Command + * |<-----------------|<-------|<-1---| _2 Clear Command, Release + * + */ +private function f_tc_cm_reestablishment_1(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + f_establish_fully(ass_cmd, exp_compl); + + /* The original channel loses connection, MS attemts CM Re-Establishment on another cell, see + * f_tc_cm_reestablishment_2(). This established channel stays active until MSC sends a Clear Command. The time + * when exactly that happens is determined by f_tc_cm_reestablishment_2(). */ + f_sleep(2.0); + COORD.send(REEST_LOST_CONNECTION); + + alt { + [] COORD.receive(REEST_CLEAR); + [] RSL.receive(tr_RSL_DEACT_SACCH(g_chan_nr)) { + setverdict(fail, "Unexpected channel release"); + mtc.stop; + } + [] RSL.receive(tr_RSL_RF_CHAN_REL(g_chan_nr)) { + setverdict(fail, "Unexpected channel release"); + mtc.stop; + } + } + f_perform_clear() + f_expect_dlcx_conns(); + COORD.send(REEST_CLEAR_DONE); +} + +private function f_tc_cm_reestablishment_2(charstring id) runs on MSC_ConnHdlr { + f_MscConnHdlr_init(g_pars.media_nr, host_bts, host_mgw_mgcp, FR_AMR); + + /* The MS lost the connection on the first channel, now establishes another one */ + COORD.receive(REEST_LOST_CONNECTION); + + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REESTABL_REQ(mi)); + var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); + + f_create_bssmap_exp(l3_enc); + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); + BSSAP.receive(tr_BSSMAP_ComplL3(l3_enc)); + + /* MSC got the CM Re-Establishment request and first off clears the previous conn. */ + COORD.send(REEST_CLEAR); + COORD.receive(REEST_CLEAR_DONE); + + f_sleep(2.0); + + /* Answer the CM Re-Establishment with an Assignment Command. */ + var template PDU_BSSAP expect_assignment_compl := f_gen_exp_compl(); + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); + ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); + + var AssignmentState st := valueof(ts_AssignmentStateInit); + st.voice_call := true; + st.is_assignment := true; + + var ExpectCriteria mgcpcrit := { + connid := omit, + endpoint := omit, + transid := omit + }; + f_create_mgcp_expect(mgcpcrit); + + f_rslem_dchan_queue_enable(); + + BSSAP.send(ass_cmd); + + var PDU_BSSAP bssap; + + alt { + [] as_assignment(st); + [] as_Media(); + [st.assignment_done] BSSAP.receive(expect_assignment_compl) { + break; + } + } + + f_sleep(3.0); + + f_logp(BSCVTY, "f_tc_cm_reestablishment_2 clearing"); + f_perform_clear(); + f_expect_dlcx_conns(); +} + +testcase TC_cm_reestablishment() runs on test_CT { + var TestHdlrParams pars1 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn1; + + var TestHdlrParams pars2 := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn2; + pars2.imsi := pars1.imsi; + pars2.media_nr := 2; + + f_init(2, true, guard_timeout := 40.0); + f_sleep(1.0); + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_cm_reestablishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_cm_reestablishment_2), pars2); + vc_conn1.done; + vc_conn2.done; + + f_shutdown_helper(); +} control { /* CTRL interface testing */ @@ -9722,6 +9857,8 @@ execute( TC_refuse_mode_modif_to_vamos() ); execute( TC_reassignment_fr() ); + + execute( TC_cm_reestablishment() ); } } diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index 53731c0..c6ebeb4 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -372,6 +372,27 @@ } } +template (value) PDU_ML3_MS_NW ts_CM_REESTABL_REQ(MobileIdentityLV mi_lv) := { + discriminator := '0000'B, /* overwritten */ + tiOrSkip := { + skipIndicator := '0000'B + }, + msgs := { + mm := { + cMReEstablReq := { + messageType := '000000'B, /* overwritten */ + nsd := '00'B, + cipheringKeySequenceNumber := { '000'B, '0'B }, + spare := '0000'B, + mobileStationClassmark2 := ts_CM2, + mobileIdentityLV := mi_lv, + locationAreaIdentification := omit, + deviceProperties := omit + } + } + } +} + template (value) CipheringKeySequenceNumberV ts_CKSN(integer key_seq) := { keySequence := int2bit(key_seq, 3), spare := '0'B -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25021 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e Gerrit-Change-Number: 25021 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: TC_cm_reestablishment(): do second lchan on bts 1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 ) Change subject: bsc: TC_cm_reestablishment(): do second lchan on bts 1 ...................................................................... bsc: TC_cm_reestablishment(): do second lchan on bts 1 So far the test ran both lchans on bts 0, which is not really a realistic scenario for a CM Re-Establishment Request. Move the second channel to bts 1, using various RSL port args added recently. Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 --- M bsc/BSC_Tests.ttcn 1 file changed, 9 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0ab8bde..0a11a48 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9500,7 +9500,7 @@ var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info); f_create_bssmap_exp(l3_enc); - RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn); + RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn, rsl_pt := RSL1, rsl_proc_pt := RSL1_PROC); BSSAP.receive(tr_BSSMAP_ComplL3(l3_enc)); /* MSC got the CM Re-Establishment request and first off clears the previous conn. */ @@ -9526,15 +9526,16 @@ }; f_create_mgcp_expect(mgcpcrit); - f_rslem_dchan_queue_enable(); + f_rslem_dchan_queue_enable(RSL1_PROC); BSSAP.send(ass_cmd); var PDU_BSSAP bssap; alt { - [] as_assignment(st); - [] as_Media(); + [] as_assignment(st, rsl_pt := RSL1, rsl_proc_pt := RSL1_PROC); + [] as_Media_ipacc(RSL1, RSL2); + [] as_Media_mgw(); [st.assignment_done] BSSAP.receive(expect_assignment_compl) { break; } @@ -9543,7 +9544,7 @@ f_sleep(3.0); f_logp(BSCVTY, "f_tc_cm_reestablishment_2 clearing"); - f_perform_clear(); + f_perform_clear(RSL1, RSL1_PROC); f_expect_dlcx_conns(); } @@ -9555,6 +9556,9 @@ var MSC_ConnHdlr vc_conn2; pars2.imsi := pars1.imsi; pars2.media_nr := 2; + /* f_tc_cm_reestablishment_2 uses 'bts 1'. + * BTS 1 has BSIC 11 (and no explicit timeslot training_sequence_code config), so expecting TSC = (BSIC & 7) = 3 */ + pars2.expect_tsc := 3; f_init(2, true, guard_timeout := 40.0); f_sleep(1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25022 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8 Gerrit-Change-Number: 25022 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: improve error log for "RSL for unknown Dchan" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 ) Change subject: bsc: improve error log for "RSL for unknown Dchan" ...................................................................... bsc: improve error log for "RSL for unknown Dchan" The failure verdict includes the RSL message that could not be associated with a handling component, but ttcn_logformat does not format that message. Add an identical log() that gets formatted nicely. Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b --- M library/RSL_Emulation.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn index 969dbce..31647df 100644 --- a/library/RSL_Emulation.ttcn +++ b/library/RSL_Emulation.ttcn @@ -612,6 +612,8 @@ log("Storing an RSL message in the waiting queue"); WaitingQueue := WaitingQueue & { rx_rsl }; } else { + log("Error: RSL for unknown Dchan (streamId ", rx_rsl.streamId, ", chan_nr ", + rx_rsl.rsl.ies[0].body.chan_nr, "): ", rx_rsl); setverdict(fail, "RSL for unknown Dchan"); mtc.stop; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25023 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibb8f60671e78075492783cba560a8229ba5a380b Gerrit-Change-Number: 25023 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: .gitignore sms.db In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 ) Change subject: .gitignore sms.db ...................................................................... .gitignore sms.db When running osmo-msc in osmo-ttcn3-hacks/msc, it will leave behind an sms.db. Ignore it. Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/.gitignore b/.gitignore index b247c04..9d48551 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ *.netcat.stderr *.d *.merged +sms.db -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25063 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4c66a9861f92293520c4c38a50d4d51f3cf2a77 Gerrit-Change-Number: 25063 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 ) Change subject: msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) ...................................................................... msc: fix conn id in 'MGCP OK' msg (as_mgcp_ack_all_mdcx) The MDCX OK message should contain the same connection identifier as the MDCX contained. So far we were always sending the second conn id, regardless of which conn id was sent in the MDCX message. Related: SYS#5130 Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0d95c61..0e0d6b6 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5700,6 +5700,8 @@ private altstep as_mgcp_ack_all_mdcx(CallParameters cpars) runs on BSC_ConnHdlr { var MgcpCommand mgcp_cmd; [] MGCP.receive(tr_MDCX) -> value mgcp_cmd { + var charstring conn_id; + f_mgcp_find_param_entry(mgcp_cmd.params, "I", conn_id); var SDP_Message sdp := valueof(ts_SDP(cpars.mgw_conn_2.mgw_rtp_ip, cpars.mgw_conn_2.mgw_rtp_ip, hex2str(cpars.mgcp_call_id), "42", cpars.mgw_conn_2.mgw_rtp_port, @@ -5707,7 +5709,7 @@ { valueof(ts_SDP_rtpmap(cpars.rtp_payload_type, cpars.rtp_sdp_format)), valueof(ts_SDP_ptime(20)) })); - MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, cpars.mgw_conn_2.mgcp_connection_id, sdp)); + MGCP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, str2hex(conn_id), sdp)); repeat; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25064 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If6f7f135d95c04ee0240f3fa9ba0b18ffc6fa24a Gerrit-Change-Number: 25064 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: eliminate bssap_idx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 ) Change subject: msc: eliminate bssap_idx ...................................................................... msc: eliminate bssap_idx There is a pars.ran_idx, no need for an explicit bssap_idx argument. There is only one occurence passing a nonzero bssap_idx, use pars.ran_idx instead. Preparation for patch "msc: split f_start_handler_with_pars()" Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Related: SYS#5130 Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 --- M msc/MSC_Tests.ttcn 1 file changed, 11 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 0e0d6b6..740d396 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -412,14 +412,15 @@ return pars; } -function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars, integer bssap_idx := 0) runs on MTC_CT return BSC_ConnHdlr { +function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { var BSC_ConnHdlr vc_conn; - var charstring id := testcasename() & int2str(bssap_idx); + var charstring id := testcasename() & int2str(pars.ran_idx); vc_conn := BSC_ConnHdlr.create(id); + /* BSSMAP part / A interface */ - connect(vc_conn:BSSAP, g_bssap[pars.ran_idx + bssap_idx].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_PROC, g_bssap[pars.ran_idx + bssap_idx].vc_RAN:PROC); + connect(vc_conn:BSSAP, g_bssap[pars.ran_idx].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_PROC, g_bssap[pars.ran_idx].vc_RAN:PROC); /* MNCC part */ connect(vc_conn:MNCC, vc_MNCC:MNCC_CLIENT); connect(vc_conn:MNCC_PROC, vc_MNCC:MNCC_PROC); @@ -5912,6 +5913,7 @@ pars0.use_umts_aka := true; pars0.vec := f_gen_auth_vec_3g(); pars0.vec_keep := true; + pars0.ran_idx := 0; var BSC_ConnHdlrPars pars1 := f_init_pars(53); pars1.use_ipv6 := use_ipv6; @@ -5926,14 +5928,15 @@ * components and then not overwriting it in BSC_ConnectionHandler. */ pars1.vec := pars0.vec; pars1.vec_keep := true; + pars1.ran_idx := 1; if (a5_n > 0) { f_vty_config(MSCVTY, "network", "authentication required"); } f_vty_config(MSCVTY, "network", "encryption a5 " & int2str(a5_n)); - vc_conn0 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc0), pars0, 0); - vc_conn1 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc1), pars1, 1); + vc_conn0 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc0), pars0); + vc_conn1 := f_start_handler_with_pars(refers(f_tc_ho_inter_bsc1), pars1); vc_conn0.done; vc_conn1.done; } @@ -6252,7 +6255,7 @@ } f_vty_config(MSCVTY, "network", "encryption a5 " & int2str(a5_n)); - vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars, 0); + vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars); vc_conn.done; } testcase TC_ho_inter_msc_out() runs on MTC_CT { @@ -6274,7 +6277,7 @@ var BSC_ConnHdlrPars pars := f_init_pars(54); pars.use_ipv6 := true; - vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars, 0); + vc_conn := f_start_handler_with_pars(refers(f_tc_ho_inter_msc_out), pars); vc_conn.done; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25088 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib5c5585f098ff269920cf9d5781c4366234854c5 Gerrit-Change-Number: 25088 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: allow another reject cause in TC_cm_reest_req_reject In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 ) Change subject: msc: allow another reject cause in TC_cm_reest_req_reject ...................................................................... msc: allow another reject cause in TC_cm_reest_req_reject osmo-msc will soon have CM Re-Establishing support, and it will start returning a different reject code instead of GSM48_REJECT_SRV_OPT_NOT_SUPPORTED. In TC_cm_reest_req_reject, there is no previous ongoing connection let alone a voice call, so osmo-msc will return GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED. Related: SYS#5130 Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 --- M msc/MSC_Tests.ttcn 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 740d396..d63e5fc 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -1403,7 +1403,9 @@ var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REEST_REQ(0, mi)); f_cl3_or_initial_ue(l3_info); - BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ(int2oct(32,1)))); + /* Older osmo-msc returns: GSM48_REJECT_SRV_OPT_NOT_SUPPORTED = 32, + * newer osmo-msc with CM Re-Establish support returns: GSM48_REJECT_CALL_CAN_NOT_BE_IDENTIFIED = 38 */ + BSSAP.receive(tr_PDU_DTAP_MT(tr_CM_SERV_REJ( (int2oct(32,1), int2oct(38,1)) ))); f_expect_clear(); } testcase TC_cm_reest_req_reject() runs on MTC_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25109 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3eebab2b26016fb0ef7bf958208eaba6ae4c7836 Gerrit-Change-Number: 25109 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: L3_Templates: add ts_ML3_MO_CC_DISC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 ) Change subject: L3_Templates: add ts_ML3_MO_CC_DISC ...................................................................... L3_Templates: add ts_ML3_MO_CC_DISC To simulate an MS initiated call release at the MSC, a MO CC DISCONNECT is required. So far msc's f_call_hangup() has some really weird sequences of MNCC events. This is one preparation to fix that. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 --- M library/L3_Templates.ttcn 1 file changed, 40 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/L3_Templates.ttcn b/library/L3_Templates.ttcn index c6ebeb4..997b433 100644 --- a/library/L3_Templates.ttcn +++ b/library/L3_Templates.ttcn @@ -62,6 +62,23 @@ diagnostics := omit } +template ML3_Cause_LV ts_ML3_Cause_LV(BIT7 cause, BIT4 loc := '0001'B, BIT2 std := '11'B) := { + lengthIndicator := 0, /* overwritten */ + oct3 := { + location := loc, + spare1_1 := '0'B, + codingStandard := std, + ext1 := '0'B, + recommendation := omit, + ext2 := omit + }, + oct4 := { + causeValue := cause, + ext3 := '1'B + }, + diagnostics := omit +} + /* 3GPP TS 24.008, section 10.5.1.4 "Mobile Identity" */ template (value) MobileIdentityTLV ts_MI_TLV(template (value) MobileIdentityV mi) := { @@ -1566,6 +1583,29 @@ } } +template PDU_ML3_MS_NW ts_ML3_MO_CC_DISC(integer tid, BIT1 tid_remote, BIT7 cause) := { + discriminator := '0011'B, + tiOrSkip := { + transactionId := { + tio := int2bit(tid, 3), + tiFlag := tid_remote, + tIExtension := omit + } + }, + msgs := { + cc := { + disconnect_MS_NW := { + messageType := '100101'B, + nsd := '00'B, + cause := ts_ML3_Cause_LV(cause), + facility := omit, + user_user := omit, + ss_VersionIndicator := omit + } + } + } +} + template PDU_ML3_NW_MS tr_ML3_MT_CC_RELEASE(integer tid) := { discriminator := '0011'B, tiOrSkip := { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25065 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie152f8760c9bd6df04a20fdbb7ce9bbde9cb3d68 Gerrit-Change-Number: 25065 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Emulation: allow moving ep handling to another test component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 ) Change subject: MGCP_Emulation: allow moving ep handling to another test component ...................................................................... MGCP_Emulation: allow moving ep handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864, where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 --- M library/MGCP_Emulation.ttcn 1 file changed, 26 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/MGCP_Emulation.ttcn b/library/MGCP_Emulation.ttcn index 8ccc085..9a92b9c 100644 --- a/library/MGCP_Emulation.ttcn +++ b/library/MGCP_Emulation.ttcn @@ -193,6 +193,19 @@ mtc.stop; } +private function f_ep_table_change_connhdlr(MGCP_ConnHdlr comp_ref, MgcpEndpoint ep) +runs on MGCP_Emulation_CT { + var integer i; + for (i := 0; i < sizeof(MgcpEndpointTable); i := i+1) { + if (MgcpEndpointTable[i].endpoint == ep) { + MgcpEndpointTable[i].comp_ref := comp_ref; + log("MGCP_Emulation_CT: MgcpEndpointTable[", i, "] now sends to ", comp_ref); + return; + } + } + setverdict(fail, "MGCP Endpoint Table: Couldn't find entry to move to ", comp_ref); + mtc.stop; +} /* Check if the given transaction ID is a pending CRCX. If yes, return true + remove */ private function f_trans_id_was_pending(MgcpTransId trans_id) @@ -349,6 +362,10 @@ f_ep_table_del(vc_conn, ep); MGCP_PROC.reply(MGCPEM_delete_ep:{ep, vc_conn}) to vc_conn; } + [] MGCP_PROC.getcall(MGCPEM_change_connhdlr:{?,?}) -> param(ep, vc_conn) { + f_ep_table_change_connhdlr(vc_conn, ep); + MGCP_PROC.reply(MGCPEM_change_connhdlr:{ep, vc_conn}) to vc_conn; + } } } @@ -370,9 +387,10 @@ signature MGCPEM_register(in ExpectCriteria cmd, in MGCP_ConnHdlr hdlr); signature MGCPEM_delete_ep(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr); +signature MGCPEM_change_connhdlr(in MgcpEndpoint ep, in MGCP_ConnHdlr hdlr); type port MGCPEM_PROC_PT procedure { - inout MGCPEM_register, MGCPEM_delete_ep; + inout MGCPEM_register, MGCPEM_delete_ep, MGCPEM_change_connhdlr; } with { extension "internal" }; function f_get_mgcp_by_crit(ExpectCriteria crit) @@ -462,6 +480,13 @@ } } +/* Move MGCP handling for a given MGW endpoint to a different MGCP_ConnHdlr component. */ +function f_mgcp_change_connhdlr(MgcpEndpoint ep) runs on MGCP_ConnHdlr { + MGCP_PROC.call(MGCPEM_change_connhdlr:{ep, self}) { + [] MGCP_PROC.getreply(MGCPEM_change_connhdlr:{?,?}) {}; + } +} + private function f_expect_table_init() runs on MGCP_Emulation_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25066 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id46035e53c2870e1fdef1335dce42b2020f7cd54 Gerrit-Change-Number: 25066 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MNCC_Emulation: allow moving call handling to another test component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 ) Change subject: MNCC_Emulation: allow moving call handling to another test component ...................................................................... MNCC_Emulation: allow moving call handling to another test component Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 --- M library/MNCC_Emulation.ttcn 1 file changed, 15 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/MNCC_Emulation.ttcn b/library/MNCC_Emulation.ttcn index 49b1249..66294a4 100644 --- a/library/MNCC_Emulation.ttcn +++ b/library/MNCC_Emulation.ttcn @@ -287,6 +287,7 @@ var MNCC_PDU mncc; var MNCC_ConnHdlr vc_hdlr; var charstring dest_nr; + var uint32_t mncc_call_id; alt { /* MNCC -> Client: UNIT-DATA (connectionless SCCP) from a BSC */ @@ -360,6 +361,11 @@ MNCC_PROC.reply(MNCCEM_register:{dest_nr, vc_hdlr}) to vc_hdlr; } + [] MNCC_PROC.getcall(MNCCEM_change_connhdlr:{?,?}) -> param(mncc_call_id, vc_hdlr) { + f_call_table_del(mncc_call_id); + f_call_table_add(vc_hdlr, mncc_call_id); + MNCC_PROC.reply(MNCCEM_change_connhdlr:{mncc_call_id, vc_hdlr}) to vc_hdlr; + } } } } @@ -384,9 +390,10 @@ /* procedure based port to register for incoming calls */ signature MNCCEM_register(in charstring dest_nr, in MNCC_ConnHdlr hdlr); +signature MNCCEM_change_connhdlr(in uint32_t mncc_call_id, in MNCC_ConnHdlr hdlr); type port MNCCEM_PROC_PT procedure { - inout MNCCEM_register; + inout MNCCEM_register, MNCCEM_change_connhdlr; } with { extension "internal" }; /* CreateCallback that can be used as create_cb and will use the expectation table */ @@ -445,6 +452,13 @@ } } +/* Move MNCC handling for a given call id to another MNCC_ConnHdlr test component. */ +function f_mncc_change_connhdlr(uint32_t mncc_call_id) runs on MNCC_ConnHdlr { + MNCC_PROC.call(MNCCEM_change_connhdlr:{mncc_call_id, self}) { + [] MNCC_PROC.getreply(MNCCEM_change_connhdlr:{?,?}) {}; + } +} + function DummyUnitdataCallback(MNCC_PDU mncc) runs on MNCC_Emulation_CT return template MNCC_PDU { log("Ignoring MNCC ", mncc); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25067 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If7e952e54ebd1bb88cce11ec5f0ff4826e02cb63 Gerrit-Change-Number: 25067 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: GSUP_Emulation: allow moving HLR handling to another test component In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 ) Change subject: GSUP_Emulation: allow moving HLR handling to another test component ...................................................................... GSUP_Emulation: allow moving HLR handling to another test component Will be used by MSC_Tests.TC_call_re_establishment_auth in I8110a6b432de734d53b111c7b69aabca12129691 where a call from one vc_conn gets re-established in another vc_conn. Related: SYS#5130 Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 --- M library/GSUP_Emulation.ttcn 1 file changed, 14 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/GSUP_Emulation.ttcn b/library/GSUP_Emulation.ttcn index 51c158a..0905806 100644 --- a/library/GSUP_Emulation.ttcn +++ b/library/GSUP_Emulation.ttcn @@ -222,6 +222,12 @@ GSUP_PROC.reply(GSUPEM_register:{imsi, vc_hdlr}) to vc_hdlr; } + [] GSUP_PROC.getcall(GSUPEM_change_connhdlr:{?,?}) -> param(imsi, vc_hdlr) { + f_imsi_table_del(imsi); + f_imsi_table_add(vc_hdlr, imsi); + GSUP_PROC.reply(GSUPEM_change_connhdlr:{imsi, vc_hdlr}) to vc_hdlr; + } + } } } @@ -240,9 +246,10 @@ /* procedure based port to register for incoming calls */ signature GSUPEM_register(in charstring imsi, in GSUP_ConnHdlr hdlr); +signature GSUPEM_change_connhdlr(in charstring imsi, in GSUP_ConnHdlr hdlr); type port GSUPEM_PROC_PT procedure { - inout GSUPEM_register; + inout GSUPEM_register, GSUPEM_change_connhdlr; } with { extension "internal" }; /* CreateCallback that can be used as create_cb and will use the expectation table */ @@ -302,4 +309,10 @@ } } +function f_gsup_change_connhdlr(charstring imsi) runs on GSUP_ConnHdlr { + GSUP_PROC.call(GSUPEM_change_connhdlr:{imsi, self}) { + [] GSUP_PROC.getreply(GSUPEM_change_connhdlr:{?,?}) {}; + } +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25071 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I235492185cda68f9f8e845085e3f6efe76a13501 Gerrit-Change-Number: 25071 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SMPP_Emulation: replace previous entries in f_create_smpp_expect() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 ) Change subject: SMPP_Emulation: replace previous entries in f_create_smpp_expect() ...................................................................... SMPP_Emulation: replace previous entries in f_create_smpp_expect() Will be used by MSC_Tests.TC_call_re_establishment_auth in I8110a6b432de734d53b111c7b69aabca12129691 to re-plug SMPP handling for an imsi to another vc_conn. Related: SYS#5130 Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 --- M library/SMPP_Emulation.ttcn 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/library/SMPP_Emulation.ttcn b/library/SMPP_Emulation.ttcn index fdeed4b..6c808eb 100644 --- a/library/SMPP_Emulation.ttcn +++ b/library/SMPP_Emulation.ttcn @@ -362,6 +362,17 @@ private function f_create_expect(charstring dest_number, SMPP_ConnHdlr hdlr) runs on SMPP_Emulation_CT { for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { + if (ExpectTable[i].dst_addr == dest_number) { + ExpectTable[i] := { + dst_ton := omit, + dst_npi := omit, + dst_addr := dest_number, + vc_conn := hdlr + } + return; + } + } + for (var integer i := 0; i < sizeof(ExpectTable); i := i+1) { if (ExpectTable[i].vc_conn == null) { ExpectTable[i] := { dst_ton := omit, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25072 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I63856fc158f5db9ced9185c208035b26e7ed7a74 Gerrit-Change-Number: 25072 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add as_mgcp_ack_all_dlcx In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 ) Change subject: msc: add as_mgcp_ack_all_dlcx ...................................................................... msc: add as_mgcp_ack_all_dlcx Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 --- M msc/MSC_Tests.ttcn 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d63e5fc..d991cc9 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -5717,6 +5717,14 @@ } } +private altstep as_mgcp_ack_all_dlcx(CallParameters cpars) runs on BSC_ConnHdlr { + var MgcpCommand mgcp_cmd; + [] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd { + MGCP.send(ts_DLCX_ACK2(mgcp_cmd.line.trans_id)); + repeat; + } +} + private function f_tc_ho_inter_bsc0(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { var CallParameters cpars; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25068 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic63fa41fa2e5d392d39f6b5f9edd3952aa6a9ee9 Gerrit-Change-Number: 25068 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add a COORD port for inter-component coordination In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 ) Change subject: msc: add a COORD port for inter-component coordination ...................................................................... msc: add a COORD port for inter-component coordination Also provide a blank receive template for CallParameters which is needed to receive a CallParameters record via the COORD port. Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 --- M msc/BSC_ConnectionHandler.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index cf4e846..2f270ca 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -63,11 +63,18 @@ import from TCCConversion_Functions { function f_strstr }; +type port BSC_ConnHdlr_Coord_PT message +{ + inout charstring, CallParameters; +} with { extension "internal" }; + + /* this component represents a single subscriber connection */ type component BSC_ConnHdlr extends RAN_ConnHdlr, MNCC_ConnHdlr, GSUP_ConnHdlr, MGCP_ConnHdlr, SMPP_ConnHdlr, CTRL_Adapter_CT, SGsAP_ConnHdlr { var BSC_ConnHdlrPars g_pars; timer g_Tguard := 60.0; port TELNETasp_PT MSCVTY; + port BSC_ConnHdlr_Coord_PT COORD; } type record BSC_ConnHdlrNetworkPars { @@ -959,6 +966,35 @@ got_osmux_count := 0 }; +template CallParameters tr_CallParams := { + called_party := ?, + transaction_id := ?, + mo_call := ?, + bearer_cap := ?, + emergency := ?, + mncc_callref := *, + mncc_bearer_cap := ?, + mncc_rtp_ip := ?, + mncc_rtp_port := ?, + bss_rtp_ip := ?, + bss_rtp_port := ?, + mss_rtp_ip := *, + mss_rtp_port := *, + got_crcx_count := ?, + mgw_conn_1 := ?, + mgw_conn_2 := ?, + rtp_payload_type := ?, + rtp_sdp_format := ?, + mgw_drop_dlcx := ?, + stop_after_cc_setup := ?, + ran_clear_when_alerting := ?, + expect_release := ?, + mgcp_call_id := *, + mgcp_ep := ?, + use_osmux := ?, + got_osmux_count := ? +}; + /* Allocate a call reference and send SETUP via MNCC to MSC */ function f_mt_call_initate(inout CallParameters cpars) runs on BSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25069 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iba3a5304fa40159bc2c31cdc3a71ee56ed08bd12 Gerrit-Change-Number: 25069 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: split f_start_handler_with_pars() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 ) Change subject: msc: split f_start_handler_with_pars() ...................................................................... msc: split f_start_handler_with_pars() To allow running connect() on the COORD ports of test components before starting the test component but after creating it, split f_start_handler_with_pars() into f_start_handler_create() and _run(). Will be used by MSC_Tests.TC_call_re_establishment in Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Related: SYS#5130 Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 --- M msc/MSC_Tests.ttcn 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index d991cc9..f0421c7 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -412,7 +412,7 @@ return pars; } -function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { +function f_start_handler_create(BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { var BSC_ConnHdlr vc_conn; var charstring id := testcasename() & int2str(pars.ran_idx); @@ -440,10 +440,20 @@ connect(vc_conn:SGsAP, vc_SGsAP:SGsAP_CLIENT); connect(vc_conn:SGsAP_PROC, vc_SGsAP:SGsAP_PROC); } + return vc_conn; +} +function f_start_handler_run(BSC_ConnHdlr vc_conn, void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT { + var charstring id := testcasename() & int2str(pars.ran_idx); /* We cannot use vc_conn.start(f_init_handler(fn, id, pars)); as we cannot have * a stand-alone 'derefers()' call, see https://www.eclipse.org/forums/index.php/t/1091364/ */ vc_conn.start(derefers(fn)(id, pars)); +} + +function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MTC_CT return BSC_ConnHdlr { + var BSC_ConnHdlr vc_conn; + vc_conn := f_start_handler_create(pars); + f_start_handler_run(vc_conn, fn, pars); return vc_conn; } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25089 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic7e9dbb8c9db5948fe35fc3051bb988d65622782 Gerrit-Change-Number: 25089 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment ...................................................................... msc: add MSC_Tests.TC_call_re_establishment The osmo-msc patch that makes this test pass is I6fa37d6ca9fcb1637742b40e37b68d67664c9b60 Related: SYS#5130 Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 --- M msc/MSC_Tests.ttcn 1 file changed, 115 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index f0421c7..c9207aa 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6641,6 +6641,119 @@ vc_conn.done; } +const charstring REEST_LOST_CONNECTION := "REEST_LOST_CONNECTION"; +const charstring REEST_CLEARED := "REEST_CLEARED"; + +friend function f_tc_call_re_establishment_1(charstring id, BSC_ConnHdlrPars pars) + runs on BSC_ConnHdlr { + f_init_handler(pars, t_guard := 30.0); + + f_perform_lu(); + + var CallParameters cpars := valueof(t_CallParams('12345'H, 0)); + f_mo_call_establish(cpars); + f_sleep(3.0); + COORD.send(REEST_LOST_CONNECTION); + COORD.send(cpars); + f_expect_clear(verify_vlr_cell_id := false); + COORD.send(REEST_CLEARED); +} + +friend function f_tc_call_re_establishment_2(charstring id, BSC_ConnHdlrPars pars) + runs on BSC_ConnHdlr { + f_init_handler(pars, t_guard := 30.0); + var CallParameters cpars; + + COORD.receive(REEST_LOST_CONNECTION); + COORD.receive(tr_CallParams) -> value cpars; + + f_gsup_change_connhdlr(hex2str(g_pars.imsi)); + f_create_smpp_expect(hex2str(pars.msisdn)); + + /* The MS has lost the first channel and decides to show up on a new conn (on a nearby neighbor cell) to ask for + * CM Re-Establishment. Send a Complete Layer 3 to osmo-msc with a CM Re-Establishment Request. */ + var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi)); + var PDU_ML3_MS_NW l3_info := valueof(ts_CM_REESTABL_REQ(mi)); + f_cl3_or_initial_ue(l3_info); + + /* At this point the other test component should receive the Clear Command for the first A connection. */ + + /* This new connection continues with Authentication... */ + f_mm_common(); + + /* ...and with Assignment of a voice channel. */ + var template BSSMAP_IE_AoIP_TransportLayerAddress tla_ass := + f_tr_BSSMAP_IE_AoIP_TLA(cpars.mgw_conn_1.mgw_rtp_ip, ?); + BSSAP.receive(tr_BSSMAP_AssignmentReq(omit, tla_ass)); + /* By this Assignment Request, the CM Re-Establishment Request is implicitly accepted. */ + + /* Send Assignment Complete from BSC */ + var template BSSMAP_IE_AoIP_TransportLayerAddress tla; + tla := f_ts_BSSMAP_IE_AoIP_TLA(cpars.bss_rtp_ip, cpars.bss_rtp_port); + var BSSMAP_IE_SpeechCodec codec; + codec := valueof(ts_BSSMAP_IE_SpeechCodec({ts_CodecFR})); + + /* Make really sure the other component is done with its MGCP */ + COORD.receive(REEST_CLEARED); + + /* Transfer state for this call over to this test component so we can resolve MNCC and MGCP in this function. */ + f_mncc_change_connhdlr(cpars.mncc_callref); + f_mgcp_change_connhdlr(cpars.mgcp_ep); + + /* osmo-msc may redirect the MGW endpoint to the newly allocated channel. + * Apparently osmo-msc currently also sends an MDCX to the CN side, just repeating the same configuration that + * is already in use. This test accepts any number of or even lack of MDCX. */ + var default ack_mdcx := activate(as_mgcp_ack_all_mdcx(cpars)); + + BSSAP.send(ts_BSSMAP_AssignmentComplete(omit, tla, codec)); + /* The call has been fully re-established. + * Let a bit of time pass before hanging up, for everything to settle. */ + f_sleep(3.0); + + deactivate(ack_mdcx); + + /* Hang up the call and clear the new, second A connection */ + var default ack_dlcx := activate(as_mgcp_ack_all_dlcx(cpars)); + + /* CC release. This is the proper MS initiated release sequence as shown by + * https://git.osmocom.org/osmo-msc/tree/doc/sequence_charts/voice_call_full.msc?id=e53ecde83e4fb2470209e818e9ad76a2d6a19190 + * f_call_hangup() seems a bit mixed up, so here a "proper" sequence. Fix of f_call_hangup() pending. */ + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_DISC(cpars.transaction_id, '0'B, '0000000'B))); + MNCC.receive(tr_MNCC_DISC_ind(cpars.mncc_callref)); + MNCC.send(ts_MNCC_REL_req(cpars.mncc_callref, valueof(ts_MNCC_cause(23)))); + BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))); + BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_REL_COMPL(cpars.transaction_id, '0'B))); + MNCC.receive(tr_MNCC_REL_cnf(cpars.mncc_callref, cause := *)); + + /* BSSAP clear */ + interleave { + [] BSSAP.receive(tr_BSSMAP_ClearCommand) { + BSSAP.send(ts_BSSMAP_ClearComplete); + } + [] BSSAP.receive(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_IND); + } + + f_sleep(1.0); + deactivate(ack_dlcx); +} + +testcase TC_call_re_establishment() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + + var BSC_ConnHdlrPars pars1 := f_init_pars(91); + var BSC_ConnHdlrPars pars2 := pars1; + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_call_re_establishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_call_re_establishment_2), pars2); + vc_conn1.done; + vc_conn2.done; +} + control { execute( TC_cr_before_reset() ); execute( TC_lu_imsi_noauth_tmsi() ); @@ -6799,6 +6912,8 @@ execute( TC_lu_and_expire_while_paging() ); execute( TC_paging_response_imsi_unknown() ); execute( TC_paging_response_tmsi_unknown() ); + + execute( TC_call_re_establishment() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25070 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifdff5573eeb3b3d41e8599b9b0228411d2576864 Gerrit-Change-Number: 25070 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_auth In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_auth ...................................................................... msc: add MSC_Tests.TC_call_re_establishment_auth Invoke TC_call_re_establishment with authentication required. Related: SYS#5130 Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 --- M msc/MSC_Tests.ttcn 1 file changed, 21 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index c9207aa..dae27d0 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6754,6 +6754,26 @@ vc_conn2.done; } +testcase TC_call_re_establishment_auth() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + + f_vty_config(MSCVTY, "network", "authentication required"); + + var BSC_ConnHdlrPars pars1 := f_init_pars(92); + pars1.net.expect_auth := true; + var BSC_ConnHdlrPars pars2 := pars1; + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_call_re_establishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_call_re_establishment_2), pars2); + vc_conn1.done; + vc_conn2.done; +} + control { execute( TC_cr_before_reset() ); execute( TC_lu_imsi_noauth_tmsi() ); @@ -6914,6 +6934,7 @@ execute( TC_paging_response_tmsi_unknown() ); execute( TC_call_re_establishment() ); + execute( TC_call_re_establishment_auth() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25073 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8110a6b432de734d53b111c7b69aabca12129691 Gerrit-Change-Number: 25073 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:03:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: msc: add MSC_Tests.TC_call_re_establishment_ciph In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 ) Change subject: msc: add MSC_Tests.TC_call_re_establishment_ciph ...................................................................... msc: add MSC_Tests.TC_call_re_establishment_ciph Invoke TC_call_re_establishment with ciphering required. Related: SYS#5130 Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 --- M msc/MSC_Tests.ttcn 1 file changed, 24 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index dae27d0..db96d60 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -6774,6 +6774,29 @@ vc_conn2.done; } +testcase TC_call_re_establishment_ciph() runs on MTC_CT { + var BSC_ConnHdlr vc_conn1; + var BSC_ConnHdlr vc_conn2; + f_init(); + + f_vty_config(MSCVTY, "network", "authentication required"); + f_vty_config(MSCVTY, "network", "encryption a5 3"); + + var BSC_ConnHdlrPars pars1 := f_init_pars(92); + pars1.net.expect_auth := true; + pars1.net.expect_ciph := true; + pars1.net.kc_support := '08'O; /* A5/3 only */ + var BSC_ConnHdlrPars pars2 := pars1; + + vc_conn1 := f_start_handler_create(pars1); + vc_conn2 := f_start_handler_create(pars2); + connect(vc_conn1:COORD, vc_conn2:COORD); + f_start_handler_run(vc_conn1, refers(f_tc_call_re_establishment_1), pars1); + f_start_handler_run(vc_conn2, refers(f_tc_call_re_establishment_2), pars2); + vc_conn1.done; + vc_conn2.done; +} + control { execute( TC_cr_before_reset() ); execute( TC_lu_imsi_noauth_tmsi() ); @@ -6935,6 +6958,7 @@ execute( TC_call_re_establishment() ); execute( TC_call_re_establishment_auth() ); + execute( TC_call_re_establishment_ciph() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25091 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8bbe53fc9fced3e455aa30c571ef7684890adb99 Gerrit-Change-Number: 25091 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:06:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:06:57 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py File src/osmo_gsm_tester/obj/ms_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py at 185 PS2, Line 185: util.change_elf_rpath(self.inst.child('', "lteue-*"), str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf2')) > Passing 'lteue-*' does not work because the asterisks is interpreted as a string. [?] if you look at the implementation of change_elf_rpath() in utils.py you will clearly see that it expects a single file name and then changes the rpath of that filename. If you have multiple files, I suggest you first expand them in your code here and then iterate over the list of files, calling change_elf_rpath() for each of them. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 14:06:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: ninjab3s Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:07:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:07:15 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25121 ) Change subject: mgcp_client_vty: add missing docstrings ...................................................................... Patch Set 9: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:07:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:07:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 14:07:21 +0000 Subject: Change in osmo-pcap[master]: Change default ports of client, server In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcap/+/25131 ) Change subject: Change default ports of client, server ...................................................................... Change default ports of client, server Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Notably the defines OSMO_VTY_PORT_PCAP_CLIENT and _SERVER are currently not provided by libosmocore, but will be added with the related commit. Related: OS#5203 Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c --- M include/osmo-pcap/common.h M osmoappdesc.py 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved laforge: Looks good to me, approved diff --git a/include/osmo-pcap/common.h b/include/osmo-pcap/common.h index 79080a2..7ac5bb0 100644 --- a/include/osmo-pcap/common.h +++ b/include/osmo-pcap/common.h @@ -32,10 +32,10 @@ /* support old versions of libosmocore */ #ifndef OSMO_VTY_PORT_PCAP_CLIENT -#define OSMO_VTY_PORT_PCAP_CLIENT 4237 +#define OSMO_VTY_PORT_PCAP_CLIENT 4227 #endif #ifndef OSMO_VTY_PORT_PCAP_SERVER -#define OSMO_VTY_PORT_PCAP_SERVER 4238 +#define OSMO_VTY_PORT_PCAP_SERVER 4228 #endif enum { diff --git a/osmoappdesc.py b/osmoappdesc.py index 331e6a9..36fef63 100644 --- a/osmoappdesc.py +++ b/osmoappdesc.py @@ -22,8 +22,8 @@ } apps = [ - (4238, "src/osmo-pcap-server", "OsmoPCAPServer", "osmo-pcap-server"), - (4237, "src/osmo-pcap-client", "OsmoPCAPClient", "osmo-pcap-client"), + (4228, "src/osmo-pcap-server", "OsmoPCAPServer", "osmo-pcap-server"), + (4227, "src/osmo-pcap-client", "OsmoPCAPClient", "osmo-pcap-client"), ] vty_command = ["src/osmo-pcap-server", "-c", "doc/examples/osmo-pcap-server/osmo-pcap-server.cfg"] -- To view, visit https://gerrit.osmocom.org/c/osmo-pcap/+/25131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcap Gerrit-Branch: master Gerrit-Change-Id: I3b18b1fbbca2799f868f28104e2f5d513f93d46c Gerrit-Change-Number: 25131 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:09:36 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Fri, 6 Aug 2021 14:09:36 +0000 Subject: Change in osmo-gsm-tester[master]: Fix Amarisoft local execution References: Message-ID: ninjab3s has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25132 ) Change subject: Fix Amarisoft local execution ...................................................................... Fix Amarisoft local execution Passing an asterisk as a string into a local process does not work because it is interpreted as a string. To make this work we have to adress the binaries directly by name instead of using something like 'lteue-*'. Change-Id: I50adcef36694f05613c2c7ce10ad5828290d6e9c --- M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/ms_amarisoft.py 2 files changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/32/25132/1 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 1534d87..e2aad4e 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -101,7 +101,7 @@ self.process.launch() def start_locally(self): - binary = self.inst.child('', BINFILE) + binary = self.inst.child('', AmarisoftEPC.BINFILE) env = {} # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. diff --git a/src/osmo_gsm_tester/obj/ms_amarisoft.py b/src/osmo_gsm_tester/obj/ms_amarisoft.py index 7e0cc13..27be14e 100644 --- a/src/osmo_gsm_tester/obj/ms_amarisoft.py +++ b/src/osmo_gsm_tester/obj/ms_amarisoft.py @@ -180,14 +180,16 @@ # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. self.log('Setting RPATH for lteue') - util.change_elf_rpath(binary, util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf')) + util.change_elf_rpath(binary, str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf')) # We also need to patch the arch-optimized binaries that lteue() will exec() into: - util.change_elf_rpath(self.inst.child('', 'lteue-*'), util.prepend_library_path(self.inst), self.run_dir.new_dir('patchelf2')) + util.change_elf_rpath(self.inst.child('', 'lteue-avx'), str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf2')) + util.change_elf_rpath(self.inst.child('', 'lteue-avx2'), str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf2')) # lteue requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): self.log('Applying CAP_NET_ADMIN capability to lteue') util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) - util.setcap_net_admin(self.inst.child('', 'lteue-*'), self.run_dir.new_dir('setcap_net_admin2')) + util.setcap_net_admin(self.inst.child('', 'lteue-avx'), str(self.run_dir.new_dir('setcap_net_admin2'))) + util.setcap_net_admin(self.inst.child('', 'lteue-avx2'), str(self.run_dir.new_dir('setcap_net_admin2'))) args = (binary, os.path.abspath(self.config_file)) self.dbg(run_dir=self.run_dir, binary=binary, env=env) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I50adcef36694f05613c2c7ce10ad5828290d6e9c Gerrit-Change-Number: 25132 Gerrit-PatchSet: 1 Gerrit-Owner: ninjab3s Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:10:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:10:29 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 9: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/9/include/osmocom/mgcp_client/mgcp_client_pool.h File include/osmocom/mgcp_client/mgcp_client_pool.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/9/include/osmocom/mgcp_client/mgcp_client_pool.h at 9 PS9, Line 9: void mgcp_client_pool_register_single(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client); the naming of those function is inconsistent. Either you first put the object first, i.e. all start with mgcp_client_pool_*(), or you put the action first and the object last, like mgcp_client_*_pool(). I strongly prefer the first approach, as it makes it very easy to grep for mgcp_client_pool and then get all related function calls. Also, the symbols are grouped together when sorted alphabetically, ... In the end, it's your choice. but please don't mix both styles in the same part of code. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:10:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:11:09 +0000 Subject: Change in osmo-bsc[master]: running.adoc: explain mgw reset-endpoint VTY setting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25118 ) Change subject: running.adoc: explain mgw reset-endpoint VTY setting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Gerrit-Change-Number: 25118 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:11:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:11:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:11:19 +0000 Subject: Change in docker-playground[master]: MGCP_Test: set STATSVTY.CTRL_HOSTNAME In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24975 ) Change subject: MGCP_Test: set STATSVTY.CTRL_HOSTNAME ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24975 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Gerrit-Change-Number: 24975 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 14:11:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:11:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:11:23 +0000 Subject: Change in docker-playground[master]: MGCP_Test: set STATSVTY.CTRL_HOSTNAME In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/24975 ) Change subject: MGCP_Test: set STATSVTY.CTRL_HOSTNAME ...................................................................... MGCP_Test: set STATSVTY.CTRL_HOSTNAME The the following patch I61e23e264bc85eb36d07431c7839fb445c110947 introduces the stats interface on the MGCP_Test testsuite. This means that STATSVTY.CTRL_HOSTNAME must be set up correctly, otherwise all testcases will fail. Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Related: SYS#5535 --- M ttcn3-mgw-test/MGCP_Test.cfg 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve laforge: Verified diff --git a/ttcn3-mgw-test/MGCP_Test.cfg b/ttcn3-mgw-test/MGCP_Test.cfg index b70514e..f984173 100644 --- a/ttcn3-mgw-test/MGCP_Test.cfg +++ b/ttcn3-mgw-test/MGCP_Test.cfg @@ -6,6 +6,7 @@ [TESTPORT_PARAMETERS] *.MGWVTY.CTRL_HOSTNAME := "172.18.4.180" +*.STATSVTY.CTRL_HOSTNAME := "172.18.4.180" [MODULE_PARAMETERS] mp_local_ipv4 := "172.18.4.181"; -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/24975 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I693cc17dbf6836e7a74b34111671b6e589744a63 Gerrit-Change-Number: 24975 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:11:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:11:38 +0000 Subject: Change in pysim[master]: Use README.md as long description in package metadata In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25124 ) Change subject: Use README.md as long description in package metadata ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d Gerrit-Change-Number: 25124 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 14:11:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:11:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:11:40 +0000 Subject: Change in pysim[master]: Use README.md as long description in package metadata In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/25124 ) Change subject: Use README.md as long description in package metadata ...................................................................... Use README.md as long description in package metadata The normal description can be accessed with `python3 setup.py --description`. The long description can be accessed with `python3 setup.py --long-description`. Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d --- A setup.cfg 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..1155c2a --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +[metadata] +long_description = file: README.md +long_description_content_type = text/markdown \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25124 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1581a2b9ad7c2b5ed64b77e5e277df792b37990d Gerrit-Change-Number: 25124 Gerrit-PatchSet: 1 Gerrit-Owner: andrew-ma Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:12:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:12:07 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 14:12:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:12:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 6 Aug 2021 14:12:09 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 06 Aug 2021 14:12:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:12:50 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Fri, 6 Aug 2021 14:12:50 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: ninjab3s has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py File src/osmo_gsm_tester/obj/ms_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py at 185 PS2, Line 185: util.change_elf_rpath(self.inst.child('', "lteue-*"), str(util.prepend_library_path(self.inst)), self.run_dir.new_dir('patchelf2')) > if you look at the implementation of change_elf_rpath() in utils. [?] I will give it a try - thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 14:12:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: ninjab3s Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:14:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 14:14:13 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25128 to look at the new patch set (#2). Change subject: vty/ports: move pcap server/client ports ...................................................................... vty/ports: move pcap server/client ports Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Remove wrong previous comments that claimed 4240 and 4241 were used. Related: OS#5203 Related: osmo-pcap I3b18b1fbbca2799f868f28104e2f5d513f93d46c Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d --- M include/osmocom/vty/ports.h 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/28/25128/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 14:14:14 +0000 Subject: Change in libosmocore[master]: vty/ports: prepare formatting for a long define References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25133 ) Change subject: vty/ports: prepare formatting for a long define ...................................................................... vty/ports: prepare formatting for a long define Add one more tab between the define and the port number, to prepare for longer defines in the next patch. Related: OS#5203 Change-Id: I46655e33651814f41a1fea93406a83334d2fc529 --- M include/osmocom/vty/ports.h 1 file changed, 22 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/33/25133/1 diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index b3550d1..cca2dd3 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -9,32 +9,32 @@ #pragma once /* 4236 used by control interface */ -#define OSMO_VTY_PORT_TRX 4237 +#define OSMO_VTY_PORT_TRX 4237 /* 4238 used by osmo-bts control interface */ -#define OSMO_VTY_PORT_STP 4239 -#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ -#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ -#define OSMO_VTY_PORT_NITB_BSC 4242 -#define OSMO_VTY_PORT_BSC_MGCP 4243 -#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP -#define OSMO_VTY_PORT_BSC_NAT 4244 -#define OSMO_VTY_PORT_SGSN 4245 -#define OSMO_VTY_PORT_GBPROXY 4246 -#define OSMO_VTY_PORT_BB 4247 +#define OSMO_VTY_PORT_STP 4239 +#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ +#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ +#define OSMO_VTY_PORT_NITB_BSC 4242 +#define OSMO_VTY_PORT_BSC_MGCP 4243 +#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP +#define OSMO_VTY_PORT_BSC_NAT 4244 +#define OSMO_VTY_PORT_SGSN 4245 +#define OSMO_VTY_PORT_GBPROXY 4246 +#define OSMO_VTY_PORT_BB 4247 /* 4249-4251 used by control interface */ -#define OSMO_VTY_PORT_BTSMGR 4252 -#define OSMO_VTY_PORT_GTPHUB 4253 -#define OSMO_VTY_PORT_MSC 4254 +#define OSMO_VTY_PORT_BTSMGR 4252 +#define OSMO_VTY_PORT_GTPHUB 4253 +#define OSMO_VTY_PORT_MSC 4254 /* 4255 used by control interface */ -#define OSMO_VTY_PORT_MNCC_SIP 4256 +#define OSMO_VTY_PORT_MNCC_SIP 4256 /* 4257 used by control interface */ -#define OSMO_VTY_PORT_HLR 4258 +#define OSMO_VTY_PORT_HLR 4258 /* 4259 used by control interface */ -#define OSMO_VTY_PORT_GGSN 4260 -#define OSMO_VTY_PORT_HNBGW 4261 +#define OSMO_VTY_PORT_GGSN 4260 +#define OSMO_VTY_PORT_HNBGW 4261 /* 4262-4263 used by control interface */ -#define OSMO_VTY_PORT_CBC 4264 -#define OSMO_VTY_PORT_UECUPS 4268 -#define OSMO_VTY_PORT_E1D 4269 -#define OSMO_VTY_PORT_SMLC 4271 +#define OSMO_VTY_PORT_CBC 4264 +#define OSMO_VTY_PORT_UECUPS 4268 +#define OSMO_VTY_PORT_E1D 4269 +#define OSMO_VTY_PORT_SMLC 4271 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46655e33651814f41a1fea93406a83334d2fc529 Gerrit-Change-Number: 25133 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:14:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 14:14:55 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25128/1/include/osmocom/vty/ports.h File include/osmocom/vty/ports.h: https://gerrit.osmocom.org/c/libosmocore/+/25128/1/include/osmocom/vty/ports.h at 18 PS1, Line 18: #define OSMO_VTY_PORT_BTS 4241 > there appear to be a lot of unrelated cosmetic changes, making it more difficult to figure out what [?] Done: https://gerrit.osmocom.org/c/libosmocore/+/25133 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 06 Aug 2021 14:14:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:16:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 14:16:03 +0000 Subject: Change in osmo-gsm-manuals[master]: port_numbers: add osmo-pcap-client, -server In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 ) Change subject: port_numbers: add osmo-pcap-client, -server ...................................................................... port_numbers: add osmo-pcap-client, -server Related: OS#5203 Related: libosmocore I098f211370bba61995ce424ab64029bdd4c49e2d Change-Id: Iebbb07bfa1ecb6597de9925f79eb8e0aff26ae4f --- M common/chapters/port_numbers.adoc 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/common/chapters/port_numbers.adoc b/common/chapters/port_numbers.adoc index 48ba7a2..477c3b3 100644 --- a/common/chapters/port_numbers.adoc +++ b/common/chapters/port_numbers.adoc @@ -14,6 +14,8 @@ |TCP|2775|SMPP (SMS interface for external programs)|osmo-nitb |TCP|3002|A-bis/IP OML|osmo-bts, osmo-bsc, osmo-nitb |TCP|3003|A-bis/IP RSL|osmo-bts, osmo-bsc, osmo-nitb +|TCP|4227|telnet (VTY)|osmo-pcap-client +|TCP|4228|telnet (VTY)|osmo-pcap-server |TCP|4236|Control Interface|osmo-trx |TCP|4237|telnet (VTY)|osmo-trx |TCP|4238|Control Interface|osmo-bts -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/25129 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-Change-Id: Iebbb07bfa1ecb6597de9925f79eb8e0aff26ae4f Gerrit-Change-Number: 25129 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 14:19:55 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Fri, 6 Aug 2021 14:19:55 +0000 Subject: Change in osmo-gsm-tester[master]: Fix Amarisoft local execution In-Reply-To: References: Message-ID: ninjab3s has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25132 ) Change subject: Fix Amarisoft local execution ...................................................................... Abandoned Commit needs to be reworked. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I50adcef36694f05613c2c7ce10ad5828290d6e9c Gerrit-Change-Number: 25132 Gerrit-PatchSet: 1 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 15:08:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 15:08:05 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#10). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 593 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 15:08:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 6 Aug 2021 15:08:36 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 10: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c File src/libosmo-mgcp-client/mgcp_client_pool.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_pool.c at 159 PS5, Line 159: * not belong to a pool at all, the function call will have no effect. */ > What I meant is, I'd move this comment above "void mgcp_client_pool_put(...". [?] Done https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/5/src/libosmo-mgcp-client/mgcp_client_vty.c at 50 PS5, Line 50: \ > but why not a function instead of a macro? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 06 Aug 2021 15:08:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:33 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fr/fr-net: use correct DLCI range for test cases References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 ) Change subject: fr/fr-net: use correct DLCI range for test cases ...................................................................... fr/fr-net: use correct DLCI range for test cases DLCIs are only valid >= 16. Change-Id: Ia155f346beb4f2be1392d3204b73a0d3b00aaa08 --- M fr-net/FRNET_Tests.ttcn M fr/FR_Tests.ttcn 2 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/34/25134/1 diff --git a/fr-net/FRNET_Tests.ttcn b/fr-net/FRNET_Tests.ttcn index c3ec468..614750f 100644 --- a/fr-net/FRNET_Tests.ttcn +++ b/fr-net/FRNET_Tests.ttcn @@ -21,7 +21,7 @@ provider := { fr := { netdev := "hdlcnet1", - dlci := 1 + dlci := 21 } }, nsvci := 101 @@ -29,7 +29,7 @@ provider := { fr := { netdev := "hdlcnet2", - dlci := 2 + dlci := 22 } }, nsvci := 102 @@ -37,7 +37,7 @@ provider := { fr := { netdev := "hdlcnet3", - dlci := 3 + dlci := 23 } }, nsvci := 103 @@ -45,7 +45,7 @@ provider := { fr := { netdev := "hdlcnet4", - dlci := 4 + dlci := 24 } }, nsvci := 104 diff --git a/fr/FR_Tests.ttcn b/fr/FR_Tests.ttcn index 5e4f9e8..1e662fe 100644 --- a/fr/FR_Tests.ttcn +++ b/fr/FR_Tests.ttcn @@ -27,7 +27,7 @@ provider := { fr := { netdev := "hdlc1", - dlci := 1 + dlci := 21 } }, nsvci := 101 @@ -35,7 +35,7 @@ provider := { fr := { netdev := "hdlc2", - dlci := 2 + dlci := 22 } }, nsvci := 102 @@ -43,7 +43,7 @@ provider := { fr := { netdev := "hdlc3", - dlci := 3 + dlci := 23 } }, nsvci := 103 @@ -51,7 +51,7 @@ provider := { fr := { netdev := "hdlc4", - dlci := 4 + dlci := 24 } }, nsvci := 104 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia155f346beb4f2be1392d3204b73a0d3b00aaa08 Gerrit-Change-Number: 25134 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add test case to call force unconfigured after SNS Size received References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 ) Change subject: ns2: add test case to call force unconfigured after SNS Size received ...................................................................... ns2: add test case to call force unconfigured after SNS Size received The old ns dummy crashed when calling force unconfigured while sending SNS SIZE. Change-Id: I16d89391c0d665485cf453c260531023de6096fb --- M ns/NS_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/25135/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 9fbd5ab..a0b9216 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -626,6 +626,21 @@ f_clean_ns_codec(); } +/* Ensure the ns2 code doesn't crash when calling force unconfigured while sending SNS SIZE */ +testcase TC_sns_rx_size_force_unconf() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_ns_exp(tr_SNS_SIZE(mp_nsconfig.nsei, rst_flag := true, max_nsvcs := ?, + num_v4 := ?, num_v6 := omit)); + f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); + f_ns_exp(tr_SNS_SIZE(mp_nsconfig.nsei, rst_flag := true, max_nsvcs := ?, + num_v4 := ?, num_v6 := omit)); + setverdict(pass); + f_clean_ns_codec(); +} + /* Test if SNS fails when all signalling NSVCs failes * 3GPP TS 48.016 ? 7.4b.1.1 * 1. do success SNS configuration @@ -712,6 +727,7 @@ execute( TC_sns_bss_del() ); execute( TC_sns_bss_add_change_del() ); execute( TC_sns_bss_all_signalling_nsvcs_failed() ); + execute( TC_sns_rx_size_force_unconf() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I16d89391c0d665485cf453c260531023de6096fb Gerrit-Change-Number: 25135 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add a dummy test case TC_idle() for manual test cases References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 ) Change subject: ns2: add a dummy test case TC_idle() for manual test cases ...................................................................... ns2: add a dummy test case TC_idle() for manual test cases The TC_idle() won't be call by the control as this TC is only intended for manual human based testing. Change-Id: Ie1b5936447755dcaebd65396b7bb5cc3f31c17b5 --- M ns/NS_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/36/25136/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index a0b9216..af28cf1 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -676,6 +676,22 @@ f_clean_ns_codec(); } +testcase TC_idle() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig, guard_secs := 30.0); + + /* do a NS Reset procedure */ + f_outgoing_ns_reset(); + activate(as_rx_alive_tx_ack()); + + f_outgoing_ns_unblock(); + f_sleep(30.0); + + setverdict(pass); + f_sleep(1.0); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b5936447755dcaebd65396b7bb5cc3f31c17b5 Gerrit-Change-Number: 25136 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 ) Change subject: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success ...................................................................... ns2: rename TC_sns_config_success -> TC_sns_bss_config_success SGSN test cases will be introduced later. Prefix all bss testcases Change-Id: I56b074649e64d8e8469ff133d4f298ebf07707ae --- M ns/NS_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/37/25137/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index af28cf1..d42ef8c 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -475,7 +475,7 @@ /* 48.016 SNS test cases */ /* do a succesful SNS configuration */ -testcase TC_sns_config_success() runs on RAW_Test_CT { +testcase TC_sns_bss_config_success() runs on RAW_Test_CT { f_init_vty(); f_init_ns_codec(mp_nsconfig); f_incoming_sns_size(); @@ -736,7 +736,8 @@ } if (mp_dialect == NS2_DIALECT_SNS) { - execute( TC_sns_config_success() ); + /* BSS test cases */ + execute( TC_sns_bss_config_success() ); execute( TC_sns_bss_change_weight() ); execute( TC_sns_bss_change_weight_timeout() ); execute( TC_sns_bss_add() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56b074649e64d8e8469ff133d4f298ebf07707ae Gerrit-Change-Number: 25137 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: introduce module parameter SnsSide References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 ) Change subject: ns2: introduce module parameter SnsSide ...................................................................... ns2: introduce module parameter SnsSide Allow the .cfg to define which tests should be run. The new SGSN side SNS tests have their own configurations for TTCN3 and osmo-nsdummy. Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 --- M ns/NS_Tests.ttcn 1 file changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/25138/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index d42ef8c..0ea2f49 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -24,7 +24,13 @@ import from Osmocom_VTY_Functions all; import from TELNETasp_PortType all; +type enumerated SnsSide { + SNS_SIDE_BSS ('00'H), + SNS_SIDE_SGSN ('01'H) +}; + modulepar { + SnsSide mp_sns_side := SNS_SIDE_BSS; OsmoNsDialect mp_dialect := NS2_DIALECT_IPACCESS; NSConfiguration mp_nsconfig := { nsei := 96, @@ -736,15 +742,17 @@ } if (mp_dialect == NS2_DIALECT_SNS) { - /* BSS test cases */ - execute( TC_sns_bss_config_success() ); - execute( TC_sns_bss_change_weight() ); - execute( TC_sns_bss_change_weight_timeout() ); - execute( TC_sns_bss_add() ); - execute( TC_sns_bss_del() ); - execute( TC_sns_bss_add_change_del() ); - execute( TC_sns_bss_all_signalling_nsvcs_failed() ); - execute( TC_sns_rx_size_force_unconf() ); + if (mp_sns_side == SNS_SIDE_BSS) { + /* BSS test cases */ + execute( TC_sns_bss_config_success() ); + execute( TC_sns_bss_change_weight() ); + execute( TC_sns_bss_change_weight_timeout() ); + execute( TC_sns_bss_add() ); + execute( TC_sns_bss_del() ); + execute( TC_sns_bss_add_change_del() ); + execute( TC_sns_bss_all_signalling_nsvcs_failed() ); + execute( TC_sns_rx_size_force_unconf() ); + } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 Gerrit-Change-Number: 25138 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add first sgsn test case TC_sns_sgsn_config_success References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 ) Change subject: ns2: add first sgsn test case TC_sns_sgsn_config_success ...................................................................... ns2: add first sgsn test case TC_sns_sgsn_config_success Checks if the SGSN can success configures a SNS. Change-Id: Ibacc2f6ad3053ff7b1e00054cabb9ec7010ffab2 --- A ns/NS_Tests.sgsn.sns.cfg M ns/NS_Tests.ttcn A ns/osmo-ns.sgsn.sns.cfg 3 files changed, 160 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/25139/1 diff --git a/ns/NS_Tests.sgsn.sns.cfg b/ns/NS_Tests.sgsn.sns.cfg new file mode 100644 index 0000000..b3976a0 --- /dev/null +++ b/ns/NS_Tests.sgsn.sns.cfg @@ -0,0 +1,47 @@ +[ORDERED_INCLUDE] +# Common configuration, shared between test suites +"../Common.cfg" +# testsuite specific configuration, not expected to change +"./NS_Tests.default" + +[LOGGING] + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + }, + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "127.0.0.1", + local_udp_port := 22000, + remote_ip := "127.0.0.1", + remote_udp_port := 23001 + } + }, + nsvci := 1235 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_SNS +NS_Tests.mp_sns_side := SNS_SIDE_SGSN; + +[TESTPORT_PARAMETERS] + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 0ea2f49..fcc5dbb 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -698,6 +698,16 @@ f_clean_ns_codec(); } +testcase TC_sns_sgsn_config_success() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_outgoing_sns_size(); + f_outgoing_sns_config(); + f_incoming_sns_config(); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -753,6 +763,10 @@ execute( TC_sns_bss_all_signalling_nsvcs_failed() ); execute( TC_sns_rx_size_force_unconf() ); } + + if (mp_sns_side == SNS_SIDE_SGSN) { + execute( TC_sns_sgsn_config_success() ); + } } } diff --git a/ns/osmo-ns.sgsn.sns.cfg b/ns/osmo-ns.sgsn.sns.cfg new file mode 100644 index 0000000..bebc87e --- /dev/null +++ b/ns/osmo-ns.sgsn.sns.cfg @@ -0,0 +1,99 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lnssignal debug + logging level lbssgp debug +log gsmtap 127.0.0.1 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lnssignal debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 127.0.0.1 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 127.0.0.1 23000 + ip-sns signalling-weight 2 data-weight 2 + bind udp local2 + listen 127.0.0.1 23001 + ip-sns signalling-weight 1 data-weight 1 + nse 1234 ip-sns-role-sgsn + ip-sns-bind local + ip-sns-bind local2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibacc2f6ad3053ff7b1e00054cabb9ec7010ffab2 Gerrit-Change-Number: 25139 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN side References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 ) Change subject: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN side ...................................................................... ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN side Change-Id: I7474ea81ee905fb9fffb6c413b312e0b3547ea14 --- M ns/NS_Tests.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/25140/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index fcc5dbb..99f0a1c 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -708,6 +708,25 @@ f_clean_ns_codec(); } +testcase TC_sns_sgsn_add() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_outgoing_sns_size(max_nsvcs := 4, num_ip := 4); + f_outgoing_sns_config(); + f_incoming_sns_config(); + activate(as_rx_alive_tx_ack()); + + f_vty_config2(NSVTY, {"ns", "nse " & int2str(g_nsconfig.nsei)}, "ip-sns-bind local2"); + f_incoming_sns_add(idx_add := 1); + as_rx_alive_tx_ack(oneshot := true, idx := 1); + + setverdict(pass); + f_clean_ns_codec(); +} + + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -766,6 +785,7 @@ if (mp_sns_side == SNS_SIDE_SGSN) { execute( TC_sns_sgsn_config_success() ); + execute( TC_sns_sgsn_add() ); } } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7474ea81ee905fb9fffb6c413b312e0b3547ea14 Gerrit-Change-Number: 25140 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:14:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 ) Change subject: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken ...................................................................... ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken The test case tests the wrong side. The signalling and data weight are valid for the other side. The correct test case needs to add a second bind on the ttcn3 side because the signalling and data weight is valid for the remote side. Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 --- M ns/NS_Tests.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/25141/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 99f0a1c..2f69c67 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -654,6 +654,10 @@ * 3. add second bind to SNS * 4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight) * 5. expect SNS SIZE + * + * Broken: the test case tests the wrong side. The signalling + * and data weight are valid for the other side. The correct + * test case needs to add a second bind on the ttcn3 side. */ testcase TC_sns_bss_all_signalling_nsvcs_failed() runs on RAW_Test_CT { g_handle_rx_alive := true; @@ -779,7 +783,7 @@ execute( TC_sns_bss_add() ); execute( TC_sns_bss_del() ); execute( TC_sns_bss_add_change_del() ); - execute( TC_sns_bss_all_signalling_nsvcs_failed() ); + /* execute( TC_sns_bss_all_signalling_nsvcs_failed() ); */ execute( TC_sns_rx_size_force_unconf() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 Gerrit-Change-Number: 25141 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24649 to look at the new patch set (#3). Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... gprs_ns2_sns: refactor SNS failures into a function The SNS fsm is similar for BSS and SGSN. Terminate the SGSN failures by freeing the NSE. Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/24649/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23187 to look at the new patch set (#11). Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... gprs_ns2_sns: implement local change weight procedure When changing the bind ip-sns weight, initiate a SNS CHANGE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 462 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/11 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24123 to look at the new patch set (#8). Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... gprs_ns2_sns: implement outbound SNS ADD procedures When adding a bind, the remote side needs to be informed via the SNS ADD procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 191 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/8 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25142 ) Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... gprs_ns2_udp: don't start the NSVC fsm for SNS The SNS code will always create NSVC on it's own. The only case when the SNS dialect allows dynamic NSE/NSVC is on the SGSN side when accepting dynamic NSE and receiving the first SNS SIZE. In this case the NSVC FSM must not be started yet. Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 --- M src/gb/gprs_ns2_udp.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/25142/1 diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 428fd4a..4816021 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -247,7 +247,9 @@ goto out; case NS2_CS_CREATED: ns2_driver_alloc_vc(bind, nsvc, &saddr); - ns2_vc_fsm_start(nsvc); + /* only start the fsm for non SNS. SNS will take care of its own */ + if (nsvc->nse->dialect != GPRS_NS2_DIALECT_SNS) + ns2_vc_fsm_start(nsvc); break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:42 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25143 ) Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... gprs_ns2: add recursive anchor to protect against double free When free'ing a NSE/NSVC/BIND ensure there can't be a double free by using a free anchor in the struct. Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h 2 files changed, 20 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/25143/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index fb2965a..45cdfcc 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -639,9 +639,9 @@ * \param[in] nsvc NS-VC to destroy */ void gprs_ns2_free_nsvc(struct gprs_ns2_vc *nsvc) { - if (!nsvc) + if (!nsvc || nsvc->freed) return; - + nsvc->freed = true; ns2_prim_status_ind(nsvc->nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_FAILURE); llist_del(&nsvc->list); @@ -671,7 +671,7 @@ { struct gprs_ns2_vc *nsvc, *tmp; - if (!nse) + if (!nse || nse->freed) return; llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { @@ -889,9 +889,11 @@ * \param[in] nse NS Entity to destroy */ void gprs_ns2_free_nse(struct gprs_ns2_nse *nse) { - if (!nse) + struct gprs_ns2_vc *nsvc, *nsvc2; + if (!nse || nse->freed) return; + nse->freed = true; nse->alive = false; if (nse->bss_sns_fi) { osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); @@ -901,6 +903,9 @@ gprs_ns2_free_nsvcs(nse); ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); rate_ctr_group_free(nse->ctrg); + llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + gprs_ns2_free_nsvc(nsvc); + } llist_del(&nse->list); talloc_free(nse); @@ -1466,9 +1471,10 @@ { struct gprs_ns2_vc *nsvc, *tmp; struct gprs_ns2_nse *nse; - if (!bind) + if (!bind || bind->freed) return; + bind->freed = true; llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) { gprs_ns2_free_nsvc(nsvc); } diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index db01c2e..95efbae 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -215,6 +215,9 @@ /*! NSE-wide statistics */ struct rate_ctr_group *ctrg; + + /*! recursive anchor */ + bool freed; }; /*! Structure representing a single NS-VC */ @@ -259,6 +262,9 @@ enum gprs_ns2_vc_mode mode; struct osmo_fsm_inst *fi; + + /*! recursive anchor */ + bool freed; }; /*! Structure repesenting a bind instance. E.g. IPv4 listen port. */ @@ -303,6 +309,9 @@ uint8_t sns_data_weight; struct osmo_stat_item_group *statg; + + /*! recursive anchor */ + bool freed; }; struct gprs_ns2_vc_driver { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:43 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25144 ) Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... gprs_ns2: move sns_event into internal.h to direct emit events Creating just a proxy function seems more overhead instead of calling it direct. Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns_sns.c 3 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/25144/1 diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 95efbae..fb84651 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -320,6 +320,23 @@ void (*free_bind)(struct gprs_ns2_vc_bind *driver); }; +enum gprs_ns2_sns_event { + GPRS_SNS_EV_REQ_SELECT_ENDPOINT, /*!< Select a SNS endpoint from the list */ + GPRS_SNS_EV_RX_SIZE, + GPRS_SNS_EV_RX_SIZE_ACK, + GPRS_SNS_EV_RX_CONFIG, + GPRS_SNS_EV_RX_CONFIG_END, /*!< SNS-CONFIG with end flag received */ + GPRS_SNS_EV_RX_CONFIG_ACK, + GPRS_SNS_EV_RX_ADD, + GPRS_SNS_EV_RX_DELETE, + GPRS_SNS_EV_RX_CHANGE_WEIGHT, + GPRS_SNS_EV_RX_ACK, /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */ + GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ + GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ + GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ + GPRS_SNS_EV_REQ_DELETE_BIND, /*!< remove a local bind from this NSE */ +}; + enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, const struct osmo_sockaddr *remote, diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a9ace5f..b856eab 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -72,23 +72,6 @@ GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, /* !< SGSN role: Wait for CONFIG-ACK from BSS */ }; -enum gprs_sns_event { - GPRS_SNS_EV_REQ_SELECT_ENDPOINT, /*!< Select a SNS endpoint from the list */ - GPRS_SNS_EV_RX_SIZE, - GPRS_SNS_EV_RX_SIZE_ACK, - GPRS_SNS_EV_RX_CONFIG, - GPRS_SNS_EV_RX_CONFIG_END, /*!< SNS-CONFIG with end flag received */ - GPRS_SNS_EV_RX_CONFIG_ACK, - GPRS_SNS_EV_RX_ADD, - GPRS_SNS_EV_RX_DELETE, - GPRS_SNS_EV_RX_CHANGE_WEIGHT, - GPRS_SNS_EV_RX_ACK, /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */ - GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ - GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ - GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ - GPRS_SNS_EV_REQ_DELETE_BIND, /*!< remove a local bind from this NSE */ -}; - static const struct value_string gprs_sns_event_names[] = { { GPRS_SNS_EV_REQ_SELECT_ENDPOINT, "REQ_SELECT_ENDPOINT" }, { GPRS_SNS_EV_RX_SIZE, "RX_SIZE" }, diff --git a/src/gb/gprs_ns_sns.c b/src/gb/gprs_ns_sns.c index aa8b121..93ebf9a 100644 --- a/src/gb/gprs_ns_sns.c +++ b/src/gb/gprs_ns_sns.c @@ -273,7 +273,7 @@ GPRS_SNS_ST_CONFIGURED, }; -enum gprs_sns_event { +enum gprs_ns2_sns_event { GPRS_SNS_EV_START, GPRS_SNS_EV_SIZE, GPRS_SNS_EV_SIZE_ACK, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:43 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25145 ) Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... gprs_ns2_sns: rework sns clean up Move the cleanup into it's own state. Also changing the SGSN unconfigured state which won't be triggered when a SIZE is received. Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b --- M src/gb/gprs_ns2_sns.c 1 file changed, 33 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/25145/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index b856eab..aee37fa 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2059,6 +2059,29 @@ * SGSN role ***********************************************************************/ +/* cleanup all state. If nsvc is given, don't remove this nsvc. (nsvc is given when a SIZE PDU received) */ +static void ns2_clear_sgsn(struct ns2_sns_state *gss, struct gprs_ns2_vc *size_nsvc) +{ + struct gprs_ns2_vc *nsvc, *nsvc2; + + ns2_clear_elems(&gss->local); + ns2_clear_elems(&gss->remote); + llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { + /* Ignore the NSVC over which the SIZE PDU got received */ + if (size_nsvc && size_nsvc == nsvc) + continue; + + gprs_ns2_free_nsvc(nsvc); + } +} + +static void ns2_sns_st_sgsn_unconfigured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + + ns2_clear_sgsn(gss, NULL); +} + static void ns2_sns_st_sgsn_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -2154,6 +2177,7 @@ S(GPRS_SNS_ST_SGSN_WAIT_CONFIG), .name = "UNCONFIGURED", .action = ns2_sns_st_sgsn_unconfigured, + .onenter = ns2_sns_st_sgsn_unconfigured_onenter, }, [GPRS_SNS_ST_SGSN_WAIT_CONFIG] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | @@ -2167,6 +2191,7 @@ [GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG) | S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK) | S(GPRS_SNS_ST_CONFIGURED), .name = "SGSN_WAIT_CONFIG_ACK", @@ -2178,7 +2203,8 @@ S(GPRS_SNS_EV_RX_DELETE) | S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | S(GPRS_SNS_EV_REQ_NSVC_ALIVE), - .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG), .name = "CONFIGURED", /* shared with BSS side; once configured there's no difference */ .action = ns2_sns_st_configured, @@ -2281,23 +2307,14 @@ /* perform state reset, if requested */ flag = *TLVP_VAL(tp, NS_IE_RESET_FLAG); if (flag & 1) { - struct gprs_ns2_vc *nsvc, *nsvc2; /* clear all state */ - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + /* TODO: ensure gss->sns_nsvc is always the NSVC on which we received the SIZE PDU */ gss->N = 0; - ns2_clear_elems(&gss->local); - ns2_clear_elems(&gss->remote); - llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { - if (nsvc == gss->sns_nsvc) { - /* keep the NSVC we need for SNS, but unconfigure it */ - nsvc->sig_weight = 0; - nsvc->data_weight = 0; - ns2_vc_force_unconfigured(nsvc); - } else { - /* free all other NS-VCs */ - gprs_ns2_free_nsvc(nsvc); - } - } + ns2_clear_sgsn(gss, gss->sns_nsvc); + /* keep the NSVC we need for SNS, but unconfigure it */ + gss->sns_nsvc->sig_weight = 0; + gss->sns_nsvc->data_weight = 0; + ns2_vc_force_unconfigured(gss->sns_nsvc); ns2_sns_compute_local_ep_from_binds(fi); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:43 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use an event to free the nsvscs when using SNS References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25146 ) Change subject: gprs_ns2: use an event to free the nsvscs when using SNS ...................................................................... gprs_ns2: use an event to free the nsvscs when using SNS Otherwise there could be recursive loop when free'ing NSVCs which in the end create an event which the SNS want to free the NSVCs a second time Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/25146/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 45cdfcc..ca8de19 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -674,8 +674,12 @@ if (!nse || nse->freed) return; - llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { - gprs_ns2_free_nsvc(nsvc); + if (nse->bss_sns_fi) { + osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_FREE_NSVCS, NULL); + } else { + llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { + gprs_ns2_free_nsvc(nsvc); + } } } diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index fb84651..3ee2e6f 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -332,6 +332,7 @@ GPRS_SNS_EV_RX_CHANGE_WEIGHT, GPRS_SNS_EV_RX_ACK, /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */ GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ + GPRS_SNS_EV_REQ_FREE_NSVCS, /*!< free all NS-VCs */ GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ GPRS_SNS_EV_REQ_DELETE_BIND, /*!< remove a local bind from this NSE */ diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index aee37fa..f38a60d 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -84,6 +84,7 @@ { GPRS_SNS_EV_RX_ACK, "RX_ACK" }, { GPRS_SNS_EV_RX_CHANGE_WEIGHT, "RX_CHANGE_WEIGHT" }, { GPRS_SNS_EV_REQ_NO_NSVC, "REQ_NO_NSVC" }, + { GPRS_SNS_EV_REQ_FREE_NSVCS, "REQ_FREE_NSVCS" }, { GPRS_SNS_EV_REQ_NSVC_ALIVE, "REQ_NSVC_ALIVE"}, { GPRS_SNS_EV_REQ_ADD_BIND, "REQ_ADD_BIND"}, { GPRS_SNS_EV_REQ_DELETE_BIND, "REQ_DELETE_BIND"}, @@ -1564,6 +1565,7 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_vc *nsvc, *nsvc2; /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ switch (event) { @@ -1574,11 +1576,14 @@ sns_failed(fi, "no remaining NSVC, resetting SNS FSM"); break; + case GPRS_SNS_EV_REQ_FREE_NSVCS: case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: /* tear down previous state * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; - gprs_ns2_free_nsvcs(nse); + llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + gprs_ns2_free_nsvc(nsvc); + } ns2_clear_elems(&gss->local); ns2_clear_elems(&gss->remote); @@ -1613,6 +1618,7 @@ .states = ns2_sns_bss_states, .num_states = ARRAY_SIZE(ns2_sns_bss_states), .allstate_event_mask = S(GPRS_SNS_EV_REQ_NO_NSVC) | + S(GPRS_SNS_EV_REQ_FREE_NSVCS) | S(GPRS_SNS_EV_REQ_SELECT_ENDPOINT) | S(GPRS_SNS_EV_REQ_ADD_BIND) | S(GPRS_SNS_EV_REQ_DELETE_BIND), @@ -2329,6 +2335,9 @@ if (flag & 1) osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG, 0, 0); break; + case GPRS_SNS_EV_REQ_FREE_NSVCS: + sns_failed(fi, "On user request to free all NSVCs"); + break; default: ns2_sns_st_all_action(fi, event, data); break; @@ -2341,6 +2350,7 @@ .num_states = ARRAY_SIZE(ns2_sns_sgsn_states), .allstate_event_mask = S(GPRS_SNS_EV_RX_SIZE) | S(GPRS_SNS_EV_REQ_NO_NSVC) | + S(GPRS_SNS_EV_REQ_FREE_NSVCS) | S(GPRS_SNS_EV_REQ_ADD_BIND) | S(GPRS_SNS_EV_REQ_DELETE_BIND), .allstate_action = ns2_sns_st_all_action_sgsn, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 Gerrit-Change-Number: 25146 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25147 ) Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... gprs_ns2: dont use llist_for_each when freeing an element The problem are recursive execution because a free generates an event which could allow the use to free a nsvcs while the llist_for_each() is still running Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_sns.c 2 files changed, 21 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/25147/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index ca8de19..9c126ac 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -669,7 +669,7 @@ */ void gprs_ns2_free_nsvcs(struct gprs_ns2_nse *nse) { - struct gprs_ns2_vc *nsvc, *tmp; + struct gprs_ns2_vc *nsvc; if (!nse || nse->freed) return; @@ -677,7 +677,8 @@ if (nse->bss_sns_fi) { osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_FREE_NSVCS, NULL); } else { - llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { + while (!llist_empty(&nse->nsvc)) { + nsvc = llist_first_entry(&nse->nsvc, struct gprs_ns2_vc, list); gprs_ns2_free_nsvc(nsvc); } } @@ -893,7 +894,7 @@ * \param[in] nse NS Entity to destroy */ void gprs_ns2_free_nse(struct gprs_ns2_nse *nse) { - struct gprs_ns2_vc *nsvc, *nsvc2; + struct gprs_ns2_vc *nsvc; if (!nse || nse->freed) return; @@ -907,7 +908,8 @@ gprs_ns2_free_nsvcs(nse); ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); rate_ctr_group_free(nse->ctrg); - llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + while (!llist_empty(&nse->nsvc)) { + nsvc = llist_first_entry(&nse->nsvc, struct gprs_ns2_vc, list); gprs_ns2_free_nsvc(nsvc); } @@ -917,9 +919,10 @@ void gprs_ns2_free_nses(struct gprs_ns2_inst *nsi) { - struct gprs_ns2_nse *nse, *ntmp; + struct gprs_ns2_nse *nse; - llist_for_each_entry_safe(nse, ntmp, &nsi->nse, list) { + while (!llist_empty(&nsi->nse)) { + nse = llist_first_entry(&nsi->nse, struct gprs_ns2_nse, list); gprs_ns2_free_nse(nse); } } @@ -1473,22 +1476,23 @@ * \param[in] bind the bind we want to destroy */ void gprs_ns2_free_bind(struct gprs_ns2_vc_bind *bind) { - struct gprs_ns2_vc *nsvc, *tmp; + struct gprs_ns2_vc *nsvc; struct gprs_ns2_nse *nse; if (!bind || bind->freed) return; bind->freed = true; - llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) { - gprs_ns2_free_nsvc(nsvc); - } - if (gprs_ns2_is_ip_bind(bind)) { llist_for_each_entry(nse, &bind->nsi->nse, list) { gprs_ns2_sns_del_bind(nse, bind); } } + while (!llist_empty(&bind->nsvc)) { + nsvc = llist_first_entry(&bind->nsvc, struct gprs_ns2_vc, blist); + gprs_ns2_free_nsvc(nsvc); + } + if (bind->driver->free_bind) bind->driver->free_bind(bind); @@ -1500,9 +1504,10 @@ void gprs_ns2_free_binds(struct gprs_ns2_inst *nsi) { - struct gprs_ns2_vc_bind *bind, *tbind; + struct gprs_ns2_vc_bind *bind; - llist_for_each_entry_safe(bind, tbind, &nsi->binding, list) { + while (!llist_empty(&nsi->binding)) { + bind = llist_first_entry(&nsi->binding, struct gprs_ns2_vc_bind, list); gprs_ns2_free_bind(bind); } } diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index f38a60d..a9964b4 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1565,7 +1565,7 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - struct gprs_ns2_vc *nsvc, *nsvc2; + struct gprs_ns2_vc *nsvc; /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ switch (event) { @@ -1581,7 +1581,8 @@ /* tear down previous state * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; - llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + while (!llist_empty(&nse->nsvc)) { + nsvc = llist_first_entry(&nse->nsvc, struct gprs_ns2_vc, list); gprs_ns2_free_nsvc(nsvc); } ns2_clear_elems(&gss->local); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25148 ) Change subject: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm ...................................................................... gprs_ns2: calculate the nse->*_sums before notifing the sns fsm The sns fsm needs these information to determine if there is a signalling nsvc left Change-Id: I7b115921780bd1ae895d8b9d0d4aec3e1cbaaf58 --- M src/gb/gprs_ns2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/48/25148/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 6ebc5fc..8ade371 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1388,8 +1388,8 @@ { struct gprs_ns2_nse *nse = nsvc->nse; - ns2_sns_notify_alive(nse, nsvc, unblocked); ns2_nse_data_sum(nse); + ns2_sns_notify_alive(nse, nsvc, unblocked); if (unblocked == nse->alive) return; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7b115921780bd1ae895d8b9d0d4aec3e1cbaaf58 Gerrit-Change-Number: 25148 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add correct filename/linenr to sns failed log message References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25149 ) Change subject: gprs_ns2: add correct filename/linenr to sns failed log message ...................................................................... gprs_ns2: add correct filename/linenr to sns failed log message Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/25149/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1801b16..6773cef 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -194,7 +194,7 @@ struct ns2_sns_state *gss = fi->priv; if (reason) - LOGPFSML(fi, LOGL_ERROR, "NSE %d: SNS failed: %s\n", gss->nse->nsei, reason); + LOGPFSMLSRC(fi, LOGL_ERROR, file, line, "NSE %d: SNS failed: %s\n", gss->nse->nsei, reason); if (gss->role == GPRS_SNS_ROLE_SGSN) { if (!gss->nse->persistent) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed Gerrit-Change-Number: 25149 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: improve reselection protection References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25150 ) Change subject: gprs_ns2: improve reselection protection ...................................................................... gprs_ns2: improve reselection protection Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 --- M src/gb/gprs_ns2_sns.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/25150/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 6773cef..306332b 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2202,6 +2202,9 @@ /* TODO: keep the order of binds when data != NULL */ /* tear down previous state * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ + if (gss->reselection_running) + break; + gss->reselection_running = true; while (!llist_empty(&nse->nsvc)) { nsvc = llist_first_entry(&nse->nsvc, struct gprs_ns2_vc, list); @@ -2215,6 +2218,7 @@ gss->initial = NULL; ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); + gss->reselection_running = false; return; } else if (!gss->initial) { gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 Gerrit-Change-Number: 25150 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:18:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Fri, 6 Aug 2021 20:18:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NS... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25151 ) Change subject: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present ...................................................................... gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present When no remaining signalling NSVCs are available the SNS must be restarted (BSS) or go into unconfigured state (SGSN). Change-Id: I95e6bbb7a418d647a8426804879571597ae06ff8 --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/51/25151/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 306332b..91ec495 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -196,6 +196,7 @@ if (reason) LOGPFSMLSRC(fi, LOGL_ERROR, file, line, "NSE %d: SNS failed: %s\n", gss->nse->nsei, reason); + gss->alive = false; if (gss->role == GPRS_SNS_ROLE_SGSN) { if (!gss->nse->persistent) gprs_ns2_free_nse(gss->nse); @@ -2584,22 +2585,36 @@ return; gss = nse->bss_sns_fi->priv; - if(nse->bss_sns_fi->state != GPRS_SNS_ST_CONFIGURED && nse->bss_sns_fi->state != GPRS_SNS_ST_LOCAL_PROCEDURE) + if (nse->bss_sns_fi->state != GPRS_SNS_ST_CONFIGURED && nse->bss_sns_fi->state != GPRS_SNS_ST_LOCAL_PROCEDURE) return; + if (gss->alive && nse->sum_sig_weight == 0) { + sns_failed(nse->bss_sns_fi, "No signalling NSVC available"); + return; + } + + /* check if this is the current SNS NS-VC */ + if (nsvc == gss->sns_nsvc && !alive) { + /* only replace the SNS NS-VC if there are other alive NS-VC. + * There aren't any other alive NS-VC when the SNS fsm just reached CONFIGURED + * and couldn't confirm yet if the NS-VC comes up */ + llist_for_each_entry(tmp, &nse->nsvc, list) { + if (nsvc == tmp) + continue; + if (ns2_vc_is_unblocked(nsvc)) { + ns2_sns_replace_nsvc(nsvc); + break; + } + } + } + if (alive == gss->alive) return; - /* check if this is the current SNS NS-VC */ - if (nsvc == gss->sns_nsvc) { - /* only replace the SNS NS-VC if there are other alive NS-VC. - * There aren't any other alive NS-VC when the SNS fsm just reached CONFIGURED - * and couldn't confirm yet if the NS-VC comes up */ - if (gss->alive && !alive) - ns2_sns_replace_nsvc(nsvc); - } - if (alive) { + /* we need at least a signalling NSVC before become alive */ + if (nse->sum_sig_weight == 0) + return; gss->alive = true; osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_NSVC_ALIVE, NULL); } else { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I95e6bbb7a418d647a8426804879571597ae06ff8 Gerrit-Change-Number: 25151 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:21:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:21:37 +0000 Subject: Change in osmo-pcu[master]: test: add 'make update_exp' target References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25152 ) Change subject: test: add 'make update_exp' target ...................................................................... test: add 'make update_exp' target Add convenience target to update the test output. Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f --- M tests/Makefile.am 1 file changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/52/25152/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 40617bb..63d94f0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -194,6 +194,45 @@ TESTSUITE = $(srcdir)/testsuite +update_exp: + rlcmac/RLCMACTest \ + >$(srcdir)/rlcmac/RLCMACTest.ok \ + 2>$(srcdir)/rlcmac/RLCMACTest.err + alloc/MslotTest \ + >$(srcdir)/alloc/MslotTest.ok + alloc/AllocTest \ + >$(srcdir)/alloc/AllocTest.ok \ + 2>$(srcdir)/alloc/AllocTest.err + tbf/TbfTest \ + 2>$(srcdir)/tbf/TbfTest.err + bitcomp/BitcompTest \ + >$(srcdir)/bitcomp/BitcompTest.ok \ + 2>$(srcdir)/bitcomp/BitcompTest.err + edge/EdgeTest \ + >$(srcdir)/edge/EdgeTest.ok + types/TypesTest \ + >$(srcdir)/types/TypesTest.ok \ + 2>$(srcdir)/types/TypesTest.err + ms/MsTest \ + >$(srcdir)/ms/MsTest.ok \ + 2>$(srcdir)/ms/MsTest.err + llc/LlcTest \ + >$(srcdir)/llc/LlcTest.ok \ + 2>$(srcdir)/llc/LlcTest.err + llist/LListTest \ + >$(srcdir)/llist/LListTest.ok \ + 2>$(srcdir)/llist/LListTest.err + codel/codel_test \ + >$(srcdir)/codel/codel_test.ok + fn/FnTest \ + >$(srcdir)/fn/FnTest.ok + app_info/AppInfoTest \ + >$(srcdir)/app_info/AppInfoTest.ok \ + 2>$(srcdir)/app_info/AppInfoTest.err + ulc/PdchUlcTest \ + >$(srcdir)/ulc/PdchUlcTest.ok \ + 2>$(srcdir)/ulc/PdchUlcTest.err + # Python testing if ENABLE_VTY_TESTS python-tests: $(BUILT_SOURCES) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f Gerrit-Change-Number: 25152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:23:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:23:56 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.sgsn.N.rx_paging_{cs, ps} References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25153 ) Change subject: Add counters: pcu.sgsn.N.rx_paging_{cs,ps} ...................................................................... Add counters: pcu.sgsn.N.rx_paging_{cs,ps} Related: SYS#4878 Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 --- M src/gprs_bssgp_pcu.c M src/gprs_bssgp_pcu.h 2 files changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/53/25153/1 diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index e2f6f51..1fcacdb 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "coding_scheme.h" #include "tbf_dl.h" @@ -53,6 +54,19 @@ extern uint16_t spoof_mcc, spoof_mnc; extern bool spoof_mnc_3_digits; +static const struct rate_ctr_desc sgsn_ctr_description[] = { + [SGSN_CTR_RX_PAGING_CS] = { "rx_paging_cs", "Amount of paging CS requests received" }, + [SGSN_CTR_RX_PAGING_PS] = { "rx_paging_ps", "Amount of paging PS requests received" }, +}; + +static const struct rate_ctr_group_desc sgsn_ctrg_desc = { + .group_name_prefix = "pcu:sgsn", + .group_description = "SGSN Statistics", + .class_id = OSMO_STATS_CLASS_SUBSCRIBER, + .num_ctr = ARRAY_SIZE(sgsn_ctr_description), + .ctr_desc = sgsn_ctr_description, +}; + static void bvc_timeout(void *_priv); static int parse_ra_cap(struct tlv_parsed *tp, MS_Radio_Access_capability_t *rac) @@ -223,6 +237,8 @@ struct GprsMs *ms; int rc; + rate_ctr_inc(rate_ctr_group_get_ctr(the_pcu->bssgp.ctrs, SGSN_CTR_RX_PAGING_CS)); + if ((rc = get_paging_cs_mi(&req, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); @@ -280,6 +296,8 @@ uint16_t pgroup; int rc; + rate_ctr_inc(rate_ctr_group_get_ctr(the_pcu->bssgp.ctrs, SGSN_CTR_RX_PAGING_PS)); + if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { LOGP(DBSSGP, LOGL_ERROR, "No IMSI\n"); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); @@ -1288,11 +1306,15 @@ osmo_timer_setup(&the_pcu->bssgp.bvc_timer, bvc_timeout, bts); + the_pcu->bssgp.ctrs = rate_ctr_group_alloc(the_pcu, &sgsn_ctrg_desc, 0); + OSMO_ASSERT(the_pcu->bssgp.ctrs) + return &the_pcu->bssgp; } void gprs_bssgp_destroy(struct gprs_rlcmac_bts *bts) { + rate_ctr_group_free(the_pcu->bssgp.ctrs); osmo_timer_del(&the_pcu->bssgp.bvc_timer); /* FIXME: blocking... */ diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h index 6c6de1d..907e666 100644 --- a/src/gprs_bssgp_pcu.h +++ b/src/gprs_bssgp_pcu.h @@ -46,6 +46,11 @@ #define NS_HDR_LEN 4 #define IE_LLC_PDU 14 +enum sgsn_counter_id { + SGSN_CTR_RX_PAGING_CS, + SGSN_CTR_RX_PAGING_PS, +}; + struct gprs_bssgp_pcu { struct bssgp_bvc_ctx *bctx; @@ -53,6 +58,8 @@ struct osmo_timer_list bvc_timer; + struct rate_ctr_group *ctrs; + /* state: is the NSVC unblocked? */ int nsvc_unblocked; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 Gerrit-Change-Number: 25153 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:23:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:23:56 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25154 ) Change subject: Add counters: pcu.bts.N.pch.requests ...................................................................... Add counters: pcu.bts.N.pch.requests Count attempted paging requests over PCH. Related: SYS#4878 Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac.cpp 3 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/25154/1 diff --git a/src/bts.cpp b/src/bts.cpp index ee6b915..4e3b770 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -132,8 +132,9 @@ { "llc:scheduled", "Scheduled Frames "}, { "llc:dl_bytes", "RLC encapsulated PDUs"}, { "llc:ul_bytes", "full PDUs received "}, - { "rach:requests", "RACH requests "}, - { "11bit_rach:requests", "11BIT_RACH requests "}, + { "pch:requests", "PCH requests sent "}, + { "rach:requests", "RACH requests received"}, + { "11bit_rach:requests", "11BIT_RACH requests received"}, { "spb:uplink_first_segment", "First seg of UL SPB "}, { "spb:uplink_second_segment", "Second seg of UL SPB "}, { "spb:downlink_first_segment", "First seg of DL SPB "}, diff --git a/src/bts.h b/src/bts.h index a2f4598..c28bd97 100644 --- a/src/bts.h +++ b/src/bts.h @@ -125,6 +125,7 @@ CTR_LLC_FRAME_SCHED, CTR_LLC_DL_BYTES, CTR_LLC_UL_BYTES, + CTR_PCH_REQUESTS, CTR_RACH_REQUESTS, CTR_11BIT_RACH_REQUESTS, CTR_SPB_UL_FIRST_SEGMENT, diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 71849b8..ffa656c 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -47,6 +47,7 @@ LOGP(DRLCMAC, LOGL_ERROR, "TX: [PCU -> BTS] Failed to encode Paging Request\n"); return -1; } + bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS); pcu_l1if_tx_pch(bts, paging_request, plen, pgroup); bitvec_free(paging_request); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 Gerrit-Change-Number: 25154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:23:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:23:56 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Add counters: pcu.bts.N.pch.requests.timeout Implement T3113 for paging over PCH with default value of 7s (same as T3113 in OsmoBSC). Increase the new counter on timeout. Related: SYS#4878 Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f --- M src/Makefile.am M src/bts.cpp M src/bts.h A src/bts_pch_timer.c A src/bts_pch_timer.h M src/gprs_pcu.c M src/gprs_rlcmac.cpp M src/tbf_ul.cpp 8 files changed, 139 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/25155/1 diff --git a/src/Makefile.am b/src/Makefile.am index 8070fda..d603f2d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,6 +62,7 @@ tbf_ul.cpp \ tbf_dl.cpp \ bts.cpp \ + bts_pch_timer.c \ pdch.cpp \ pdch_ul_controller.c \ encoding.cpp \ diff --git a/src/bts.cpp b/src/bts.cpp index 4e3b770..a96fe24 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -133,6 +133,7 @@ { "llc:dl_bytes", "RLC encapsulated PDUs"}, { "llc:ul_bytes", "full PDUs received "}, { "pch:requests", "PCH requests sent "}, + { "pch:requests:timeout", "PCH requests timeout "}, { "rach:requests", "RACH requests received"}, { "11bit_rach:requests", "11BIT_RACH requests received"}, { "spb:uplink_first_segment", "First seg of UL SPB "}, @@ -283,6 +284,8 @@ llist_add_tail(&bts->list, &pcu->bts_list); + INIT_LLIST_HEAD(&bts->pch_timer); + return bts; } diff --git a/src/bts.h b/src/bts.h index c28bd97..5e45527 100644 --- a/src/bts.h +++ b/src/bts.h @@ -126,6 +126,7 @@ CTR_LLC_DL_BYTES, CTR_LLC_UL_BYTES, CTR_PCH_REQUESTS, + CTR_PCH_REQUESTS_TIMEDOUT, CTR_RACH_REQUESTS, CTR_11BIT_RACH_REQUESTS, CTR_SPB_UL_FIRST_SEGMENT, @@ -263,6 +264,9 @@ struct osmo_stat_item_group *statg; struct GprsMsStorage *ms_store; + + /* List of struct bts_pch_timer for active PCH pagings */ + struct llist_head pch_timer; }; #ifdef __cplusplus diff --git a/src/bts_pch_timer.c b/src/bts_pch_timer.c new file mode 100644 index 0000000..c496072 --- /dev/null +++ b/src/bts_pch_timer.c @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#include + +#include +#include +#include +#include + +#include +#include +#include + +static struct bts_pch_timer *bts_pch_timer_get(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + struct bts_pch_timer *p; + + llist_for_each_entry(p, &bts->pch_timer, entry) { + if (strcmp(p->imsi, imsi) == 0) + return p; + } + + return NULL; +} + +static void bts_pch_timer_remove(struct bts_pch_timer *p) +{ + osmo_timer_del(&p->T3113); + llist_del(&p->entry); + + LOGP(DPCU, LOGL_DEBUG, "PCH paging timer stopped for IMSI=%s\n", p->imsi); + talloc_free(p); +} + +static void T3113_callback(void *data) +{ + struct bts_pch_timer *p = data; + + LOGP(DPCU, LOGL_INFO, "PCH paging timeout for IMSI=%s\n", p->imsi); + bts_do_rate_ctr_inc(p->bts, CTR_PCH_REQUESTS_TIMEDOUT); + bts_pch_timer_remove(p); +} + +void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + if (bts_pch_timer_get(bts, imsi)) + return; + + struct bts_pch_timer *p; + p = talloc_zero(bts, struct bts_pch_timer); + llist_add_tail(&p->entry, &bts->pch_timer); + osmo_strlcpy(p->imsi, imsi, sizeof(p->imsi)); + p->bts = bts; + + struct osmo_tdef *tdef = osmo_tdef_get_entry(the_pcu->T_defs, 3113); + OSMO_ASSERT(tdef); + osmo_timer_setup(&p->T3113, T3113_callback, p); + osmo_timer_schedule(&p->T3113, tdef->val, 0); + + LOGP(DPCU, LOGL_DEBUG, "PCH paging timer started for IMSI=%s\n", p->imsi); +} + +void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + struct bts_pch_timer *p = bts_pch_timer_get(bts, imsi); + + if (p) + bts_pch_timer_remove(p); +} diff --git a/src/bts_pch_timer.h b/src/bts_pch_timer.h new file mode 100644 index 0000000..eff6237 --- /dev/null +++ b/src/bts_pch_timer.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct bts_pch_timer { + struct llist_head entry; + struct gprs_rlcmac_bts *bts; + struct osmo_timer_list T3113; + char imsi[OSMO_IMSI_BUF_SIZE]; +}; + +void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi); +void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi); + +#ifdef __cplusplus +} +#endif diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c index 37563ec..a7bab8d 100644 --- a/src/gprs_pcu.c +++ b/src/gprs_pcu.c @@ -30,6 +30,7 @@ struct gprs_pcu *the_pcu; static struct osmo_tdef T_defs_pcu[] = { + { .T=3113, .default_val=7, .unit=OSMO_TDEF_S, .desc="Timeout for paging", .val=0 }, { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, { .T=3141, .default_val=10, .unit=OSMO_TDEF_S, .desc="Timeout for contention resolution procedure (s)", .val=0 }, { .T=PCU_TDEF_NEIGH_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="[ARFCN+BSIC]->[RAC+CI] resolution timeout (ms)", .val=0 }, diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index ffa656c..22b12df 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +49,7 @@ return -1; } bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS); + bts_pch_timer_start(bts, mi->imsi); pcu_l1if_tx_pch(bts, paging_request, plen, pgroup); bitvec_free(paging_request); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index b5f9f01..5ca02d9 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -20,6 +20,7 @@ */ #include +#include #include #include #include @@ -494,6 +495,7 @@ "Decoded premier TLLI=0x%08x of UL DATA TFI=%d.\n", new_tlli, rlc->tfi); update_ms(new_tlli, GPRS_RLCMAC_UL_TBF); + bts_pch_timer_stop(bts, ms_imsi(ms())); } else if (new_tlli != GSM_RESERVED_TMSI && new_tlli != tlli()) { LOGPTBFUL(this, LOGL_NOTICE, "Decoded TLLI=%08x mismatch on UL DATA TFI=%d. (Ignoring due to contention resolution)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:24:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:24:38 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 Related: SYS#4878 Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/56/25156/1 diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 9d2f36f..cb37ee7 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -37,6 +37,7 @@ } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; PCUIF_Components.mp_send_all_data_ind := true; +PCU_Tests.mp_osmo_pcu_newer_than_0_9_0 := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 606f1f5..6d6f975 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -18,7 +18,9 @@ # Disable until osmo-pcu release > 0.9.0 if image_suffix_is_latest; then - sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg + cfg="$VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg" + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" "$cfg" + sed -i "s/^PCU_Tests.mp_osmo_pcu_newer_than_0_9_0.*/PCU_Tests.mp_osmo_pcu_newer_than_0_9_0 := false;/" "$cfg" fi mkdir $VOL_BASE_DIR/pcu -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:24:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter pcu.sgsn.0.rx_paging_ps References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 ) Change subject: pcu: test counter pcu.sgsn.0.rx_paging_ps ...................................................................... pcu: test counter pcu.sgsn.0.rx_paging_ps Related: SYS#4878 Depends: docker-playground 22c6ef9e6ba9c368dc058319662ff95ccbab8063 Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f --- M pcu/PCU_Tests.ttcn 1 file changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/57/25157/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8e8fba9..3d4bcee 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -71,6 +71,8 @@ charstring mp_ctrl_neigh_ip := "127.0.0.1"; integer mp_ctrl_neigh_port := 4248; + + boolean mp_osmo_pcu_newer_than_0_9_0 := true; /* Drop after OsmoPCU > 0.9.0 was released */ } @@ -3186,6 +3188,8 @@ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); + f_statsd_reset(); + /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); @@ -3201,6 +3205,13 @@ f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } + if (mp_osmo_pcu_newer_than_0_9_0) { + var StatsDExpects expect := { + { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 } + }; + f_statsd_expect(expect); + } + f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f Gerrit-Change-Number: 25157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:24:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:24:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter bts.0.pch.requests References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 ) Change subject: pcu: test counter bts.0.pch.requests ...................................................................... pcu: test counter bts.0.pch.requests Related: SYS#4878 Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/58/25158/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d4bcee..804644a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3207,7 +3207,11 @@ if (mp_osmo_pcu_newer_than_0_9_0) { var StatsDExpects expect := { - { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 } + { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 }, + /* After the PCU receives the paging request from SGSN, + * and it doesn't have any errors, PCU sends it to the + * BTS to do paging over PCH. */ + { name := "TTCN3.bts.0.pch.requests", mtype := "c", min := 1, max := 1 } }; f_statsd_expect(expect); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 Gerrit-Change-Number: 25158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:24:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 ) Change subject: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown ...................................................................... pcu: f_tc_paging_ps_from_sgsn: move init/shutdown Prepare to use this shared function in a new test with additional commands between init, the function and shutdown. Related: SYS#4878 Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 --- M pcu/PCU_Tests.ttcn 1 file changed, 17 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/59/25159/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 804644a..f77c4c1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3185,9 +3185,6 @@ f_init_gprs_ms(); ms := g_ms[0]; /* We only use first MS in this test */ - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - f_statsd_reset(); /* Establish BSSGP connection to the PCU */ @@ -3215,20 +3212,33 @@ }; f_statsd_expect(expect); } +} + +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + f_tc_paging_ps_from_sgsn(0, true); f_shutdown(__BFILE__, __LINE__, final := true); } -testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0, true); -} - testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + f_tc_paging_ps_from_sgsn(0); + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvc[0].bvci); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 Gerrit-Change-Number: 25159 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:24:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:24:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: add test TC_paging_pch_timeout References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 ) Change subject: pcu: add test TC_paging_pch_timeout ...................................................................... pcu: add test TC_paging_pch_timeout Related: SYS#4878 Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 --- M pcu/PCU_Tests.ttcn 1 file changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/25160/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f77c4c1..ada9ae3 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3241,6 +3241,28 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +testcase TC_paging_pch_timeout() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set T3113 to 1s to shorten the test duration */ + f_vty_config2(PCUVTY, {"pcu"}, "timer T3113 1"); + + /* Reset stats and send paging PS request */ + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvc[0].bvci); + + /* Verify that counter increases when T3113 times out (MS did not start + * TBF to respond to paging). */ + f_sleep(1.2); + var StatsDExpects expect := { + { name := "TTCN3.bts.0.pch.requests.timeout", mtype := "c", min := 1, max := 1 } + }; + f_statsd_expect(expect); + + f_vty_config2(PCUVTY, {"pcu"}, "timer T3113 default"); + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ testcase TC_bssgp_dl_unitdata_with_valid_imsi() runs on RAW_PCU_Test_CT { var RlcmacDlBlock dl_block; @@ -5968,6 +5990,9 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + if (mp_osmo_pcu_newer_than_0_9_0) { + execute( TC_paging_pch_timeout() ); + } execute( TC_paging_cs_multi_ms_imsi_tmsi() ); execute( TC_paging_cs_multi_ms_imsi() ); execute( TC_paging_cs_multi_ms_tmsi() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 Gerrit-Change-Number: 25160 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:25:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:25:54 +0000 Subject: Change in osmo-sgsn[master]: vty: add "page imsi" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 ) Change subject: vty: add "page imsi" ...................................................................... vty: add "page imsi" Make it easy to manually test pagings from SGSN to the PCU. Related: SYS#4878 Change-Id: I8a73caa234f6b841e641be866e22e7fa03152eb7 --- M src/sgsn/sgsn_vty.c 1 file changed, 21 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/61/25161/1 diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 30bd864..e0e2677 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -1209,6 +1210,25 @@ return CMD_SUCCESS; } +DEFUN(page_subscr, page_subscr_info_cmd, + "page imsi IMSI", + "Send a PS paging request to subscriber\n" + "Use the IMSI to select the subscriber\n" + "The IMSI\n") +{ + const char *imsi = argv[0]; + struct sgsn_mm_ctx *mm; + + mm = sgsn_mm_ctx_by_imsi(imsi); + if (!mm) { + vty_out(vty, "No MM context for IMSI %s%s", imsi, VTY_NEWLINE); + return CMD_WARNING; + } + + gprs_gb_page_ps_ra(mm); + return CMD_SUCCESS; +} + DEFUN(cfg_gsup_ipa_name, cfg_gsup_ipa_name_cmd, "gsup ipa-name NAME", @@ -1675,6 +1695,7 @@ install_element(ENABLE_NODE, &update_subscr_cancel_cmd); install_element(ENABLE_NODE, &update_subscr_update_location_result_cmd); install_element(ENABLE_NODE, &update_subscr_update_auth_info_cmd); + install_element(ENABLE_NODE, &page_subscr_info_cmd); install_element(ENABLE_NODE, &reset_sgsn_state_cmd); install_element(CONFIG_NODE, &cfg_sgsn_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8a73caa234f6b841e641be866e22e7fa03152eb7 Gerrit-Change-Number: 25161 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 6 20:37:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 6 Aug 2021 20:37:29 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 to look at the new patch set (#2). Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Add counters: pcu.bts.N.pch.requests.timeout Implement T3113 for paging over PCH with default value of 7s (same as T3113 in OsmoBSC). Increase the new counter on timeout. Related: SYS#4878 Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f --- M src/Makefile.am M src/bts.cpp M src/bts.h A src/bts_pch_timer.c A src/bts_pch_timer.h M src/gprs_pcu.c M src/gprs_rlcmac.cpp M src/tbf_ul.cpp 8 files changed, 140 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/25155/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sat Aug 7 01:07:33 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 07 Aug 2021 01:07:33 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_10/x86_64 In-Reply-To: References: Message-ID: <610ddcd8b8826_73df2b1a0d8245e0275528@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_10/x86_64 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 401s] | #define HAVE_INTTYPES_H 1 [ 401s] | #define HAVE_STDINT_H 1 [ 401s] | #define HAVE_UNISTD_H 1 [ 401s] | #define HAVE_DLFCN_H 1 [ 401s] | #define LT_OBJDIR ".libs/" [ 401s] | #define STDC_HEADERS 1 [ 401s] | #define HAVE_EXECINFO_H 1 [ 401s] | #define HAVE_SYS_SELECT_H 1 [ 401s] | #define HAVE_SYS_SOCKET_H 1 [ 401s] | #define HAVE_SYSLOG_H 1 [ 401s] | #define HAVE_CTYPE_H 1 [ 401s] | #define HAVE_NETINET_SCTP_H 1 [ 401s] | #define HAVE_LIBOSMOCORE 1 [ 401s] | #define HAVE_LIBSCTP 1 [ 401s] | #define HAVE_PCAP_H 1 [ 401s] | [ 401s] | configure: exit 0 [ 401s] [ 401s] make[1]: *** [debian/rules:27: override_dh_auto_test] Error 1 [ 401s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 401s] make: *** [debian/rules:13: build] Error 2 [ 401s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 401s] ### VM INTERACTION START ### [ 404s] [ 359.644983] sysrq: Power Off [ 404s] [ 359.666612] reboot: Power down [ 404s] ### VM INTERACTION END ### [ 404s] [ 404s] lamb01 failed "build libosmo-netif_1.1.0.202108070026.dsc" at Sat Aug 7 01:07:32 UTC 2021. [ 404s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:55:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:55:57 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm_post_activ_ack(): return upon release References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25162 ) Change subject: lchan_fsm_post_activ_ack(): return upon release ...................................................................... lchan_fsm_post_activ_ack(): return upon release The bottom of the function changes the lchan state. If a failure branch is reached, that should no longer happen. Change 'break' to 'return' in four places to not mix up the channel release. Related: SYS#5559 Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/62/25162/1 diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index aa616d0..68cafb3 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -896,14 +896,14 @@ "lchan activation for assignment succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } if (!lchan->conn->assignment.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no" " assignment ongoing: cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } /* After the Chan Activ Ack, the MS expects to receive an RR Assignment Command. * Let the assignment_fsm handle that. */ @@ -916,14 +916,14 @@ "lchan activation for handover succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } if (!lchan->conn->ho.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no" " handover ongoing: cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } /* After the Chan Activ Ack of the new lchan, send the MS an RR Handover Command on the * old channel. The handover_fsm handles that. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec Gerrit-Change-Number: 25162 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:55:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:55:58 +0000 Subject: Change in osmo-bsc[master]: introduce gsm48_lchan_and_pchan2chan_desc() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25163 ) Change subject: introduce gsm48_lchan_and_pchan2chan_desc() ...................................................................... introduce gsm48_lchan_and_pchan2chan_desc() The function gsm48_lchan2chan_desc_as_configured() dups gsm48_lchan2chan_desc() with merely a different pchan type (ts->pchan_from_config instead of ts->pchan_is). In an upcoming patch, I would like to do the same, just with yet another pchan value (derived from lchan->type, because that reflects the channel type even before a dynamic timeslot switched its pchan type). So replace gsm48_lchan2chan_desc_as_configured() by gsm48_lchan_and_pchan2chan_desc() with explicit pchan arg; also call this from gsm48_lchan2chan_desc(), reducing code dup. gsm48_lchan2chan_desc_as_configured() had more concise error logging. Absorb that into the new gsm48_lchan_and_pchan2chan_desc(). Add gsm_lchan_and_pchan2chan_nr(), like gsm_lchan2chan_nr() just with explicit pchan arg, to be able to pass the pchan down from the new functions mentioned above. Related: SYS#5559 Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/system_information.c 3 files changed, 29 insertions(+), 30 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/63/25163/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a20e72..31711c7 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1075,12 +1075,15 @@ int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary); int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits); +int gsm_lchan_and_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config pchan, bool allow_osmo_cbits); int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, uint8_t tsc, bool allow_osmo_cbits); -int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc); +int gsm48_lchan_and_pchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + enum gsm_phys_chan_config pchan, + uint8_t tsc, bool allow_osmo_cbits); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 4db70f0..e976a5b 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -562,7 +562,7 @@ /* For RSL, to talk to osmo-bts, we introduce Osmocom specific channel number cbits to indicate VAMOS secondary lchans. * However, in RR, which is sent to the MS, these special cbits must not be sent, but their "normal" equivalent; for RR * messages, pass allow_osmo_cbits = false. */ -int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits) +int gsm_lchan_and_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config pchan, bool allow_osmo_cbits) { int rc; uint8_t lchan_nr = lchan->nr; @@ -582,7 +582,7 @@ * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr, + rc = gsm_pchan2chan_nr(pchan, lchan->ts->nr, lchan_nr, allow_osmo_cbits ? lchan->vamos.is_secondary : false); /* Log an error so that we don't need to add logging to each caller of this function */ if (rc < 0) @@ -593,6 +593,11 @@ return rc; } +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits) +{ + return gsm_lchan_and_pchan2chan_nr(lchan, lchan->ts->pchan_is, allow_osmo_cbits); +} + static const uint8_t subslots_per_pchan[] = { [GSM_PCHAN_NONE] = 0, [GSM_PCHAN_CCCH] = 0, @@ -712,14 +717,18 @@ } } -int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc, bool allow_osmo_cbits) +int gsm48_lchan_and_pchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + enum gsm_phys_chan_config pchan, + uint8_t tsc, bool allow_osmo_cbits) { - int chan_nr = gsm_lchan2chan_nr(lchan, allow_osmo_cbits); + int chan_nr = gsm_lchan_and_pchan2chan_nr(lchan, pchan, allow_osmo_cbits); if (chan_nr < 0) { /* Log an error so that we don't need to add logging to each caller of this function */ - LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", + gsm_pchan_name(pchan), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); return chan_nr; } cd->chan_nr = chan_nr; @@ -727,26 +736,11 @@ return 0; } -/* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to - * return a channel description based on what is configured, rather than - * what the current state of the pchan type is */ -int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc, bool allow_osmo_cbits) { - int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr, - lchan->vamos.is_secondary); - if (chan_nr < 0) { - /* Log an error so that we don't need to add logging to each caller of this function */ - LOG_LCHAN(lchan, LOGL_ERROR, - "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", - gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, - lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); - return chan_nr; - } - cd->chan_nr = chan_nr; - _chan_desc_fill_tail(cd, lchan, tsc); - return 0; + return gsm48_lchan_and_pchan2chan_desc(cd, lchan, lchan->ts->pchan_is, tsc, allow_osmo_cbits); } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index e8b3b7d..974af3a 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1017,8 +1017,10 @@ const struct gsm_bts_trx_ts *ts = cbch_lchan->ts; struct gsm48_chan_desc cd; - /* 10.5.2.5 (TV) CBCH Channel Description IE */ - if (gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts))) + /* 10.5.2.5 (TV) CBCH Channel Description IE. + * CBCH is never in VAMOS mode, so just pass allow_osmo_cbits == false. */ + if (gsm48_lchan_and_pchan2chan_desc(&cd, cbch_lchan, cbch_lchan->ts->pchan_from_config, + gsm_ts_tsc(cbch_lchan->ts), false)) return -EINVAL; tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f Gerrit-Change-Number: 25163 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:55:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:55:59 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... early IMM ASS 1/n: add vty config option This patch adds only the VTY config option without any effect, to ease patch review. The implementation follows in I56c25cde152040fb66bdba44399bd37671ae3df2 The new config option is written so that further variants of Immediate Assignment sequencing may be added easily. See also I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74. Related: SYS#5559 Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 4 files changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/25164/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 1d566f5..291ec10 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -566,6 +566,9 @@ /* Is Fast return to LTE allowed during Chan Release in this BTS? */ bool srvcc_fast_return_allowed; + + /* At what point in the channel allocation sequence to dispatch the Immediate Assignment (Abis optimization) */ + enum imm_ass_time imm_ass_time; }; #define GSM_BTS_SI2Q(bts, i) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i]) diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 31711c7..4411555 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -601,6 +601,11 @@ static inline const char *lchan_activate_mode_name(enum lchan_activate_for activ_for) { return get_value_string(lchan_activate_mode_names, activ_for); } +enum imm_ass_time { + IMM_ASS_TIME_POST_CHAN_ACK = 0, + IMM_ASS_TIME_PRE_CHAN_ACK, +}; + struct lchan_activate_info { enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 3695d28..cba0bb0 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -2806,6 +2806,23 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_immediate_assignment, cfg_bts_immediate_assignment_cmd, + "immediate-assignment (post-chan-ack|pre-chan-ack)", + "Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization)\n" + "Send the Immediate Assignment after the Channel Activation ACK (normal sequence)\n" + "Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK;" + " This may help with double allocations on high latency Abis links\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "pre-chan-ack")) + bts->imm_ass_time = IMM_ASS_TIME_PRE_CHAN_ACK; + else + bts->imm_ass_time = IMM_ASS_TIME_POST_CHAN_ACK; + return CMD_SUCCESS; +} + #define BS_POWER_CONTROL_CMD \ "bs-power-control" #define MS_POWER_CONTROL_CMD \ @@ -3980,6 +3997,16 @@ if (!bts->srvcc_fast_return_allowed) vty_out(vty, " srvcc fast-return forbid%s", VTY_NEWLINE); + switch (bts->imm_ass_time) { + default: + case IMM_ASS_TIME_POST_CHAN_ACK: + /* default value */ + break; + case IMM_ASS_TIME_PRE_CHAN_ACK: + vty_out(vty, " immediate-assignment pre-chan-ack%s", VTY_NEWLINE); + break; + } + /* BS/MS Power Control parameters */ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); @@ -4150,6 +4177,7 @@ install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd); + install_element(BTS_NODE, &cfg_bts_immediate_assignment_cmd); neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 7351056..b837d25 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -204,3 +204,21 @@ OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 1 OsmoBSC(config-net-bts)# show running-config ... !channel allocator allow-tch-for-signalling + +OsmoBSC(config-net-bts)# immediate-assignment? + immediate-assignment Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization) +OsmoBSC(config-net-bts)# immediate-assignment ? + post-chan-ack Send the Immediate Assignment after the Channel Activation ACK (normal sequence) + pre-chan-ack Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK; This may help with double allocations on high latency Abis links +OsmoBSC(config-net-bts)# show running-config +... !immediate-assignment +OsmoBSC(config-net-bts)# immediate-assignment pre-chan-ack +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + immediate-assignment pre-chan-ack +... +OsmoBSC(config-net-bts)# immediate-assignment post-chan-ack +OsmoBSC(config-net-bts)# show running-config +... !immediate-assignment -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:55:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:55:59 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 2/n: implement 'pre-chan-ack' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25165 ) Change subject: early IMM ASS 2/n: implement 'pre-chan-ack' ...................................................................... early IMM ASS 2/n: implement 'pre-chan-ack' When 'immediate-assignment pre-chan-ack' is set, send the Immediate Assignment directly after the Channel Activation, not waiting for the Activation ACK, to save an Abis roundtrip. Related test is in If71f4562d532b6c5faf55f5fd073449a8a137ebf Related: SYS#5559 Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/lchan_fsm.c 3 files changed, 32 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/65/25165/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4411555..ba3af3b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -628,6 +628,11 @@ int tsc; bool vamos; + + /* A copy of bts->imm_ass_time at the time where Channel Activation was requested. A change in the VTY + * configuration has immediate effect on the value, so make sure we don't get mixed up when it gets changed + * while a channel activation is in progress. */ + enum imm_ass_time imm_ass_time; }; enum lchan_modify_for { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index d5b0d53..df31982 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2057,6 +2057,7 @@ .ta_known = true, .tsc_set = -1, .tsc = -1, + .imm_ass_time = bts->imm_ass_time, }; lchan_activate(lchan, &info); diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 68cafb3..1eb9505 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -657,6 +657,21 @@ return 0; } +static int lchan_send_imm_ass(struct osmo_fsm_inst *fi) +{ + int rc; + struct gsm_lchan *lchan = lchan_fi_lchan(fi); + rc = rsl_tx_imm_assignment(lchan); + if (rc) { + lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", + rc, strerror(-rc)); + return rc; + } + LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RR Immediate Assignment\n"); + lchan->activate.immediate_assignment_sent = true; + return rc; +} + static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -801,6 +816,12 @@ if (lchan->activate.info.ta_known) lchan->last_ta = lchan->activate.info.ta; + + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_PRE_CHAN_ACK) { + /* Send the Immediate Assignment directly after the Channel Activation request, saving one Abis + * roundtrip between ChanRqd and Imm Ass. */ + lchan_send_imm_ass(fi); + } } static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi); @@ -861,7 +882,6 @@ static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi) { - int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); lchan->current_ch_mode_rate = lchan->activate.ch_mode_rate; @@ -880,14 +900,12 @@ switch (lchan->activate.info.activ_for) { case ACTIVATE_FOR_MS_CHANNEL_REQUEST: - rc = rsl_tx_imm_assignment(lchan); - if (rc) { - lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", - rc, strerror(-rc)); - return; + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_POST_CHAN_ACK) { + if (lchan_send_imm_ass(fi)) { + /* lchan_fail() was already called in lchan_send_imm_ass() */ + return; + } } - LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RR Immediate Assignment\n"); - lchan->activate.immediate_assignment_sent = true; break; case ACTIVATE_FOR_ASSIGNMENT: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 Gerrit-Change-Number: 25165 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:55:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:55:59 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 3/n: implement 'pre-ts-ack' References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25166 ) Change subject: early IMM ASS 3/n: implement 'pre-ts-ack' ...................................................................... early IMM ASS 3/n: implement 'pre-ts-ack' Add experimental 'pre-ts-ack' to the 'immediate-assignment' options: send the IMM ASS even before a dynamic timeslot is switched. This possibly saves an Abis roundtrip, but may be racy. When pre-ts-ack is chosen, already do the IMM ASS before the dyn TS pchan switch is ACKed. In Immediate Assignment, in case the dyn TS is not ready yet, get the pchan kind from lchan->type, which already reflects the target type, and not from ts->pchan_is, which still reflects the previous pchan type. Related test is in I2ae28cd92910d4bc341a88571599347a64a18fe5 Related: SYS#5559 Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 35 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/66/25166/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ba3af3b..d6c06de 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -604,6 +604,7 @@ enum imm_ass_time { IMM_ASS_TIME_POST_CHAN_ACK = 0, IMM_ASS_TIME_PRE_CHAN_ACK, + IMM_ASS_TIME_PRE_TS_ACK, }; struct lchan_activate_info { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index df31982..26231ac 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2072,6 +2072,7 @@ struct gsm_bts *bts = lchan->ts->trx->bts; uint8_t buf[GSM_MACBLOCK_LEN]; struct gsm48_imm_ass *ia = (struct gsm48_imm_ass *) buf; + enum gsm_phys_chan_config pchan; /* create IMMEDIATE ASSIGN 04.08 message */ memset(ia, 0, sizeof(*ia)); @@ -2079,7 +2080,15 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc, true); + + /* In case the dyn TS is not ready yet, ts->pchan_is still reflects the previous pchan type; so get the pchan + * kind from lchan->type, which already reflects the target type. This only happens for dynamic timeslots. + * gsm_pchan_by_lchan_type() isn't always exact, which is fine for dyn TS with their limited pchan kinds. */ + if (lchan_state_is(lchan, LCHAN_ST_WAIT_TS_READY)) + pchan = gsm_pchan_by_lchan_type(lchan->type); + else + pchan = lchan->ts->pchan_is; + rc = gsm48_lchan_and_pchan2chan_desc(&ia->chan_desc, lchan, pchan, lchan->tsc, true); if (rc) { LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); return rc; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index cba0bb0..577feec 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -2807,16 +2807,20 @@ } DEFUN_ATTR(cfg_bts_immediate_assignment, cfg_bts_immediate_assignment_cmd, - "immediate-assignment (post-chan-ack|pre-chan-ack)", + "immediate-assignment (post-chan-ack|pre-chan-ack|pre-ts-ack)", "Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization)\n" "Send the Immediate Assignment after the Channel Activation ACK (normal sequence)\n" "Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK;" - " This may help with double allocations on high latency Abis links\n", + " This may help with double allocations on high latency Abis links\n" + "EXPERIMENTAL: If a dynamic timeslot switch is necessary, send the Immediate Assignment even before the" + " timeslot is switched, i.e. even before the Channel Activation is sent (very early)\n", CMD_ATTR_IMMEDIATE) { struct gsm_bts *bts = vty->index; - if (!strcmp(argv[0], "pre-chan-ack")) + if (!strcmp(argv[0], "pre-ts-ack")) + bts->imm_ass_time = IMM_ASS_TIME_PRE_TS_ACK; + else if (!strcmp(argv[0], "pre-chan-ack")) bts->imm_ass_time = IMM_ASS_TIME_PRE_CHAN_ACK; else bts->imm_ass_time = IMM_ASS_TIME_POST_CHAN_ACK; @@ -4005,6 +4009,9 @@ case IMM_ASS_TIME_PRE_CHAN_ACK: vty_out(vty, " immediate-assignment pre-chan-ack%s", VTY_NEWLINE); break; + case IMM_ASS_TIME_PRE_TS_ACK: + vty_out(vty, " immediate-assignment pre-ts-ack%s", VTY_NEWLINE); + break; } /* BS/MS Power Control parameters */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1eb9505..def70de 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -739,6 +739,12 @@ /* Prepare an MGW endpoint CI if appropriate. */ if (lchan->activate.info.requires_voice_stream) lchan_rtp_fsm_start(lchan); + + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_PRE_TS_ACK) { + /* Send the Immediate Assignment even before the timeslot is ready, saving a dyn TS timeslot roundtrip + * on Abis (experimental). */ + lchan_send_imm_ass(fi); + } } static void lchan_fsm_wait_ts_ready(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index b837d25..4027502 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -210,6 +210,7 @@ OsmoBSC(config-net-bts)# immediate-assignment ? post-chan-ack Send the Immediate Assignment after the Channel Activation ACK (normal sequence) pre-chan-ack Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK; This may help with double allocations on high latency Abis links + pre-ts-ack EXPERIMENTAL: If a dynamic timeslot switch is necessary, send the Immediate Assignment even before the timeslot is switched, i.e. even before the Channel Activation is sent (very early) OsmoBSC(config-net-bts)# show running-config ... !immediate-assignment OsmoBSC(config-net-bts)# immediate-assignment pre-chan-ack @@ -219,6 +220,13 @@ ... immediate-assignment pre-chan-ack ... +OsmoBSC(config-net-bts)# immediate-assignment pre-ts-ack +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + immediate-assignment pre-ts-ack +... OsmoBSC(config-net-bts)# immediate-assignment post-chan-ack OsmoBSC(config-net-bts)# show running-config ... !immediate-assignment -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Gerrit-Change-Number: 25166 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:56:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:56:00 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... error log: improve lchan lookup error msg Looking for a bug, I spread this logging to understand what was happening. Might as well keep it. Related: SYS#5559 Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 --- M src/osmo-bsc/bts_trx.c 1 file changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/67/25167/1 diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f183d4b..9f8837b 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -183,11 +183,17 @@ lch_idx = 0; /* TCH/F */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_F) || ts->pchan_on_init == GSM_PCHAN_PDCH; /* PDCH? really? */ + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr %x cbits %x: ts %s is not capable of GSM_PCHAN_TCH_F\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_H); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_TCH_H\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): @@ -195,6 +201,9 @@ case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH_SDCCH4); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_CCCH_SDCCH4\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0): case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1): @@ -206,17 +215,26 @@ case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): lch_idx = cbits & 0x7; /* SDCCH/8 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_SDCCH8_SACCH8C); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_SDCCH8_SACCH8C\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_BCCH: case ABIS_RSL_CHAN_NR_CBITS_RACH: case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; /* CCCH? */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_CCCH\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); /* FIXME: we should not return first sdcch4 !!! */ break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; ok = (ts->pchan_on_init == GSM_PCHAN_OSMO_DYN); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not GSM_PCHAN_OSMO_DYN\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; default: return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:57:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:57:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack ...................................................................... bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack Add tests for the new early Imm Ass feature: 'immediate-assignment (post-chan-ack|pre-chan-ack)' as implemented in 0b44493d3de03d2750527e224df67b473fe39f93 In this patch I propose to open a new file for BSC tests, simply BSC_Tests_2.ttcn. The reason is that modifying BSC_Tests.ttcn in tiny ways causes many other files that import BSC_Tests to be recompiled again and again for every dev cycle: for example the LCLS and CBSP test suites. By placing my new test in a separate file, I reduced the waiting time for titan compilation while developing the new tests. I will definitely do so again for future test development, so I thought why not see whether you guys also like this idea. Alternatively I can move the new, now finished, tests into BSC_Tests.ttcn, and just keep BSC_Tests_2.ttcn on my private branch. (I previously argued that there is no problem with huge ttcn files, but I see now that pespin was right to favor reducing the file size. The most benefit probably comes from removed dependency builds.) Related: SYS#5559 Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf --- M bsc/BSC_Tests.cfg M bsc/BSC_Tests.ttcn A bsc/BSC_Tests_2.ttcn M library/GSM_RR_Types.ttcn 4 files changed, 197 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/25168/1 diff --git a/bsc/BSC_Tests.cfg b/bsc/BSC_Tests.cfg index 610e0f7..b5ca989 100644 --- a/bsc/BSC_Tests.cfg +++ b/bsc/BSC_Tests.cfg @@ -16,6 +16,7 @@ [EXECUTE] BSC_Tests.control +BSC_Tests_2.control BSC_Tests_CBSP.control #BSC_Tests.TC_chan_act_noreply #BSC_Tests.TC_chan_act_ack_noest diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0a11a48..f9900f7 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -21,6 +21,7 @@ */ friend module BSC_Tests_VAMOS; +friend module BSC_Tests_2; import from Misc_Helpers all; import from General_Types all; diff --git a/bsc/BSC_Tests_2.ttcn b/bsc/BSC_Tests_2.ttcn new file mode 100644 index 0000000..bbf869f --- /dev/null +++ b/bsc/BSC_Tests_2.ttcn @@ -0,0 +1,192 @@ +module BSC_Tests_2 { + +import from BSC_Tests all; + +import from Misc_Helpers all; +import from General_Types all; +import from Osmocom_Types all; +import from GSM_Types all; +import from IPL4asp_Types all; + +import from BSSAP_Types all; +import from RAN_Adapter all; +import from BSSAP_LE_Adapter all; +import from BSSAP_LE_CodecPort all; +import from BSSAP_LE_Types all; +import from BSSLAP_Types all; +import from BSSAP_CodecPort all; +import from BSSMAP_Templates all; +import from IPA_Emulation all; +import from IPA_CodecPort all; +import from IPA_Types all; +import from IPA_Testing all; +import from RSL_Types all; +import from RSL_Emulation all; +import from MGCP_Emulation all; +import from MGCP_Templates all; +import from MGCP_Types all; +import from MGCP_CodecPort all; + +import from Osmocom_CTRL_Functions all; +import from Osmocom_CTRL_Types all; +import from Osmocom_CTRL_Adapter all; + +import from StatsD_Types all; +import from StatsD_CodecPort all; +import from StatsD_CodecPort_CtrlFunct all; +import from StatsD_Checker all; + +import from Osmocom_VTY_Functions all; +import from TELNETasp_PortType all; + +import from MobileL3_CommonIE_Types all; +import from MobileL3_Types all; +import from MobileL3_RRM_Types all; +import from L3_Templates all; +import from GSM_RR_Types all; + +import from SCCP_Templates all; +import from BSSMAP_Templates all; +import from BSSMAP_LE_Templates all; + +import from SCCPasp_Types all; + +import from GSM_SystemInformation all; +import from GSM_RestOctets all; +import from TCCConversion_Functions all; + +function f_exp_ipa_rx_nonfatal(integer bts_nr, template (present) RSL_Message t_rx, float t_secs := 2.0, + IpaStreamId sid := IPAC_PROTO_RSL_TRX0, boolean ignore_other_rx := true) +runs on test_CT return template (omit) RSL_Message { + var ASP_RSL_Unitdata rx_rsl_ud; + timer T := t_secs; + + T.start; + alt { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(t_rx, sid)) -> value rx_rsl_ud { + T.stop; + } + [ignore_other_rx] IPA_RSL[bts_nr].receive { repeat; } + [not ignore_other_rx] IPA_RSL[bts_nr].receive { + log("f_exp_ipa_rx_nonfatal(): Got different message than ", t_rx); + T.stop; + return omit; + } + [] T.timeout { + return omit; + } + } + return rx_rsl_ud.rsl; +} + +private function f_vty_set_imm_ass(TELNETasp_PT pt, BtsNr bts_nr := 0, charstring imm_ass_setting := "post-chan-ack") { + f_vty_enter_cfg_bts(pt, bts_nr); + f_vty_transceive(pt, "immediate-assignment " & imm_ass_setting); + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); +} + +private function f_verify_imm_ass(RSL_Message imm_ass, template uint8_t ra := ?, template GsmFrameNumber fn := ?, + template RslChannelNr chan_nr := ?) +{ + var RSL_IE_Body full_imm_ass_info; + if (not f_rsl_find_ie(imm_ass, RSL_IE_FULL_IMM_ASS_INFO, full_imm_ass_info)) { + setverdict(fail, "RSL Full Immediate Assign Info IE is absent"); + mtc.stop; + } + + var GsmRrMessage rr_imm_ass := dec_GsmRrMessage(full_imm_ass_info.full_imm_ass_info.payload); + var template GsmRrMessage expect_imm_ass := tr_IMM_ASS(ra := ra, + fn := fn, + ch_desc := tr_ChanDescH0(chan_nr), + page_mode := ?); + if (not match(rr_imm_ass, expect_imm_ass)) { + log("Error: expected ", expect_imm_ass, " got ", rr_imm_ass); + setverdict(fail, "Failed to match Immediate Assignment"); + mtc.stop; + } +} + +testcase TC_imm_ass_post_chan_ack() runs on test_CT { + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + /* (should be the default anyway, just to make things clear) */ + f_vty_set_imm_ass(BSCVTY, 0, "post-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + /* First send the Chan Act ACK */ + var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn + 10)); + + /* Then expect the Immediate Assignment, after we ACKed the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + +testcase TC_imm_ass_pre_chan_ack() runs on test_CT { + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + + /* *FIRST* expect the Immediate Assignment, before we ACK the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Only now send the Chan Act ACK */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + +control { + execute( TC_imm_ass_post_chan_ack() ); + execute( TC_imm_ass_pre_chan_ack() ); +} +} diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 78db7a5..f7b00e1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1038,7 +1038,8 @@ template GsmRrMessage tr_IMM_ASS(template uint8_t ra := ?, template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, - template MobileAllocationLV ma := ?) := { + template MobileAllocationLV ma := ?, + template PageMode page_mode := PAGE_MODE_NORMAL) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { @@ -1048,7 +1049,7 @@ downlink := false, tbf := false }, - page_mode := PAGE_MODE_NORMAL, + page_mode := page_mode, chan_desc := ch_desc, pkt_chan_desc := omit, req_ref := tr_compute_ReqRef(ra, fn), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:57:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:57:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_2.ttcn 2 files changed, 72 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25169/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index f9900f7..1cc876f 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4232,14 +4232,14 @@ f_shutdown_helper(); } -private function f_disable_all_tch_f() runs on test_CT { +function f_disable_all_tch_f() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 2 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 3 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 4 sub-slot 0 borken"); } -private function f_disable_all_tch_h() runs on test_CT { +function f_disable_all_tch_h() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 1 borken"); } @@ -4253,7 +4253,7 @@ f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 1 unused"); } -private function f_disable_all_sdcch() runs on test_CT { +function f_disable_all_sdcch() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 1 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 2 borken"); @@ -6748,7 +6748,7 @@ } } -private function f_ts_set_chcomb(integer bts_nr, integer trx_nr, integer ts_nr, charstring chcomb) +function f_ts_set_chcomb(integer bts_nr, integer trx_nr, integer ts_nr, charstring chcomb) runs on test_CT { f_vty_enter_cfg_ts(BSCVTY, bts_nr, trx_nr, ts_nr); f_vty_transceive(BSCVTY, "phys_chan_config " & chcomb); diff --git a/bsc/BSC_Tests_2.ttcn b/bsc/BSC_Tests_2.ttcn index bbf869f..b211a37 100644 --- a/bsc/BSC_Tests_2.ttcn +++ b/bsc/BSC_Tests_2.ttcn @@ -185,8 +185,76 @@ f_shutdown_helper(); } +testcase TC_imm_ass_pre_chan_ack_dyn_ts() runs on test_CT { + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6)); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323)); + + /* clean up timeslot 6 config, will only take effect when the OML drops the next time */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + /* block all static timeslots so that the dyn TS will be used */ + f_disable_all_tch_f(); + f_disable_all_tch_h(); + f_disable_all_sdcch(); + + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + /* Expect the dyn TS to deactivate PDCH first */ + f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(chan_nr)); + + /* Now activation as SDCCH8 */ + chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + //var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + + /* *FIRST* expect the Immediate Assignment, before we ACK the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Only now send the Chan Act ACK */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { execute( TC_imm_ass_post_chan_ack() ); execute( TC_imm_ass_pre_chan_ack() ); + execute( TC_imm_ass_pre_chan_ack_dyn_ts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 01:57:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 8 Aug 2021 01:57:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 ) Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_ts_ack_dyn_ts Test the experimental 'immediate-assignment pre-ts-ack' implemented in I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Related: SYS#5559 Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 --- M bsc/BSC_Tests_2.ttcn 1 file changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25170/1 diff --git a/bsc/BSC_Tests_2.ttcn b/bsc/BSC_Tests_2.ttcn index b211a37..84a41b4 100644 --- a/bsc/BSC_Tests_2.ttcn +++ b/bsc/BSC_Tests_2.ttcn @@ -252,9 +252,77 @@ f_shutdown_helper(); } +testcase TC_imm_ass_pre_ts_ack_dyn_ts() runs on test_CT { + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6)); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323)); + + /* clean up timeslot 6 config, will only take effect when the OML drops the next time */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + /* block all static timeslots so that the dyn TS will be used */ + f_disable_all_tch_f(); + f_disable_all_tch_h(); + f_disable_all_sdcch(); + + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-ts-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + /* Expect the dyn TS to deactivate PDCH first */ + f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); + + /* And already the Immediate Assignment even before the PDCH Deact ACK */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + /* continue the Osmo style PDCH Deact (usual chan rel) */ + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(chan_nr)); + + /* Now activation as SDCCH8 */ + chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { execute( TC_imm_ass_post_chan_ack() ); execute( TC_imm_ass_pre_chan_ack() ); execute( TC_imm_ass_pre_chan_ack_dyn_ts() ); + execute( TC_imm_ass_pre_ts_ack_dyn_ts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 02:14:51 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 8 Aug 2021 02:14:51 +0000 Subject: Change in simtrace2[master]: cardem: fix spurious NULL bytes during transfers References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25171 ) Change subject: cardem: fix spurious NULL bytes during transfers ...................................................................... cardem: fix spurious NULL bytes during transfers The "wait time extension timer" was apparently not being reset during normal tx operations, which led to occasional NULL (0x60) bytes getting injected into transfers, which in turn led to more tx bytes than what the reader side expects... The odd thing is that this was only noticeable with high baud rates, probably due to the very long default WT of 9600 ETU, and even then only because it led to weird ngff modem resets after benign transfers. Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Related: SYS#5553 --- M firmware/libcommon/source/card_emu.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/71/25171/1 diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index 4b84039..debc658 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -922,6 +922,7 @@ byte = msgb_pull_u8(msg); card_emu_uart_tx(ch->uart_chan, byte); + card_emu_uart_reset_wt(ch->uart_chan); /* this must happen _after_ the byte has been transmitted */ switch (ch->tpdu.state) { -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Gerrit-Change-Number: 25171 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sun Aug 8 09:00:05 2021 From: noreply at opensuse.org (OBS Notification) Date: Sun, 08 Aug 2021 09:00:05 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <610f9d26cc11b_73df2b1a0d8245e06141bc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/osmo-bsc failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: [ 705s] + xsltproc -o /tmp/tmp.kYkoMHIZKD --stringparam with /usr/src/packages/BUILD/doc/manuals/vty/bsc_vty_additions.xml /usr/share/osmo-gsm-manuals/merge_doc.xsl /tmp/tmp.Xv4v3wGDq3 [ 705s] + [ -n ./vty/libbsc_vty_additions.xml ] [ 705s] + realpath ./vty/libbsc_vty_additions.xml [ 705s] + addition=/usr/src/packages/BUILD/doc/manuals/vty/libbsc_vty_additions.xml [ 705s] + shift [ 705s] + cp /tmp/tmp.kYkoMHIZKD /tmp/tmp.Xv4v3wGDq3 [ 705s] + xsltproc -o /tmp/tmp.kYkoMHIZKD --stringparam with /usr/src/packages/BUILD/doc/manuals/vty/libbsc_vty_additions.xml /usr/share/osmo-gsm-manuals/merge_doc.xsl /tmp/tmp.Xv4v3wGDq3 [ 705s] + [ -n ] [ 705s] + cat /tmp/tmp.kYkoMHIZKD [ 705s] + rm -f /tmp/tmp.Xv4v3wGDq3 [ 705s] + rm -f /tmp/tmp.kYkoMHIZKD [ 705s] xsltproc /usr/share/osmo-gsm-manuals/vty_reference.xsl generated/combined.xml \ [ 705s] > generated/docbook_vty.xml [ 705s] xmllint --xinclude --postvalid --noout osmobsc-vty-reference.xml [ 706s] dblatex --xslt-opts="--path /usr/share/osmo-gsm-manuals/common/chapters:/usr/src/packages/BUILD/doc/manuals/generated" \ [ 706s] -P draft.mode=no -o osmobsc-vty-reference.pdf osmobsc-vty-reference.xml [ 706s] Build the book set list... [ 707s] Build the listings... [ 707s] XSLT stylesheets DocBook - LaTeX 2e (0.3.11py3) [ 707s] =================================================== [ 707s] Stripping NS from DocBook 5/NG document. [ 708s] Processing stripped document. [29510s] qemu-kvm: terminating on signal 15 from pid 29035 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [29510s] ### VM INTERACTION END ### [29510s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [29510s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Aug 8 14:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Sun, 8 Aug 2021 14:54:34 +0000 Subject: Change in simtrace2[master]: cardem: fix spurious NULL bytes during transfers In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25171 ) Change subject: cardem: fix spurious NULL bytes during transfers ...................................................................... Patch Set 1: This patch fixes the problem for me, but it pretty much just resets the timer after txing a byte by assuming that it actually was sent, which is a reasonable assumption. There is however still the problem that this might still cause 0x60 bytes if we run out of data, even though the 0x60 byte is only acceptable as PB. If we run out of data afterwards during the tx phase a NULL byte is not gonna help us, the transfer is broken anyway. A proper(er) fix might be to disable the timeout in set_tpdu_state in case of TPDU_S_WAIT_TX and/or to disable the null byte sending in case of TPDU_S_WAIT_TX in card_emu_wtime_half_expired since I can't imagine a situation where a NULL byte helps after ending up in the post-PB TX phase.. except for the single byte INS ^ FF case that then continues with another PB... I suppose this fix here is the safest way to do it. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Gerrit-Change-Number: 25171 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 14:54:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:12:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:12:51 +0000 Subject: Change in simtrace2[master]: cardem: fix spurious NULL bytes during transfers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25171 ) Change subject: cardem: fix spurious NULL bytes during transfers ...................................................................... Patch Set 1: Code-Review+2 nice catch! -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Gerrit-Change-Number: 25171 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:12:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:12:57 +0000 Subject: Change in simtrace2[master]: cardem: fix spurious NULL bytes during transfers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25171 ) Change subject: cardem: fix spurious NULL bytes during transfers ...................................................................... cardem: fix spurious NULL bytes during transfers The "wait time extension timer" was apparently not being reset during normal tx operations, which led to occasional NULL (0x60) bytes getting injected into transfers, which in turn led to more tx bytes than what the reader side expects... The odd thing is that this was only noticeable with high baud rates, probably due to the very long default WT of 9600 ETU, and even then only because it led to weird ngff modem resets after benign transfers. Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Related: SYS#5553 --- M firmware/libcommon/source/card_emu.c 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/firmware/libcommon/source/card_emu.c b/firmware/libcommon/source/card_emu.c index 4b84039..debc658 100644 --- a/firmware/libcommon/source/card_emu.c +++ b/firmware/libcommon/source/card_emu.c @@ -922,6 +922,7 @@ byte = msgb_pull_u8(msg); card_emu_uart_tx(ch->uart_chan, byte); + card_emu_uart_reset_wt(ch->uart_chan); /* this must happen _after_ the byte has been transmitted */ switch (ch->tpdu.state) { -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I15b0b83b7d93b8e5589f3640bd6eb2fc82f93394 Gerrit-Change-Number: 25171 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:25:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:25:41 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build cardem + dfu for BOARD=ngff_cardem References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25172 ) Change subject: contrib/jenkins.sh: Build cardem + dfu for BOARD=ngff_cardem ...................................................................... contrib/jenkins.sh: Build cardem + dfu for BOARD=ngff_cardem This makes sure downloads.osmocom.org will get cardem + dfu images for the new ngff_cardem board. Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/72/25172/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 924d5f7..ac0e419 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -32,6 +32,7 @@ BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " BUILDS+="octsimtest/cardem " +BUILDS+="ngff_cardem/dfu ngff_cardem/cardem " cd $TOPDIR/firmware for build in $BUILDS; do -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Gerrit-Change-Number: 25172 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:26:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:26:59 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build cardem + dfu for BOARD=ngff_cardem In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25172 ) Change subject: contrib/jenkins.sh: Build cardem + dfu for BOARD=ngff_cardem ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Gerrit-Change-Number: 25172 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sun, 08 Aug 2021 19:26:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:31:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:31:51 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25172 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem ...................................................................... contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem This makes sure downloads.osmocom.org will get cardem images for the new ngff_cardem board. The dfu loader was not enabled as it currently overflows the ROM region by 200 bytes, see OS#5210. Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Related: OS#5210 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/72/25172/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Gerrit-Change-Number: 25172 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:34:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:34:34 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25172 ) Change subject: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Gerrit-Change-Number: 25172 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:34:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:34:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:34:36 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25172 ) Change subject: contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem ...................................................................... contrib/jenkins.sh: Build APP=cardem for BOARD=ngff_cardem This makes sure downloads.osmocom.org will get cardem images for the new ngff_cardem board. The dfu loader was not enabled as it currently overflows the ROM region by 200 bytes, see OS#5210. Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Related: OS#5210 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 924d5f7..46482f2 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -32,6 +32,7 @@ BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " BUILDS+="octsimtest/cardem " +BUILDS+="ngff_cardem/cardem " cd $TOPDIR/firmware for build in $BUILDS; do -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Id2b7925c823fb19f880e06a205764d2b19de4ad4 Gerrit-Change-Number: 25172 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:37:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:37:47 +0000 Subject: Change in osmo-sgsn[master]: vty: add "page imsi" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 ) Change subject: vty: add "page imsi" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8a73caa234f6b841e641be866e22e7fa03152eb7 Gerrit-Change-Number: 25161 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:37:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:38:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:38:13 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:38:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:38:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:38:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter pcu.sgsn.0.rx_paging_ps In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 ) Change subject: pcu: test counter pcu.sgsn.0.rx_paging_ps ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f Gerrit-Change-Number: 25157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:38:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:39:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:39:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter bts.0.pch.requests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 ) Change subject: pcu: test counter bts.0.pch.requests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 Gerrit-Change-Number: 25158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:39:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:46:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:46:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 ) Change subject: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 Gerrit-Change-Number: 25159 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:46:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:48:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:48:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: add test TC_paging_pch_timeout In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 ) Change subject: pcu: add test TC_paging_pch_timeout ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 Gerrit-Change-Number: 25160 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:48:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:48:50 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.sgsn.N.rx_paging_{cs, ps} In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25153 ) Change subject: Add counters: pcu.sgsn.N.rx_paging_{cs,ps} ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 Gerrit-Change-Number: 25153 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:48:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 8 19:49:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 8 Aug 2021 19:49:43 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25154 ) Change subject: Add counters: pcu.bts.N.pch.requests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 Gerrit-Change-Number: 25154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 08 Aug 2021 19:49:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:20:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:20:25 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm_post_activ_ack(): return upon release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25162 ) Change subject: lchan_fsm_post_activ_ack(): return upon release ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec Gerrit-Change-Number: 25162 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:20:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:21:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:21:49 +0000 Subject: Change in osmo-bsc[master]: introduce gsm48_lchan_and_pchan2chan_desc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25163 ) Change subject: introduce gsm48_lchan_and_pchan2chan_desc() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f Gerrit-Change-Number: 25163 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:21:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:22:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:22:48 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:22:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:23:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:23:38 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 2/n: implement 'pre-chan-ack' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25165 ) Change subject: early IMM ASS 2/n: implement 'pre-chan-ack' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 Gerrit-Change-Number: 25165 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:23:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:24:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:24:15 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 3/n: implement 'pre-ts-ack' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25166 ) Change subject: early IMM ASS 3/n: implement 'pre-ts-ack' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Gerrit-Change-Number: 25166 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:24:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:24:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:24:36 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:24:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:25:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:25:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25142 ) Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:25:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:26:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:26:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24649 ) Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 09 Aug 2021 06:26:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:27:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:27:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25143 ) Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... Patch Set 1: wold be good to expand in the commitlog on the paths in which we currently have or suspect double-frees. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:27:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:30:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25144 ) Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25144/1/src/gb/gprs_ns_sns.c File src/gb/gprs_ns_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25144/1/src/gb/gprs_ns_sns.c at 276 PS1, Line 276: enum g so we have tow different definitions for the same enum ?!? one here and one in gprs_ns2_internal.h? Doesn't sound like a good idea to me. Why should the old gprs_ns_sns.c code share the enum with the new code, but have a different definiton? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:30:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:31:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:31:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25145 ) Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:31:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:32:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:32:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use an event to free the nsvscs when using SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25146 ) Change subject: gprs_ns2: use an event to free the nsvscs when using SNS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 Gerrit-Change-Number: 25146 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:32:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:33:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:33:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25147 ) Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2.c at 680 PS1, Line 680: while (!llist_empty(&nse->nsvc)) { would be good to explain in a comment why we don't use the normal llist_for_each_entry_safe here. [and same below] -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:33:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:35:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:35:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 11 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 06:35:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:36:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:36:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24123 ) Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... Patch Set 8: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 8 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-Comment-Date: Mon, 09 Aug 2021 06:36:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:36:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:36:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25148 ) Change subject: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7b115921780bd1ae895d8b9d0d4aec3e1cbaaf58 Gerrit-Change-Number: 25148 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:36:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:36:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:36:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add correct filename/linenr to sns failed log message In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25149 ) Change subject: gprs_ns2: add correct filename/linenr to sns failed log message ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed Gerrit-Change-Number: 25149 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:36:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:37:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:37:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2: improve reselection protection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25150 ) Change subject: gprs_ns2: improve reselection protection ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 Gerrit-Change-Number: 25150 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:37:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:37:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:37:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NS... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25151 ) Change subject: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I95e6bbb7a418d647a8426804879571597ae06ff8 Gerrit-Change-Number: 25151 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:37:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:38:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:38:17 +0000 Subject: Change in osmo-pcu[master]: test: add 'make update_exp' target In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25152 ) Change subject: test: add 'make update_exp' target ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f Gerrit-Change-Number: 25152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:38:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:39:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:39:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fr/fr-net: use correct DLCI range for test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 ) Change subject: fr/fr-net: use correct DLCI range for test cases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia155f346beb4f2be1392d3204b73a0d3b00aaa08 Gerrit-Change-Number: 25134 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:39:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:39:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add test case to call force unconfigured after SNS Size received In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 ) Change subject: ns2: add test case to call force unconfigured after SNS Size received ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I16d89391c0d665485cf453c260531023de6096fb Gerrit-Change-Number: 25135 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:39:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:39:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:39:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add a dummy test case TC_idle() for manual test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 ) Change subject: ns2: add a dummy test case TC_idle() for manual test cases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b5936447755dcaebd65396b7bb5cc3f31c17b5 Gerrit-Change-Number: 25136 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:39:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:40:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:40:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 ) Change subject: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56b074649e64d8e8469ff133d4f298ebf07707ae Gerrit-Change-Number: 25137 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:40:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:40:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:40:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: introduce module parameter SnsSide In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 ) Change subject: ns2: introduce module parameter SnsSide ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138/1/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138/1/ns/NS_Tests.ttcn at 27 PS1, Line 27: type enumerated SnsSide { I think we call this "role" in the C implementation, might be good to use the same here? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 Gerrit-Change-Number: 25138 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:40:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:40:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 06:40:33 +0000 Subject: Change in osmo-sgsn[master]: vty: add "page imsi" In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 ) Change subject: vty: add "page imsi" ...................................................................... vty: add "page imsi" Make it easy to manually test pagings from SGSN to the PCU. Related: SYS#4878 Change-Id: I8a73caa234f6b841e641be866e22e7fa03152eb7 --- M src/sgsn/sgsn_vty.c 1 file changed, 21 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/sgsn/sgsn_vty.c b/src/sgsn/sgsn_vty.c index 30bd864..e0e2677 100644 --- a/src/sgsn/sgsn_vty.c +++ b/src/sgsn/sgsn_vty.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -1209,6 +1210,25 @@ return CMD_SUCCESS; } +DEFUN(page_subscr, page_subscr_info_cmd, + "page imsi IMSI", + "Send a PS paging request to subscriber\n" + "Use the IMSI to select the subscriber\n" + "The IMSI\n") +{ + const char *imsi = argv[0]; + struct sgsn_mm_ctx *mm; + + mm = sgsn_mm_ctx_by_imsi(imsi); + if (!mm) { + vty_out(vty, "No MM context for IMSI %s%s", imsi, VTY_NEWLINE); + return CMD_WARNING; + } + + gprs_gb_page_ps_ra(mm); + return CMD_SUCCESS; +} + DEFUN(cfg_gsup_ipa_name, cfg_gsup_ipa_name_cmd, "gsup ipa-name NAME", @@ -1675,6 +1695,7 @@ install_element(ENABLE_NODE, &update_subscr_cancel_cmd); install_element(ENABLE_NODE, &update_subscr_update_location_result_cmd); install_element(ENABLE_NODE, &update_subscr_update_auth_info_cmd); + install_element(ENABLE_NODE, &page_subscr_info_cmd); install_element(ENABLE_NODE, &reset_sgsn_state_cmd); install_element(CONFIG_NODE, &cfg_sgsn_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/25161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I8a73caa234f6b841e641be866e22e7fa03152eb7 Gerrit-Change-Number: 25161 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 06:40:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 06:40:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add first sgsn test case TC_sns_sgsn_config_success In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 ) Change subject: ns2: add first sgsn test case TC_sns_sgsn_config_success ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibacc2f6ad3053ff7b1e00054cabb9ec7010ffab2 Gerrit-Change-Number: 25139 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 06:40:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 07:22:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 07:22:46 +0000 Subject: Change in docker-playground[master]: ttcn3-pcap-client-test: set vty port to 4227 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/25173 ) Change subject: ttcn3-pcap-client-test: set vty port to 4227 ...................................................................... ttcn3-pcap-client-test: set vty port to 4227 After moving the default VTY port for osmo-pcap-client from 4237 to 4227, it is different in nightly and latest. Configure the SUT and testsuite to use 4227 for both nightly and latest. Related: OS#5203 Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae --- M ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg M ttcn3-pcap-client-test/osmo-pcap-client.cfg 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/73/25173/1 diff --git a/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg b/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg index e76fc4f..9946c5c 100644 --- a/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg +++ b/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg @@ -8,6 +8,7 @@ [TESTPORT_PARAMETERS] *.VTY.CTRL_HOSTNAME := "172.18.31.20"; +*.VTY.CTRL_PORTNUM := "4227" [MODULE_PARAMETERS] OPCAP_CLIENT_Tests.mp_local_opcap_ip := "172.18.31.10"; diff --git a/ttcn3-pcap-client-test/osmo-pcap-client.cfg b/ttcn3-pcap-client-test/osmo-pcap-client.cfg index 7394c96..5628b9e 100644 --- a/ttcn3-pcap-client-test/osmo-pcap-client.cfg +++ b/ttcn3-pcap-client-test/osmo-pcap-client.cfg @@ -5,7 +5,7 @@ ! line vty no login - bind 0.0.0.0 + bind 0.0.0.0 4227 ! client pcap device eth0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae Gerrit-Change-Number: 25173 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 07:22:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 07:22:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcap-client: set VTY port to 4227 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 ) Change subject: pcap-client: set VTY port to 4227 ...................................................................... pcap-client: set VTY port to 4227 Adjust the VTY port to the new default, 4227, in case somebody uses the configs from this repository instead of the ones from docker-playground.git (where it is also adjusted). Depends: docker-playground I6d45340429925fe5e98cc4e597a01ef51e8322ae Change-Id: I50af5d0c0930b9bc906a8b909910bc38f025648e --- M pcap-client/OPCAP_CLIENT_Tests.default M pcap-client/osmo-pcap-client.cfg 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/74/25174/1 diff --git a/pcap-client/OPCAP_CLIENT_Tests.default b/pcap-client/OPCAP_CLIENT_Tests.default index 2b1677b..3fd3ac8 100644 --- a/pcap-client/OPCAP_CLIENT_Tests.default +++ b/pcap-client/OPCAP_CLIENT_Tests.default @@ -4,7 +4,7 @@ [TESTPORT_PARAMETERS] *.VTY.CTRL_MODE := "client" *.VTY.CTRL_HOSTNAME := "127.0.0.1" -*.VTY.CTRL_PORTNUM := "4237" +*.VTY.CTRL_PORTNUM := "4227" *.VTY.CTRL_LOGIN_SKIPPED := "yes" *.VTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" *.VTY.CTRL_READMODE := "buffered" diff --git a/pcap-client/osmo-pcap-client.cfg b/pcap-client/osmo-pcap-client.cfg index 89f1801..09201fc 100644 --- a/pcap-client/osmo-pcap-client.cfg +++ b/pcap-client/osmo-pcap-client.cfg @@ -5,6 +5,7 @@ ! line vty no login + bind 127.0.0.1 4227 ! client pcap device lo -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I50af5d0c0930b9bc906a8b909910bc38f025648e Gerrit-Change-Number: 25174 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 07:22:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 07:22:58 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: get_program_repo: add osmo-pcap-client References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25175 ) Change subject: ttcn3.sh: get_program_repo: add osmo-pcap-client ...................................................................... ttcn3.sh: get_program_repo: add osmo-pcap-client Make "ttcn3.sh osmo-pcap-client" work. Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 --- M ttcn3/ttcn3.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/75/25175/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 07a7adc..9b2b1f4 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -71,6 +71,7 @@ case "$1" in fake_trx.py) echo "osmocom-bb" ;; osmo-bts-*) echo "osmo-bts" ;; + osmo-pcap-client) echo "osmo-pcap" ;; osmo-stp) echo "libosmo-sccp" ;; trxcon) echo "osmocom-bb" ;; virtphy) echo "osmocom-bb" ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 Gerrit-Change-Number: 25175 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 07:25:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 07:25:00 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: get_program_repo: add osmo-pcap-* In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-dev/+/25175 ) Change subject: ttcn3.sh: get_program_repo: add osmo-pcap-* ...................................................................... ttcn3.sh: get_program_repo: add osmo-pcap-* Make "ttcn3.sh osmo-pcap-client" work. Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 --- M ttcn3/ttcn3.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/75/25175/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 Gerrit-Change-Number: 25175 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:50:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:50:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN side In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 ) Change subject: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN side ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7474ea81ee905fb9fffb6c413b312e0b3547ea14 Gerrit-Change-Number: 25140 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:50:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:51:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 ) Change subject: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 Gerrit-Change-Number: 25141 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:51:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:51:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:51:59 +0000 Subject: Change in libosmocore[master]: vty/ports: prepare formatting for a long define In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25133 ) Change subject: vty/ports: prepare formatting for a long define ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46655e33651814f41a1fea93406a83334d2fc529 Gerrit-Change-Number: 25133 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:51:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:52:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:52:14 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:52:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:52:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 08:52:51 +0000 Subject: Change in libosmocore[master]: vty/ports: prepare formatting for a long define In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25133 ) Change subject: vty/ports: prepare formatting for a long define ...................................................................... vty/ports: prepare formatting for a long define Add one more tab between the define and the port number, to prepare for longer defines in the next patch. Related: OS#5203 Change-Id: I46655e33651814f41a1fea93406a83334d2fc529 --- M include/osmocom/vty/ports.h 1 file changed, 22 insertions(+), 22 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index b3550d1..cca2dd3 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -9,32 +9,32 @@ #pragma once /* 4236 used by control interface */ -#define OSMO_VTY_PORT_TRX 4237 +#define OSMO_VTY_PORT_TRX 4237 /* 4238 used by osmo-bts control interface */ -#define OSMO_VTY_PORT_STP 4239 -#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ -#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ -#define OSMO_VTY_PORT_NITB_BSC 4242 -#define OSMO_VTY_PORT_BSC_MGCP 4243 -#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP -#define OSMO_VTY_PORT_BSC_NAT 4244 -#define OSMO_VTY_PORT_SGSN 4245 -#define OSMO_VTY_PORT_GBPROXY 4246 -#define OSMO_VTY_PORT_BB 4247 +#define OSMO_VTY_PORT_STP 4239 +#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ +#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ +#define OSMO_VTY_PORT_NITB_BSC 4242 +#define OSMO_VTY_PORT_BSC_MGCP 4243 +#define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP +#define OSMO_VTY_PORT_BSC_NAT 4244 +#define OSMO_VTY_PORT_SGSN 4245 +#define OSMO_VTY_PORT_GBPROXY 4246 +#define OSMO_VTY_PORT_BB 4247 /* 4249-4251 used by control interface */ -#define OSMO_VTY_PORT_BTSMGR 4252 -#define OSMO_VTY_PORT_GTPHUB 4253 -#define OSMO_VTY_PORT_MSC 4254 +#define OSMO_VTY_PORT_BTSMGR 4252 +#define OSMO_VTY_PORT_GTPHUB 4253 +#define OSMO_VTY_PORT_MSC 4254 /* 4255 used by control interface */ -#define OSMO_VTY_PORT_MNCC_SIP 4256 +#define OSMO_VTY_PORT_MNCC_SIP 4256 /* 4257 used by control interface */ -#define OSMO_VTY_PORT_HLR 4258 +#define OSMO_VTY_PORT_HLR 4258 /* 4259 used by control interface */ -#define OSMO_VTY_PORT_GGSN 4260 -#define OSMO_VTY_PORT_HNBGW 4261 +#define OSMO_VTY_PORT_GGSN 4260 +#define OSMO_VTY_PORT_HNBGW 4261 /* 4262-4263 used by control interface */ -#define OSMO_VTY_PORT_CBC 4264 -#define OSMO_VTY_PORT_UECUPS 4268 -#define OSMO_VTY_PORT_E1D 4269 -#define OSMO_VTY_PORT_SMLC 4271 +#define OSMO_VTY_PORT_CBC 4264 +#define OSMO_VTY_PORT_UECUPS 4268 +#define OSMO_VTY_PORT_E1D 4269 +#define OSMO_VTY_PORT_SMLC 4271 /* When adding/changing port numbers, keep docs and wiki in sync. See above. */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I46655e33651814f41a1fea93406a83334d2fc529 Gerrit-Change-Number: 25133 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:52:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 08:52:52 +0000 Subject: Change in libosmocore[master]: vty/ports: move pcap server/client ports In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25128 ) Change subject: vty/ports: move pcap server/client ports ...................................................................... vty/ports: move pcap server/client ports Resolve conflict with other Osmocom software by moving ports: osmo-pcap-client 4237 -> 4227 osmo-pcap-server 4238 -> 4228 Remove wrong previous comments that claimed 4240 and 4241 were used. Related: OS#5203 Related: osmo-pcap I3b18b1fbbca2799f868f28104e2f5d513f93d46c Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d --- M include/osmocom/vty/ports.h 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/include/osmocom/vty/ports.h b/include/osmocom/vty/ports.h index cca2dd3..580e642 100644 --- a/include/osmocom/vty/ports.h +++ b/include/osmocom/vty/ports.h @@ -8,12 +8,14 @@ #pragma once +#define OSMO_VTY_PORT_PCAP_CLIENT 4227 +#define OSMO_VTY_PORT_PCAP_SERVER 4228 /* 4236 used by control interface */ #define OSMO_VTY_PORT_TRX 4237 /* 4238 used by osmo-bts control interface */ #define OSMO_VTY_PORT_STP 4239 -#define OSMO_VTY_PORT_PCU 4240 /* also: osmo_pcap_client */ -#define OSMO_VTY_PORT_BTS 4241 /* also: osmo_pcap_server */ +#define OSMO_VTY_PORT_PCU 4240 +#define OSMO_VTY_PORT_BTS 4241 #define OSMO_VTY_PORT_NITB_BSC 4242 #define OSMO_VTY_PORT_BSC_MGCP 4243 #define OSMO_VTY_PORT_MGW OSMO_VTY_PORT_BSC_MGCP -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25128 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I098f211370bba61995ce424ab64029bdd4c49e2d Gerrit-Change-Number: 25128 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:53:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:53:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcap-client: set VTY port to 4227 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 ) Change subject: pcap-client: set VTY port to 4227 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I50af5d0c0930b9bc906a8b909910bc38f025648e Gerrit-Change-Number: 25174 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:53:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 08:53:30 +0000 Subject: Change in docker-playground[master]: ttcn3-pcap-client-test: set vty port to 4227 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25173 ) Change subject: ttcn3-pcap-client-test: set vty port to 4227 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae Gerrit-Change-Number: 25173 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 08:53:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:57:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 08:57:56 +0000 Subject: Change in docker-playground[master]: ttcn3-pcap-client-test: set vty port to 4227 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25173 ) Change subject: ttcn3-pcap-client-test: set vty port to 4227 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae Gerrit-Change-Number: 25173 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 09 Aug 2021 08:57:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:58:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 08:58:06 +0000 Subject: Change in docker-playground[master]: ttcn3-pcap-client-test: set vty port to 4227 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25173 ) Change subject: ttcn3-pcap-client-test: set vty port to 4227 ...................................................................... ttcn3-pcap-client-test: set vty port to 4227 After moving the default VTY port for osmo-pcap-client from 4237 to 4227, it is different in nightly and latest. Configure the SUT and testsuite to use 4227 for both nightly and latest. Related: OS#5203 Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae --- M ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg M ttcn3-pcap-client-test/osmo-pcap-client.cfg 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Verified diff --git a/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg b/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg index e76fc4f..9946c5c 100644 --- a/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg +++ b/ttcn3-pcap-client-test/OPCAP_CLIENT_Tests.cfg @@ -8,6 +8,7 @@ [TESTPORT_PARAMETERS] *.VTY.CTRL_HOSTNAME := "172.18.31.20"; +*.VTY.CTRL_PORTNUM := "4227" [MODULE_PARAMETERS] OPCAP_CLIENT_Tests.mp_local_opcap_ip := "172.18.31.10"; diff --git a/ttcn3-pcap-client-test/osmo-pcap-client.cfg b/ttcn3-pcap-client-test/osmo-pcap-client.cfg index 7394c96..5628b9e 100644 --- a/ttcn3-pcap-client-test/osmo-pcap-client.cfg +++ b/ttcn3-pcap-client-test/osmo-pcap-client.cfg @@ -5,7 +5,7 @@ ! line vty no login - bind 0.0.0.0 + bind 0.0.0.0 4227 ! client pcap device eth0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6d45340429925fe5e98cc4e597a01ef51e8322ae Gerrit-Change-Number: 25173 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 08:58:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 08:58:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcap-client: set VTY port to 4227 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 ) Change subject: pcap-client: set VTY port to 4227 ...................................................................... pcap-client: set VTY port to 4227 Adjust the VTY port to the new default, 4227, in case somebody uses the configs from this repository instead of the ones from docker-playground.git (where it is also adjusted). Depends: docker-playground I6d45340429925fe5e98cc4e597a01ef51e8322ae Change-Id: I50af5d0c0930b9bc906a8b909910bc38f025648e --- M pcap-client/OPCAP_CLIENT_Tests.default M pcap-client/osmo-pcap-client.cfg 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pcap-client/OPCAP_CLIENT_Tests.default b/pcap-client/OPCAP_CLIENT_Tests.default index 2b1677b..3fd3ac8 100644 --- a/pcap-client/OPCAP_CLIENT_Tests.default +++ b/pcap-client/OPCAP_CLIENT_Tests.default @@ -4,7 +4,7 @@ [TESTPORT_PARAMETERS] *.VTY.CTRL_MODE := "client" *.VTY.CTRL_HOSTNAME := "127.0.0.1" -*.VTY.CTRL_PORTNUM := "4237" +*.VTY.CTRL_PORTNUM := "4227" *.VTY.CTRL_LOGIN_SKIPPED := "yes" *.VTY.CTRL_DETECT_SERVER_DISCONNECTED := "yes" *.VTY.CTRL_READMODE := "buffered" diff --git a/pcap-client/osmo-pcap-client.cfg b/pcap-client/osmo-pcap-client.cfg index 89f1801..09201fc 100644 --- a/pcap-client/osmo-pcap-client.cfg +++ b/pcap-client/osmo-pcap-client.cfg @@ -5,6 +5,7 @@ ! line vty no login + bind 127.0.0.1 4227 ! client pcap device lo -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I50af5d0c0930b9bc906a8b909910bc38f025648e Gerrit-Change-Number: 25174 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 09:35:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 09:35:12 +0000 Subject: Change in osmo-bsc[master]: running.adoc: explain mgw reset-endpoint VTY setting In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25118 ) Change subject: running.adoc: explain mgw reset-endpoint VTY setting ...................................................................... running.adoc: explain mgw reset-endpoint VTY setting When OsmoBSC is restarted, it does not automatically clear the calls on the MGW. However, this is an important part of the configuration to avoid trouble with resource leakage on the MGW, so lets make (especially novice) users aware of that option. Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Depends: osmo-mgw I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M doc/manuals/chapters/running.adoc 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index ae177a9..3e48c4a 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -139,7 +139,12 @@ msc 0 mgw remote-ip 10.9.8.7 mgw remote-port 2427 + mgw reset-endpoint rtpbridge/* <1> ---- +<1> The 'reset-endpoint' setting instructs the OsmoBSC to send a wildcarded +DLCX to the media gateway. This helps to clear lingering calls from the +media gateway when the OsmoBSC is restarted. + ==== Configure Lb to connect to an SMLC -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25118 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19c499c6ac83d7f9437b18b372977f6f2d518adf Gerrit-Change-Number: 25118 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 09:36:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 09:36:07 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: remove unused commandline option -l In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25122 ) Change subject: osmo_bsc_main: remove unused commandline option -l ...................................................................... osmo_bsc_main: remove unused commandline option -l The option -l ("The local address of the MGCP") is still present in the commandline help and the manual, but it is used nowhere and osmo-bsc exists when it is used. Lets remove it. Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e --- M doc/manuals/chapters/running.adoc M src/osmo-bsc/osmo_bsc_main.c 2 files changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 3e48c4a..327e0bd 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -35,8 +35,6 @@ Set the global log level for logging to stderr. This has mostly been deprecated by VTY based logging configuration, see <> for more information. -*-l, --local='IP'*:: - Specify the local IP address of the OsmoBSC-MGCP *-r, --rf-ctl 'RFCTL'*:: Offer a Unix domain socket for RF control at the path/filename 'RFCTL' in the file system. diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index 2a6c501..b97c7a1 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -104,7 +104,6 @@ printf(" -T --timestamp Print a timestamp in the debug output.\n"); printf(" -V --version Print the version of OsmoBSC.\n"); printf(" -c --config-file filename The config file to use.\n"); - printf(" -l --local IP The local address of the MGCP.\n"); printf(" -e --log-level number Set a global loglevel.\n"); printf(" -r --rf-ctl NAME A unix domain socket to listen for cmds.\n"); printf(" -t --testmode A special mode to provoke failures at the MSC.\n"); @@ -152,7 +151,6 @@ {"disable-color", 0, 0, 's'}, {"timestamp", 0, 0, 'T'}, {"version", 0, 0, 'V' }, - {"local", 1, 0, 'l'}, {"log-level", 1, 0, 'e'}, {"rf-ctl", 1, 0, 'r'}, {"testmode", 0, 0, 't'}, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25122 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia295f4414e0d6e78b388c0c72f1a5b8df8bc3d7e Gerrit-Change-Number: 25122 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 09:44:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 09:44:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#13). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 4 files changed, 134 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/13 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 13 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 09:44:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 09:44:39 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 13: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/12/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/12/src/libosmo-mgcp-client/mgcp_client.c at 836 PS12, Line 836: void > static void Done https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c File src/libosmo-mgcp-client/mgcp_client_vty.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/11/src/libosmo-mgcp-client/mgcp_client_vty.c at 208 PS11, Line 208: llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { > llist_for_each_entry_safe could be used here to remove the endpoint inside the loop. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 13 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 09 Aug 2021 09:44:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:22:12 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:22:12 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25176 ) Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... contrib/jenkins.sh: build ngff_Cardem dfu bootloader It does fit with some compiler versions, while others overflow the bl region, so just reduce the trace level a bit to make it fits all the time. Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/76/25176/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 46482f2..ed09c9f 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -32,7 +32,7 @@ BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " BUILDS+="octsimtest/cardem " -BUILDS+="ngff_cardem/cardem " +BUILDS+="ngff_cardem/dfu ngff_cardem/cardem " cd $TOPDIR/firmware for build in $BUILDS; do @@ -40,7 +40,12 @@ app=`echo $build | cut -d "/" -f 2` echo echo "=============== $board / $app START ==============" - make BOARD="$board" APP="$app" + # reduce the trace level so the bl fits + if [ board = "ngff_cardem" ] && [ app = "dfu" ]; then + make BOARD="$board" APP="$app" TRACE_LEVEL=2 + else + make BOARD="$board" APP="$app" + fi echo "=============== $board / $app RES:$? ==============" done -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:26:59 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:26:59 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25176 to look at the new patch set (#2). Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... contrib/jenkins.sh: build ngff_Cardem dfu bootloader It does fit with some compiler versions, while others overflow the bl region, so just reduce the trace level a bit to make it fits all the time. Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/76/25176/2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 2 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:30:29 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25176 to look at the new patch set (#3). Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... contrib/jenkins.sh: build ngff_Cardem dfu bootloader It does fit with some compiler versions, while others overflow the bl region, so just reduce the trace level a bit to make it fits all the time. Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/76/25176/3 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 3 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:41:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 9 Aug 2021 10:41:13 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... Patch Set 2: Code-Review+2 > Patch Set 2: > > Has this ever been used anywhere? I can see the old osmo-bsc_nat installed a custom policy_cb (bsc_mgcp_policy_cb in bsc_mgcp_utils.c). > See SYS#5560 which sounds like osmo-bsc_nat will be used in the future so maybe we'll need a policy_cb then. We just discused this and came to the conclusion that it can be removed. The old osmo-bsc_nat had the mgw built-in and used policy_cb to use osmux on the backhaul. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 10:41:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:43:21 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:43:21 +0000 Subject: Change in simtrace2[master]: --amed References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25177 ) Change subject: --amed ...................................................................... --amed Change-Id: I4754ad8acf05a4268d15b076b42056ca160f288f --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/77/25177/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index ed09c9f..5f68cf1 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -41,7 +41,7 @@ echo echo "=============== $board / $app START ==============" # reduce the trace level so the bl fits - if [ board = "ngff_cardem" ] && [ app = "dfu" ]; then + if [ $board = "ngff_cardem" ] && [ $app = "dfu" ]; then make BOARD="$board" APP="$app" TRACE_LEVEL=2 else make BOARD="$board" APP="$app" -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4754ad8acf05a4268d15b076b42056ca160f288f Gerrit-Change-Number: 25177 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:45:29 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:45:29 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/simtrace2/+/25176 to look at the new patch set (#4). Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... contrib/jenkins.sh: build ngff_Cardem dfu bootloader It does fit with some compiler versions, while others overflow the bl region, so just reduce the trace level a bit to make it fits all the time. Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/76/25176/4 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 10:45:36 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 10:45:36 +0000 Subject: Change in simtrace2[master]: --amed In-Reply-To: References: Message-ID: Hoernchen has abandoned this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25177 ) Change subject: --amed ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4754ad8acf05a4268d15b076b42056ca160f288f Gerrit-Change-Number: 25177 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:15:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:15:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 to look at the new patch set (#2). Change subject: mgcp_client: refactor function init_socket ...................................................................... mgcp_client: refactor function init_socket The function init_socket has an arbitrary retry count when opening the socket. After each retry the local port is incremented by one. The intention behind this is to find a useable local port in case the configured port is used by another process. The maximum number of retrys is hardcoded. The upcomming MGW pooling patch requires to set the maximum retry count. Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 23 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/25/25125/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:15:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:15:42 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25125/1/src/libosmo-mgcp-client/mgcp_client.c File src/libosmo-mgcp-client/mgcp_client.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25125/1/src/libosmo-mgcp-client/mgcp_client.c at 835 PS1, Line 835: mgcp->actual.local_port++; > I'd wrap this in [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 11:15:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:27:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 to look at the new patch set (#7). Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: OS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 80 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/03/25103/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:30:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:30:00 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 7: (2 comments) https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c File src/libosmo-mgcp/mgcp_ratectr.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c at 178 PS6, Line 178: * \returns 0 on success, -EINVAL on failure. */ > returns nothing :) Done https://gerrit.osmocom.org/c/osmo-mgw/+/25103/6/src/libosmo-mgcp/mgcp_ratectr.c at 243 PS6, Line 243: > (added on purpose?) Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 11:30:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:36:46 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 ) Change subject: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 Gerrit-Change-Number: 25141 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 11:36:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:41:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 11:41:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add correct filename/linenr to sns failed log message In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25149 ) Change subject: gprs_ns2: add correct filename/linenr to sns failed log message ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed Gerrit-Change-Number: 25149 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 11:41:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:50:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 11:50:54 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25176 ) Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 11:50:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 11:51:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 9 Aug 2021 11:51:01 +0000 Subject: Change in simtrace2[master]: contrib/jenkins.sh: build ngff_Cardem dfu bootloader In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25176 ) Change subject: contrib/jenkins.sh: build ngff_Cardem dfu bootloader ...................................................................... contrib/jenkins.sh: build ngff_Cardem dfu bootloader It does fit with some compiler versions, while others overflow the bl region, so just reduce the trace level a bit to make it fits all the time. Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 --- M contrib/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 46482f2..5f68cf1 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -32,7 +32,7 @@ BUILDS+="qmod/dfu qmod/cardem " BUILDS+="owhw/dfu owhw/cardem " BUILDS+="octsimtest/cardem " -BUILDS+="ngff_cardem/cardem " +BUILDS+="ngff_cardem/dfu ngff_cardem/cardem " cd $TOPDIR/firmware for build in $BUILDS; do @@ -40,7 +40,12 @@ app=`echo $build | cut -d "/" -f 2` echo echo "=============== $board / $app START ==============" - make BOARD="$board" APP="$app" + # reduce the trace level so the bl fits + if [ $board = "ngff_cardem" ] && [ $app = "dfu" ]; then + make BOARD="$board" APP="$app" TRACE_LEVEL=2 + else + make BOARD="$board" APP="$app" + fi echo "=============== $board / $app RES:$? ==============" done -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I168a847da8dfc585aaeef0030f95fc225a713147 Gerrit-Change-Number: 25176 Gerrit-PatchSet: 4 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:01:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 12:01:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25147 ) Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... Patch Set 1: Code-Review+1 (1 comment) The new way of freeing all the nsvc elements looks a bit strange to me. I think the event will not be processed while llist_for_each() is running, but maybe in the next select loop cycle. In any case, I think this patch would not break anything but I do not really understand what it is fixing exactly. https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2_sns.c at 1584 PS1, Line 1584: while (!llist_empty(&nse->nsvc)) { is this because gprs_ns2_free_nsvc() may free multiple nsvc from the list so that it is impossible to iterate the list normally? You always check if the list is empty, then you get the first entry to free it and then again. A comment why this has to be handled this way might be helpful. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 12:01:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:04:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 12:04:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter bts.0.pch.requests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 ) Change subject: pcu: test counter bts.0.pch.requests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 Gerrit-Change-Number: 25158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 09 Aug 2021 12:04:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:05:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 12:05:43 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 13: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 13 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 09 Aug 2021 12:05:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:09:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 12:09:53 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 12:09:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:11:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 12:11:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 7: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 09 Aug 2021 12:11:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 12:11:59 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... mgcp_protocol: get rid of policy_cb and change_cb The two callback functions policy_cb and change_cb are essentially dead code. They also make the code more difficult to read and understand. Lets remove them. Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 --- M include/osmocom/mgcp/mgcp.h M include/osmocom/mgcp/mgcp_protocol.h M src/libosmo-mgcp/mgcp_protocol.c M tests/mgcp/mgcp_test.c 4 files changed, 17 insertions(+), 110 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp.h b/include/osmocom/mgcp/mgcp.h index 29963cc..b3f2eb5 100644 --- a/include/osmocom/mgcp/mgcp.h +++ b/include/osmocom/mgcp/mgcp.h @@ -62,8 +62,6 @@ #define MGCP_POLICY_REJECT 5 #define MGCP_POLICY_DEFER 6 -typedef int (*mgcp_change)(struct mgcp_endpoint *endp, int state); -typedef int (*mgcp_policy)(struct mgcp_endpoint *endp, int state, const char *transaction_id); typedef int (*mgcp_reset)(struct mgcp_trunk *cfg); typedef int (*mgcp_rqnt)(struct mgcp_endpoint *endp, char tone); @@ -147,8 +145,6 @@ int force_ptime; - mgcp_change change_cb; - mgcp_policy policy_cb; mgcp_reset reset_cb; mgcp_rqnt rqnt_cb; void *data; diff --git a/include/osmocom/mgcp/mgcp_protocol.h b/include/osmocom/mgcp/mgcp_protocol.h index 7ab283d..df134ab 100644 --- a/include/osmocom/mgcp/mgcp_protocol.h +++ b/include/osmocom/mgcp/mgcp_protocol.h @@ -16,6 +16,8 @@ int pkt_period_max; /* time in ms */ }; +char *mgcp_debug_get_last_endpoint_name(void); + char *get_lco_identifier(const char *options); int check_local_cx_options(void *ctx, const char *options); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index e69c00f..b7368b2 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -46,6 +46,16 @@ #include #include +/* Contains the last successfully resolved endpoint name. This variable is used + * for the unit-tests to verify that the endpoint was correctly resolved. */ +static char debug_last_endpoint_name[MGCP_ENDPOINT_MAXLEN]; + +/* Called from unit-tests only */ +char *mgcp_debug_get_last_endpoint_name(void) +{ + return debug_last_endpoint_name; +} + /* A combination of LOGPENDP and LOGPTRUNK that automatically falls back to * LOGPTRUNK when the endp parameter is NULL */ #define LOGPEPTR(endp, trunk, cat, level, fmt, args...) \ @@ -328,6 +338,8 @@ struct msgb *resp = NULL; char *data; + debug_last_endpoint_name[0] = '\0'; + /* Count all messages, even incorect ones */ rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_GENERAL_RX_MSGS_TOTAL)); @@ -395,6 +407,7 @@ return create_err_response(NULL, -rq.mgcp_cause, rq.name, pdata.trans); } } else { + osmo_strlcpy(debug_last_endpoint_name, rq.endp->name, sizeof(debug_last_endpoint_name)); rq.trunk = rq.endp->trunk; rq.mgcp_cause = 0; @@ -1050,32 +1063,8 @@ goto error2; } - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_CRCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPCONN(_conn, DLMGCP, LOGL_NOTICE, - "CRCX: CRCX rejected by policy\n"); - mgcp_endp_release(endp); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_CRCX_FAIL_REJECTED_BY_POLICY)); - return create_err_response(endp, 400, "CRCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "CRCX: Creating connection: port: %u\n", conn->end.local_port); - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_CRCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1290,40 +1279,11 @@ goto error3; } - - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_MDCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPCONN(conn->conn, DLMGCP, LOGL_NOTICE, - "MDCX: rejected by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_REJECTED_BY_POLICY)); - if (silent) - goto out_silent; - return create_err_response(endp, 400, "MDCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, - "MDCX: deferred by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_DEFERRED_BY_POLICY)); - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - mgcp_rtp_end_config(endp, 1, &conn->end); /* modify */ LOGPCONN(conn->conn, DLMGCP, LOGL_DEBUG, "MDCX: modified conn:%s\n", mgcp_conn_dump(conn->conn)); - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_MDCX); /* Send dummy packet, see also comments in mgcp_keepalive_timer_cb() */ OSMO_ASSERT(trunk->keepalive_interval >= MGCP_KEEPALIVE_ONCE); @@ -1431,29 +1391,6 @@ } } - /* policy CB */ - if (pdata->cfg->policy_cb) { - int rc; - rc = pdata->cfg->policy_cb(endp, MGCP_ENDP_DLCX, pdata->trans); - switch (rc) { - case MGCP_POLICY_REJECT: - LOGPENDP(endp, DLMGCP, LOGL_NOTICE, "DLCX: rejected by policy\n"); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_FAIL_REJECTED_BY_POLICY)); - if (silent) - goto out_silent; - return create_err_response(endp, 400, "DLCX", pdata->trans); - break; - case MGCP_POLICY_DEFER: - /* stop processing */ - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_DEFERRED_BY_POLICY)); - return NULL; - break; - case MGCP_POLICY_CONT: - /* just continue */ - break; - } - } - /* Handle wildcarded DLCX that refers to the whole trunk. This means * that we walk over all endpoints on the trunk in order to drop all * connections on the trunk. (see also RFC3435 Annex F.7) */ @@ -1515,9 +1452,6 @@ LOGPENDP(endp, DLMGCP, LOGL_DEBUG, "DLCX: endpoint released\n"); } - if (pdata->cfg->change_cb) - pdata->cfg->change_cb(endp, MGCP_ENDP_DLCX); - rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_DLCX_SUCCESS)); if (silent) goto out_silent; diff --git a/tests/mgcp/mgcp_test.c b/tests/mgcp/mgcp_test.c index 26fcc2a..1c0d3cc 100644 --- a/tests/mgcp/mgcp_test.c +++ b/tests/mgcp/mgcp_test.c @@ -614,28 +614,6 @@ return msg; } -static char last_endpoint[MGCP_ENDPOINT_MAXLEN]; - -static int mgcp_test_policy_cb(struct mgcp_endpoint *endp, - int state, const char *transaction_id) -{ - unsigned int i; - struct mgcp_trunk *trunk; - - fprintf(stderr, "Policy CB got state %d on endpoint %s\n", - state, endp->name); - - trunk = endp->trunk; - last_endpoint[0] = '\0'; - for (i = 0; i < trunk->number_endpoints; i++) { - if (strcmp(endp->name, trunk->endpoints[i]->name) == 0) - osmo_strlcpy(last_endpoint, trunk->endpoints[i]->name, - sizeof(last_endpoint)); - } - - return MGCP_POLICY_CONT; -} - static int dummy_packets = 0; /* override and forward */ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, @@ -792,13 +770,13 @@ struct mgcp_conn_rtp *conn = NULL; char last_conn_id[256]; int rc; + char *last_endpoint = mgcp_debug_get_last_endpoint_name(); cfg = mgcp_config_alloc(); trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); trunk->v.vty_number_endpoints = 64; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; memset(last_conn_id, 0, sizeof(last_conn_id)); @@ -810,7 +788,6 @@ printf("\n================================================\n"); printf("Testing %s\n", t->name); - last_endpoint[0] = '\0'; dummy_packets = 0; osmo_talloc_replace_string(cfg, &trunk->audio_fmtp_extra, @@ -1411,6 +1388,7 @@ struct in_addr addr; struct mgcp_conn_rtp *conn = NULL; char conn_id[256]; + char *last_endpoint = mgcp_debug_get_last_endpoint_name(); printf("Testing multiple payload types\n"); @@ -1418,7 +1396,6 @@ trunk = mgcp_trunk_by_num(cfg, MGCP_TRUNK_VIRTUAL, MGCP_VIRT_TRUNK_ID); trunk->v.vty_number_endpoints = 64; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; /* Allocate endpoint 1 at mgw with two codecs */ last_endpoint[0] = '\0'; @@ -1620,8 +1597,6 @@ trunk->audio_send_name = 0; mgcp_trunk_equip(trunk); - cfg->policy_cb = mgcp_test_policy_cb; - inp = create_msg(CRCX, NULL); msg = mgcp_handle_message(cfg, inp); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 12:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Aug 2021 12:30:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25147 ) Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... Patch Set 1: (1 comment) I have used this exact technique for the same reasons. Freeing an item often has effects in FSMs / triggers cleanup actions which then tear down other instances as well. (re dexter: FSM events get processed inline immediately, not on the next select().) llist_for_each_entry_safe() is not actually safe: if the *next* entry gets deallocated from cleanup actions, then it falls on its face the same way llist_for_each_entry() does. Getting the first entry of an llist is always safe, so it is the simplest and safest way to clear a list. The alternatives would be to implement an *actually* safe llist_for_each_entry, e.g. to compare against active iterators on each llist_del(); would be quite complex, and would not match the thin simple nature of the llist implementation. For me personally, seeing this code is perfectly clear and I wouldn't ask for spreading comments explaining the same concept on every such clearing loop. But would be nicer to have a single function like gprs_ns2_clear() instead of duplicating the loop all over. (Then there could also be a single comment in that function, explaining for the other reviewers...) https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/25147/1/src/gb/gprs_ns2.c at 1490 PS1, Line 1490: looks like moving this free loop is fixing a separate issue? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: laforge Gerrit-CC: neels Gerrit-Comment-Date: Mon, 09 Aug 2021 12:30:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 13:19:39 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 9 Aug 2021 13:19:39 +0000 Subject: Change in simtrace2[master]: contrib: allow manually forcing bulk simtrace dissection References: Message-ID: Hoernchen has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/25178 ) Change subject: contrib: allow manually forcing bulk simtrace dissection ...................................................................... contrib: allow manually forcing bulk simtrace dissection Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c --- M contrib/simtrace.lua 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/78/25178/1 diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 5a273d2..1ca1b0b 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -88,6 +88,5 @@ local usb_product_dissectors = DissectorTable.get("usb.product") usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) usb_product_dissectors:add(0x1d50616e, usb_simtrace_protocol) - --- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) +DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c Gerrit-Change-Number: 25178 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 14:05:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 14:05:24 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... osmo-mgw: add missing statsd configuration The recently added test TC_dlcx_wildcarded depends on statsd information from osmo-mgw but in the osmo-mgw configuration no statsd is configured. Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Related: SYS#5535 --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/79/25179/1 diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index f8e1a0d..13c477a 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -23,6 +23,16 @@ no login bind 0.0.0.0 ! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level global + remote-ip 172.18.4.181 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! e1_input e1_line 0 driver ipa ! -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 14:10:56 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 9 Aug 2021 14:10:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: osmo-mgw.cfg: add missing statsd configuration References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 ) Change subject: osmo-mgw.cfg: add missing statsd configuration ...................................................................... osmo-mgw.cfg: add missing statsd configuration The recently added test TC_dlcx_wildcarded depends on statsd information from osmo-mgw but in the osmo-mgw configuration no statsd is configured. Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Related: SYS#5535 --- M mgw/osmo-mgw.cfg 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/25180/1 diff --git a/mgw/osmo-mgw.cfg b/mgw/osmo-mgw.cfg index 76525bc..8428cd3 100644 --- a/mgw/osmo-mgw.cfg +++ b/mgw/osmo-mgw.cfg @@ -17,6 +17,16 @@ no login bind 127.0.0.1 ! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level global + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! mgcp bind ip 127.0.0.1 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Gerrit-Change-Number: 25180 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 14:11:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 9 Aug 2021 14:11:42 +0000 Subject: Change in osmo-ci[master]: repo-install-test: osmo-pcap-server: !latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/25181 ) Change subject: repo-install-test: osmo-pcap-server: !latest ...................................................................... repo-install-test: osmo-pcap-server: !latest Disable osmo-pcap-server for latest again, as the port is still conflicting there with osmo-bts. Fixes: 7ca9c4 ("repo-install-test: clear SERVICES_NIGHTLY list") Related: OS#5203 Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/81/25181/1 diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index da0d27c..e47b4ec 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -22,15 +22,15 @@ osmo-mgw osmo-msc osmo-pcap-client - osmo-pcap-server osmo-pcu osmo-sgsn osmo-sip-connector osmo-stp " # Services working in nightly, but not yet in latest -# * (currently none) +# * osmo-pcap-server 0.2.0: VTY port in default config conflicts with osmo-bts (OS#5203) SERVICES_NIGHTLY=" + osmo-pcap-server " distro_obsdir() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba Gerrit-Change-Number: 25181 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 9 16:38:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 9 Aug 2021 16:38:17 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... fix: handle NULL return of as_dl_tbf() and as_ul_tbf() Go through all callers of as_dl_tbf() and as_ul_tbf(), and make sure they can handle the possible NULL return value. OS#5205 reports a NULL deref crash of osmo-pcu at pdch.cpp:525. The immediate cause is that as_dl_tbf() may well return NULL, which this caller does not handle and instead dereferences immediately. This is a code path that apparently assumes that a DL-TBF should always be present. The higher level cause for the NULL DL-TBF has not been identified. Related: OS#5205 SYS#5561 Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c --- M src/bts.cpp M src/gprs_ms.c M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pdch.cpp M src/tbf.cpp 6 files changed, 55 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/25182/1 diff --git a/src/bts.cpp b/src/bts.cpp index ee6b915..80e6e83 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1157,14 +1157,13 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else { - tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + else if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 0d6be4d..b9d130a 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -335,9 +335,13 @@ void ms_attach_tbf(struct GprsMs *ms, struct gprs_rlcmac_tbf *tbf) { - if (tbf_direction(tbf) == GPRS_RLCMAC_DL_TBF) + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (dl_tbf) ms_attach_dl_tbf(ms, as_dl_tbf(tbf)); - else + if (ul_tbf) ms_attach_ul_tbf(ms, as_ul_tbf(tbf)); } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 2adf1f3..b99ef9e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -50,7 +50,8 @@ llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); - OSMO_ASSERT(ul_tbf); + if (!ul_tbf) + continue; /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; @@ -69,7 +70,8 @@ } llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); - OSMO_ASSERT(dl_tbf); + if (!dl_tbf) + continue; /* this trx, this ts */ if (!dl_tbf->is_control_ts(pdch->ts_no)) continue; @@ -459,6 +461,7 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { + struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", fn, block_nr, poll_fn, tbf_name(poll_tbf)); @@ -466,8 +469,9 @@ * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at * pcaps. */ - if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) - usf_tbf = as_ul_tbf(poll_tbf); + ul_tbf = as_ul_tbf(poll_tbf); + if (ul_tbf && poll_tbf->direction == GPRS_RLCMAC_UL_TBF && ul_tbf->m_usf[ts] != USF_INVALID) + usf_tbf = ul_tbf; /* else, search for uplink tbf */ } else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 5ccbb9f..6566131 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -357,6 +357,8 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx = ms_current_trx(ms); + struct gprs_rlcmac_dl_tbf *dl_tbf; + struct gprs_rlcmac_dl_tbf *ul_tbf; LOGPAL(tbf, "A", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -406,12 +408,15 @@ /* The allocation will be successful, so the system state and tbf_/ms_ * may be modified from now on. */ - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf_); + dl_tbf = as_dl_tbf(tbf_); + ul_tbf = as_ul_tbf(tbf_); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (ul_tbf) { LOGPSL(tbf, LOGL_DEBUG, "Assign uplink TS=%d TFI=%d USF=%d\n", ts, tfi, usf); assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf); - } else { - struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf_); + } + if (dl_tbf) { LOGPSL(tbf, LOGL_DEBUG, "Assign downlink TS=%d TFI=%d\n", ts, tfi); assign_dlink_tbf(pdch, dl_tbf, tfi); } @@ -878,6 +883,8 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx; + struct gprs_rlcmac_dl_tbf *dl_tbf; + struct gprs_rlcmac_dl_tbf *ul_tbf; LOGPAL(tbf, "B", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -960,10 +967,14 @@ tbf_->first_common_ts = first_common_ts; tbf_->first_ts = first_ts; - if (tbf->direction == GPRS_RLCMAC_DL_TBF) - assign_dl_tbf_slots(as_dl_tbf(tbf_), trx, dl_slots, tfi); - else - assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); + dl_tbf = as_dl_tbf(tbf_); + ul_tbf = as_ul_tbf(tbf_); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (dl_tbf) + assign_dl_tbf_slots(dl_tbf, trx, dl_slots, tfi); + if (ul_tbf) + assign_ul_tbf_slots(ul_tbf, trx, ul_slots, tfi, usf); bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_B); diff --git a/src/pdch.cpp b/src/pdch.cpp index 2ec40ce..f955444 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -452,7 +452,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (tbf->tfi() != tfi) { + if (!tbf || tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, "PACKET DOWNLINK ACK with wrong TFI=%d, ignoring!\n", tfi); return; @@ -522,7 +522,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (tbf->tfi() != tfi) { + if (!tbf || tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "wrong TFI=%d, ignoring!\n", tfi); return; @@ -1063,8 +1063,8 @@ m_tbfs[tbf->direction][tbf->tfi()]->name()); m_num_tbfs[tbf->direction] += 1; - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - ul_tbf = as_ul_tbf(tbf); + ul_tbf = as_ul_tbf(tbf); + if (ul_tbf) { m_assigned_usf |= 1 << ul_tbf->m_usf[ts_no]; } m_assigned_tfi[tbf->direction] |= 1UL << tbf->tfi(); @@ -1083,8 +1083,8 @@ OSMO_ASSERT(m_num_tbfs[tbf->direction] > 0); m_num_tbfs[tbf->direction] -= 1; - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - ul_tbf = as_ul_tbf(tbf); + ul_tbf = as_ul_tbf(tbf); + if (ul_tbf) { m_assigned_usf &= ~(1 << ul_tbf->m_usf[ts_no]); } m_assigned_tfi[tbf->direction] &= ~(1UL << tbf->tfi()); diff --git a/src/tbf.cpp b/src/tbf.cpp index fcad879..e9e584f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -270,15 +270,18 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) { /* update counters */ - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (ul_tbf) { bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); - } else { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + } + if (dl_tbf) { if (tbf->is_egprs_enabled()) { rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); } else { @@ -291,9 +294,7 @@ /* Give final measurement report */ gprs_rlcmac_rssi_rep(tbf); - if (tbf->direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - + if (dl_tbf) { dl_tbf->abort(); dl_tbf->cleanup(); } @@ -623,7 +624,10 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); @@ -690,9 +694,7 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); - + } else if (dl_tbf) { if (!(dl_tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", @@ -784,6 +786,7 @@ void gprs_rlcmac_tbf::handle_timeout() { int current_fn = bts_current_frame_number(bts); + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); @@ -798,8 +801,7 @@ } /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); + if (dl_tbf && (state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { dl_tbf->m_wait_confirm = 0; if (dl_tbf->state_is(TBF_ST_ASSIGN)) { tbf_assign_control_ts(dl_tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:46:29 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:46:29 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:46:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:46:44 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:46:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter pcu.sgsn.0.rx_paging_ps In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 ) Change subject: pcu: test counter pcu.sgsn.0.rx_paging_ps ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f Gerrit-Change-Number: 25157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:46:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:47:00 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:47:00 +0000 Subject: Change in osmo-pcu[master]: test: add 'make update_exp' target In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25152 ) Change subject: test: add 'make update_exp' target ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f Gerrit-Change-Number: 25152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:47:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:47:42 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:47:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: add test TC_paging_pch_timeout In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 ) Change subject: pcu: add test TC_paging_pch_timeout ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 Gerrit-Change-Number: 25160 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:47:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:48:48 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:48:48 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.sgsn.N.rx_paging_{cs, ps} In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25153 ) Change subject: Add counters: pcu.sgsn.N.rx_paging_{cs,ps} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 Gerrit-Change-Number: 25153 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:48:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 08:49:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 08:49:57 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25154 ) Change subject: Add counters: pcu.bts.N.pch.requests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 Gerrit-Change-Number: 25154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 10 Aug 2021 08:49:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 09:09:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 09:09:16 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 10 Aug 2021 09:09:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:28:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:28:41 +0000 Subject: Change in osmo-pcu[master]: test: add 'make update_exp' target In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25152 ) Change subject: test: add 'make update_exp' target ...................................................................... test: add 'make update_exp' target Add convenience target to update the test output. Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f --- M tests/Makefile.am 1 file changed, 39 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 40617bb..63d94f0 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -194,6 +194,45 @@ TESTSUITE = $(srcdir)/testsuite +update_exp: + rlcmac/RLCMACTest \ + >$(srcdir)/rlcmac/RLCMACTest.ok \ + 2>$(srcdir)/rlcmac/RLCMACTest.err + alloc/MslotTest \ + >$(srcdir)/alloc/MslotTest.ok + alloc/AllocTest \ + >$(srcdir)/alloc/AllocTest.ok \ + 2>$(srcdir)/alloc/AllocTest.err + tbf/TbfTest \ + 2>$(srcdir)/tbf/TbfTest.err + bitcomp/BitcompTest \ + >$(srcdir)/bitcomp/BitcompTest.ok \ + 2>$(srcdir)/bitcomp/BitcompTest.err + edge/EdgeTest \ + >$(srcdir)/edge/EdgeTest.ok + types/TypesTest \ + >$(srcdir)/types/TypesTest.ok \ + 2>$(srcdir)/types/TypesTest.err + ms/MsTest \ + >$(srcdir)/ms/MsTest.ok \ + 2>$(srcdir)/ms/MsTest.err + llc/LlcTest \ + >$(srcdir)/llc/LlcTest.ok \ + 2>$(srcdir)/llc/LlcTest.err + llist/LListTest \ + >$(srcdir)/llist/LListTest.ok \ + 2>$(srcdir)/llist/LListTest.err + codel/codel_test \ + >$(srcdir)/codel/codel_test.ok + fn/FnTest \ + >$(srcdir)/fn/FnTest.ok + app_info/AppInfoTest \ + >$(srcdir)/app_info/AppInfoTest.ok \ + 2>$(srcdir)/app_info/AppInfoTest.err + ulc/PdchUlcTest \ + >$(srcdir)/ulc/PdchUlcTest.ok \ + 2>$(srcdir)/ulc/PdchUlcTest.err + # Python testing if ENABLE_VTY_TESTS python-tests: $(BUILT_SOURCES) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I225dd3746200cad748ea09b2c3e1c7f9d006d32f Gerrit-Change-Number: 25152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:35:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:35:18 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.sgsn.N.rx_paging_{cs, ps} In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25153 ) Change subject: Add counters: pcu.sgsn.N.rx_paging_{cs,ps} ...................................................................... Add counters: pcu.sgsn.N.rx_paging_{cs,ps} Related: SYS#4878 Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 --- M src/gprs_bssgp_pcu.c M src/gprs_bssgp_pcu.h 2 files changed, 29 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index e2f6f51..1fcacdb 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include "coding_scheme.h" #include "tbf_dl.h" @@ -53,6 +54,19 @@ extern uint16_t spoof_mcc, spoof_mnc; extern bool spoof_mnc_3_digits; +static const struct rate_ctr_desc sgsn_ctr_description[] = { + [SGSN_CTR_RX_PAGING_CS] = { "rx_paging_cs", "Amount of paging CS requests received" }, + [SGSN_CTR_RX_PAGING_PS] = { "rx_paging_ps", "Amount of paging PS requests received" }, +}; + +static const struct rate_ctr_group_desc sgsn_ctrg_desc = { + .group_name_prefix = "pcu:sgsn", + .group_description = "SGSN Statistics", + .class_id = OSMO_STATS_CLASS_SUBSCRIBER, + .num_ctr = ARRAY_SIZE(sgsn_ctr_description), + .ctr_desc = sgsn_ctr_description, +}; + static void bvc_timeout(void *_priv); static int parse_ra_cap(struct tlv_parsed *tp, MS_Radio_Access_capability_t *rac) @@ -223,6 +237,8 @@ struct GprsMs *ms; int rc; + rate_ctr_inc(rate_ctr_group_get_ctr(the_pcu->bssgp.ctrs, SGSN_CTR_RX_PAGING_CS)); + if ((rc = get_paging_cs_mi(&req, tp)) > 0) return bssgp_tx_status((enum gprs_bssgp_cause) rc, NULL, msg); @@ -280,6 +296,8 @@ uint16_t pgroup; int rc; + rate_ctr_inc(rate_ctr_group_get_ctr(the_pcu->bssgp.ctrs, SGSN_CTR_RX_PAGING_PS)); + if (!TLVP_PRESENT(tp, BSSGP_IE_IMSI)) { LOGP(DBSSGP, LOGL_ERROR, "No IMSI\n"); return bssgp_tx_status(BSSGP_CAUSE_MISSING_MAND_IE, NULL, msg); @@ -1288,11 +1306,15 @@ osmo_timer_setup(&the_pcu->bssgp.bvc_timer, bvc_timeout, bts); + the_pcu->bssgp.ctrs = rate_ctr_group_alloc(the_pcu, &sgsn_ctrg_desc, 0); + OSMO_ASSERT(the_pcu->bssgp.ctrs) + return &the_pcu->bssgp; } void gprs_bssgp_destroy(struct gprs_rlcmac_bts *bts) { + rate_ctr_group_free(the_pcu->bssgp.ctrs); osmo_timer_del(&the_pcu->bssgp.bvc_timer); /* FIXME: blocking... */ diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h index 6c6de1d..907e666 100644 --- a/src/gprs_bssgp_pcu.h +++ b/src/gprs_bssgp_pcu.h @@ -46,6 +46,11 @@ #define NS_HDR_LEN 4 #define IE_LLC_PDU 14 +enum sgsn_counter_id { + SGSN_CTR_RX_PAGING_CS, + SGSN_CTR_RX_PAGING_PS, +}; + struct gprs_bssgp_pcu { struct bssgp_bvc_ctx *bctx; @@ -53,6 +58,8 @@ struct osmo_timer_list bvc_timer; + struct rate_ctr_group *ctrs; + /* state: is the NSVC unblocked? */ int nsvc_unblocked; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iefba6f3d29c69fd4865c084bd9cf1a3a78f5c202 Gerrit-Change-Number: 25153 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:35:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:35:18 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25154 ) Change subject: Add counters: pcu.bts.N.pch.requests ...................................................................... Add counters: pcu.bts.N.pch.requests Count attempted paging requests over PCH. Related: SYS#4878 Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac.cpp 3 files changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index ee6b915..4e3b770 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -132,8 +132,9 @@ { "llc:scheduled", "Scheduled Frames "}, { "llc:dl_bytes", "RLC encapsulated PDUs"}, { "llc:ul_bytes", "full PDUs received "}, - { "rach:requests", "RACH requests "}, - { "11bit_rach:requests", "11BIT_RACH requests "}, + { "pch:requests", "PCH requests sent "}, + { "rach:requests", "RACH requests received"}, + { "11bit_rach:requests", "11BIT_RACH requests received"}, { "spb:uplink_first_segment", "First seg of UL SPB "}, { "spb:uplink_second_segment", "Second seg of UL SPB "}, { "spb:downlink_first_segment", "First seg of DL SPB "}, diff --git a/src/bts.h b/src/bts.h index a2f4598..c28bd97 100644 --- a/src/bts.h +++ b/src/bts.h @@ -125,6 +125,7 @@ CTR_LLC_FRAME_SCHED, CTR_LLC_DL_BYTES, CTR_LLC_UL_BYTES, + CTR_PCH_REQUESTS, CTR_RACH_REQUESTS, CTR_11BIT_RACH_REQUESTS, CTR_SPB_UL_FIRST_SEGMENT, diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index 71849b8..ffa656c 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -47,6 +47,7 @@ LOGP(DRLCMAC, LOGL_ERROR, "TX: [PCU -> BTS] Failed to encode Paging Request\n"); return -1; } + bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS); pcu_l1if_tx_pch(bts, paging_request, plen, pgroup); bitvec_free(paging_request); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1026780ef8542f40060b961df2f37213e15c29d7 Gerrit-Change-Number: 25154 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:37:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:37:23 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Aug 2021 10:37:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:37:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:37:27 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 Related: SYS#4878 Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 9d2f36f..cb37ee7 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -37,6 +37,7 @@ } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; PCUIF_Components.mp_send_all_data_ind := true; +PCU_Tests.mp_osmo_pcu_newer_than_0_9_0 := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 606f1f5..6d6f975 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -18,7 +18,9 @@ # Disable until osmo-pcu release > 0.9.0 if image_suffix_is_latest; then - sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg + cfg="$VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg" + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" "$cfg" + sed -i "s/^PCU_Tests.mp_osmo_pcu_newer_than_0_9_0.*/PCU_Tests.mp_osmo_pcu_newer_than_0_9_0 := false;/" "$cfg" fi mkdir $VOL_BASE_DIR/pcu -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:38:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:38:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter bts.0.pch.requests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 ) Change subject: pcu: test counter bts.0.pch.requests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 Gerrit-Change-Number: 25158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Aug 2021 10:38:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:38:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:38:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter pcu.sgsn.0.rx_paging_ps In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 ) Change subject: pcu: test counter pcu.sgsn.0.rx_paging_ps ...................................................................... pcu: test counter pcu.sgsn.0.rx_paging_ps Related: SYS#4878 Depends: docker-playground 22c6ef9e6ba9c368dc058319662ff95ccbab8063 Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f --- M pcu/PCU_Tests.ttcn 1 file changed, 11 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8e8fba9..3d4bcee 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -71,6 +71,8 @@ charstring mp_ctrl_neigh_ip := "127.0.0.1"; integer mp_ctrl_neigh_port := 4248; + + boolean mp_osmo_pcu_newer_than_0_9_0 := true; /* Drop after OsmoPCU > 0.9.0 was released */ } @@ -3186,6 +3188,8 @@ /* Initialize the PCU interface abstraction */ f_init_raw(testcasename()); + f_statsd_reset(); + /* Establish BSSGP connection to the PCU */ f_bssgp_establish(); f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); @@ -3201,6 +3205,13 @@ f_pcuif_rx_pch_pag_req1(tr_MI_IMSI(imsi), imsi_suff_tx); } + if (mp_osmo_pcu_newer_than_0_9_0) { + var StatsDExpects expect := { + { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 } + }; + f_statsd_expect(expect); + } + f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I20398eed7f462940bcd3d6354d1cd4d47329b74f Gerrit-Change-Number: 25157 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 10:38:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 10:38:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: test counter bts.0.pch.requests In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 ) Change subject: pcu: test counter bts.0.pch.requests ...................................................................... pcu: test counter bts.0.pch.requests Related: SYS#4878 Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 --- M pcu/PCU_Tests.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 3d4bcee..804644a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3207,7 +3207,11 @@ if (mp_osmo_pcu_newer_than_0_9_0) { var StatsDExpects expect := { - { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 } + { name := "TTCN3.pcu.sgsn.0.rx_paging_ps", mtype := "c", min := 1, max := 1 }, + /* After the PCU receives the paging request from SGSN, + * and it doesn't have any errors, PCU sends it to the + * BTS to do paging over PCH. */ + { name := "TTCN3.bts.0.pch.requests", mtype := "c", min := 1, max := 1 } }; f_statsd_expect(expect); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I366b5c699708a69ca0e9d8c74319a241a46ed842 Gerrit-Change-Number: 25158 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 13:43:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 13:43:56 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: support IMAGE_SUFFIX=latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25183 ) Change subject: ttcn3.sh: support IMAGE_SUFFIX=latest ...................................................................... ttcn3.sh: support IMAGE_SUFFIX=latest Add the image suffix to the marker in run_docker() which indicates if the testsuite docker container was already built (with all its dependencies), so the script doesn't assume that everything is already built if using without IMAGE_SUFFIX first and then switching to IMAGE_SUFFIX=latest. Add an usage example to README for IMAGE_SUFFIX=latest. Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1 --- M README M ttcn3/ttcn3.sh 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/83/25183/1 diff --git a/README b/README index 5b3c0ce..7e34680 100644 --- a/README +++ b/README @@ -152,6 +152,7 @@ Example usage: ./ttcn3/ttcn3.sh mgw + IMAGE_SUFFIX=latest ./ttcn3/ttcn3.sh mgw More about the testsuites: https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index daa9561..b25c239 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -236,7 +236,7 @@ local hacks="${DIR_OSMODEV}/src/osmo-ttcn3-hacks" local docker_dir="$(get_testsuite_dir_docker)" local docker_name="$(basename "$docker_dir")" - local marker="${DIR_OSMODEV}/ttcn3/make/.docker.$docker_name" + local marker="${DIR_OSMODEV}/ttcn3/make/.docker.$docker_name.$IMAGE_SUFFIX" # Skip building docker containers if this already ran if [ -e "$marker" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1 Gerrit-Change-Number: 25183 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 14:26:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 10 Aug 2021 14:26:08 +0000 Subject: Change in osmo-ci[master]: repo-install-test: osmo-pcap-server: !latest In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25181 ) Change subject: repo-install-test: osmo-pcap-server: !latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba Gerrit-Change-Number: 25181 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 10 Aug 2021 14:26:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 15:24:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 15:24:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: rename mp_stp_has_asp_quirk References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 ) Change subject: stp: rename mp_stp_has_asp_quirk ...................................................................... stp: rename mp_stp_has_asp_quirk Rename the option to mp_osmo_stp_newer_than_1_4_0, because I'm going to use the variable in the next patch for something unrelated to the asp quirk and so we can avoid introducing another variable. Related: docker-playground I6a32398242b53c827a94cf65e4a35900a7c4171a Related: OS#4239 Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/84/25184/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 13703d0..b97d4da 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -73,8 +73,8 @@ integer mp_recovery_timeout_msec := 2000; charstring mp_sccp_service_type := "mtp3_itu"; - /* does the STP support the 'asp quirk' command? */ - boolean mp_stp_has_asp_quirk := true; + /* is osmo-stp newer than 1.4.0? */ + boolean mp_osmo_stp_newer_than_1_4_0 := true; } type record M3uaConfig { @@ -1034,7 +1034,7 @@ execute( TC_clnt_asp_to_sg() ); /* remove the condition if osmo-stp > 1.4.0 is released */ - if (mp_stp_has_asp_quirk) { + if (mp_osmo_stp_newer_than_1_4_0) { execute( TC_clnt_quirk_no_notify_asp_act() ); execute( TC_clnt_no_daud_in_asp() ); execute( TC_clnt_quirk_daud_in_asp() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Gerrit-Change-Number: 25184 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 15:24:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 15:24:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: TC_rkm_unreg_never_registered: !latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 ) Change subject: stp: TC_rkm_unreg_never_registered: !latest ...................................................................... stp: TC_rkm_unreg_never_registered: !latest Disable test TC_rkm_unreg_never_registered for current latest version of osmo-stp (1.4.0), as it does not clean up properly and now causes other tests to fail. With this patch, test results for -latest are restored to how it was before I7d2f9eb298778a8e60c7e73f314bc73528e85406 and I31fcba85d23a8767eb0ceb513ff5b440558a475b were merged. Related: OS#4239 Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 12 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/25185/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index b97d4da..1c3b01d 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -1019,7 +1019,18 @@ execute( TC_rkm_reg_static_notpermitted() ); execute( TC_rkm_reg_static_permitted() ); execute( TC_rkm_reg_dynamic_permitted() ); - execute( TC_rkm_unreg_never_registered() ); + /* This test has never passed in osmo-stp <= 1.4.0, because it needs + * patch Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 which was added + * afterwards. Disable the test for <= 1.4.0, because the test does not + * clean up properly and - after other tests were extended - they are + * now failing in this not properly cleaned up state. After some hours + * of figuring out that it is definitively this test and trying to + * figure out what exactly is not cleaning up properly, I decided to + * just temporarily disable the test for -latest instead of spending + * even more time on it. */ + if (mp_osmo_stp_newer_than_1_4_0) { + execute( TC_rkm_unreg_never_registered() ); + } execute( TC_rkm_unreg_invalid() ); execute( TC_rkm_unreg_registered() ); execute( TC_rkm_unreg_active() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b Gerrit-Change-Number: 25185 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 15:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 15:24:45 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... ttcn3-stp-test: rename mp_stp_has_asp_quirk Rename the option to mp_osmo_stp_newer_than_1_4_0, because I'm going to use the variable in an upcoming osmo-ttcn3-hacks.git patch for something unrelated to the asp quirk so we can avoid introducing another variable. Related: osmo-ttcn3-hacks I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Related: OS#4239 Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/86/25186/1 diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index edc07ed..f68726d 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -13,7 +13,7 @@ STP_Tests_M3UA.mp_stp_m3ua_ip := { "172.18.19.200", "fd02:db8:19::200" }; STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; STP_Tests_M3UA.mp_local_m3ua_ip := { "172.18.19.203", "fd02:db8:19::203" }; -STP_Tests_M3UA.mp_stp_has_asp_quirk := true; +STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0 := true; [MAIN_CONTROLLER] diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index cecd07c..8cf65ce 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -17,7 +17,7 @@ # Disable until osmo-stp release > 1.4.0 if image_suffix_is_latest; then - sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg + sed -i "s/^STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0.*/STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0 := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg fi SUBNET=19 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 15:26:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 15:26:25 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Aug 2021 15:26:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 17:21:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 17:21:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: osmo-mgw.cfg: add missing statsd configuration In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 ) Change subject: osmo-mgw.cfg: add missing statsd configuration ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Gerrit-Change-Number: 25180 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Aug 2021 17:21:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 10 17:22:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 10 Aug 2021 17:22:12 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 10 Aug 2021 17:22:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 01:31:34 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 11 Aug 2021 01:31:34 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 to look at the new patch set (#2). Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... fix: handle NULL return of as_dl_tbf() and as_ul_tbf() Go through all callers of as_dl_tbf() and as_ul_tbf(), and make sure they can handle the possible NULL return value. OS#5205 reports a NULL deref crash of osmo-pcu at pdch.cpp:525. The immediate cause is that as_dl_tbf() may well return NULL, which this caller does not handle and instead dereferences immediately. This is a code path that apparently assumes that a DL-TBF should always be present. The higher level cause for the NULL DL-TBF has not been identified. Related: OS#5205 SYS#5561 Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c --- M src/bts.cpp M src/gprs_ms.c M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pdch.cpp M src/tbf.cpp 6 files changed, 57 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/82/25182/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 06:38:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 11 Aug 2021 06:38:12 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 2: Code-Review+1 I'm a bit hesitant to merge this as there are so many locations that assume the tbf is always non-NULL, so the key question really under what conditions it becomes NULL. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 11 Aug 2021 06:38:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 07:44:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 07:44:56 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 2: Code-Review+1 Patch looks sane to me. Maybe log a message if as_dl_tbf and as_ul_tbf are NULL instead of silently doing nothing? That hopefully helps with figuring out why this happens. Note that Pau has patches pending to completely refactor TBF logic to use FSM: https://gerrit.osmocom.org/c/osmo-pcu/+/25011 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 07:44:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:04:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:04:36 +0000 Subject: Change in simtrace2[master]: contrib: allow manually forcing bulk simtrace dissection In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25178 ) Change subject: contrib: allow manually forcing bulk simtrace dissection ...................................................................... Patch Set 1: Code-Review+1 LGTM. Why was it disabled in the initial version in https://gerrit.osmocom.org/c/simtrace2/+/24737? (would be helpful in the commit message) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c Gerrit-Change-Number: 25178 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:04:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:06:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:06:59 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm_post_activ_ack(): return upon release In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25162 ) Change subject: lchan_fsm_post_activ_ack(): return upon release ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec Gerrit-Change-Number: 25162 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:06:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:16:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:16:45 +0000 Subject: Change in osmo-bsc[master]: introduce gsm48_lchan_and_pchan2chan_desc() In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25163 ) Change subject: introduce gsm48_lchan_and_pchan2chan_desc() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f Gerrit-Change-Number: 25163 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:16:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:25:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:25:29 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:25:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:30:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:30:22 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 2/n: implement 'pre-chan-ack' In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25165 ) Change subject: early IMM ASS 2/n: implement 'pre-chan-ack' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 Gerrit-Change-Number: 25165 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:30:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:35:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:35:08 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 3/n: implement 'pre-ts-ack' In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25166 ) Change subject: early IMM ASS 3/n: implement 'pre-ts-ack' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Gerrit-Change-Number: 25166 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:35:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:37:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:37:04 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:37:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:52:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Aug 2021 08:52:32 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#4). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 8 files changed, 320 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Aug 2021 08:53:43 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#12). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 593 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/12 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:54:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Aug 2021 08:54:04 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 12: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25120/9/include/osmocom/mgcp_client/mgcp_client_pool.h File include/osmocom/mgcp_client/mgcp_client_pool.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25120/9/include/osmocom/mgcp_client/mgcp_client_pool.h at 9 PS9, Line 9: void mgcp_client_pool_register_single(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client); > the naming of those function is inconsistent. Either you first put the object first, i.e. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Aug 2021 08:54:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:56:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:56:56 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 12: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 12 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 11 Aug 2021 08:56:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 08:57:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 08:57:21 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 08:57:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 09:57:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 11 Aug 2021 09:57:41 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 11 Aug 2021 09:57:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 09:57:45 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 11 Aug 2021 09:57:45 +0000 Subject: Change in simtrace2[master]: contrib: allow manually forcing bulk simtrace dissection In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25178 ) Change subject: contrib: allow manually forcing bulk simtrace dissection ...................................................................... Patch Set 1: It was just useless because the pid/vid version was strictly better and automatically dissects the packets - the problem is that this only works as long as wireshark sees the descriptors, so if you manually cut your capture and omit them it does not work, and it's not possible to force "decode as.." -> but "decode as.." works when adding it to the generic bulk table. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c Gerrit-Change-Number: 25178 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 09:57:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 11:43:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 11:43:19 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: Hello Jenkins Builder, Hoernchen, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 to look at the new patch set (#4). Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Add counters: pcu.bts.N.pch.requests.timeout Implement T3113 for paging over PCH with default value of 7s (same as T3113 in OsmoBSC). Increase the new counter on timeout. Related: SYS#4878 Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f --- M src/Makefile.am M src/bts.cpp M src/bts.h A src/bts_pch_timer.c A src/bts_pch_timer.h M src/gprs_pcu.c M src/gprs_rlcmac.cpp M src/tbf_ul.cpp 8 files changed, 142 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/25155/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 11:45:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 11:45:12 +0000 Subject: Change in osmo-ci[master]: repo-install-test: osmo-pcap-server: !latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25181 ) Change subject: repo-install-test: osmo-pcap-server: !latest ...................................................................... Patch Set 1: Verified+1 Code-Review+2 Trivial, merging now so the repo-install-test doesn't fail every day. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba Gerrit-Change-Number: 25181 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 11:45:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 11:45:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 11:45:20 +0000 Subject: Change in osmo-ci[master]: repo-install-test: osmo-pcap-server: !latest In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25181 ) Change subject: repo-install-test: osmo-pcap-server: !latest ...................................................................... repo-install-test: osmo-pcap-server: !latest Disable osmo-pcap-server for latest again, as the port is still conflicting there with osmo-bts. Fixes: 7ca9c4 ("repo-install-test: clear SERVICES_NIGHTLY list") Related: OS#5203 Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba --- M scripts/repo-install-test/run-inside-docker.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/scripts/repo-install-test/run-inside-docker.sh b/scripts/repo-install-test/run-inside-docker.sh index da0d27c..e47b4ec 100755 --- a/scripts/repo-install-test/run-inside-docker.sh +++ b/scripts/repo-install-test/run-inside-docker.sh @@ -22,15 +22,15 @@ osmo-mgw osmo-msc osmo-pcap-client - osmo-pcap-server osmo-pcu osmo-sgsn osmo-sip-connector osmo-stp " # Services working in nightly, but not yet in latest -# * (currently none) +# * osmo-pcap-server 0.2.0: VTY port in default config conflicts with osmo-bts (OS#5203) SERVICES_NIGHTLY=" + osmo-pcap-server " distro_obsdir() { -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I711e0e13c3e3af30407b85fd10aca9446f2b94ba Gerrit-Change-Number: 25181 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 14:47:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 14:47:25 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Patch Set 4: Code-Review+2 re-applying 1+1=2 after adding author comment -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 11 Aug 2021 14:47:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 11 14:47:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 11 Aug 2021 14:47:33 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Add counters: pcu.bts.N.pch.requests.timeout Implement T3113 for paging over PCH with default value of 7s (same as T3113 in OsmoBSC). Increase the new counter on timeout. Related: SYS#4878 Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f --- M src/Makefile.am M src/bts.cpp M src/bts.h A src/bts_pch_timer.c A src/bts_pch_timer.h M src/gprs_pcu.c M src/gprs_rlcmac.cpp M src/tbf_ul.cpp 8 files changed, 142 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index 8070fda..f05daaf 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,6 +62,7 @@ tbf_ul.cpp \ tbf_dl.cpp \ bts.cpp \ + bts_pch_timer.c \ pdch.cpp \ pdch_ul_controller.c \ encoding.cpp \ @@ -101,6 +102,7 @@ tbf_ul.h \ tbf_dl.h \ bts.h \ + bts_pch_timer.h \ pdch.h \ pdch_ul_controller.h \ encoding.h \ diff --git a/src/bts.cpp b/src/bts.cpp index 4e3b770..a96fe24 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -133,6 +133,7 @@ { "llc:dl_bytes", "RLC encapsulated PDUs"}, { "llc:ul_bytes", "full PDUs received "}, { "pch:requests", "PCH requests sent "}, + { "pch:requests:timeout", "PCH requests timeout "}, { "rach:requests", "RACH requests received"}, { "11bit_rach:requests", "11BIT_RACH requests received"}, { "spb:uplink_first_segment", "First seg of UL SPB "}, @@ -283,6 +284,8 @@ llist_add_tail(&bts->list, &pcu->bts_list); + INIT_LLIST_HEAD(&bts->pch_timer); + return bts; } diff --git a/src/bts.h b/src/bts.h index c28bd97..5e45527 100644 --- a/src/bts.h +++ b/src/bts.h @@ -126,6 +126,7 @@ CTR_LLC_DL_BYTES, CTR_LLC_UL_BYTES, CTR_PCH_REQUESTS, + CTR_PCH_REQUESTS_TIMEDOUT, CTR_RACH_REQUESTS, CTR_11BIT_RACH_REQUESTS, CTR_SPB_UL_FIRST_SEGMENT, @@ -263,6 +264,9 @@ struct osmo_stat_item_group *statg; struct GprsMsStorage *ms_store; + + /* List of struct bts_pch_timer for active PCH pagings */ + struct llist_head pch_timer; }; #ifdef __cplusplus diff --git a/src/bts_pch_timer.c b/src/bts_pch_timer.c new file mode 100644 index 0000000..386a583 --- /dev/null +++ b/src/bts_pch_timer.c @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Oliver Smith + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#include + +#include +#include +#include +#include + +#include +#include +#include + +static struct bts_pch_timer *bts_pch_timer_get(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + struct bts_pch_timer *p; + + llist_for_each_entry(p, &bts->pch_timer, entry) { + if (strcmp(p->imsi, imsi) == 0) + return p; + } + + return NULL; +} + +static void bts_pch_timer_remove(struct bts_pch_timer *p) +{ + osmo_timer_del(&p->T3113); + llist_del(&p->entry); + + LOGP(DPCU, LOGL_DEBUG, "PCH paging timer stopped for IMSI=%s\n", p->imsi); + talloc_free(p); +} + +static void T3113_callback(void *data) +{ + struct bts_pch_timer *p = data; + + LOGP(DPCU, LOGL_INFO, "PCH paging timeout for IMSI=%s\n", p->imsi); + bts_do_rate_ctr_inc(p->bts, CTR_PCH_REQUESTS_TIMEDOUT); + bts_pch_timer_remove(p); +} + +void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + if (bts_pch_timer_get(bts, imsi)) + return; + + struct bts_pch_timer *p; + p = talloc_zero(bts, struct bts_pch_timer); + llist_add_tail(&p->entry, &bts->pch_timer); + osmo_strlcpy(p->imsi, imsi, sizeof(p->imsi)); + p->bts = bts; + + struct osmo_tdef *tdef = osmo_tdef_get_entry(the_pcu->T_defs, 3113); + OSMO_ASSERT(tdef); + osmo_timer_setup(&p->T3113, T3113_callback, p); + osmo_timer_schedule(&p->T3113, tdef->val, 0); + + LOGP(DPCU, LOGL_DEBUG, "PCH paging timer started for IMSI=%s\n", p->imsi); +} + +void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi) +{ + struct bts_pch_timer *p = bts_pch_timer_get(bts, imsi); + + if (p) + bts_pch_timer_remove(p); +} diff --git a/src/bts_pch_timer.h b/src/bts_pch_timer.h new file mode 100644 index 0000000..91bebed --- /dev/null +++ b/src/bts_pch_timer.h @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Oliver Smith + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct bts_pch_timer { + struct llist_head entry; + struct gprs_rlcmac_bts *bts; + struct osmo_timer_list T3113; + char imsi[OSMO_IMSI_BUF_SIZE]; +}; + +void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi); +void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi); + +#ifdef __cplusplus +} +#endif diff --git a/src/gprs_pcu.c b/src/gprs_pcu.c index 37563ec..a7bab8d 100644 --- a/src/gprs_pcu.c +++ b/src/gprs_pcu.c @@ -30,6 +30,7 @@ struct gprs_pcu *the_pcu; static struct osmo_tdef T_defs_pcu[] = { + { .T=3113, .default_val=7, .unit=OSMO_TDEF_S, .desc="Timeout for paging", .val=0 }, { .T=3190, .default_val=5, .unit=OSMO_TDEF_S, .desc="Return to packet idle mode after Packet DL Assignment on CCCH (s)", .val=0}, { .T=3141, .default_val=10, .unit=OSMO_TDEF_S, .desc="Timeout for contention resolution procedure (s)", .val=0 }, { .T=PCU_TDEF_NEIGH_RESOLVE_TO, .default_val=1000, .unit=OSMO_TDEF_MS, .desc="[ARFCN+BSIC]->[RAC+CI] resolution timeout (ms)", .val=0 }, diff --git a/src/gprs_rlcmac.cpp b/src/gprs_rlcmac.cpp index ffa656c..22b12df 100644 --- a/src/gprs_rlcmac.cpp +++ b/src/gprs_rlcmac.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -48,6 +49,7 @@ return -1; } bts_do_rate_ctr_inc(bts, CTR_PCH_REQUESTS); + bts_pch_timer_start(bts, mi->imsi); pcu_l1if_tx_pch(bts, paging_request, plen, pgroup); bitvec_free(paging_request); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index b5f9f01..5ca02d9 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -20,6 +20,7 @@ */ #include +#include #include #include #include @@ -494,6 +495,7 @@ "Decoded premier TLLI=0x%08x of UL DATA TFI=%d.\n", new_tlli, rlc->tfi); update_ms(new_tlli, GPRS_RLCMAC_UL_TBF); + bts_pch_timer_stop(bts, ms_imsi(ms())); } else if (new_tlli != GSM_RESERVED_TMSI && new_tlli != tlli()) { LOGPTBFUL(this, LOGL_NOTICE, "Decoded TLLI=%08x mismatch on UL DATA TFI=%d. (Ignoring due to contention resolution)\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:01:26 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:01:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: introduce module parameter SnsSide In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 ) Change subject: ns2: introduce module parameter SnsSide ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138/1/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138/1/ns/NS_Tests.ttcn at 27 PS1, Line 27: type enumerated SnsSide { > I think we call this "role" in the C implementation, might be good to use the same here? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 Gerrit-Change-Number: 25138 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 02:01:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:10:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:10:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: introduce module parameter SnsRole In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 to look at the new patch set (#2). Change subject: ns2: introduce module parameter SnsRole ...................................................................... ns2: introduce module parameter SnsRole Allow the .cfg to define which tests should be run. The new SGSN role SNS tests have their own configurations for TTCN3 and osmo-nsdummy. Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 --- M ns/NS_Tests.ttcn 1 file changed, 17 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/38/25138/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25138 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If8162f256428e2e1f353ffbf42a7c0cd24bcecd9 Gerrit-Change-Number: 25138 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:10:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:10:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add first sgsn test case TC_sns_sgsn_config_success In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 to look at the new patch set (#2). Change subject: ns2: add first sgsn test case TC_sns_sgsn_config_success ...................................................................... ns2: add first sgsn test case TC_sns_sgsn_config_success Checks if the SGSN can success configures a SNS. Change-Id: Ibacc2f6ad3053ff7b1e00054cabb9ec7010ffab2 --- A ns/NS_Tests.sgsn.sns.cfg M ns/NS_Tests.ttcn A ns/osmo-ns.sgsn.sns.cfg 3 files changed, 160 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/39/25139/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25139 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ibacc2f6ad3053ff7b1e00054cabb9ec7010ffab2 Gerrit-Change-Number: 25139 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN role In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 to look at the new patch set (#3). Change subject: ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN role ...................................................................... ns2: add TC_sns_sgsn_add to test SNS ADD on the SGSN role Change-Id: I7474ea81ee905fb9fffb6c413b312e0b3547ea14 --- M ns/NS_Tests.ttcn 1 file changed, 20 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/25140/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25140 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7474ea81ee905fb9fffb6c413b312e0b3547ea14 Gerrit-Change-Number: 25140 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 to look at the new patch set (#3). Change subject: ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken ...................................................................... ns2: mark TC_sns_bss_all_signalling_nsvcs_failed as broken The test case tests the wrong side. The signalling and data weight are valid for the other side. The correct test case needs to add a second bind on the ttcn3 side because the signalling and data weight is valid for the remote side. Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 --- M ns/NS_Tests.ttcn 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/41/25141/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25141 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice79a038b0b8df9e69232bb24b2f2b18b3632758 Gerrit-Change-Number: 25141 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:26 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: fr/fr-net: use correct DLCI range for test cases In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 ) Change subject: fr/fr-net: use correct DLCI range for test cases ...................................................................... fr/fr-net: use correct DLCI range for test cases DLCIs are only valid >= 16. Change-Id: Ia155f346beb4f2be1392d3204b73a0d3b00aaa08 --- M fr-net/FRNET_Tests.ttcn M fr/FR_Tests.ttcn 2 files changed, 8 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/fr-net/FRNET_Tests.ttcn b/fr-net/FRNET_Tests.ttcn index c3ec468..614750f 100644 --- a/fr-net/FRNET_Tests.ttcn +++ b/fr-net/FRNET_Tests.ttcn @@ -21,7 +21,7 @@ provider := { fr := { netdev := "hdlcnet1", - dlci := 1 + dlci := 21 } }, nsvci := 101 @@ -29,7 +29,7 @@ provider := { fr := { netdev := "hdlcnet2", - dlci := 2 + dlci := 22 } }, nsvci := 102 @@ -37,7 +37,7 @@ provider := { fr := { netdev := "hdlcnet3", - dlci := 3 + dlci := 23 } }, nsvci := 103 @@ -45,7 +45,7 @@ provider := { fr := { netdev := "hdlcnet4", - dlci := 4 + dlci := 24 } }, nsvci := 104 diff --git a/fr/FR_Tests.ttcn b/fr/FR_Tests.ttcn index 5e4f9e8..1e662fe 100644 --- a/fr/FR_Tests.ttcn +++ b/fr/FR_Tests.ttcn @@ -27,7 +27,7 @@ provider := { fr := { netdev := "hdlc1", - dlci := 1 + dlci := 21 } }, nsvci := 101 @@ -35,7 +35,7 @@ provider := { fr := { netdev := "hdlc2", - dlci := 2 + dlci := 22 } }, nsvci := 102 @@ -43,7 +43,7 @@ provider := { fr := { netdev := "hdlc3", - dlci := 3 + dlci := 23 } }, nsvci := 103 @@ -51,7 +51,7 @@ provider := { fr := { netdev := "hdlc4", - dlci := 4 + dlci := 24 } }, nsvci := 104 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia155f346beb4f2be1392d3204b73a0d3b00aaa08 Gerrit-Change-Number: 25134 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:26 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add test case to call force unconfigured after SNS Size received In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 ) Change subject: ns2: add test case to call force unconfigured after SNS Size received ...................................................................... ns2: add test case to call force unconfigured after SNS Size received The old ns dummy crashed when calling force unconfigured while sending SNS SIZE. Change-Id: I16d89391c0d665485cf453c260531023de6096fb --- M ns/NS_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 9fbd5ab..a0b9216 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -626,6 +626,21 @@ f_clean_ns_codec(); } +/* Ensure the ns2 code doesn't crash when calling force unconfigured while sending SNS SIZE */ +testcase TC_sns_rx_size_force_unconf() runs on RAW_Test_CT { + g_handle_rx_alive := true; + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_init_ns_codec(mp_nsconfig, 1); + f_ns_exp(tr_SNS_SIZE(mp_nsconfig.nsei, rst_flag := true, max_nsvcs := ?, + num_v4 := ?, num_v6 := omit)); + f_vty_transceive(NSVTY, "nsvc nsei " & int2str(mp_nsconfig.nsei) & " force-unconfigured"); + f_ns_exp(tr_SNS_SIZE(mp_nsconfig.nsei, rst_flag := true, max_nsvcs := ?, + num_v4 := ?, num_v6 := omit)); + setverdict(pass); + f_clean_ns_codec(); +} + /* Test if SNS fails when all signalling NSVCs failes * 3GPP TS 48.016 ? 7.4b.1.1 * 1. do success SNS configuration @@ -712,6 +727,7 @@ execute( TC_sns_bss_del() ); execute( TC_sns_bss_add_change_del() ); execute( TC_sns_bss_all_signalling_nsvcs_failed() ); + execute( TC_sns_rx_size_force_unconf() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I16d89391c0d665485cf453c260531023de6096fb Gerrit-Change-Number: 25135 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:27 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: add a dummy test case TC_idle() for manual test cases In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 ) Change subject: ns2: add a dummy test case TC_idle() for manual test cases ...................................................................... ns2: add a dummy test case TC_idle() for manual test cases The TC_idle() won't be call by the control as this TC is only intended for manual human based testing. Change-Id: Ie1b5936447755dcaebd65396b7bb5cc3f31c17b5 --- M ns/NS_Tests.ttcn 1 file changed, 16 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index a0b9216..af28cf1 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -676,6 +676,22 @@ f_clean_ns_codec(); } +testcase TC_idle() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig, guard_secs := 30.0); + + /* do a NS Reset procedure */ + f_outgoing_ns_reset(); + activate(as_rx_alive_tx_ack()); + + f_outgoing_ns_unblock(); + f_sleep(30.0); + + setverdict(pass); + f_sleep(1.0); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie1b5936447755dcaebd65396b7bb5cc3f31c17b5 Gerrit-Change-Number: 25136 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:11:27 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:11:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 ) Change subject: ns2: rename TC_sns_config_success -> TC_sns_bss_config_success ...................................................................... ns2: rename TC_sns_config_success -> TC_sns_bss_config_success SGSN test cases will be introduced later. Prefix all bss testcases Change-Id: I56b074649e64d8e8469ff133d4f298ebf07707ae --- M ns/NS_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index af28cf1..d42ef8c 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -475,7 +475,7 @@ /* 48.016 SNS test cases */ /* do a succesful SNS configuration */ -testcase TC_sns_config_success() runs on RAW_Test_CT { +testcase TC_sns_bss_config_success() runs on RAW_Test_CT { f_init_vty(); f_init_ns_codec(mp_nsconfig); f_incoming_sns_size(); @@ -736,7 +736,8 @@ } if (mp_dialect == NS2_DIALECT_SNS) { - execute( TC_sns_config_success() ); + /* BSS test cases */ + execute( TC_sns_bss_config_success() ); execute( TC_sns_bss_change_weight() ); execute( TC_sns_bss_change_weight_timeout() ); execute( TC_sns_bss_add() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56b074649e64d8e8469ff133d4f298ebf07707ae Gerrit-Change-Number: 25137 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:14:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:14:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/24650/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/24650/2/src/gb/gprs_ns2_sns.c at 2254 PS2, Line 2254: sns_failed(fi, "Rx Size: Missing Enssential IE"); > I think in 3gpp speak this should be "Missing mandatory IE", but I don't know that for sure. 48.016 says "Missing essential IE" in table 10.3.2.1. But you're right for other specs I know the "Missing mandatory IE". -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Aug 2021 02:14:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25142 to look at the new patch set (#2). Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... gprs_ns2_udp: don't start the NSVC fsm for SNS The SNS code will always create NSVC on it's own. The only case when the SNS dialect allows dynamic NSE/NSVC is on the SGSN side when accepting dynamic NSE and receiving the first SNS SIZE. In this case the NSVC FSM must not be started yet. Prevents sending NS_ALIVE before the SNS configuration has been finished. Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 --- M src/gb/gprs_ns2_udp.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/25142/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24649 to look at the new patch set (#4). Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... gprs_ns2_sns: refactor SNS failures into a function The SNS fsm is similar for BSS and SGSN. Terminate the SGSN failures by freeing the NSE. Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/24649/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24650 to look at the new patch set (#5). Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... gprs_ns2_sns: free the NSE if the SIZE PDU is not valid The SGSN fsm should be freed when becoming invalid instead of going into the unconfigured state. The unconfigured states should be only used when creating the NSE (on the SGSN side). Change-Id: Ife889091ecba4180a90743deb786767008fe863d --- M src/gb/gprs_ns2_sns.c 1 file changed, 14 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/24650/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25143 to look at the new patch set (#2). Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... gprs_ns2: add recursive anchor to protect against double free When free'ing a NSE/NSVC/BIND ensure there can't be a double free by using a free anchor in the struct. Recursive free's can happen when the NS user reacts on an event (e.g. GPRS_NS2_AFF_CAUSE_VC_FAILURE) and calls the free(). Or when the user free's a NSVC when the NSE uses SNS as configuration, the fsm tries to free it again. Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h 2 files changed, 20 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/25143/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25144 to look at the new patch set (#2). Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... gprs_ns2: move sns_event into internal.h to direct emit events Creating just a proxy function seems more overhead instead of calling it direct. Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns_sns.c 3 files changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/25144/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25145 to look at the new patch set (#2). Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... gprs_ns2_sns: rework sns clean up Move the cleanup into it's own state. Also changing the SGSN unconfigured state which won't be triggered when a SIZE is received. Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b --- M src/gb/gprs_ns2_sns.c 1 file changed, 33 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/25145/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use an event to free the nsvscs when using SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25146 to look at the new patch set (#2). Change subject: gprs_ns2: use an event to free the nsvscs when using SNS ...................................................................... gprs_ns2: use an event to free the nsvscs when using SNS Otherwise there could be recursive loop when free'ing NSVCs which in the end create an event which the SNS want to free the NSVCs a second time Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 18 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/25146/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 Gerrit-Change-Number: 25146 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element In-Reply-To: References: Message-ID: Hello Jenkins Builder, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25147 to look at the new patch set (#2). Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... gprs_ns2: dont use llist_for_each when freeing an element The problem are recursive execution because a free generates an event which could allow the use to free a nsvcs while the llist_for_each() is still running Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_sns.c 2 files changed, 21 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/25147/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: laforge Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement local change weight procedure In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23187 to look at the new patch set (#12). Change subject: gprs_ns2_sns: implement local change weight procedure ...................................................................... gprs_ns2_sns: implement local change weight procedure When changing the bind ip-sns weight, initiate a SNS CHANGE WEIGHT procedure to inform the other side. Related: OS#5036 Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 462 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/12 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 12 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS ADD procedures In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24123 to look at the new patch set (#9). Change subject: gprs_ns2_sns: implement outbound SNS ADD procedures ...................................................................... gprs_ns2_sns: implement outbound SNS ADD procedures When adding a bind, the remote side needs to be informed via the SNS ADD procedure. Related: OS#5036 Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 --- M src/gb/gprs_ns2_sns.c 1 file changed, 191 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/24123/9 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I71c33200bd1f0307ceb943ee958db5ebe3623d36 Gerrit-Change-Number: 24123 Gerrit-PatchSet: 9 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: daniel Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: implement outbound SNS DEL procedures In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/24591 to look at the new patch set (#6). Change subject: gprs_ns2_sns: implement outbound SNS DEL procedures ...................................................................... gprs_ns2_sns: implement outbound SNS DEL procedures When removing a bind the remote side needs to be informed via the SNS DELETE procedure. Related: OS#5036 Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 --- M src/gb/gprs_ns2_sns.c 1 file changed, 76 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/91/24591/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24591 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I53cd54dfd262c70c425c3f13dad3b29526daa523 Gerrit-Change-Number: 24591 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25148 to look at the new patch set (#2). Change subject: gprs_ns2: calculate the nse->*_sums before notifing the sns fsm ...................................................................... gprs_ns2: calculate the nse->*_sums before notifing the sns fsm The sns fsm needs these information to determine if there is a signalling nsvc left Change-Id: I7b115921780bd1ae895d8b9d0d4aec3e1cbaaf58 --- M src/gb/gprs_ns2.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/48/25148/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7b115921780bd1ae895d8b9d0d4aec3e1cbaaf58 Gerrit-Change-Number: 25148 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add correct filename/linenr to sns failed log message In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25149 to look at the new patch set (#2). Change subject: gprs_ns2: add correct filename/linenr to sns failed log message ...................................................................... gprs_ns2: add correct filename/linenr to sns failed log message Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/49/25149/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I117eaf8340fca50cb14392a3f05ea8feac1af3ed Gerrit-Change-Number: 25149 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: improve reselection protection In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25150 to look at the new patch set (#2). Change subject: gprs_ns2: improve reselection protection ...................................................................... gprs_ns2: improve reselection protection Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 --- M src/gb/gprs_ns2_sns.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/25150/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I375a7639fb8e0f92fd67bb4176bd6219978aa428 Gerrit-Change-Number: 25150 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 02:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 12 Aug 2021 02:38:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NS... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25151 to look at the new patch set (#2). Change subject: gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present ...................................................................... gprs_ns2_sns: ensure the SNS fsm behave correct when no signalling NSVCs are present When no remaining signalling NSVCs are available the SNS must be restarted (BSS) or go into unconfigured state (SGSN). Change-Id: I95e6bbb7a418d647a8426804879571597ae06ff8 --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/51/25151/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I95e6bbb7a418d647a8426804879571597ae06ff8 Gerrit-Change-Number: 25151 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:19:24 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:19:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24649 ) Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 12 Aug 2021 07:19:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:20:29 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:20:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25142 ) Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 07:20:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:21:41 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:21:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Aug 2021 07:21:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:23:36 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:23:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25143 ) Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 07:23:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:28:18 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:28:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25144 ) Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25144/1/src/gb/gprs_ns_sns.c File src/gb/gprs_ns_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25144/1/src/gb/gprs_ns_sns.c at 276 PS1, Line 276: enum g > so we have tow different definitions for the same enum ?!? one here and one in gprs_ns2_internal. [?] I'm also a bit puzzled by this. Moving the enum to ns2_internal.h and renaming it to gprs_ns2 sounds fine, but what does it have to do with this enum in gprs_ns_sns.c? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 07:28:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:33:32 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:33:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25145 ) Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 07:33:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 07:35:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 07:35:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2: use an event to free the nsvscs when using SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25146 ) Change subject: gprs_ns2: use an event to free the nsvscs when using SNS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie99ba5fe8a84519fe8a8c0abdf875606715ab7f6 Gerrit-Change-Number: 25146 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 07:35:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 08:31:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Aug 2021 08:31:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Aug 2021 08:31:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 08:31:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Aug 2021 08:31:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: do not set talloc destructor on library allocated item In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25103 ) Change subject: mgcp_ratectr: do not set talloc destructor on library allocated item ...................................................................... mgcp_ratectr: do not set talloc destructor on library allocated item The rate counter and stats item groups, which are allocated in mgcp_ratectr.c are freed using a talloc destructor that is set in the context of the item we just allocated using the stats / rate counter API functions. When we do that, we risk overwriting an already existing talloc destructor. Lets instead implement own free functions and set those as talloc_destructor from above (trunk and MGCP config) Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Related: OS#5201 --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_protocol.c M src/libosmo-mgcp/mgcp_ratectr.c M src/libosmo-mgcp/mgcp_trunk.c 4 files changed, 80 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 5212f9b..48abc27 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -93,7 +93,9 @@ struct mgcp_trunk; int mgcp_ratectr_global_alloc(struct mgcp_config *cfg); +void mgcp_ratectr_global_free(struct mgcp_config *cfg); int mgcp_ratectr_trunk_alloc(struct mgcp_trunk *trunk); +void mgcp_ratectr_trunk_free(struct mgcp_trunk *trunk); /* Trunk-global common stat items */ enum { @@ -107,4 +109,4 @@ }; int mgcp_stat_trunk_alloc(struct mgcp_trunk *trunk); - +void mgcp_stat_trunk_free(struct mgcp_trunk *trunk); diff --git a/src/libosmo-mgcp/mgcp_protocol.c b/src/libosmo-mgcp/mgcp_protocol.c index b7368b2..88f1bd0 100644 --- a/src/libosmo-mgcp/mgcp_protocol.c +++ b/src/libosmo-mgcp/mgcp_protocol.c @@ -1583,6 +1583,13 @@ trunk->keepalive_interval, 0); } +/* Free config, this function is automatically called by talloc_free when the configuration is freed. */ +static int config_free_talloc_destructor(struct mgcp_config *cfg) +{ + mgcp_ratectr_global_free(cfg); + return 0; +} + /*! allocate configuration with default values. * (called once at startup by main function) */ struct mgcp_config *mgcp_config_alloc(void) @@ -1621,6 +1628,7 @@ } mgcp_ratectr_global_alloc(cfg); + talloc_set_destructor(cfg, config_free_talloc_destructor); return cfg; } diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index d8e0374..3bf079b 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -150,12 +150,6 @@ .ctr_desc = all_rtp_conn_rate_ctr_desc }; -static int free_rate_counter_group(struct rate_ctr_group *rate_ctr_group) -{ - rate_ctr_group_free(rate_ctr_group); - return 0; -} - /*! allocate global rate counters * (called once at startup). * \param[in] cfg mgw configuration for which the rate counters are allocated. @@ -173,12 +167,24 @@ return -EINVAL; snprintf(ctr_name, sizeof(ctr_name), "%s:general", cfg->domain); rate_ctr_group_set_name(ratectr->mgcp_general_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_general_ctr_group, free_rate_counter_group); general_rate_ctr_index++; } return 0; } +/*! free global rate counters + * (called once at process shutdown). + * \param[in] cfg mgw configuration for which the rate counters are allocated. */ +void mgcp_ratectr_global_free(struct mgcp_config *cfg) +{ + struct mgcp_ratectr_global *ratectr = &cfg->ratectr; + + if (ratectr->mgcp_general_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_general_ctr_group); + ratectr->mgcp_general_ctr_group = NULL; + } +} + /*! allocate trunk specific rate counters * (called once on trunk initialization). * \param[in] trunk mgw trunk for which the rate counters are allocated. @@ -200,7 +206,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:crcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_crcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_crcx_ctr_group, free_rate_counter_group); crcx_rate_ctr_index++; } if (ratectr->mgcp_mdcx_ctr_group == NULL) { @@ -211,7 +216,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:mdcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_mdcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_mdcx_ctr_group, free_rate_counter_group); mdcx_rate_ctr_index++; } if (ratectr->mgcp_dlcx_ctr_group == NULL) { @@ -222,7 +226,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:dlcx", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->mgcp_dlcx_ctr_group, ctr_name); - talloc_set_destructor(ratectr->mgcp_dlcx_ctr_group, free_rate_counter_group); dlcx_rate_ctr_index++; } if (ratectr->all_rtp_conn_stats == NULL) { @@ -233,7 +236,6 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:rtp_conn", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->all_rtp_conn_stats, ctr_name); - talloc_set_destructor(ratectr->all_rtp_conn_stats, free_rate_counter_group); all_rtp_conn_rate_ctr_index++; } @@ -245,12 +247,42 @@ snprintf(ctr_name, sizeof(ctr_name), "%s-%u:e1", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); rate_ctr_group_set_name(ratectr->e1_stats, ctr_name); - talloc_set_destructor(ratectr->e1_stats, free_rate_counter_group); mdcx_rate_ctr_index++; } return 0; } +/*! free trunk specific rate counters + * (called once when trunk is freed). + * \param[in] trunk mgw trunk on which the rate counters are allocated. */ +void mgcp_ratectr_trunk_free(struct mgcp_trunk *trunk) +{ + struct mgcp_ratectr_trunk *ratectr = &trunk->ratectr; + + if (ratectr->mgcp_crcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_crcx_ctr_group); + ratectr->mgcp_crcx_ctr_group = NULL; + } + if (ratectr->mgcp_mdcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_mdcx_ctr_group); + ratectr->mgcp_mdcx_ctr_group = NULL; + } + if (ratectr->mgcp_dlcx_ctr_group) { + rate_ctr_group_free(ratectr->mgcp_dlcx_ctr_group); + ratectr->mgcp_dlcx_ctr_group = NULL; + } + if (ratectr->all_rtp_conn_stats) { + rate_ctr_group_free(ratectr->all_rtp_conn_stats); + ratectr->all_rtp_conn_stats = NULL; + } + + /* E1 specific */ + if (ratectr->e1_stats) { + rate_ctr_group_free(ratectr->e1_stats); + ratectr->e1_stats = NULL; + } +} + const struct osmo_stat_item_desc trunk_stat_desc[] = { [TRUNK_STAT_ENDPOINTS_TOTAL] = { "endpoints:total", "Number of endpoints that exist on the trunk", @@ -268,12 +300,6 @@ .item_desc = trunk_stat_desc, }; -static int free_stat_item_group(struct osmo_stat_item_group *stat_item_group) -{ - osmo_stat_item_group_free(stat_item_group); - return 0; -} - /*! allocate trunk specific stat items * (called once on trunk initialization). * \param[in] trunk for which the stat items are allocated. @@ -290,8 +316,20 @@ snprintf(stat_name, sizeof(stat_name), "%s-%u:common", mgcp_trunk_type_strs_str(trunk->trunk_type), trunk->trunk_nr); osmo_stat_item_group_set_name(stats->common, stat_name); - talloc_set_destructor(stats->common, free_stat_item_group); common_stat_index++; return 0; } + +/*! free trunk specific stat items + * (called once when trunk is freed). + * \param[in] trunk on which the stat items are allocated. */ +void mgcp_stat_trunk_free(struct mgcp_trunk *trunk) +{ + struct mgcp_stat_trunk *stats = &trunk->stats; + + if (stats->common) { + osmo_stat_item_group_free(stats->common); + stats->common = NULL; + } +} diff --git a/src/libosmo-mgcp/mgcp_trunk.c b/src/libosmo-mgcp/mgcp_trunk.c index a97ad39..c69c242 100644 --- a/src/libosmo-mgcp/mgcp_trunk.c +++ b/src/libosmo-mgcp/mgcp_trunk.c @@ -35,7 +35,17 @@ { 0, NULL } }; -/*! allocate trunk and add it (if required) to the trunk list. +/* Free trunk, this function is automatically called by talloc_free when the trunk is freed. It does not free the + * endpoints on the trunk, this must be done separately before freeing the trunk. */ +static int trunk_free_talloc_destructor(struct mgcp_trunk *trunk) +{ + llist_del(&trunk->entry); + mgcp_ratectr_trunk_free(trunk); + mgcp_stat_trunk_free(trunk); + return 0; +} + +/*! allocate trunk and add it to the trunk list. * (called once at startup by VTY). * \param[in] cfg mgcp configuration. * \param[in] ttype trunk type. @@ -66,6 +76,7 @@ mgcp_ratectr_trunk_alloc(trunk); mgcp_stat_trunk_alloc(trunk); + talloc_set_destructor(trunk, trunk_free_talloc_destructor); return trunk; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25103 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifc5091e9f95cc721e58d1eb2e55b97102c497706 Gerrit-Change-Number: 25103 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 09:28:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 09:28:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25145 ) Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... Patch Set 2: Code-Review+1 (2 comments) To me this looks good. I have left two comments, probably everything is fine the way it is. I just wanted to make you aware of this. https://gerrit.osmocom.org/c/libosmocore/+/25145/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25145/2/src/gb/gprs_ns2_sns.c at 2074 PS2, Line 2074: gprs_ns2_free_nsvc(nsvc); I have seen that the freeing is done differently in this patch: https://gerrit.osmocom.org/c/libosmocore/+/25147/2/src/gb/gprs_ns2_sns.c - Maybe doing this here in a similar way might be a good idea. However I am currently not aware which patch comes when in this patch. Maybe this is already changed. - I just wanted to make you aware of this. (There would also be a an llist_last to detect the end of the loop. http://git.osmocom.org/libosmocore/tree/include/osmocom/core/linuxlist.h) https://gerrit.osmocom.org/c/libosmocore/+/25145/2/src/gb/gprs_ns2_sns.c at 2314 PS2, Line 2314: /* keep the NSVC we need for SNS, but unconfigure it */ Ther is this if (nsvc == gss->sns_nsvc) that guards this in the original version. I don't know if it can happen that gss->sns_nsvc is NULL or so. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 12 Aug 2021 09:28:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 13:08:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 12 Aug 2021 13:08:25 +0000 Subject: Change in osmo-pcu[master]: T_defs_bts: remove unit from doc strings References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25187 ) Change subject: T_defs_bts: remove unit from doc strings ...................................................................... T_defs_bts: remove unit from doc strings The main reason to change this is that the unit for T3172 is wrong. It is defined as ms but the doc string says "(s)". The tdef implementation already includes the unit as defined for each T in the doc string implicitly, so instead of fixing that string, just remove the unit strings from all the doc strings. Now it will show: OsmoPCU# show bts-timer BTS0: T3142 = 20 s Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH) (default: 20 s, range: [0 .. 255]) T3169 = 5 s Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (default: 5 s) T3172 = 5000 ms Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH) (default: 5000 ms, range: [0 .. 255000]) T3191 = 5 s Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (default: 5 s) T3193 = 1600 ms Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (default: 100 ms) T3195 = 5 s Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (default: 5 s) Related: OS#5209 Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 --- M src/bts.cpp 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/25187/1 diff --git a/src/bts.cpp b/src/bts.cpp index a96fe24..1114158 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -76,12 +76,12 @@ } static struct osmo_tdef T_defs_bts[] = { - { .T=3142, .default_val=20, .unit=OSMO_TDEF_S, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH) (s)", .val=0, .min_val = 0, .max_val = 255 }, /* TS 44.018 10.5.2.43, TS 44.060 7.1.3.2.1 (T3172) */ - { .T=3169, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (s)", .val=0 }, - { .T=3172, .default_val=5000,.unit=OSMO_TDEF_MS, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH) (s)", .val=0, .min_val = 0, .max_val = 255000 }, /* TS 44.060 7.1.3.2.1 */ - { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (s)", .val=0 }, - { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (ms)", .val=0 }, - { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (s)", .val=0 }, + { .T=3142, .default_val=20, .unit=OSMO_TDEF_S, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH)", .val=0, .min_val = 0, .max_val = 255 }, /* TS 44.018 10.5.2.43, TS 44.060 7.1.3.2.1 (T3172) */ + { .T=3169, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid", .val=0 }, + { .T=3172, .default_val=5000,.unit=OSMO_TDEF_MS, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH)", .val=0, .min_val = 0, .max_val = 255000 }, /* TS 44.060 7.1.3.2.1 */ + { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer", .val=0 }, + { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF", .val=0 }, + { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer", .val=0 }, { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 Gerrit-Change-Number: 25187 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 13:50:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Aug 2021 13:50:17 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 15: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/15/include/osmocom/mgcp_client/mgcp_client.h File include/osmocom/mgcp_client/mgcp_client.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/15/include/osmocom/mgcp_client/mgcp_client.h at 21 PS15, Line 21: stru this looks like a public header file that pollutes the global namespace with something not prefixed with mgcp_ -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Aug 2021 13:50:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 13:52:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Aug 2021 13:52:55 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Aug 2021 13:52:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 13:55:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 12 Aug 2021 13:55:42 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 13: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 13 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 12 Aug 2021 13:55:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:03:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:03:02 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#16). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_internal.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 5 files changed, 134 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/16 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 16 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:03:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:03:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 15: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25008/15/include/osmocom/mgcp_client/mgcp_client.h File include/osmocom/mgcp_client/mgcp_client.h: https://gerrit.osmocom.org/c/osmo-mgw/+/25008/15/include/osmocom/mgcp_client/mgcp_client.h at 21 PS15, Line 21: stru > this looks like a public header file that pollutes the global namespace with something not prefixed [?] I have moved this to internal, it should not be public. -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Aug 2021 15:03:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:10 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add make rules for all projects In-Reply-To: References: Message-ID: Hello neels, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-dev/+/25098 to look at the new patch set (#2). Change subject: gen_makefile.py: add make rules for all projects ...................................................................... gen_makefile.py: add make rules for all projects Allow to easily build any Osmocom project in a build directory generated by osmo-dev, even if it is not listed in the specified .deps file. This avoids the need to set up a new build directory and build common dependencies (e.g. libosmocore) again. All rules that act on multiple projects (default make target "all", "clone", "clean" "all-install") will still only take the selected projects into account. The idea is to extend deps.all on demand. Currently it contains everything from 3G+2G.deps plus: - osmo-bts - osmo-gbproxy - osmo-pcap - osmo-pcu - osmo-smlc - osmo-trx Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe --- M 2G.deps M 3G+2G.deps A all.deps M gen_makefile.py 4 files changed, 59 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/98/25098/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe Gerrit-Change-Number: 25098 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Assignee: neels Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:10 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25188 ) Change subject: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib ...................................................................... ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib Fix for Osmocom programs using system's shared libraries, instead of the ones mounted into /usr/local. For example, for osmo-bsc the libosmocore installed in the osmo-bsc-master docker container would be used (installed via apt from OBS nightly) instead of the version that osmo-dev built from source. Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123 --- M ttcn3/ttcn3.sh 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/88/25188/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index b25c239..9f8c1f3 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -245,7 +245,11 @@ fi cd "$(get_testsuite_dir_docker)" - export DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" + export DOCKER_ARGS="\ + -e LD_LIBRARY_PATH=/usr/local/lib \ + -v /usr/local:/usr/local:ro \ + -v $hacks:/osmo-ttcn3-hacks:ro \ + " export NO_LIST_OSMO_PACKAGES=1 ./jenkins.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123 Gerrit-Change-Number: 25188 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:10 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add --docker-cmd argument References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25189 ) Change subject: gen_makefile.py: add --docker-cmd argument ...................................................................... gen_makefile.py: add --docker-cmd argument To be used by ttcn3.sh to run the actual build inside docker. ttcn3.sh runs the programs built by osmo-dev inside docker with the exact configs that we use on jenkins.osmocom.org, but so far it builds the component outside of docker. But building inside docker is necessary to avoid incompatibilities between the host system and the docker containers (e.g. different glibc). Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 --- M gen_makefile.py 1 file changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/89/25189/1 diff --git a/gen_makefile.py b/gen_makefile.py index fb81aac..508b862 100755 --- a/gen_makefile.py +++ b/gen_makefile.py @@ -107,6 +107,9 @@ default=True, action='store_false', help='''do not 'make check', just 'make' to build.''') +parser.add_argument('--docker-cmd', + help='''prefix configure/make/make install calls with this command (used by ttcn3.sh)''') + args = parser.parse_args() class listdict(dict): @@ -191,19 +194,19 @@ -chmod -R ug+w {build_proj} -rm -rf {build_proj} mkdir -p {build_proj} - cd {build_proj}; {build_to_src}/configure {configure_opts} + cd {build_proj}; {docker_cmd}{build_to_src}/configure {configure_opts} sync touch $@ .make.{proj}.build: .make.{proj}.configure $({proj}_files) @echo -e "\n\n\n===== $@\n" - $(MAKE) -C {build_proj} -j {jobs} {check} + {docker_cmd}$(MAKE) -C {build_proj} -j {jobs} {check} sync touch $@ .make.{proj}.install: .make.{proj}.build @echo -e "\n\n\n===== $@\n" - {sudo_make_install}$(MAKE) -C {build_proj} install + {docker_cmd}{sudo_make_install}$(MAKE) -C {build_proj} install {no_ldconfig}{sudo_ldconfig}ldconfig sync touch $@ @@ -238,6 +241,7 @@ no_ldconfig='#' if no_ldconfig else '', sudo_ldconfig='' if ldconfig_without_sudo else 'sudo ', check='check' if make_check else '', + docker_cmd=f'{args.docker_cmd} ' if args.docker_cmd else '', ) @@ -286,7 +290,7 @@ -o {makefile} \ -s {src_dir} \ -b {build_dir} \ - -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check} + -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check}{docker_cmd} '''.format( script=os.path.relpath(sys.argv[0], make_dir), @@ -302,6 +306,7 @@ no_ldconfig=' \\\n\t\t-L' if args.no_ldconfig else '', ldconfig_without_sudo=' \\\n\t\t--ldconfig-without-sudo' if args.ldconfig_without_sudo else '', make_check='' if args.make_check else " \\\n\t\t--no-make-check", + docker_cmd=f' \\\n\t\t--docker-cmd "{args.docker_cmd}"' if args.docker_cmd else '' )) # convenience target: clone all repositories first -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 Gerrit-Change-Number: 25189 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:11 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: build everything inside docker References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25190 ) Change subject: ttcn3.sh: build everything inside docker ...................................................................... ttcn3.sh: build everything inside docker Replace the previous approach of building outside of docker and mounting everything inside docker while running tests, with also building everything inside docker. This prevents incompatibilities between host system and docker (e.g. different glibc). As nice side-effect, /usr/local is not filled up anymore. Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828 --- M .gitignore A ttcn3/scripts/docker_configure_make.sh M ttcn3/ttcn3.sh 3 files changed, 73 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/90/25190/1 diff --git a/.gitignore b/.gitignore index 6326775..61d0fcf 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ ttcn3/3G+2G_ttcn3.deps ttcn3/out/ ttcn3/make/ +ttcn3/.run.sh +ttcn3/usr_local diff --git a/ttcn3/scripts/docker_configure_make.sh b/ttcn3/scripts/docker_configure_make.sh new file mode 100755 index 0000000..25cedb4 --- /dev/null +++ b/ttcn3/scripts/docker_configure_make.sh @@ -0,0 +1,38 @@ +#!/bin/sh -ex +# Passed by ttcn3.sh to gen_makefile.py to run './configure', 'make' and +# 'make install' inside docker. The osmo-dev directory is mounted at the same +# location inside the docker container. A usr_local dir is mounted to +# /usr/local, so 'make install' can put all files there and following builds +# have the files available. +DIR_OSMODEV="$(readlink -f "$(dirname $0)/../..")" +DIR_MAKE="$DIR_OSMODEV/ttcn3/make" +DIR_USR_LOCAL="$DIR_OSMODEV/ttcn3/usr_local" +RUN_SCRIPT="$DIR_OSMODEV/ttcn3/.run.sh" +DOCKER_IMG="$1" +UID="$(id -u)" +shift + +mkdir -p "$DIR_MAKE" + +# Script running as user inside docker +echo "#!/bin/sh -ex" > "$RUN_SCRIPT" +echo "cd \"$PWD\"" >> "$RUN_SCRIPT" +for i in "$@"; do + echo -n "'$i' " >> "$RUN_SCRIPT" +done +echo >> "$RUN_SCRIPT" +chmod +x "$RUN_SCRIPT" + +docker run \ + --rm \ + -e "LD_LIBRARY_PATH=/usr/local/lib" \ + -v "$DIR_OSMODEV:$DIR_OSMODEV" \ + -v "$DIR_USR_LOCAL:/usr/local" \ + -v "$RUN_SCRIPT:/tmp/run.sh:ro" \ + "$DOCKER_IMG" \ + sh -ex -c " + if ! id -u $UID 2>/dev/null; then + useradd -u $UID user + fi + su \$(id -un $UID) -c /tmp/run.sh + " diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 9f8c1f3..6300ff7 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -4,8 +4,15 @@ DIR_OSMODEV="$(readlink -f "$(dirname $0)/..")" DIR_MAKE="${DIR_MAKE:-${DIR_OSMODEV}/ttcn3/make}" DIR_OUTPUT="${DIR_OUTPUT:-${DIR_OSMODEV}/ttcn3/out}" +DIR_USR_LOCAL="$DIR_OSMODEV/ttcn3/usr_local" JOBS="${JOBS:-9}" +# Osmocom libraries and programs relevant for the current testsuite will be +# built in this container. It must have all build dependencies available and +# be based on the same distribution that master-* containers are based on, so +# there are no incompatibilities with shared libraries. +DOCKER_IMG_BUILD="debian-stretch-jenkins" + check_usage() { if [ -z "$PROJECT" ]; then echo "usage: $(basename $0) PROJECT" @@ -101,6 +108,9 @@ echo "osmo-ttcn3-hacks" echo "osmocom-bb") > ttcn3/3G+2G_ttcn3.deps + local docker_cmd="$DIR_OSMODEV/ttcn3/scripts/docker_configure_make.sh" + docker_cmd="$docker_cmd $USER/$DOCKER_IMG_BUILD" + ./gen_makefile.py \ ttcn3/3G+2G_ttcn3.deps \ default.opts \ @@ -109,7 +119,10 @@ no_doxygen.opts \ no_dahdi.opts \ no_optimization.opts \ - ttcn3/ttcn3.opts -I -m "$DIR_MAKE" + ttcn3/ttcn3.opts \ + --docker-cmd "$docker_cmd" \ + --make-dir "$DIR_MAKE" \ + --no-ldconfig } # $1: name of repository (e.g. osmo-ttcn3-hacks) @@ -157,7 +170,7 @@ ttcn3-docker-run.sh) name_install="ttcn3-docker-run" ;; esac - script_path_localbin="/usr/local/bin/$name_install" + script_path_localbin="$DIR_USR_LOCAL/bin/$name_install" if [ -x "$script_path_localbin" ]; then continue fi @@ -185,25 +198,34 @@ # $1 program build_osmo_program_osmodev() { local repo="$(get_program_repo "$program")" + local usr_local_bin="$DIR_USR_LOCAL/bin" make -C "$DIR_MAKE" "$repo" - local path="$(command -v "$program")" - if [ -z "$path" ]; then - echo "ERROR: program was not installed to PATH: $program" - echo "Maybe you need to add /usr/local/bin to PATH?" + if [ -z "$(find "$usr_local_bin" -name "$program")" ]; then + echo "ERROR: program was not installed properly: $program" + echo "Expected it to be in path: $PATH_dest" exit 1 fi - local pathdir="$(dirname "$path")" local reference="$DIR_MAKE/.make.$repo.build" - if [ -z "$(find "$pathdir" -name "$program" -newer "$reference")" ]; then + if [ -z "$(find "$usr_local_bin" -name "$program" -newer "$reference")" ]; then echo "ERROR: $path is outdated!" echo "Maybe you need to pass a configure argument to $repo.git, so it builds and installs $program?" - echo "Or the order in PATH is wrong?" exit 1 fi } +prepare_docker_build_container() { + local marker="$DIR_OSMODEV/ttcn3/make/.ttcn3-docker-build" + + if [ -e "$marker" ]; then + return + fi + + make -C "$DIR_OSMODEV/src/docker-playground/$DOCKER_IMG_BUILD" + touch "$marker" +} + # Use osmo-dev to build one Osmocom program and its dependencies build_osmo_programs() { local program @@ -247,7 +269,7 @@ cd "$(get_testsuite_dir_docker)" export DOCKER_ARGS="\ -e LD_LIBRARY_PATH=/usr/local/lib \ - -v /usr/local:/usr/local:ro \ + -v "$DIR_USR_LOCAL":/usr/local:ro \ -v $hacks:/osmo-ttcn3-hacks:ro \ " export NO_LIST_OSMO_PACKAGES=1 @@ -283,6 +305,7 @@ clone_repo "docker-playground" check_dir_testsuite prepare_local_bin +prepare_docker_build_container build_osmo_programs build_testsuite remove_old_logs -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828 Gerrit-Change-Number: 25190 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:12 +0000 Subject: Change in osmo-dev[master]: ttcn3/wrappers: remove References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25191 ) Change subject: ttcn3/wrappers: remove ...................................................................... ttcn3/wrappers: remove Leftover from before the script was refactored in Iecba5391dafc353058d369deb513b156534face1. Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0 --- D ttcn3/wrappers/fake_trx.sh D ttcn3/wrappers/osmo-bts-trx-respawn.sh D ttcn3/wrappers/osmo-pcu-respawn.sh 3 files changed, 0 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/91/25191/1 diff --git a/ttcn3/wrappers/fake_trx.sh b/ttcn3/wrappers/fake_trx.sh deleted file mode 100755 index 1d39573..0000000 --- a/ttcn3/wrappers/fake_trx.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -x -# Run in a separate script, so we can kill it with "killall" - -DIR="$(readlink -f "$(dirname $0)")" -cd "$DIR" -PID="" - -cleanup() { - echo "Caught signal, cleaning up..." - set -x - kill "$PID" - exit 1 -} - -trap cleanup "TERM" - -./osmocom-bb/src/target/trx_toolkit/fake_trx.py "$@" & -PID="$!" - -set +x -while true; do - sleep 0.1 -done diff --git a/ttcn3/wrappers/osmo-bts-trx-respawn.sh b/ttcn3/wrappers/osmo-bts-trx-respawn.sh deleted file mode 100755 index 475f807..0000000 --- a/ttcn3/wrappers/osmo-bts-trx-respawn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -x -# Automatically restart osmo-bts-trx while running TTCN3 tests. See docker-playground.git. - -while true; do - osmo-bts-trx "$@" -done diff --git a/ttcn3/wrappers/osmo-pcu-respawn.sh b/ttcn3/wrappers/osmo-pcu-respawn.sh deleted file mode 100755 index 3ff7213..0000000 --- a/ttcn3/wrappers/osmo-pcu-respawn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -x -# Automatically restart osmo-pcu while running TTCN3 tests. See docker-playground.git's osmo-pcu-master/respawn.sh. - -while true; do - osmo-pcu "$@" -done -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0 Gerrit-Change-Number: 25191 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:31:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:31:12 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: don't build virtphy/trxcon/fake_trx References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25192 ) Change subject: ttcn3.sh: don't build virtphy/trxcon/fake_trx ...................................................................... ttcn3.sh: don't build virtphy/trxcon/fake_trx Remove leftovers from before refactoring in Iecba5391dafc353058d369deb513b156534face1. No need to build these with osmo-dev, as they are part of the osmocom-bb docker container that gets built via ttcn3-bts-test/jenkins.sh. Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689 --- M ttcn3/ttcn3.sh 1 file changed, 3 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/92/25192/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 6300ff7..20d6184 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -62,10 +62,10 @@ get_programs() { case "$PROJECT" in bsc) echo "osmo-stp osmo-bsc osmo-bts-omldummy" ;; - bts) echo "osmo-bsc osmo-bts-trx fake_trx.py trxcon" ;; + bts) echo "osmo-bsc osmo-bts-trx" ;; msc) echo "osmo-stp osmo-msc" ;; pcu-sns) echo "osmo-pcu" ;; - pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual virtphy" ;; + pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual" ;; sgsn) echo "osmo-stp osmo-sgsn" ;; sip) echo "osmo-sip-connector" ;; *) echo "osmo-$PROJECT" ;; @@ -76,12 +76,9 @@ # $1: program name get_program_repo() { case "$1" in - fake_trx.py) echo "osmocom-bb" ;; osmo-bts-*) echo "osmo-bts" ;; osmo-pcap-*) echo "osmo-pcap" ;; osmo-stp) echo "libosmo-sccp" ;; - trxcon) echo "osmocom-bb" ;; - virtphy) echo "osmocom-bb" ;; *) echo "$1" ;; esac } @@ -105,8 +102,7 @@ echo "osmo-pcu libosmocore" # just clone these, building is handled by ttcn3.sh echo "docker-playground" - echo "osmo-ttcn3-hacks" - echo "osmocom-bb") > ttcn3/3G+2G_ttcn3.deps + echo "osmo-ttcn3-hacks" ) > ttcn3/3G+2G_ttcn3.deps local docker_cmd="$DIR_OSMODEV/ttcn3/scripts/docker_configure_make.sh" docker_cmd="$docker_cmd $USER/$DOCKER_IMG_BUILD" @@ -179,21 +175,6 @@ done } -# Build a program that is in the subdir of a repository (e.g. trxcon in osmocom-bb.git). -# $1: repository -# $2: path in the repository -build_osmo_program_subdir() { - clone_repo "$1" - cd "$DIR_OSMODEV/src/$1/$2" - if ! [ -e "./configure" ] && [ -e "configure.ac" ]; then - autoreconf -fi - fi - if ! [ -e "Makefile" ] && [ -e "Makefile.am" ]; then - ./configure - fi - make -j"$JOBS" -} - # Use osmo-dev to build a typical Osmocom program, and run a few sanity checks. # $1 program build_osmo_program_osmodev() { @@ -231,9 +212,6 @@ local program for program in $(get_programs); do case "$program" in - fake_trx.py) clone_repo "osmocom-bb" ;; - trxcon) build_osmo_program_subdir "osmocom-bb" "src/host/trxcon" ;; - virtphy) build_osmo_program_subdir "osmocom-bb" "src/host/virt_phy" ;; *) build_osmo_program_osmodev "$program" ;; esac done -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689 Gerrit-Change-Number: 25192 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:42:37 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 15:42:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: osmo-mgw.cfg: add missing statsd configuration In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 ) Change subject: osmo-mgw.cfg: add missing statsd configuration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Gerrit-Change-Number: 25180 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 12 Aug 2021 15:42:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:42:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 12 Aug 2021 15:42:51 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 12 Aug 2021 15:42:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:43:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:43:39 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 12 Aug 2021 15:43:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:43:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:43:52 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: dexter has removed a vote from this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... Removed Code-Review+2 by dexter -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:43:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:43:54 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 12 Aug 2021 15:43:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 12 Aug 2021 15:44:02 +0000 Subject: Change in docker-playground[master]: osmo-mgw: add missing statsd configuration In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25179 ) Change subject: osmo-mgw: add missing statsd configuration ...................................................................... osmo-mgw: add missing statsd configuration The recently added test TC_dlcx_wildcarded depends on statsd information from osmo-mgw but in the osmo-mgw configuration no statsd is configured. Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Related: SYS#5535 --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved osmith: Looks good to me, but someone else must approve dexter: Verified diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index f8e1a0d..13c477a 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -23,6 +23,16 @@ no login bind 0.0.0.0 ! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level global + remote-ip 172.18.4.181 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! e1_input e1_line 0 driver ipa ! -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic4f0c57f56fe400bdb9a1948917f0eeb1d7e7427 Gerrit-Change-Number: 25179 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:46:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 12 Aug 2021 15:46:16 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 16: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 16 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Thu, 12 Aug 2021 15:46:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 12 15:46:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Thu, 12 Aug 2021 15:46:46 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add --docker-cmd argument In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25189 ) Change subject: gen_makefile.py: add --docker-cmd argument ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 Gerrit-Change-Number: 25189 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 12 Aug 2021 15:46:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:28:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:28:23 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add make rules for all projects In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25098 ) Change subject: gen_makefile.py: add make rules for all projects ...................................................................... Abandoned Neels and I discussed this yesterday and concluded that we would rather have one all.deps instead of all the other .deps files, and have specific make targets for various use cases that build e.g. the entire CN. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe Gerrit-Change-Number: 25098 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Assignee: neels Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:29:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:29:59 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: get_program_repo: add osmo-pcap-* In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25175 ) Change subject: ttcn3.sh: get_program_repo: add osmo-pcap-* ...................................................................... Patch Set 4: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 Gerrit-Change-Number: 25175 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Assignee: neels Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-Comment-Date: Fri, 13 Aug 2021 07:29:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:09 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: support IMAGE_SUFFIX=latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25183 ) Change subject: ttcn3.sh: support IMAGE_SUFFIX=latest ...................................................................... Patch Set 3: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1 Gerrit-Change-Number: 25183 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:15 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25188 ) Change subject: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib ...................................................................... Patch Set 2: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123 Gerrit-Change-Number: 25188 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:21 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add --docker-cmd argument In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25189 ) Change subject: gen_makefile.py: add --docker-cmd argument ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 Gerrit-Change-Number: 25189 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:27 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: build everything inside docker In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25190 ) Change subject: ttcn3.sh: build everything inside docker ...................................................................... Patch Set 2: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828 Gerrit-Change-Number: 25190 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:32 +0000 Subject: Change in osmo-dev[master]: ttcn3/wrappers: remove In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25191 ) Change subject: ttcn3/wrappers: remove ...................................................................... Patch Set 2: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0 Gerrit-Change-Number: 25191 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:37 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: don't build virtphy/trxcon/fake_trx In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25192 ) Change subject: ttcn3.sh: don't build virtphy/trxcon/fake_trx ...................................................................... Patch Set 2: Verified+1 Code-Review+2 as discussed with Neels: I'm currently the only user of osmo-dev/ttcn3.sh, so I'll directly push this. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689 Gerrit-Change-Number: 25192 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 07:30:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:40 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: get_program_repo: add osmo-pcap-* In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25175 ) Change subject: ttcn3.sh: get_program_repo: add osmo-pcap-* ...................................................................... ttcn3.sh: get_program_repo: add osmo-pcap-* Make "ttcn3.sh osmo-pcap-client" work. Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 --- M ttcn3/ttcn3.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 07a7adc..daa9561 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -71,6 +71,7 @@ case "$1" in fake_trx.py) echo "osmocom-bb" ;; osmo-bts-*) echo "osmo-bts" ;; + osmo-pcap-*) echo "osmo-pcap" ;; osmo-stp) echo "libosmo-sccp" ;; trxcon) echo "osmocom-bb" ;; virtphy) echo "osmocom-bb" ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961 Gerrit-Change-Number: 25175 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Assignee: neels Gerrit-Reviewer: osmith Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:41 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: support IMAGE_SUFFIX=latest In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25183 ) Change subject: ttcn3.sh: support IMAGE_SUFFIX=latest ...................................................................... ttcn3.sh: support IMAGE_SUFFIX=latest Add the image suffix to the marker in run_docker() which indicates if the testsuite docker container was already built (with all its dependencies), so the script doesn't assume that everything is already built if using without IMAGE_SUFFIX first and then switching to IMAGE_SUFFIX=latest. Add an usage example to README for IMAGE_SUFFIX=latest. Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1 --- M README M ttcn3/ttcn3.sh 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/README b/README index 5b3c0ce..7e34680 100644 --- a/README +++ b/README @@ -152,6 +152,7 @@ Example usage: ./ttcn3/ttcn3.sh mgw + IMAGE_SUFFIX=latest ./ttcn3/ttcn3.sh mgw More about the testsuites: https://osmocom.org/projects/cellular-infrastructure/wiki/Titan_TTCN3_Testsuites diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index daa9561..b25c239 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -236,7 +236,7 @@ local hacks="${DIR_OSMODEV}/src/osmo-ttcn3-hacks" local docker_dir="$(get_testsuite_dir_docker)" local docker_name="$(basename "$docker_dir")" - local marker="${DIR_OSMODEV}/ttcn3/make/.docker.$docker_name" + local marker="${DIR_OSMODEV}/ttcn3/make/.docker.$docker_name.$IMAGE_SUFFIX" # Skip building docker containers if this already ran if [ -e "$marker" ]; then -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1 Gerrit-Change-Number: 25183 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:41 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25188 ) Change subject: ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib ...................................................................... ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib Fix for Osmocom programs using system's shared libraries, instead of the ones mounted into /usr/local. For example, for osmo-bsc the libosmocore installed in the osmo-bsc-master docker container would be used (installed via apt from OBS nightly) instead of the version that osmo-dev built from source. Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123 --- M ttcn3/ttcn3.sh 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index b25c239..9f8c1f3 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -245,7 +245,11 @@ fi cd "$(get_testsuite_dir_docker)" - export DOCKER_ARGS="-v /usr/local:/usr/local:ro -v $hacks:/osmo-ttcn3-hacks:ro" + export DOCKER_ARGS="\ + -e LD_LIBRARY_PATH=/usr/local/lib \ + -v /usr/local:/usr/local:ro \ + -v $hacks:/osmo-ttcn3-hacks:ro \ + " export NO_LIST_OSMO_PACKAGES=1 ./jenkins.sh -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123 Gerrit-Change-Number: 25188 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:41 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add --docker-cmd argument In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25189 ) Change subject: gen_makefile.py: add --docker-cmd argument ...................................................................... gen_makefile.py: add --docker-cmd argument To be used by ttcn3.sh to run the actual build inside docker. ttcn3.sh runs the programs built by osmo-dev inside docker with the exact configs that we use on jenkins.osmocom.org, but so far it builds the component outside of docker. But building inside docker is necessary to avoid incompatibilities between the host system and the docker containers (e.g. different glibc). Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 --- M gen_makefile.py 1 file changed, 9 insertions(+), 4 deletions(-) Approvals: osmith: Verified neels: Looks good to me, approved diff --git a/gen_makefile.py b/gen_makefile.py index ad42978..81d41e7 100755 --- a/gen_makefile.py +++ b/gen_makefile.py @@ -107,6 +107,9 @@ default=True, action='store_false', help='''do not 'make check', just 'make' to build.''') +parser.add_argument('--docker-cmd', + help='''prefix configure/make/make install calls with this command (used by ttcn3.sh)''') + args = parser.parse_args() class listdict(dict): @@ -189,19 +192,19 @@ -chmod -R ug+w {build_proj} -rm -rf {build_proj} mkdir -p {build_proj} - cd {build_proj}; {build_to_src}/configure {configure_opts} + cd {build_proj}; {docker_cmd}{build_to_src}/configure {configure_opts} sync touch $@ .make.{proj}.build: .make.{proj}.configure $({proj}_files) @echo -e "\n\n\n===== $@\n" - $(MAKE) -C {build_proj} -j {jobs} {check} + {docker_cmd}$(MAKE) -C {build_proj} -j {jobs} {check} sync touch $@ .make.{proj}.install: .make.{proj}.build @echo -e "\n\n\n===== $@\n" - {sudo_make_install}$(MAKE) -C {build_proj} install + {docker_cmd}{sudo_make_install}$(MAKE) -C {build_proj} install {no_ldconfig}{sudo_ldconfig}ldconfig sync touch $@ @@ -235,6 +238,7 @@ no_ldconfig='#' if no_ldconfig else '', sudo_ldconfig='' if ldconfig_without_sudo else 'sudo ', check='check' if make_check else '', + docker_cmd=f'{args.docker_cmd} ' if args.docker_cmd else '', ) @@ -283,7 +287,7 @@ -o {makefile} \ -s {src_dir} \ -b {build_dir} \ - -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check} + -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check}{docker_cmd} '''.format( script=os.path.relpath(sys.argv[0], make_dir), @@ -299,6 +303,7 @@ no_ldconfig=' \\\n\t\t-L' if args.no_ldconfig else '', ldconfig_without_sudo=' \\\n\t\t--ldconfig-without-sudo' if args.ldconfig_without_sudo else '', make_check='' if args.make_check else " \\\n\t\t--no-make-check", + docker_cmd=f' \\\n\t\t--docker-cmd "{args.docker_cmd}"' if args.docker_cmd else '' )) # convenience target: clone all repositories first -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 Gerrit-Change-Number: 25189 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:42 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: build everything inside docker In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25190 ) Change subject: ttcn3.sh: build everything inside docker ...................................................................... ttcn3.sh: build everything inside docker Replace the previous approach of building outside of docker and mounting everything inside docker while running tests, with also building everything inside docker. This prevents incompatibilities between host system and docker (e.g. different glibc). As nice side-effect, /usr/local is not filled up anymore. Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828 --- M .gitignore A ttcn3/scripts/docker_configure_make.sh M ttcn3/ttcn3.sh 3 files changed, 73 insertions(+), 10 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/.gitignore b/.gitignore index 6326775..61d0fcf 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,5 @@ ttcn3/3G+2G_ttcn3.deps ttcn3/out/ ttcn3/make/ +ttcn3/.run.sh +ttcn3/usr_local diff --git a/ttcn3/scripts/docker_configure_make.sh b/ttcn3/scripts/docker_configure_make.sh new file mode 100755 index 0000000..25cedb4 --- /dev/null +++ b/ttcn3/scripts/docker_configure_make.sh @@ -0,0 +1,38 @@ +#!/bin/sh -ex +# Passed by ttcn3.sh to gen_makefile.py to run './configure', 'make' and +# 'make install' inside docker. The osmo-dev directory is mounted at the same +# location inside the docker container. A usr_local dir is mounted to +# /usr/local, so 'make install' can put all files there and following builds +# have the files available. +DIR_OSMODEV="$(readlink -f "$(dirname $0)/../..")" +DIR_MAKE="$DIR_OSMODEV/ttcn3/make" +DIR_USR_LOCAL="$DIR_OSMODEV/ttcn3/usr_local" +RUN_SCRIPT="$DIR_OSMODEV/ttcn3/.run.sh" +DOCKER_IMG="$1" +UID="$(id -u)" +shift + +mkdir -p "$DIR_MAKE" + +# Script running as user inside docker +echo "#!/bin/sh -ex" > "$RUN_SCRIPT" +echo "cd \"$PWD\"" >> "$RUN_SCRIPT" +for i in "$@"; do + echo -n "'$i' " >> "$RUN_SCRIPT" +done +echo >> "$RUN_SCRIPT" +chmod +x "$RUN_SCRIPT" + +docker run \ + --rm \ + -e "LD_LIBRARY_PATH=/usr/local/lib" \ + -v "$DIR_OSMODEV:$DIR_OSMODEV" \ + -v "$DIR_USR_LOCAL:/usr/local" \ + -v "$RUN_SCRIPT:/tmp/run.sh:ro" \ + "$DOCKER_IMG" \ + sh -ex -c " + if ! id -u $UID 2>/dev/null; then + useradd -u $UID user + fi + su \$(id -un $UID) -c /tmp/run.sh + " diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 9f8c1f3..6300ff7 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -4,8 +4,15 @@ DIR_OSMODEV="$(readlink -f "$(dirname $0)/..")" DIR_MAKE="${DIR_MAKE:-${DIR_OSMODEV}/ttcn3/make}" DIR_OUTPUT="${DIR_OUTPUT:-${DIR_OSMODEV}/ttcn3/out}" +DIR_USR_LOCAL="$DIR_OSMODEV/ttcn3/usr_local" JOBS="${JOBS:-9}" +# Osmocom libraries and programs relevant for the current testsuite will be +# built in this container. It must have all build dependencies available and +# be based on the same distribution that master-* containers are based on, so +# there are no incompatibilities with shared libraries. +DOCKER_IMG_BUILD="debian-stretch-jenkins" + check_usage() { if [ -z "$PROJECT" ]; then echo "usage: $(basename $0) PROJECT" @@ -101,6 +108,9 @@ echo "osmo-ttcn3-hacks" echo "osmocom-bb") > ttcn3/3G+2G_ttcn3.deps + local docker_cmd="$DIR_OSMODEV/ttcn3/scripts/docker_configure_make.sh" + docker_cmd="$docker_cmd $USER/$DOCKER_IMG_BUILD" + ./gen_makefile.py \ ttcn3/3G+2G_ttcn3.deps \ default.opts \ @@ -109,7 +119,10 @@ no_doxygen.opts \ no_dahdi.opts \ no_optimization.opts \ - ttcn3/ttcn3.opts -I -m "$DIR_MAKE" + ttcn3/ttcn3.opts \ + --docker-cmd "$docker_cmd" \ + --make-dir "$DIR_MAKE" \ + --no-ldconfig } # $1: name of repository (e.g. osmo-ttcn3-hacks) @@ -157,7 +170,7 @@ ttcn3-docker-run.sh) name_install="ttcn3-docker-run" ;; esac - script_path_localbin="/usr/local/bin/$name_install" + script_path_localbin="$DIR_USR_LOCAL/bin/$name_install" if [ -x "$script_path_localbin" ]; then continue fi @@ -185,25 +198,34 @@ # $1 program build_osmo_program_osmodev() { local repo="$(get_program_repo "$program")" + local usr_local_bin="$DIR_USR_LOCAL/bin" make -C "$DIR_MAKE" "$repo" - local path="$(command -v "$program")" - if [ -z "$path" ]; then - echo "ERROR: program was not installed to PATH: $program" - echo "Maybe you need to add /usr/local/bin to PATH?" + if [ -z "$(find "$usr_local_bin" -name "$program")" ]; then + echo "ERROR: program was not installed properly: $program" + echo "Expected it to be in path: $PATH_dest" exit 1 fi - local pathdir="$(dirname "$path")" local reference="$DIR_MAKE/.make.$repo.build" - if [ -z "$(find "$pathdir" -name "$program" -newer "$reference")" ]; then + if [ -z "$(find "$usr_local_bin" -name "$program" -newer "$reference")" ]; then echo "ERROR: $path is outdated!" echo "Maybe you need to pass a configure argument to $repo.git, so it builds and installs $program?" - echo "Or the order in PATH is wrong?" exit 1 fi } +prepare_docker_build_container() { + local marker="$DIR_OSMODEV/ttcn3/make/.ttcn3-docker-build" + + if [ -e "$marker" ]; then + return + fi + + make -C "$DIR_OSMODEV/src/docker-playground/$DOCKER_IMG_BUILD" + touch "$marker" +} + # Use osmo-dev to build one Osmocom program and its dependencies build_osmo_programs() { local program @@ -247,7 +269,7 @@ cd "$(get_testsuite_dir_docker)" export DOCKER_ARGS="\ -e LD_LIBRARY_PATH=/usr/local/lib \ - -v /usr/local:/usr/local:ro \ + -v "$DIR_USR_LOCAL":/usr/local:ro \ -v $hacks:/osmo-ttcn3-hacks:ro \ " export NO_LIST_OSMO_PACKAGES=1 @@ -283,6 +305,7 @@ clone_repo "docker-playground" check_dir_testsuite prepare_local_bin +prepare_docker_build_container build_osmo_programs build_testsuite remove_old_logs -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828 Gerrit-Change-Number: 25190 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:42 +0000 Subject: Change in osmo-dev[master]: ttcn3/wrappers: remove In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25191 ) Change subject: ttcn3/wrappers: remove ...................................................................... ttcn3/wrappers: remove Leftover from before the script was refactored in Iecba5391dafc353058d369deb513b156534face1. Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0 --- D ttcn3/wrappers/fake_trx.sh D ttcn3/wrappers/osmo-bts-trx-respawn.sh D ttcn3/wrappers/osmo-pcu-respawn.sh 3 files changed, 0 insertions(+), 35 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/ttcn3/wrappers/fake_trx.sh b/ttcn3/wrappers/fake_trx.sh deleted file mode 100755 index 1d39573..0000000 --- a/ttcn3/wrappers/fake_trx.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -x -# Run in a separate script, so we can kill it with "killall" - -DIR="$(readlink -f "$(dirname $0)")" -cd "$DIR" -PID="" - -cleanup() { - echo "Caught signal, cleaning up..." - set -x - kill "$PID" - exit 1 -} - -trap cleanup "TERM" - -./osmocom-bb/src/target/trx_toolkit/fake_trx.py "$@" & -PID="$!" - -set +x -while true; do - sleep 0.1 -done diff --git a/ttcn3/wrappers/osmo-bts-trx-respawn.sh b/ttcn3/wrappers/osmo-bts-trx-respawn.sh deleted file mode 100755 index 475f807..0000000 --- a/ttcn3/wrappers/osmo-bts-trx-respawn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -x -# Automatically restart osmo-bts-trx while running TTCN3 tests. See docker-playground.git. - -while true; do - osmo-bts-trx "$@" -done diff --git a/ttcn3/wrappers/osmo-pcu-respawn.sh b/ttcn3/wrappers/osmo-pcu-respawn.sh deleted file mode 100755 index 3ff7213..0000000 --- a/ttcn3/wrappers/osmo-pcu-respawn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -x -# Automatically restart osmo-pcu while running TTCN3 tests. See docker-playground.git's osmo-pcu-master/respawn.sh. - -while true; do - osmo-pcu "$@" -done -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0 Gerrit-Change-Number: 25191 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 07:30:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 07:30:42 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: don't build virtphy/trxcon/fake_trx In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25192 ) Change subject: ttcn3.sh: don't build virtphy/trxcon/fake_trx ...................................................................... ttcn3.sh: don't build virtphy/trxcon/fake_trx Remove leftovers from before refactoring in Iecba5391dafc353058d369deb513b156534face1. No need to build these with osmo-dev, as they are part of the osmocom-bb docker container that gets built via ttcn3-bts-test/jenkins.sh. Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689 --- M ttcn3/ttcn3.sh 1 file changed, 3 insertions(+), 25 deletions(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 6300ff7..20d6184 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -62,10 +62,10 @@ get_programs() { case "$PROJECT" in bsc) echo "osmo-stp osmo-bsc osmo-bts-omldummy" ;; - bts) echo "osmo-bsc osmo-bts-trx fake_trx.py trxcon" ;; + bts) echo "osmo-bsc osmo-bts-trx" ;; msc) echo "osmo-stp osmo-msc" ;; pcu-sns) echo "osmo-pcu" ;; - pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual virtphy" ;; + pcu) echo "osmo-pcu osmo-bsc osmo-bts-virtual" ;; sgsn) echo "osmo-stp osmo-sgsn" ;; sip) echo "osmo-sip-connector" ;; *) echo "osmo-$PROJECT" ;; @@ -76,12 +76,9 @@ # $1: program name get_program_repo() { case "$1" in - fake_trx.py) echo "osmocom-bb" ;; osmo-bts-*) echo "osmo-bts" ;; osmo-pcap-*) echo "osmo-pcap" ;; osmo-stp) echo "libosmo-sccp" ;; - trxcon) echo "osmocom-bb" ;; - virtphy) echo "osmocom-bb" ;; *) echo "$1" ;; esac } @@ -105,8 +102,7 @@ echo "osmo-pcu libosmocore" # just clone these, building is handled by ttcn3.sh echo "docker-playground" - echo "osmo-ttcn3-hacks" - echo "osmocom-bb") > ttcn3/3G+2G_ttcn3.deps + echo "osmo-ttcn3-hacks" ) > ttcn3/3G+2G_ttcn3.deps local docker_cmd="$DIR_OSMODEV/ttcn3/scripts/docker_configure_make.sh" docker_cmd="$docker_cmd $USER/$DOCKER_IMG_BUILD" @@ -179,21 +175,6 @@ done } -# Build a program that is in the subdir of a repository (e.g. trxcon in osmocom-bb.git). -# $1: repository -# $2: path in the repository -build_osmo_program_subdir() { - clone_repo "$1" - cd "$DIR_OSMODEV/src/$1/$2" - if ! [ -e "./configure" ] && [ -e "configure.ac" ]; then - autoreconf -fi - fi - if ! [ -e "Makefile" ] && [ -e "Makefile.am" ]; then - ./configure - fi - make -j"$JOBS" -} - # Use osmo-dev to build a typical Osmocom program, and run a few sanity checks. # $1 program build_osmo_program_osmodev() { @@ -231,9 +212,6 @@ local program for program in $(get_programs); do case "$program" in - fake_trx.py) clone_repo "osmocom-bb" ;; - trxcon) build_osmo_program_subdir "osmocom-bb" "src/host/trxcon" ;; - virtphy) build_osmo_program_subdir "osmocom-bb" "src/host/virt_phy" ;; *) build_osmo_program_osmodev "$program" ;; esac done -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689 Gerrit-Change-Number: 25192 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:17:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 13 Aug 2021 09:17:37 +0000 Subject: Change in osmo-pcu[master]: Revert "Stop abusing T3169" References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25193 ) Change subject: Revert "Stop abusing T3169" ...................................................................... Revert "Stop abusing T3169" This reverts commit 846fd248dc49c06441da6d7c3cd85df479810f1a. The commit introduced a leak of UL-TBF, which do not time out and accumulate indefinitely, leading to out-of-memory for the running osmo-pcu process. A proper fix for the leak is pending on a development branch pespin/fsm, but that branch is not yet ready for merging. Hence let's re-introduce timer T3169 to avoid the OOM due to lingering UL-TBF. Related: OS#5209 Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 --- M src/bts.cpp M src/tbf_ul.cpp M tests/tbf/TbfTest.err 3 files changed, 247 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/25193/1 diff --git a/src/bts.cpp b/src/bts.cpp index a96fe24..69a04f9 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -925,6 +925,7 @@ goto send_imm_ass_rej; } tbf->set_ta(ta); + T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 5ca02d9..65658ab 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -155,6 +155,7 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); + T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -413,6 +414,9 @@ uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; + /* restart T3169 */ + T_START(this, T3169, 3169, "acked (data)", true); + /* Increment RX-counter */ this->m_rx_counter++; update_coding_scheme_counter_ul(rlc->cs); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0306562..4addc12 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1512,11 +1512,13 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1591,6 +1593,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1610,6 +1613,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1675,6 +1679,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1694,6 +1699,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1820,6 +1826,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! @@ -1851,6 +1858,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1862,14 +1870,7 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -********** UL-TBF ends here ********** -TBF(UL-TFI_0){FLOW}: Deallocated -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object -MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1905,6 +1906,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -1926,6 +1928,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1962,6 +1965,7 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -1992,6 +1996,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 @@ -2011,6 +2016,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2050,6 +2056,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2071,6 +2078,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2107,6 +2115,7 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -2134,11 +2143,13 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2198,6 +2209,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2219,6 +2231,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2920,7 +2933,6 @@ PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: state_chg to RELEASING -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) @@ -3335,6 +3347,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3356,6 +3369,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3427,6 +3441,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3448,6 +3463,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3457,6 +3473,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3464,6 +3481,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3478,6 +3496,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3485,6 +3504,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3499,6 +3519,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3506,6 +3527,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3513,6 +3535,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3527,6 +3550,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3534,12 +3558,14 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3554,6 +3580,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3561,6 +3588,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -6050,6 +6078,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6071,6 +6100,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6080,6 +6110,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6090,6 +6121,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6215,6 +6247,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6236,6 +6269,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6245,6 +6279,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6348,6 +6383,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6371,6 +6407,7 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6394,6 +6431,7 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6417,6 +6455,7 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6440,6 +6479,7 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6463,6 +6503,7 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6486,6 +6527,7 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6550,6 +6592,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6571,6 +6614,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6580,114 +6624,133 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6696,120 +6759,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6818,120 +6901,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6940,120 +7043,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7063,6 +7186,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654279 @@ -7097,6 +7221,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7106,108 +7231,126 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7216,6 +7359,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7223,6 +7367,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7241,108 +7386,126 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7351,120 +7514,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7473,120 +7656,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7595,120 +7798,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7717,12 +7940,14 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7730,6 +7955,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7831,6 +8057,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=52 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcc, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7868,6 +8095,7 @@ TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=56 TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcd, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7910,6 +8138,7 @@ TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_2){NULL}: state_chg to ASSIGN +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=60 TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddce, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7952,6 +8181,7 @@ TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_3){NULL}: state_chg to ASSIGN +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=65 TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcf, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7994,6 +8224,7 @@ TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_4){NULL}: state_chg to ASSIGN +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=69 TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd0, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8036,6 +8267,7 @@ TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_5){NULL}: state_chg to ASSIGN +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=73 TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd1, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8078,6 +8310,7 @@ TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_6){NULL}: state_chg to ASSIGN +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=78 TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd2, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 Gerrit-Change-Number: 25193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:54:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:54:54 +0000 Subject: Change in osmo-pcu[master]: Revert "Stop abusing T3169" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25193 ) Change subject: Revert "Stop abusing T3169" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 Gerrit-Change-Number: 25193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Aug 2021 09:54:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25142 ) Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Aug 2021 09:55:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25143 ) Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 13 Aug 2021 09:55:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_udp: don't start the NSVC fsm for SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25142 ) Change subject: gprs_ns2_udp: don't start the NSVC fsm for SNS ...................................................................... gprs_ns2_udp: don't start the NSVC fsm for SNS The SNS code will always create NSVC on it's own. The only case when the SNS dialect allows dynamic NSE/NSVC is on the SGSN side when accepting dynamic NSE and receiving the first SNS SIZE. In this case the NSVC FSM must not be started yet. Prevents sending NS_ALIVE before the SNS configuration has been finished. Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 --- M src/gb/gprs_ns2_udp.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 428fd4a..4816021 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -247,7 +247,9 @@ goto out; case NS2_CS_CREATED: ns2_driver_alloc_vc(bind, nsvc, &saddr); - ns2_vc_fsm_start(nsvc); + /* only start the fsm for non SNS. SNS will take care of its own */ + if (nsvc->nse->dialect != GPRS_NS2_DIALECT_SNS) + ns2_vc_fsm_start(nsvc); break; } } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25142 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I86275c99432262b3c19c1ded9a77090b74303bc8 Gerrit-Change-Number: 25142 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor SNS failures into a function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24649 ) Change subject: gprs_ns2_sns: refactor SNS failures into a function ...................................................................... gprs_ns2_sns: refactor SNS failures into a function The SNS fsm is similar for BSS and SGSN. Terminate the SGSN failures by freeing the NSE. Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 367f77c..5e43d8c 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -171,6 +171,26 @@ return gss->nse; } +/* The SNS has failed. Etither restart the SNS (BSS) or remove the SNS (SGSN) */ +#define sns_failed(fi, reason) \ + _sns_failed(fi, reason, __FILE__, __LINE__) +static void _sns_failed(struct osmo_fsm_inst *fi, const char *reason, const char *file, int line) +{ + struct ns2_sns_state *gss = fi->priv; + + if (reason) + LOGPFSML(fi, LOGL_ERROR, "NSE %d: SNS failed: %s\n", gss->nse->nsei, reason); + + if (gss->role == GPRS_SNS_ROLE_SGSN) { + if (!gss->nse->persistent) + gprs_ns2_free_nse(gss->nse); + else + _osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0, file, line); + } else { + _osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL, file, line); + } +} + /* helper function to compute the sum of all (data or signaling) weights */ static int ip4_weight_sum(const struct ns2_sns_elems *elems, bool data_weight) { @@ -1427,31 +1447,27 @@ switch (fi->T) { case 1: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_SIZE_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: Size retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "Size retries failed. Selecting next IP-SNS endpoint."); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); } break; case 2: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: BSS Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "BSS Config retries failed. Selecting next IP-SNS endpoint"); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; case 3: if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { - LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "SGSN Config retries failed. Selecting next IP-SNS endpoint."); } else { osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; case 4: - LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint."); break; } return 0; @@ -1573,8 +1589,7 @@ if (gss->reselection_running) break; - LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + sns_failed(fi, "no remaining NSVC, resetting SNS FSM"); break; case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: /* tear down previous state -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24649 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1896f6c3ddb4f98ca261139c1cc77aa8f1558c6f Gerrit-Change-Number: 24649 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24650 ) Change subject: gprs_ns2_sns: free the NSE if the SIZE PDU is not valid ...................................................................... gprs_ns2_sns: free the NSE if the SIZE PDU is not valid The SGSN fsm should be freed when becoming invalid instead of going into the unconfigured state. The unconfigured states should be only used when creating the NSE (on the SGSN side). Change-Id: Ife889091ecba4180a90743deb786767008fe863d --- M src/gb/gprs_ns2_sns.c 1 file changed, 14 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 5e43d8c..a9ace5f 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2246,12 +2246,16 @@ !TLVP_PRES_LEN(tp, NS_IE_MAX_NR_NSVC, 2)) { cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Missing essential IE"); break; } if (!TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2) && !TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) { cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Missing essential IE"); break; } if (TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2)) @@ -2275,6 +2279,8 @@ else cause = NS_CAUSE_INVAL_NR_IPv6_EP; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, "Rx Size: Invalid Nr of IPv4/IPv6 EPs"); break; } /* ensure number of NS-VCs is sufficient for full mesh */ @@ -2285,6 +2291,8 @@ num_remote_eps, num_local_eps * num_remote_eps, gss->num_max_nsvcs); cause = NS_CAUSE_INVAL_NR_NS_VC; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + if (fi->state == GPRS_SNS_ST_UNCONFIGURED) + sns_failed(fi, NULL); break; } /* perform state reset, if requested */ @@ -2309,6 +2317,12 @@ } ns2_sns_compute_local_ep_from_binds(fi); } + + if (fi->state == GPRS_SNS_ST_UNCONFIGURED && !(flag & 1)) { + sns_failed(fi, "Rx Size without Reset flag, but NSE is unknown"); + break; + } + /* send SIZE_ACK */ ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); /* only wait for SNS-CONFIG in case of Reset flag */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24650 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ife889091ecba4180a90743deb786767008fe863d Gerrit-Change-Number: 24650 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:55:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:55:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add recursive anchor to protect against double free In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25143 ) Change subject: gprs_ns2: add recursive anchor to protect against double free ...................................................................... gprs_ns2: add recursive anchor to protect against double free When free'ing a NSE/NSVC/BIND ensure there can't be a double free by using a free anchor in the struct. Recursive free's can happen when the NS user reacts on an event (e.g. GPRS_NS2_AFF_CAUSE_VC_FAILURE) and calls the free(). Or when the user free's a NSVC when the NSE uses SNS as configuration, the fsm tries to free it again. Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h 2 files changed, 20 insertions(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index fb2965a..45cdfcc 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -639,9 +639,9 @@ * \param[in] nsvc NS-VC to destroy */ void gprs_ns2_free_nsvc(struct gprs_ns2_vc *nsvc) { - if (!nsvc) + if (!nsvc || nsvc->freed) return; - + nsvc->freed = true; ns2_prim_status_ind(nsvc->nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_FAILURE); llist_del(&nsvc->list); @@ -671,7 +671,7 @@ { struct gprs_ns2_vc *nsvc, *tmp; - if (!nse) + if (!nse || nse->freed) return; llist_for_each_entry_safe(nsvc, tmp, &nse->nsvc, list) { @@ -889,9 +889,11 @@ * \param[in] nse NS Entity to destroy */ void gprs_ns2_free_nse(struct gprs_ns2_nse *nse) { - if (!nse) + struct gprs_ns2_vc *nsvc, *nsvc2; + if (!nse || nse->freed) return; + nse->freed = true; nse->alive = false; if (nse->bss_sns_fi) { osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); @@ -901,6 +903,9 @@ gprs_ns2_free_nsvcs(nse); ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_FAILURE); rate_ctr_group_free(nse->ctrg); + llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { + gprs_ns2_free_nsvc(nsvc); + } llist_del(&nse->list); talloc_free(nse); @@ -1466,9 +1471,10 @@ { struct gprs_ns2_vc *nsvc, *tmp; struct gprs_ns2_nse *nse; - if (!bind) + if (!bind || bind->freed) return; + bind->freed = true; llist_for_each_entry_safe(nsvc, tmp, &bind->nsvc, blist) { gprs_ns2_free_nsvc(nsvc); } diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index db01c2e..95efbae 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -215,6 +215,9 @@ /*! NSE-wide statistics */ struct rate_ctr_group *ctrg; + + /*! recursive anchor */ + bool freed; }; /*! Structure representing a single NS-VC */ @@ -259,6 +262,9 @@ enum gprs_ns2_vc_mode mode; struct osmo_fsm_inst *fi; + + /*! recursive anchor */ + bool freed; }; /*! Structure repesenting a bind instance. E.g. IPv4 listen port. */ @@ -303,6 +309,9 @@ uint8_t sns_data_weight; struct osmo_stat_item_group *statg; + + /*! recursive anchor */ + bool freed; }; struct gprs_ns2_vc_driver { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25143 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9823aadaa936e136aa43e88cee925ddd5974841 Gerrit-Change-Number: 25143 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 09:57:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 13 Aug 2021 09:57:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dont use llist_for_each when freeing an element In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25147 ) Change subject: gprs_ns2: dont use llist_for_each when freeing an element ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I902557fb6e56e6588728a46e43a9cbe3215d5c68 Gerrit-Change-Number: 25147 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 13 Aug 2021 09:57:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 10:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Aug 2021 10:08:50 +0000 Subject: Change in osmo-pcu[master]: Revert "Stop abusing T3169" In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25193 ) Change subject: Revert "Stop abusing T3169" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 Gerrit-Change-Number: 25193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Aug 2021 10:08:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:05:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 13 Aug 2021 12:05:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: TC_rkm_unreg_never_registered: !latest In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 ) Change subject: stp: TC_rkm_unreg_never_registered: !latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b Gerrit-Change-Number: 25185 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Comment-Date: Fri, 13 Aug 2021 12:05:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:05:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 13 Aug 2021 12:05:13 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 12:05:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:05:47 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 13 Aug 2021 12:05:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 ) Change subject: stp: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Gerrit-Change-Number: 25184 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 13 Aug 2021 12:05:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:23:07 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 13 Aug 2021 12:23:07 +0000 Subject: Change in simtrace2[master]: contrib: allow manually forcing bulk simtrace dissection In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25178 ) Change subject: contrib: allow manually forcing bulk simtrace dissection ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c Gerrit-Change-Number: 25178 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 12:23:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:23:13 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Fri, 13 Aug 2021 12:23:13 +0000 Subject: Change in simtrace2[master]: contrib: allow manually forcing bulk simtrace dissection In-Reply-To: References: Message-ID: Hoernchen has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/25178 ) Change subject: contrib: allow manually forcing bulk simtrace dissection ...................................................................... contrib: allow manually forcing bulk simtrace dissection Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c --- M contrib/simtrace.lua 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve Hoernchen: Looks good to me, approved diff --git a/contrib/simtrace.lua b/contrib/simtrace.lua index 5a273d2..1ca1b0b 100644 --- a/contrib/simtrace.lua +++ b/contrib/simtrace.lua @@ -88,6 +88,5 @@ local usb_product_dissectors = DissectorTable.get("usb.product") usb_product_dissectors:add(0x1d50616d, usb_simtrace_protocol) usb_product_dissectors:add(0x1d50616e, usb_simtrace_protocol) - --- DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) +DissectorTable.get("usb.bulk"):add(0xffff, usb_simtrace_protocol) end -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/25178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I5fcfe3c221b87b02e21c857ac51d0392c3b4de3c Gerrit-Change-Number: 25178 Gerrit-PatchSet: 1 Gerrit-Owner: Hoernchen Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 12:56:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 13 Aug 2021 12:56:31 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Aug 2021 12:56:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 15:28:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 15:28:15 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 13 Aug 2021 15:28:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 13 15:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 13 Aug 2021 15:30:29 +0000 Subject: Change in osmo-pcu[master]: T_defs_bts: remove unit from doc strings In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25187 ) Change subject: T_defs_bts: remove unit from doc strings ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 Gerrit-Change-Number: 25187 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 13 Aug 2021 15:30:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 14 13:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 14 Aug 2021 13:26:33 +0000 Subject: Change in osmo-pcu[master]: T_defs_bts: remove unit from doc strings In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25187 ) Change subject: T_defs_bts: remove unit from doc strings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 Gerrit-Change-Number: 25187 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sat, 14 Aug 2021 13:26:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:15:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:15:11 +0000 Subject: Change in osmo-pcu[master]: T_defs_bts: remove unit from doc strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25187 ) Change subject: T_defs_bts: remove unit from doc strings ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 Gerrit-Change-Number: 25187 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:15:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:15:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:15:14 +0000 Subject: Change in osmo-pcu[master]: T_defs_bts: remove unit from doc strings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25187 ) Change subject: T_defs_bts: remove unit from doc strings ...................................................................... T_defs_bts: remove unit from doc strings The main reason to change this is that the unit for T3172 is wrong. It is defined as ms but the doc string says "(s)". The tdef implementation already includes the unit as defined for each T in the doc string implicitly, so instead of fixing that string, just remove the unit strings from all the doc strings. Now it will show: OsmoPCU# show bts-timer BTS0: T3142 = 20 s Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH) (default: 20 s, range: [0 .. 255]) T3169 = 5 s Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (default: 5 s) T3172 = 5000 ms Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH) (default: 5000 ms, range: [0 .. 255000]) T3191 = 5 s Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (default: 5 s) T3193 = 1600 ms Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (default: 100 ms) T3195 = 5 s Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (default: 5 s) Related: OS#5209 Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 --- M src/bts.cpp 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index a96fe24..1114158 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -76,12 +76,12 @@ } static struct osmo_tdef T_defs_bts[] = { - { .T=3142, .default_val=20, .unit=OSMO_TDEF_S, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH) (s)", .val=0, .min_val = 0, .max_val = 255 }, /* TS 44.018 10.5.2.43, TS 44.060 7.1.3.2.1 (T3172) */ - { .T=3169, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid (s)", .val=0 }, - { .T=3172, .default_val=5000,.unit=OSMO_TDEF_MS, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH) (s)", .val=0, .min_val = 0, .max_val = 255000 }, /* TS 44.060 7.1.3.2.1 */ - { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer (s)", .val=0 }, - { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF (ms)", .val=0 }, - { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer (s)", .val=0 }, + { .T=3142, .default_val=20, .unit=OSMO_TDEF_S, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (CCCH)", .val=0, .min_val = 0, .max_val = 255 }, /* TS 44.018 10.5.2.43, TS 44.060 7.1.3.2.1 (T3172) */ + { .T=3169, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of USF and TFI(s) after the MS uplink TBF assignment is invalid", .val=0 }, + { .T=3172, .default_val=5000,.unit=OSMO_TDEF_MS, .desc="Wait Indication used in Imm Ass Reject during TBF Establishment (PACCH)", .val=0, .min_val = 0, .max_val = 255000 }, /* TS 44.060 7.1.3.2.1 */ + { .T=3191, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) after sending (1) last RLC Data Block on TBF(s), or (2) PACKET TBF RELEASE for an MBMS radio bearer", .val=0 }, + { .T=3193, .default_val=100, .unit=OSMO_TDEF_MS, .desc="Reuse of TFI(s) after reception of final PACKET DOWNLINK ACK/NACK from MS for TBF", .val=0 }, + { .T=3195, .default_val=5, .unit=OSMO_TDEF_S, .desc="Reuse of TFI(s) upon no response from the MS (radio failure or cell change) for TBF/MBMS radio bearer", .val=0 }, { .T=0, .default_val=0, .unit=OSMO_TDEF_S, .desc=NULL, .val=0 } /* empty item at the end */ }; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I140122bb10f750bf996272cc7f9c5b541c9bd364 Gerrit-Change-Number: 25187 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:17:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:17:21 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24846/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24846/3//COMMIT_MSG at 1 PS3, Line 1: Parent: 6611e7f3 (allow to configure multiple oml remote-ip addresses) So basically you're saying we need an ECU for EFR, AMR and HR [we oly have ecu_fr.c at this point]? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Aug 2021 17:17:21 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:17:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:17:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 ) Change subject: stp: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Gerrit-Change-Number: 25184 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 15 Aug 2021 17:17:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:17:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:17:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: TC_rkm_unreg_never_registered: !latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 ) Change subject: stp: TC_rkm_unreg_never_registered: !latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b Gerrit-Change-Number: 25185 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 15 Aug 2021 17:17:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:17:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:17:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 ) Change subject: stp: rename mp_stp_has_asp_quirk ...................................................................... stp: rename mp_stp_has_asp_quirk Rename the option to mp_osmo_stp_newer_than_1_4_0, because I'm going to use the variable in the next patch for something unrelated to the asp quirk and so we can avoid introducing another variable. Related: docker-playground I6a32398242b53c827a94cf65e4a35900a7c4171a Related: OS#4239 Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 13703d0..b97d4da 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -73,8 +73,8 @@ integer mp_recovery_timeout_msec := 2000; charstring mp_sccp_service_type := "mtp3_itu"; - /* does the STP support the 'asp quirk' command? */ - boolean mp_stp_has_asp_quirk := true; + /* is osmo-stp newer than 1.4.0? */ + boolean mp_osmo_stp_newer_than_1_4_0 := true; } type record M3uaConfig { @@ -1034,7 +1034,7 @@ execute( TC_clnt_asp_to_sg() ); /* remove the condition if osmo-stp > 1.4.0 is released */ - if (mp_stp_has_asp_quirk) { + if (mp_osmo_stp_newer_than_1_4_0) { execute( TC_clnt_quirk_no_notify_asp_act() ); execute( TC_clnt_no_daud_in_asp() ); execute( TC_clnt_quirk_daud_in_asp() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Gerrit-Change-Number: 25184 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:17:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:17:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: stp: TC_rkm_unreg_never_registered: !latest In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 ) Change subject: stp: TC_rkm_unreg_never_registered: !latest ...................................................................... stp: TC_rkm_unreg_never_registered: !latest Disable test TC_rkm_unreg_never_registered for current latest version of osmo-stp (1.4.0), as it does not clean up properly and now causes other tests to fail. With this patch, test results for -latest are restored to how it was before I7d2f9eb298778a8e60c7e73f314bc73528e85406 and I31fcba85d23a8767eb0ceb513ff5b440558a475b were merged. Related: OS#4239 Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 12 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index b97d4da..1c3b01d 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -1019,7 +1019,18 @@ execute( TC_rkm_reg_static_notpermitted() ); execute( TC_rkm_reg_static_permitted() ); execute( TC_rkm_reg_dynamic_permitted() ); - execute( TC_rkm_unreg_never_registered() ); + /* This test has never passed in osmo-stp <= 1.4.0, because it needs + * patch Ie5d84d06e7d5d32c8a22f770f71a5449f4a78484 which was added + * afterwards. Disable the test for <= 1.4.0, because the test does not + * clean up properly and - after other tests were extended - they are + * now failing in this not properly cleaned up state. After some hours + * of figuring out that it is definitively this test and trying to + * figure out what exactly is not cleaning up properly, I decided to + * just temporarily disable the test for -latest instead of spending + * even more time on it. */ + if (mp_osmo_stp_newer_than_1_4_0) { + execute( TC_rkm_unreg_never_registered() ); + } execute( TC_rkm_unreg_invalid() ); execute( TC_rkm_unreg_registered() ); execute( TC_rkm_unreg_active() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice8fe9597a0a12eb4ec26172982a0f5cd01a148b Gerrit-Change-Number: 25185 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:20:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:20:31 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 16: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 16 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Sun, 15 Aug 2021 17:20:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:10 +0000 Subject: Change in osmo-bsc[master]: introduce gsm48_lchan_and_pchan2chan_desc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25163 ) Change subject: introduce gsm48_lchan_and_pchan2chan_desc() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f Gerrit-Change-Number: 25163 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:15 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:18 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 2/n: implement 'pre-chan-ack' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25165 ) Change subject: early IMM ASS 2/n: implement 'pre-chan-ack' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 Gerrit-Change-Number: 25165 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:20 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 3/n: implement 'pre-ts-ack' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25166 ) Change subject: early IMM ASS 3/n: implement 'pre-ts-ack' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Gerrit-Change-Number: 25166 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:23 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 ) Change subject: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 Gerrit-Change-Number: 25159 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 15 Aug 2021 17:21:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 ) Change subject: pcu: f_tc_paging_ps_from_sgsn: move init/shutdown ...................................................................... pcu: f_tc_paging_ps_from_sgsn: move init/shutdown Prepare to use this shared function in a new test with additional commands between init, the function and shutdown. Related: SYS#4878 Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 --- M pcu/PCU_Tests.ttcn 1 file changed, 17 insertions(+), 7 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 804644a..f77c4c1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3185,9 +3185,6 @@ f_init_gprs_ms(); ms := g_ms[0]; /* We only use first MS in this test */ - /* Initialize the PCU interface abstraction */ - f_init_raw(testcasename()); - f_statsd_reset(); /* Establish BSSGP connection to the PCU */ @@ -3215,20 +3212,33 @@ }; f_statsd_expect(expect); } +} + +testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + f_tc_paging_ps_from_sgsn(0, true); f_shutdown(__BFILE__, __LINE__, final := true); } -testcase TC_paging_ps_from_sgsn_sign_ptmsi() runs on RAW_PCU_Test_CT { - f_tc_paging_ps_from_sgsn(0, true); -} - testcase TC_paging_ps_from_sgsn_sign() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + f_tc_paging_ps_from_sgsn(0); + + f_shutdown(__BFILE__, __LINE__, final := true); } testcase TC_paging_ps_from_sgsn_ptp() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvc[0].bvci); + + f_shutdown(__BFILE__, __LINE__, final := true); } /* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6fd523c7f5ab496b3356cf896a8ceaf9b6e874d2 Gerrit-Change-Number: 25159 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:21:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:21:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: add test TC_paging_pch_timeout In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 ) Change subject: pcu: add test TC_paging_pch_timeout ...................................................................... pcu: add test TC_paging_pch_timeout Related: SYS#4878 Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 --- M pcu/PCU_Tests.ttcn 1 file changed, 25 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index f77c4c1..ada9ae3 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3241,6 +3241,28 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +testcase TC_paging_pch_timeout() runs on RAW_PCU_Test_CT { + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()); + + /* Set T3113 to 1s to shorten the test duration */ + f_vty_config2(PCUVTY, {"pcu"}, "timer T3113 1"); + + /* Reset stats and send paging PS request */ + f_tc_paging_ps_from_sgsn(mp_gb_cfg.bvc[0].bvci); + + /* Verify that counter increases when T3113 times out (MS did not start + * TBF to respond to paging). */ + f_sleep(1.2); + var StatsDExpects expect := { + { name := "TTCN3.bts.0.pch.requests.timeout", mtype := "c", min := 1, max := 1 } + }; + f_statsd_expect(expect); + + f_vty_config2(PCUVTY, {"pcu"}, "timer T3113 default"); + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify osmo-pcu handles DL UNIT_DATA from SGSN with IMSI IE correctly. See OS#4729 */ testcase TC_bssgp_dl_unitdata_with_valid_imsi() runs on RAW_PCU_Test_CT { var RlcmacDlBlock dl_block; @@ -5968,6 +5990,9 @@ execute( TC_paging_ps_from_sgsn_sign_ptmsi() ); execute( TC_paging_ps_from_sgsn_sign() ); execute( TC_paging_ps_from_sgsn_ptp() ); + if (mp_osmo_pcu_newer_than_0_9_0) { + execute( TC_paging_pch_timeout() ); + } execute( TC_paging_cs_multi_ms_imsi_tmsi() ); execute( TC_paging_cs_multi_ms_imsi() ); execute( TC_paging_cs_multi_ms_tmsi() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8a8a912908f42d16dc04e2abe8ee4117f08bc672 Gerrit-Change-Number: 25160 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:34:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:34:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack ...................................................................... Patch Set 1: Code-Review-1 I think it's a completely weird idea to split source code in files to combat build speed issues. We are not in the 1980ies anymore. I'm surprised you report any problematic compile time. For me, ccache has always been sufficient. A full build (make -j8 in 'bsc' after the initial 'make compile' takes long (5min 20s). Touching BSC_Tests.ttcn and doing another 'make -j8' then takes 30s, which I find rather acceptable. In case of doubt, sysmocom can buy a faster machine. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 15 Aug 2021 17:34:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:46:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:46:30 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 4: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc at 7 PS4, Line 7: multi-core CPUs. I would make different domains names for each mgw mandatory. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc at 7 PS4, Line 7: m mgw pooling is primarily intended to scale out to multiple hosts [with different IPs]. I would rather say "this can help to scale out over multiple VMs or physical machnies. Until osmo-mgw includes multithreading support, it may also be used ot scale-out to multiple cores on a single host." https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc at 58 PS4, Line 58: mgw local-port 2429 might be useful to also specify a name [only with local significante to the user, displayed in VTY] https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/src/osmo-bsc/osmo_bsc_main.c at 871 PS4, Line 871: static int bsc_mgw_setup() (void) if the function takes no arguments. () means any number of arguments. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Sun, 15 Aug 2021 17:46:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:46:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:46:50 +0000 Subject: Change in osmo-pcu[master]: Revert "Stop abusing T3169" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25193 ) Change subject: Revert "Stop abusing T3169" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 Gerrit-Change-Number: 25193 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 15 Aug 2021 17:46:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 17:46:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 15 Aug 2021 17:46:53 +0000 Subject: Change in osmo-pcu[master]: Revert "Stop abusing T3169" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25193 ) Change subject: Revert "Stop abusing T3169" ...................................................................... Revert "Stop abusing T3169" This reverts commit 846fd248dc49c06441da6d7c3cd85df479810f1a. The commit introduced a leak of UL-TBF, which do not time out and accumulate indefinitely, leading to out-of-memory for the running osmo-pcu process. A proper fix for the leak is pending on a development branch pespin/fsm, but that branch is not yet ready for merging. Hence let's re-introduce timer T3169 to avoid the OOM due to lingering UL-TBF. Related: OS#5209 Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 --- M src/bts.cpp M src/tbf_ul.cpp M tests/tbf/TbfTest.err 3 files changed, 247 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 1114158..a91fe8d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -925,6 +925,7 @@ goto send_imm_ass_rej; } tbf->set_ta(ta); + T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 5ca02d9..65658ab 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -155,6 +155,7 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); + T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -413,6 +414,9 @@ uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; + /* restart T3169 */ + T_START(this, T3169, 3169, "acked (data)", true); + /* Increment RX-counter */ this->m_rx_counter++; update_coding_scheme_counter_ul(rlc->cs); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0306562..4addc12 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1512,11 +1512,13 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1591,6 +1593,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1610,6 +1613,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1675,6 +1679,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1694,6 +1699,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1820,6 +1826,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! @@ -1851,6 +1858,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1862,14 +1870,7 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -********** UL-TBF ends here ********** -TBF(UL-TFI_0){FLOW}: Deallocated -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object -MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1905,6 +1906,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -1926,6 +1928,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1962,6 +1965,7 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -1992,6 +1996,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 @@ -2011,6 +2016,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2050,6 +2056,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2071,6 +2078,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2107,6 +2115,7 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -2134,11 +2143,13 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2198,6 +2209,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2219,6 +2231,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2920,7 +2933,6 @@ PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: state_chg to RELEASING -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) @@ -3335,6 +3347,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3356,6 +3369,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3427,6 +3441,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3448,6 +3463,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3457,6 +3473,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3464,6 +3481,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3478,6 +3496,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3485,6 +3504,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3499,6 +3519,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3506,6 +3527,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3513,6 +3535,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3527,6 +3550,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3534,12 +3558,14 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3554,6 +3580,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3561,6 +3588,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -6050,6 +6078,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6071,6 +6100,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6080,6 +6110,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6090,6 +6121,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6215,6 +6247,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6236,6 +6269,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6245,6 +6279,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6348,6 +6383,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6371,6 +6407,7 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6394,6 +6431,7 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6417,6 +6455,7 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6440,6 +6479,7 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6463,6 +6503,7 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6486,6 +6527,7 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 +TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6550,6 +6592,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6571,6 +6614,7 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6580,114 +6624,133 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6696,120 +6759,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6818,120 +6901,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6940,120 +7043,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7063,6 +7186,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654279 @@ -7097,6 +7221,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7106,108 +7231,126 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7216,6 +7359,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7223,6 +7367,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7241,108 +7386,126 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7351,120 +7514,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7473,120 +7656,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7595,120 +7798,140 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7717,12 +7940,14 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7730,6 +7955,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7831,6 +8057,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=52 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcc, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7868,6 +8095,7 @@ TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=56 TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcd, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7910,6 +8138,7 @@ TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_2){NULL}: state_chg to ASSIGN +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=60 TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddce, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7952,6 +8181,7 @@ TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_3){NULL}: state_chg to ASSIGN +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=65 TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcf, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -7994,6 +8224,7 @@ TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_4){NULL}: state_chg to ASSIGN +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=69 TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd0, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8036,6 +8267,7 @@ TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_5){NULL}: state_chg to ASSIGN +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=73 TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd1, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8078,6 +8310,7 @@ TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_6){NULL}: state_chg to ASSIGN +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=78 TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd2, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I99a7d2ddf68a76739ce2db1d6a44967dd97667b0 Gerrit-Change-Number: 25193 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 23:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 15 Aug 2021 23:52:57 +0000 Subject: Change in osmo-bts[master]: remove unused LCHAN_S_INACTIVE References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25194 ) Change subject: remove unused LCHAN_S_INACTIVE ...................................................................... remove unused LCHAN_S_INACTIVE Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/25194/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 0ed6361..2e3eaa4 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -92,7 +92,6 @@ LCHAN_S_REL_REQ, /* channel release has been requested */ LCHAN_S_REL_ERR, /* channel is in an error state */ LCHAN_S_BROKEN, /* channel is somehow unusable */ - LCHAN_S_INACTIVE, /* channel is set inactive */ }; #define MAX_NUM_UL_MEAS 104 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 36a5711..7eb6ff1 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -88,7 +88,6 @@ { LCHAN_S_NONE, "NONE" }, { LCHAN_S_ACT_REQ, "ACTIVATION REQUESTED" }, { LCHAN_S_ACTIVE, "ACTIVE" }, - { LCHAN_S_INACTIVE, "INACTIVE" }, { LCHAN_S_REL_REQ, "RELEASE REQUESTED" }, { LCHAN_S_REL_ERR, "RELEASE DUE ERROR" }, { LCHAN_S_BROKEN, "BROKEN UNUSABLE" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 Gerrit-Change-Number: 25194 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 23:52:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 15 Aug 2021 23:52:58 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... enable Early Immediate Assignment When an Immediate Assignment comes in targeting an lchan that is not yet active, then hold back the RR Immediate Assignment until the channel becomes active. This allows the BSC to send the Immediate Assignment before first waiting for the Channel Activation ACK, saving one Abis roundtrip, and helping avoid double allocation on high latency Abis links. Related: SYS#5559 Related: I56c25cde152040fb66bdba44399bd37671ae3df2 (osmo-bsc) Related: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 (osmo-ttcn3-hacks) Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c --- M include/osmo-bts/gsm_data.h M src/common/lchan.c M src/common/rsl.c 3 files changed, 60 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/95/25195/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 2e3eaa4..55c3bdf 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -412,6 +412,11 @@ /* Message buffer to store DL-SACCH repeation candidate */ struct msgb *rep_sacch; + + /* Cached early Immediate Assignment message: if the Immediate Assignment arrives before the channel is + * confirmed active, then cache it here and send it once the channel is confirmed to be active. This is related + * to the Early IA feature, see OsmoBSC config option 'immediate-assignment pre-chan-ack'. */ + struct msgb *early_rr_ia; }; extern const struct value_string lchan_ciph_state_names[]; diff --git a/src/common/lchan.c b/src/common/lchan.c index 5a3f539..4d67f5f 100644 --- a/src/common/lchan.c +++ b/src/common/lchan.c @@ -22,6 +22,7 @@ #include #include #include +#include void lchan_set_state(struct gsm_lchan *lchan, enum gsm_lchan_state state) { @@ -30,6 +31,34 @@ gsm_lchans_name(lchan->state), gsm_lchans_name(state)); lchan->state = state; + + /* Early Immediate Assignment: if we have a cached early IA pending, send it upon becoming active, or discard it + * when releasing. */ + if (lchan->early_rr_ia) { + struct gsm_bts *bts = lchan->ts->trx->bts; + switch (lchan->state) { + case LCHAN_S_ACT_REQ: + /* Activation is requested, keep the early IA until active. This allows the BSC to send the IA + * even before a dynamic timeslot is done switching to a different pchan kind (experimental). */ + break; + case LCHAN_S_ACTIVE: + /* Activation is done, send the RR IA now. Put RR IA msg into the AGCH queue of the BTS. */ + if (bts_agch_enqueue(bts, lchan->early_rr_ia) < 0) { + /* if there is no space in the queue: send DELETE IND */ + rsl_tx_delete_ind(bts, lchan->early_rr_ia->data, lchan->early_rr_ia->len); + rate_ctr_inc2(bts->ctrs, BTS_CTR_AGCH_DELETED); + msgb_free(lchan->early_rr_ia); + } + lchan->early_rr_ia = NULL; + break; + default: + /* Transition to any other state means whatever IA the BSC has sent shall now not be relevant + * anymore. */ + msgb_free(lchan->early_rr_ia); + lchan->early_rr_ia = NULL; + break; + } + } } bool ts_is_pdch(const struct gsm_bts_trx_ts *ts) diff --git a/src/common/rsl.c b/src/common/rsl.c index 18c0349..1c92ba8 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1085,6 +1085,32 @@ msg->l2h = NULL; msg->len = TLVP_LEN(&tp, RSL_IE_FULL_IMM_ASS_INFO); + /* Early Immediate Assignment: when there is a lot of latency on Abis, the Abis roundtrip of Chan Activ -> Chan + * Activ ACK -> Immediate Assignment may take so long that each MS sends a second RACH for Chan Rqd, reserving + * two SDCCH for each request but using only one. To help with that, the Early IA feature in osmo-bsc sends the + * Immediate Assignment without waiting for the Channel Activation ACK. This may then be too early, and the MS + * may not be able to establish a channel. So to help with Early IA, look up whether the target lchan is already + * active. If not, then hold back the RR Immediate Assignment message, and send it once L1 has confirmed that + * the channel is active. Hence we still wait for the activation, but don't need the Abis roundtrip of Activ ACK + * -> Immediate Assignment via the BSC. + * If anything is wrong with the sizes or the lchan lookup, behave normally, i.e. do not do the RR IA caching, + * but just send the RR message to the MS as-is. */ + if (msg->len >= sizeof(struct gsm48_imm_ass)) { + struct gsm48_imm_ass *rr_ia = msg->data; + struct gsm_lchan *ia_target_lchan = lchan_lookup(trx, rr_ia->chan_desc.chan_nr, "Early IA check: "); + if (ia_target_lchan && ia_target_lchan->state != LCHAN_S_ACTIVE) { + /* Target lchan is not yet active. Cache the IA. */ + if (ia_target_lchan->early_rr_ia) { + /* A previous IA is still lingering. Free it. */ + msgb_free(ia_target_lchan->early_rr_ia); + } + ia_target_lchan->early_rr_ia = msg; + + /* return 1 means: don't msgb_free() the msg */ + return 1; + } + } + /* put into the AGCH queue of the BTS */ if (bts_agch_enqueue(trx->bts, msg) < 0) { /* if there is no space in the queue: send DELETE IND */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 15 23:53:45 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 15 Aug 2021 23:53:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add TC_early_immediate_assignment_pre_chan_ack References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 ) Change subject: bts: add TC_early_immediate_assignment_pre_chan_ack ...................................................................... bts: add TC_early_immediate_assignment_pre_chan_ack Related: SYS#5559 Related: Ie52765b238b01f22fb327fe12327fbf10abcad4c (osmo-bts) Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 --- M bts/BTS_Tests.ttcn 1 file changed, 71 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/25196/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 61c40d4..616ca34 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7691,6 +7691,75 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +private function f_TC_early_immediate_assignment(charstring id) runs on ConnHdlr { + var GsmFrameNumber fn; + var ChannelDescription ch_desc; + var integer ra := 23; + + f_l1_tune(L1CTL); + RSL.clear; + + /* Send RACH request and wait for ChanReq */ + fn := f_rach_req_wait_chan_rqd(ra); + + /* The BSC already sends the Immediate Assignment, before the channel is active. + * (Also before the Channel Activation, even. I tried to write this test so that we first send the Chan Act and then the IMM + * ASS, but osmo-bts-trx responds so fast that the Chan Activ ACK comes back even before titan dispatches the + * IMM ASS. So move the IMM ASS even before the Chan Activ.) */ + if (g_pars.fhp.enabled) { + ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.fhp.maio_hsn, g_pars.tsc)); + } else { + ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn, g_pars.tsc)); + } + var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.fhp.ma_map)); + RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg))); + + /* Do not expect the Immediate Assignment to show up on MS side yet. Even give it one second before the BSC + * requests Chan Activ, to make sure the RR IMM ASS is held back. */ + var L1ctlDlMessage dl; + var GsmRrMessage rr; + + var template GsmRrMessage rr_imm_ass := tr_IMM_ASS(ra, fn); + rr_imm_ass.payload.imm_ass.ded_or_tbf := ?; + rr_imm_ass.payload.imm_ass.pkt_chan_desc := *; + rr_imm_ass.payload.imm_ass.chan_desc := *; + + timer T := 1.0; + T.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { + rr := dec_GsmRrMessage(dl.payload.data_ind.payload); + if (match(rr, rr_imm_ass)) { + setverdict(fail, "Expected IMM ASS to be delayed until Chan Act ACK, but it was passed to the MS immediately"); + mtc.stop; + } else { + repeat; + } + } + [] L1CTL.receive { repeat; } + [] T.timeout; + } + RSL.send(ts_RSL_CHAN_ACT(g_chan_nr, g_pars.chan_mode, t_RSL_IE_ActType_IA)); + RSL.receive(tr_RSL_CHAN_ACT_ACK(g_chan_nr)); + + /* Now expect the IMM ASS on Um */ + f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, fn); + setverdict(pass); + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} + +testcase TC_early_immediate_assignment() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_init(); + vc_conn := f_start_handler(refers(f_TC_early_immediate_assignment), pars); + vc_conn.done; + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -7889,6 +7958,8 @@ execute( TC_speech_no_rtp_tchh() ); execute( TC_speech_rtp_tchf() ); execute( TC_speech_rtp_tchh() ); + + execute( TC_early_immediate_assignment() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 Gerrit-Change-Number: 25196 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:10:27 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:10:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack ...................................................................... Patch Set 1: > I think it's a completely weird idea to split source code in files to combat build speed issues. We are not in the 1980ies anymore. Ah, 'touch' is not so much a problem, I suspect that *changes* to BSC_Tests.ttcn generate differing C++ output (different "parts" files), and that also affects BSC_Tests_CBSP.ttcn, BSC_Tests_LCLS.ttcn, BSC_Tests_VAMOS.ttcn. A lot of files get recompiled senselessly every time. For me the saved time from not changing all dependents of BSC_Tests.ttcn is noticeable. Any reduction in dev cycle waiting time is welcome for me. But it's no problem for me to just use this locally on my machine, no need to merge it. I'll add the new test to BSC_Tests.ttcn. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 16 Aug 2021 00:10:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:12:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:12:12 +0000 Subject: Change in osmo-bsc[master]: lchan_fsm_post_activ_ack(): return upon release In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25162 ) Change subject: lchan_fsm_post_activ_ack(): return upon release ...................................................................... lchan_fsm_post_activ_ack(): return upon release The bottom of the function changes the lchan state. If a failure branch is reached, that should no longer happen. Change 'break' to 'return' in four places to not mix up the channel release. Related: SYS#5559 Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec --- M src/osmo-bsc/lchan_fsm.c 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index aa616d0..68cafb3 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -896,14 +896,14 @@ "lchan activation for assignment succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } if (!lchan->conn->assignment.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no" " assignment ongoing: cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } /* After the Chan Activ Ack, the MS expects to receive an RR Assignment Command. * Let the assignment_fsm handle that. */ @@ -916,14 +916,14 @@ "lchan activation for handover succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } if (!lchan->conn->ho.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no" " handover ongoing: cannot trigger appropriate actions. Release.\n"); lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL, NULL); - break; + return; } /* After the Chan Activ Ack of the new lchan, send the MS an RR Handover Command on the * old channel. The handover_fsm handles that. */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I4674752ab4f1c8e8147ef3366f90e9ea2abd5aec Gerrit-Change-Number: 25162 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:12:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:12:14 +0000 Subject: Change in osmo-bsc[master]: introduce gsm48_lchan_and_pchan2chan_desc() In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25163 ) Change subject: introduce gsm48_lchan_and_pchan2chan_desc() ...................................................................... introduce gsm48_lchan_and_pchan2chan_desc() The function gsm48_lchan2chan_desc_as_configured() dups gsm48_lchan2chan_desc() with merely a different pchan type (ts->pchan_from_config instead of ts->pchan_is). In an upcoming patch, I would like to do the same, just with yet another pchan value (derived from lchan->type, because that reflects the channel type even before a dynamic timeslot switched its pchan type). So replace gsm48_lchan2chan_desc_as_configured() by gsm48_lchan_and_pchan2chan_desc() with explicit pchan arg; also call this from gsm48_lchan2chan_desc(), reducing code dup. gsm48_lchan2chan_desc_as_configured() had more concise error logging. Absorb that into the new gsm48_lchan_and_pchan2chan_desc(). Add gsm_lchan_and_pchan2chan_nr(), like gsm_lchan2chan_nr() just with explicit pchan arg, to be able to pass the pchan down from the new functions mentioned above. Related: SYS#5559 Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/gsm_data.c M src/osmo-bsc/system_information.c 3 files changed, 29 insertions(+), 30 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 5a20e72..31711c7 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1075,12 +1075,15 @@ int gsm_pchan2chan_nr(enum gsm_phys_chan_config pchan, uint8_t ts_nr, uint8_t lchan_nr, bool vamos_is_secondary); int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits); +int gsm_lchan_and_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config pchan, bool allow_osmo_cbits); int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, uint8_t tsc, bool allow_osmo_cbits); -int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, const struct gsm_lchan *lchan, - uint8_t tsc); +int gsm48_lchan_and_pchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + enum gsm_phys_chan_config pchan, + uint8_t tsc, bool allow_osmo_cbits); uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index 4db70f0..e976a5b 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -562,7 +562,7 @@ /* For RSL, to talk to osmo-bts, we introduce Osmocom specific channel number cbits to indicate VAMOS secondary lchans. * However, in RR, which is sent to the MS, these special cbits must not be sent, but their "normal" equivalent; for RR * messages, pass allow_osmo_cbits = false. */ -int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits) +int gsm_lchan_and_pchan2chan_nr(const struct gsm_lchan *lchan, enum gsm_phys_chan_config pchan, bool allow_osmo_cbits) { int rc; uint8_t lchan_nr = lchan->nr; @@ -582,7 +582,7 @@ * a primary ts->lchan[0] and a VAMOS ts->lchan[1]. Still, the VAMOS lchan should send chan_nr = 0. */ if (lchan->vamos.is_secondary) lchan_nr -= lchan->ts->max_primary_lchans; - rc = gsm_pchan2chan_nr(lchan->ts->pchan_is, lchan->ts->nr, lchan_nr, + rc = gsm_pchan2chan_nr(pchan, lchan->ts->nr, lchan_nr, allow_osmo_cbits ? lchan->vamos.is_secondary : false); /* Log an error so that we don't need to add logging to each caller of this function */ if (rc < 0) @@ -593,6 +593,11 @@ return rc; } +int gsm_lchan2chan_nr(const struct gsm_lchan *lchan, bool allow_osmo_cbits) +{ + return gsm_lchan_and_pchan2chan_nr(lchan, lchan->ts->pchan_is, allow_osmo_cbits); +} + static const uint8_t subslots_per_pchan[] = { [GSM_PCHAN_NONE] = 0, [GSM_PCHAN_CCCH] = 0, @@ -712,14 +717,18 @@ } } -int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc, bool allow_osmo_cbits) +int gsm48_lchan_and_pchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + enum gsm_phys_chan_config pchan, + uint8_t tsc, bool allow_osmo_cbits) { - int chan_nr = gsm_lchan2chan_nr(lchan, allow_osmo_cbits); + int chan_nr = gsm_lchan_and_pchan2chan_nr(lchan, pchan, allow_osmo_cbits); if (chan_nr < 0) { /* Log an error so that we don't need to add logging to each caller of this function */ - LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); + LOG_LCHAN(lchan, LOGL_ERROR, + "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", + gsm_pchan_name(pchan), lchan->ts->nr, lchan->nr, + lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); return chan_nr; } cd->chan_nr = chan_nr; @@ -727,26 +736,11 @@ return 0; } -/* like gsm48_lchan2chan_desc() above, but use ts->pchan_from_config to - * return a channel description based on what is configured, rather than - * what the current state of the pchan type is */ -int gsm48_lchan2chan_desc_as_configured(struct gsm48_chan_desc *cd, - const struct gsm_lchan *lchan, - uint8_t tsc) +int gsm48_lchan2chan_desc(struct gsm48_chan_desc *cd, + const struct gsm_lchan *lchan, + uint8_t tsc, bool allow_osmo_cbits) { - int chan_nr = gsm_pchan2chan_nr(lchan->ts->pchan_from_config, lchan->ts->nr, lchan->nr, - lchan->vamos.is_secondary); - if (chan_nr < 0) { - /* Log an error so that we don't need to add logging to each caller of this function */ - LOG_LCHAN(lchan, LOGL_ERROR, - "Error encoding Channel Number: pchan %s ts %u ss %u%s (rc = %d)\n", - gsm_pchan_name(lchan->ts->pchan_from_config), lchan->ts->nr, lchan->nr, - lchan->vamos.is_secondary ? " (VAMOS shadow)" : "", chan_nr); - return chan_nr; - } - cd->chan_nr = chan_nr; - _chan_desc_fill_tail(cd, lchan, tsc); - return 0; + return gsm48_lchan_and_pchan2chan_desc(cd, lchan, lchan->ts->pchan_is, tsc, allow_osmo_cbits); } uint8_t gsm_ts_tsc(const struct gsm_bts_trx_ts *ts) diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index e8b3b7d..974af3a 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -1017,8 +1017,10 @@ const struct gsm_bts_trx_ts *ts = cbch_lchan->ts; struct gsm48_chan_desc cd; - /* 10.5.2.5 (TV) CBCH Channel Description IE */ - if (gsm48_lchan2chan_desc_as_configured(&cd, cbch_lchan, gsm_ts_tsc(cbch_lchan->ts))) + /* 10.5.2.5 (TV) CBCH Channel Description IE. + * CBCH is never in VAMOS mode, so just pass allow_osmo_cbits == false. */ + if (gsm48_lchan_and_pchan2chan_desc(&cd, cbch_lchan, cbch_lchan->ts->pchan_from_config, + gsm_ts_tsc(cbch_lchan->ts), false)) return -EINVAL; tail = tv_fixed_put(tail, GSM48_IE_CBCH_CHAN_DESC, sizeof(cd), (uint8_t *) &cd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I67f178c8160cdda1f2ab5513ac4f65c027d4012f Gerrit-Change-Number: 25163 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:35:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:35:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 to look at the new patch set (#2). Change subject: bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack ...................................................................... bsc: add BSC_Tests_2.TC_imm_ass_pre_chan_ack Add tests for the new early IMM ASS feature in osmo-bsc: 'immediate-assignment (post-chan-ack|pre-chan-ack)' Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc) Related: SYS#5559 Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 136 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/25168/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:35:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:35:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 to look at the new patch set (#2). Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn 1 file changed, 71 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25169/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:35:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:35:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 to look at the new patch set (#2). Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_ts_ack_dyn_ts Test the experimental 'immediate-assignment pre-ts-ack' implemented in I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Related: SYS#5559 Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 --- M bsc/BSC_Tests.ttcn 1 file changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25170/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:36:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 to look at the new patch set (#3). Change subject: bsc: add TC_imm_ass_pre_chan_ack ...................................................................... bsc: add TC_imm_ass_pre_chan_ack Add tests for the new early IMM ASS feature in osmo-bsc: 'immediate-assignment (post-chan-ack|pre-chan-ack)' Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc) Related: SYS#5559 Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 136 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/68/25168/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:36:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 to look at the new patch set (#3). Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn 1 file changed, 71 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25169/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:36:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 to look at the new patch set (#3). Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_ts_ack_dyn_ts Test the experimental 'immediate-assignment pre-ts-ack' implemented in I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Related: SYS#5559 Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 --- M bsc/BSC_Tests.ttcn 1 file changed, 68 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/25170/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 00:39:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 00:39:29 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 to look at the new patch set (#2). Change subject: enable Early Immediate Assignment ...................................................................... enable Early Immediate Assignment When an Immediate Assignment comes in targeting an lchan that is not yet active, then hold back the RR Immediate Assignment until the channel becomes active. This allows the BSC to send the Immediate Assignment before first waiting for the Channel Activation ACK, saving one Abis roundtrip, and helping avoid double allocation on high latency Abis links. Related: SYS#5559 Related: I56c25cde152040fb66bdba44399bd37671ae3df2 (osmo-bsc) Related: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 (osmo-ttcn3-hacks) Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c --- M include/osmo-bts/gsm_data.h M src/common/lchan.c M src/common/rsl.c 3 files changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/95/25195/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 01:00:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 01:00:23 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 to look at the new patch set (#3). Change subject: enable Early Immediate Assignment ...................................................................... enable Early Immediate Assignment When an Immediate Assignment comes in targeting an lchan that is not yet active, then hold back the RR Immediate Assignment until the channel becomes active. This allows the BSC to send the Immediate Assignment before first waiting for the Channel Activation ACK, saving one Abis roundtrip, and helping avoid double allocation on high latency Abis links. Related: SYS#5559 Related: I56c25cde152040fb66bdba44399bd37671ae3df2 (osmo-bsc) Related: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 (osmo-ttcn3-hacks) Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c --- M include/osmo-bts/gsm_data.h M src/common/lchan.c M src/common/rsl.c 3 files changed, 61 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/95/25195/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 09:33:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 09:33:55 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 09:33:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 09:34:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 09:34:07 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... Patch Set 1: merging now, as a change depending on this was already merged: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25184 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 09:34:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 09:34:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 09:34:20 +0000 Subject: Change in docker-playground[master]: ttcn3-stp-test: rename mp_stp_has_asp_quirk In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25186 ) Change subject: ttcn3-stp-test: rename mp_stp_has_asp_quirk ...................................................................... ttcn3-stp-test: rename mp_stp_has_asp_quirk Rename the option to mp_osmo_stp_newer_than_1_4_0, because I'm going to use the variable in an upcoming osmo-ttcn3-hacks.git patch for something unrelated to the asp quirk so we can avoid introducing another variable. Related: osmo-ttcn3-hacks I43b1aa2c029c88c88320d40f60df46a5eb6c4c24 Related: OS#4239 Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a --- M ttcn3-stp-test/STP_Tests.cfg M ttcn3-stp-test/jenkins.sh 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/ttcn3-stp-test/STP_Tests.cfg b/ttcn3-stp-test/STP_Tests.cfg index edc07ed..f68726d 100644 --- a/ttcn3-stp-test/STP_Tests.cfg +++ b/ttcn3-stp-test/STP_Tests.cfg @@ -13,7 +13,7 @@ STP_Tests_M3UA.mp_stp_m3ua_ip := { "172.18.19.200", "fd02:db8:19::200" }; STP_Tests_IPA.mp_local_ipa_ip := "172.18.19.203"; STP_Tests_M3UA.mp_local_m3ua_ip := { "172.18.19.203", "fd02:db8:19::203" }; -STP_Tests_M3UA.mp_stp_has_asp_quirk := true; +STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0 := true; [MAIN_CONTROLLER] diff --git a/ttcn3-stp-test/jenkins.sh b/ttcn3-stp-test/jenkins.sh index cecd07c..8cf65ce 100755 --- a/ttcn3-stp-test/jenkins.sh +++ b/ttcn3-stp-test/jenkins.sh @@ -17,7 +17,7 @@ # Disable until osmo-stp release > 1.4.0 if image_suffix_is_latest; then - sed -i "s/^STP_Tests_M3UA.mp_stp_has_asp_quirk.*/STP_Tests_M3UA.mp_stp_has_asp_quirk := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg + sed -i "s/^STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0.*/STP_Tests_M3UA.mp_osmo_stp_newer_than_1_4_0 := false;/" $VOL_BASE_DIR/stp-tester/STP_Tests.cfg fi SUBNET=19 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I6a32398242b53c827a94cf65e4a35900a7c4171a Gerrit-Change-Number: 25186 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 11:23:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 11:23:45 +0000 Subject: Change in osmo-ci[master]: lint: ignore EMBEDDED_FILENAME References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/25197 ) Change subject: lint: ignore EMBEDDED_FILENAME ...................................................................... lint: ignore EMBEDDED_FILENAME Mentioning the file in itself is useful sometimes (e.g. when explaining how to use a contrib script). So do not let the linter fail here. Related: OS#5087 Change-Id: I151b97bc7f2fe83898c0598db54360807956993c --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/97/25197/1 diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index abeed56..b465b5a 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -14,6 +14,7 @@ # * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" # * DEEP_INDENTATION: warns about many leading tabs, not useful if changing existing code without refactoring +# * EMBEDDED_FILENAME: this is useful sometimes (e.g. explaining how to use a script), so do not fail here # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ # * FILE_PATH_CHANGES: we don't use a MAINTAINERS file @@ -42,6 +43,7 @@ --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ --ignore DEEP_INDENTATION \ + --ignore EMBEDDED_FILENAME \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ --ignore FILE_PATH_CHANGES \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I151b97bc7f2fe83898c0598db54360807956993c Gerrit-Change-Number: 25197 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 13:35:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 13:35:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 13:35:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 13:41:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 13:41:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... Patch Set 3: Code-Review-1 (1 comment) test looks sane https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169/3/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169/3/bsc/BSC_Tests.ttcn at 4234 PS3, Line 4234: function f_disable_all_tch_f() runs on test_CT { after reading the comments in the other patch, I guess removing "private" here is probably a leftover from restructuring? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 13:41:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 13:44:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 13:44:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 ) Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 13:44:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 14:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 14:24:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 to look at the new patch set (#17). Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_internal.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 5 files changed, 135 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25008/17 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 17 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 14:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 14:24:45 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 to look at the new patch set (#15). Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 592 insertions(+), 27 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/20/25120/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 14:24:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 14:24:45 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 to look at the new patch set (#15). Change subject: mgcp_client_vty: add missing docstrings ...................................................................... mgcp_client_vty: add missing docstrings The VTY for the classic non pooled MGCP Client does not have any API doctumentation. Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/21/25121/15 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 14:37:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 14:37:52 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 14:37:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:13:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 15:13:54 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 15: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 16 Aug 2021 15:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:14:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 15:14:48 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 17: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 17 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Mon, 16 Aug 2021 15:14:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:26:13 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 15:26:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 to look at the new patch set (#4). Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn 1 file changed, 67 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25169/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:30:04 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 15:30:04 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 2: > I'm a bit hesitant to merge this as there are so many locations that assume the tbf is always non-NULL, so the key question really under what conditions it becomes NULL. yes me too. This isn't more than a temporary shim to avoid crashes until Pau is back... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 15:30:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:32:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 15:32:56 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 2: > Maybe log a message if as_dl_tbf and as_ul_tbf are NULL instead of silently doing nothing? That hopefully helps with figuring out why this happens. Hmm indeed... those places where it assumes one of DL,UL is non-NULL may still do weird things. > Note that Pau has patches pending to completely refactor TBF logic to use FSM: https://gerrit.osmocom.org/c/osmo-pcu/+/25011 yes and i guess it's best if Pau consolidates those patches with these operative fixes... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 15:32:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:48:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 15:48:40 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc at 7 PS4, Line 7: m > mgw pooling is primarily intended to scale out to multiple hosts [with different IPs]. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/doc/manuals/chapters/mgwpool.adoc at 7 PS4, Line 7: multi-core CPUs. > I would make different domains names for each mgw mandatory. I have made this more clear in the NOTE. We could also enforce this in osmo-mgcp-client, but I do not think that this is an all to good idea. The confusion about this at for the users might be equal to the confusion caused by seemingly duplicate endpoint names. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/4/src/osmo-bsc/osmo_bsc_main.c at 871 PS4, Line 871: static int bsc_mgw_setup() > (void) if the function takes no arguments. () means any number of arguments. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 15:48:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:48:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 15:48:48 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#5). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c 8 files changed, 321 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:52:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 16 Aug 2021 15:52:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 15:52:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 15:57:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 16 Aug 2021 15:57:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 ) Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 16 Aug 2021 15:57:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 18:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 18:43:33 +0000 Subject: Change in osmo-bts[master]: remove unused LCHAN_S_INACTIVE In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25194 to look at the new patch set (#2). Change subject: remove unused LCHAN_S_INACTIVE ...................................................................... remove unused LCHAN_S_INACTIVE Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/94/25194/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 Gerrit-Change-Number: 25194 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 18:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 18:43:33 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25198 ) Change subject: add VTY transcript testing ...................................................................... add VTY transcript testing This is not as trivial as with OsmoBSC or OsmoMSC, because normally the osmo-bts process exits right away when there is no BSC. Hence add --vty-test option to main. Use 'osmo-bts-virtual --vty-test' for testing. The other BTS models require dependencies / configure switches to be built. Essentially copied from osmo-bsc.git: configure.ac: add --enable-external-tests tests/Makefile.am: add 'vty-test' target Add osmo-bts.vty, some trivial VTY node testing. This prepares for adding VTY tests for T timer configuration added in a subsequent patch. Related: SYS#5559 Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f --- M configure.ac M src/common/main.c M tests/Makefile.am A tests/osmo-bts.vty 4 files changed, 297 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/25198/1 diff --git a/configure.ac b/configure.ac index 2b5a316..1b4c6e7 100644 --- a/configure.ac +++ b/configure.ac @@ -349,6 +349,24 @@ AC_SUBST([OSMO_GSM_MANUALS_DIR]) fi +AC_ARG_ENABLE([external_tests], + AC_HELP_STRING([--enable-external-tests], + [Include the VTY/CTRL tests in make check [default=no]]), + [enable_ext_tests="$enableval"],[enable_ext_tests="no"]) +if test "x$enable_ext_tests" = "xyes" ; then + AC_CHECK_PROG(PYTHON3_AVAIL,python3,yes) + if test "x$PYTHON3_AVAIL" != "xyes" ; then + AC_MSG_ERROR([Please install python3 to run the VTY/CTRL tests.]) + fi + AC_CHECK_PROG(OSMOTESTEXT_CHECK,osmotestvty.py,yes) + if test "x$OSMOTESTEXT_CHECK" != "xyes" ; then + AC_MSG_ERROR([Please install git://osmocom.org/python/osmo-python-tests to run the VTY/CTRL tests.]) + fi +fi +AC_MSG_CHECKING([whether to enable VTY/CTRL tests]) +AC_MSG_RESULT([$enable_ext_tests]) +AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes") + # https://www.freedesktop.org/software/systemd/man/daemon.html AC_ARG_WITH([systemdsystemunitdir], [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, diff --git a/src/common/main.c b/src/common/main.c index bc5cf3b..ac1df23 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -65,6 +65,7 @@ static int rt_prio = -1; static char *gsmtap_ip = 0; extern int g_vty_port_num; +static bool vty_test_mode = false; static void print_help() { @@ -80,6 +81,8 @@ "\nVTY reference generation:\n" " --vty-ref-mode MODE VTY reference generation mode (e.g. 'expert').\n" " --vty-ref-xml Generate the VTY reference XML output and exit.\n" + "\nRegression testing:\n" + " --vty-test VTY test mode. Do not connect to BSC, do not exit.\n" ); bts_model_print_help(); } @@ -103,6 +106,10 @@ get_value_string(vty_ref_gen_mode_desc, vty_ref_mode)); vty_dump_xml_ref_mode(stdout, (enum vty_ref_gen_mode) vty_ref_mode); exit(0); + case 3: + fprintf(stderr, "Starting in VTY test mode, no connecting to BSC\n"); + vty_test_mode = true; + break; default: fprintf(stderr, "%s: error parsing cmdline options\n", prog_name); exit(2); @@ -140,6 +147,7 @@ { "realtime", 1, 0, 'r' }, { "vty-ref-mode", 1, &long_option, 1 }, { "vty-ref-xml", 0, &long_option, 2 }, + { "vty-test", 0, &long_option, 3 }, { 0, 0, 0, 0 } }; @@ -299,6 +307,8 @@ handle_options(argc, argv); fprintf(stderr, "((*))\n |\n / \\ OsmoBTS\n"); + if (vty_test_mode) + fprintf(stderr, "--- VTY test mode ---\n"); g_bts = gsm_bts_alloc(tall_bts_ctx, 0); if (!g_bts) { @@ -396,6 +406,16 @@ signal(SIGUSR2, &signal_handler); osmo_init_ignore_signals(); + if (vty_test_mode) { + /* Just select-loop without connecting to the BSC, don't exit. This allows running tests on the VTY + * telnet port. */ + while (!quit) { + log_reset_context(); + osmo_select_main(0); + } + return EXIT_SUCCESS; + } + if (abis_open(g_bts, "osmo-bts") != 0) exit(1); diff --git a/tests/Makefile.am b/tests/Makefile.am index 57687ee..d125ddc 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -26,6 +26,26 @@ TESTSUITE = $(srcdir)/testsuite DISTCLEANFILES = atconfig +if ENABLE_EXT_TESTS +python-tests: $(BUILT_SOURCES) + $(MAKE) vty-test +else +python-tests: $(BUILT_SOURCES) + echo "Not running python-based tests (determined at configure-time)" +endif + +# Run a specific test with: 'make vty-test VTY_TEST=foo.vty' +VTY_TEST ?= *.vty + +# To update the VTY script from current application behavior, +# pass -u to vty_script_runner.py by doing: +# make vty-test U=-u +vty-test: + osmo_verify_transcript_vty.py -v \ + -n OsmoBTS -p 4241 \ + -r "$(top_builddir)/src/osmo-bts-virtual/osmo-bts-virtual --vty-test -c $(top_srcdir)/doc/examples/virtual/osmo-bts-virtual.cfg" \ + $(U) $(srcdir)/$(VTY_TEST) + check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty new file mode 100644 index 0000000..4983967 --- /dev/null +++ b/tests/osmo-bts.vty @@ -0,0 +1,239 @@ +OsmoBTS> list +... + show bts [<0-255>] + show trx [<0-255>] [<0-255>] + show timeslot [<0-255>] [<0-255>] [<0-7>] + show lchan [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show bts <0-255> gprs +... + show e1_driver + show e1_line [<0-255>] [stats] + show e1_timeslot [<0-255>] [<0-31>] +... +OsmoBTS> ? +... + show Show running system information +... + +OsmoBTS> show ? +... + bts Display information about a BTS + trx Display information about a TRX + timeslot Display information about a TS + lchan Display information about a logical channel + e1_driver Display information about available E1 drivers + e1_line Display information about a E1 line + e1_timeslot Display information about a E1 timeslot +... +OsmoBTS> show bts ? + [<0-255>] BTS Number + <0-255> BTS Number +OsmoBTS> show bts 0 ? + gprs GPRS/EGPRS configuration + +OsmoBTS> show trx ? + [<0-255>] BTS Number +OsmoBTS> show trx 0 ? + [<0-255>] TRX Number +OsmoBTS> show timeslot ? + [<0-255>] BTS Number +OsmoBTS> show timeslot 0 ? + [<0-255>] TRX Number +OsmoBTS> show timeslot 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan ? + [<0-255>] BTS Number + summary Short summary +OsmoBTS> show lchan 0 ? + [<0-255>] TRX Number +OsmoBTS> show lchan 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS> show lchan summary ? + [<0-255>] BTS Number +OsmoBTS> show lchan summary 0 ? + [<0-255>] TRX Number +OsmoBTS> show lchan summary 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan summary 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS> show e1_driver ? + +OsmoBTS> show e1_line ? + [<0-255>] E1 Line Number +OsmoBTS> show e1_line 0 ? + [stats] Include statistics +OsmoBTS> show e1_timeslot ? + [<0-255>] E1 Line Number +OsmoBTS> show e1_timeslot 0 ? + [<0-31>] E1 Timeslot Number + +OsmoBTS> enable +OsmoBTS# list +... + show bts [<0-255>] + show trx [<0-255>] [<0-255>] + show timeslot [<0-255>] [<0-255>] [<0-7>] + show lchan [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show bts <0-255> gprs +... + bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000> + test send-failure-event-report <0-255> + bts <0-255> c0-power-red <0-6> + show e1_driver + show e1_line [<0-255>] [stats] + show e1_timeslot [<0-255>] [<0-31>] +... + +OsmoBTS# ? +... + show Show running system information +... + +OsmoBTS# show ? +... + bts Display information about a BTS + trx Display information about a TRX + timeslot Display information about a TS + lchan Display information about a logical channel + e1_driver Display information about available E1 drivers + e1_line Display information about a E1 line + e1_timeslot Display information about a E1 timeslot +... +OsmoBTS# show bts ? + [<0-255>] BTS Number + <0-255> BTS Number +OsmoBTS# show bts 0 ? + gprs GPRS/EGPRS configuration + +OsmoBTS# show trx ? + [<0-255>] BTS Number +OsmoBTS# show trx 0 ? + [<0-255>] TRX Number +OsmoBTS# show timeslot ? + [<0-255>] BTS Number +OsmoBTS# show timeslot 0 ? + [<0-255>] TRX Number +OsmoBTS# show timeslot 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan ? + [<0-255>] BTS Number + summary Short summary +OsmoBTS# show lchan 0 ? + [<0-255>] TRX Number +OsmoBTS# show lchan 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS# show lchan summary ? + [<0-255>] BTS Number +OsmoBTS# show lchan summary 0 ? + [<0-255>] TRX Number +OsmoBTS# show lchan summary 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan summary 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS# show e1_driver ? + +OsmoBTS# show e1_line ? + [<0-255>] E1 Line Number +OsmoBTS# show e1_line 0 ? + [stats] Include statistics +OsmoBTS# show e1_timeslot ? + [<0-255>] E1 Line Number +OsmoBTS# show e1_timeslot 0 ? + [<0-31>] E1 Timeslot Number + +OsmoBTS# configure terminal +OsmoBTS(config)# list +... + bts BTS_NR +... + phy <0-255> + e1_input +... +OsmoBTS(config)# ? +... + bts Select a BTS to configure +... + phy Select a PHY to configure + e1_input Configure E1/T1/J1 TDM input +... +OsmoBTS(config)# bts ? + BTS_NR BTS Number +OsmoBTS(config)# phy ? + <0-255> PHY number + +OsmoBTS(config)# bts 0 +OsmoBTS(bts)# list +... + ipa unit-id <0-65534> <0-255> + oml remote-ip A.B.C.D + no oml remote-ip A.B.C.D + rtp jitter-buffer <0-10000> [adaptive] + rtp port-range <1-65534> <1-65534> + rtp ip-dscp <0-63> + rtp socket-priority <0-255> + band (450|GSM450|480|GSM480|750|GSM750|810|GSM810|850|GSM850|900|GSM900|1800|DCS1800|1900|PCS1900) + description .TEXT + no description + paging queue-size <1-1024> + paging lifetime <0-60> + agch-queue-mgmt default + agch-queue-mgmt threshold <0-100> low <0-100> high <0-100000> + min-qual-rach <-100-100> + min-qual-norm <-100-100> + max-ber10k-rach <0-10000> + pcu-socket PATH + supp-meas-info toa256 + no supp-meas-info toa256 + smscb queue-max-length <1-60> + smscb queue-target-length <1-30> + smscb queue-hysteresis <0-30> + gsmtap-remote-host [HOSTNAME] + no gsmtap-remote-host + gsmtap-sapi (enable-all|disable-all) + gsmtap-sapi (bcch|ccch|rach|agch|pch|sdcch|tch/f|tch/h|pacch|pdtch|ptcch|cbch|sacch) + no gsmtap-sapi (bcch|ccch|rach|agch|pch|sdcch|tch/f|tch/h|pacch|pdtch|ptcch|cbch|sacch) + trx <0-254> +... +OsmoBTS(bts)# ? +... + ipa ip.access RSL commands + oml OML Parameters + no Negate a command or set its defaults + rtp RTP parameters + band Set the frequency band of this BTS + description Save human-readable description of the object + paging Paging related parameters + agch-queue-mgmt AGCH queue mgmt + min-qual-rach Set the minimum link quality level of Access Bursts to be accepted + min-qual-norm Set the minimum link quality level of Normal Bursts to be accepted + max-ber10k-rach Set the maximum BER for valid RACH requests + pcu-socket Configure the PCU socket file/path name + supp-meas-info Configure the RSL Supplementary Measurement Info + smscb SMSCB (SMS Cell Broadcast) / CBCH configuration + gsmtap-remote-host Enable GSMTAP Um logging (see also 'gsmtap-sapi') + gsmtap-sapi Enable/disable sending of UL/DL messages over GSMTAP + trx Select a TRX to configure +... +OsmoBTS(bts)# trx 0 +OsmoBTS(trx)# list +... + user-gain <-100000-100000> (dB|mdB) + power-ramp max-initial <-10000-100000> (dBm|mdBm) + power-ramp step-size <1-100000> (dB|mdB) + power-ramp step-interval <1-100> + ms-power-control (dsp|osmo) + phy <0-255> instance <0-255> +... +OsmoBTS(trx)# ? +... + user-gain Inform BTS about additional, user-provided gain or attenuation at TRX output + power-ramp Power-Ramp settings + ms-power-control Mobile Station Power Level Control + phy Configure PHY Link+Instance for this TRX +... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 18:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 18:43:33 +0000 Subject: Change in osmo-bts[master]: jenkins: enable new flag --enable-external-tests References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25199 ) Change subject: jenkins: enable new flag --enable-external-tests ...................................................................... jenkins: enable new flag --enable-external-tests Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca --- M contrib/jenkins_bts_trx.sh M contrib/jenkins_oct_and_bts_trx.sh M contrib/jenkins_sysmobts.sh 3 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/25199/1 diff --git a/contrib/jenkins_bts_trx.sh b/contrib/jenkins_bts_trx.sh index 54efa56..cb041a5 100755 --- a/contrib/jenkins_bts_trx.sh +++ b/contrib/jenkins_bts_trx.sh @@ -17,6 +17,7 @@ --enable-sanitize \ --enable-werror \ --enable-trx \ + --enable-external-tests \ " build_bts "osmo-bts-trx" "$configure_flags" diff --git a/contrib/jenkins_oct_and_bts_trx.sh b/contrib/jenkins_oct_and_bts_trx.sh index 67f67aa..ead2f56 100755 --- a/contrib/jenkins_oct_and_bts_trx.sh +++ b/contrib/jenkins_oct_and_bts_trx.sh @@ -20,6 +20,7 @@ --with-octsdr-2g=$deps/layer1-headers/ \ --enable-octphy \ --enable-trx \ + --enable-external-tests \ " build_bts "osmo-bts-octphy+trx" "$configure_flags" diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh index d0d05ae..6376e92 100755 --- a/contrib/jenkins_sysmobts.sh +++ b/contrib/jenkins_sysmobts.sh @@ -21,6 +21,7 @@ --enable-werror \ --enable-sysmocom-bts \ --with-sysmobts=$inst/include/ \ + --enable-external-tests \ " # This will not work for the femtobts -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca Gerrit-Change-Number: 25199 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 18:43:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 18:43:47 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... add osmo_tdef groups, exposing T timers on VTY config We have two osmocom specific timers used in the BTS, X1 and X2. Expose those on the VTY configuration, as timer group 'rsl'. This prepares for a subsequent patch, where I would like to add another configurable timer. This provides the basic infrastructure for that. Related: SYS#5559 Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/vty.c M tests/osmo-bts.vty 5 files changed, 34 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/25200/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 55c3bdf..80f1833 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -521,6 +522,8 @@ * OML connection will cause a special warning to be logged. */ #define OSMO_BTS_OML_CONN_EARLY_DISCONNECT 10 /* in seconds */ +extern struct osmo_tdef_group bts_tdef_groups[]; +extern struct osmo_tdef bts_T_defs[]; extern const struct value_string gsm_pchant_names[13]; extern const struct value_string gsm_pchant_descs[13]; diff --git a/src/common/bts.c b/src/common/bts.c index 48adf42..b6af4c6 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -128,7 +128,7 @@ cbch_ctr_desc }; -static struct osmo_tdef bts_T_defs[] = { +struct osmo_tdef bts_T_defs[] = { /* T-1: FIXME: Ideally should be dynamically calculated per trx at * shutdown start based on params below, and highest trx value taken: * + VTY's power-ramp step-interval. diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 7eb6ff1..b1f695b 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -40,6 +40,11 @@ #include #include +struct osmo_tdef_group bts_tdef_groups[] = { + { .name = "bts", .tdefs = bts_T_defs, .desc = "BTS process timers" }, + {} +}; + const struct value_string gsm_pchant_names[13] = { { GSM_PCHAN_NONE, "NONE" }, { GSM_PCHAN_CCCH, "CCCH" }, diff --git a/src/common/vty.c b/src/common/vty.c index fe506a5..4f618d0 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -384,6 +385,7 @@ llist_for_each_entry(bts, &net->bts_list, list) config_write_bts_single(vty, bts); + osmo_tdef_vty_groups_write(vty, ""); return CMD_SUCCESS; } @@ -2418,6 +2420,9 @@ install_node(&bts_node, config_write_bts); install_element(CONFIG_NODE, &cfg_bts_cmd); install_element(CONFIG_NODE, &cfg_vty_telnet_port_cmd); + + osmo_tdef_vty_groups_init(CONFIG_NODE, bts_tdef_groups); + install_element(BTS_NODE, &cfg_bts_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_oml_ip_cmd); install_element(BTS_NODE, &cfg_bts_no_oml_ip_cmd); diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty index 4983967..eb10d4d 100644 --- a/tests/osmo-bts.vty +++ b/tests/osmo-bts.vty @@ -7,6 +7,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... + show timer [(bts)] [TNNNN] show e1_driver show e1_line [<0-255>] [stats] show e1_timeslot [<0-255>] [<0-31>] @@ -22,6 +23,7 @@ trx Display information about a TRX timeslot Display information about a TS lchan Display information about a logical channel + timer Show timers e1_driver Display information about available E1 drivers e1_line Display information about a E1 line e1_timeslot Display information about a E1 timeslot @@ -59,6 +61,22 @@ [<0-7>] Timeslot Number OsmoBTS> show lchan summary 0 0 0 ? [<0-7>] Logical Channel Number + +OsmoBTS> show timer ? + [bts] BTS process timers +OsmoBTS> show timer +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS> show timer bts ? + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. +OsmoBTS> show timer bts +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS> show timer bts X1 +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +OsmoBTS> show timer bts X2 +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) + OsmoBTS> show e1_driver ? OsmoBTS> show e1_line ? @@ -80,6 +98,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... + show timer [(bts)] [TNNNN] bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000> test send-failure-event-report <0-255> bts <0-255> c0-power-red <0-6> @@ -99,6 +118,7 @@ trx Display information about a TRX timeslot Display information about a TS lchan Display information about a logical channel + timer Show timers e1_driver Display information about available E1 drivers e1_line Display information about a E1 line e1_timeslot Display information about a E1 timeslot -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 18:43:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 18:43:47 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... early IMM ASS: add configurable delay for RR IMM ASS During live testing, it has become apparent that some IMM ASS still fail when sending the RR IMM ASS directly upon the target channel becoming active. Add a bit of delay after activation, to give some time for the channel to light up for the MS. Default is 50ms. Related: OS#5559 Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/lchan.c M tests/osmo-bts.vty 5 files changed, 53 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/25201/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 80f1833..215b9d8 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -418,6 +418,7 @@ * confirmed active, then cache it here and send it once the channel is confirmed to be active. This is related * to the Early IA feature, see OsmoBSC config option 'immediate-assignment pre-chan-ack'. */ struct msgb *early_rr_ia; + struct osmo_timer_list early_rr_ia_delay; }; extern const struct value_string lchan_ciph_state_names[]; @@ -524,6 +525,7 @@ extern struct osmo_tdef_group bts_tdef_groups[]; extern struct osmo_tdef bts_T_defs[]; +extern struct osmo_tdef abis_T_defs[]; extern const struct value_string gsm_pchant_names[13]; extern const struct value_string gsm_pchant_descs[13]; diff --git a/src/common/bts.c b/src/common/bts.c index b6af4c6..a8a23f1 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -143,6 +143,11 @@ {} }; +struct osmo_tdef abis_T_defs[] = { + { .T=-15, .default_val=50, .unit=OSMO_TDEF_MS, .desc="Time to wait between Channel Activation and dispatching a cached early Immediate Assignment" }, + {} +}; + static const uint8_t bts_nse_timer_default[] = { 3, 3, 3, 3, 30, 3, 10 }; static const uint8_t bts_cell_timer_default[] = { 3, 3, 3, 3, 3, 10, 3, 10, 3, 10, 3 }; @@ -234,6 +239,7 @@ bts->T_defs = bts_T_defs; osmo_tdefs_reset(bts->T_defs); + osmo_tdefs_reset(abis_T_defs); bts->shutdown_fi = osmo_fsm_inst_alloc(&bts_shutdown_fsm, bts, bts, LOGL_INFO, NULL); osmo_fsm_inst_update_id_f(bts->shutdown_fi, "bts%d", bts->nr); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index b1f695b..9c8d6f3 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -42,6 +42,7 @@ struct osmo_tdef_group bts_tdef_groups[] = { { .name = "bts", .tdefs = bts_T_defs, .desc = "BTS process timers" }, + { .name = "abis", .tdefs = abis_T_defs, .desc = "Abis (RSL) related timers" }, {} }; diff --git a/src/common/lchan.c b/src/common/lchan.c index 987f78a..a5863a0 100644 --- a/src/common/lchan.c +++ b/src/common/lchan.c @@ -25,6 +25,34 @@ #include #include +void early_rr_ia_delay_cb(void *data) +{ + struct gsm_lchan *lchan = data; + struct gsm_bts *bts = lchan->ts->trx->bts; + + if (!lchan->early_rr_ia) { + /* The IA message has disappeared since the timer was started. */ + return; + } + + if (lchan->state != LCHAN_S_ACTIVE) { + /* Release has happened since the timer was started. */ + msgb_free(lchan->early_rr_ia); + lchan->early_rr_ia = NULL; + return; + } + + /* Put RR IA msg into the AGCH queue of the BTS. */ + /* Activation is done, send the RR IA now. Put RR IA msg into the AGCH queue of the BTS. */ + if (bts_agch_enqueue(bts, lchan->early_rr_ia) < 0) { + /* if there is no space in the queue: send DELETE IND */ + rsl_tx_delete_ind(bts, lchan->early_rr_ia->data, lchan->early_rr_ia->len); + rate_ctr_inc2(bts->ctrs, BTS_CTR_AGCH_DELETED); + msgb_free(lchan->early_rr_ia); + } + lchan->early_rr_ia = NULL; +} + void lchan_set_state(struct gsm_lchan *lchan, enum gsm_lchan_state state) { DEBUGP(DL1C, "%s state %s -> %s\n", @@ -43,18 +71,17 @@ * even before a dynamic timeslot is done switching to a different pchan kind (experimental). */ break; case LCHAN_S_ACTIVE: - /* Activation is done, send the RR IA now. Put RR IA msg into the AGCH queue of the BTS. */ - if (bts_agch_enqueue(bts, lchan->early_rr_ia) < 0) { - /* if there is no space in the queue: send DELETE IND */ - rsl_tx_delete_ind(bts, lchan->early_rr_ia->data, lchan->early_rr_ia->len); - rate_ctr_inc2(bts->ctrs, BTS_CTR_AGCH_DELETED); - msgb_free(lchan->early_rr_ia); - } - lchan->early_rr_ia = NULL; + /* Activation is done, send the RR IA now. Delay a bit more to give Um time to let the lchan + * light up for the MS */ + osmo_timer_del(&lchan->early_rr_ia_delay); + osmo_timer_setup(&lchan->early_rr_ia_delay, early_rr_ia_delay_cb, lchan); + osmo_timer_schedule(&lchan->early_rr_ia_delay, 0, + osmo_tdef_get(abis_T_defs, -15, OSMO_TDEF_US, -1)); break; default: /* Transition to any other state means whatever IA the BSC has sent shall now not be relevant * anymore. */ + osmo_timer_del(&lchan->early_rr_ia_delay); msgb_free(lchan->early_rr_ia); lchan->early_rr_ia = NULL; break; diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty index eb10d4d..336dc1b 100644 --- a/tests/osmo-bts.vty +++ b/tests/osmo-bts.vty @@ -7,7 +7,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... - show timer [(bts)] [TNNNN] + show timer [(bts|abis)] [TNNNN] show e1_driver show e1_line [<0-255>] [stats] show e1_timeslot [<0-255>] [<0-31>] @@ -63,10 +63,12 @@ [<0-7>] Logical Channel Number OsmoBTS> show timer ? - [bts] BTS process timers + [bts] BTS process timers + [abis] Abis (RSL) related timers OsmoBTS> show timer bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) OsmoBTS> show timer bts ? [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. OsmoBTS> show timer bts @@ -76,6 +78,10 @@ bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) OsmoBTS> show timer bts X2 bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS> show timer abis ? + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. +OsmoBTS> show timer abis X15 +abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) OsmoBTS> show e1_driver ? @@ -98,7 +104,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... - show timer [(bts)] [TNNNN] + show timer [(bts|abis)] [TNNNN] bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000> test send-failure-event-report <0-255> bts <0-255> c0-power-red <0-6> -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 19:14:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 19:14:10 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 to look at the new patch set (#2). Change subject: add VTY transcript testing ...................................................................... add VTY transcript testing This is not as trivial as with OsmoBSC or OsmoMSC, because normally the osmo-bts process exits right away when there is no BSC. Hence add --vty-test option to main. Use 'osmo-bts-virtual --vty-test' for testing. The other BTS models require dependencies / configure switches to be built. Essentially copied from osmo-bsc.git: configure.ac: add --enable-external-tests tests/Makefile.am: add 'vty-test' target Add osmo-bts.vty, some trivial VTY node testing. This prepares for adding VTY tests for T timer configuration added in a subsequent patch. Related: SYS#5559 Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f --- M configure.ac M src/common/main.c M tests/Makefile.am A tests/osmo-bts.vty 4 files changed, 298 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/25198/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 19:14:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 19:14:10 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... add osmo_tdef groups, exposing T timers on VTY config We have two osmocom specific timers used in the BTS, X1 and X2. Expose those on the VTY configuration, as timer group 'rsl'. This prepares for a subsequent patch, where I would like to add another configurable timer. This provides the basic infrastructure for that. Related: SYS#5559 Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/vty.c M tests/osmo-bts.vty 5 files changed, 54 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/25200/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 19:14:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 19:14:10 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 to look at the new patch set (#2). Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... early IMM ASS: add configurable delay for RR IMM ASS During live testing, it has become apparent that some IMM ASS still fail when sending the RR IMM ASS directly upon the target channel becoming active. Add a bit of delay after activation, to give some time for the channel to light up for the MS. Default is 50ms. Related: OS#5559 Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/lchan.c M tests/osmo-bts.vty 5 files changed, 65 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/25201/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 19:38:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 19:38:12 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 to look at the new patch set (#3). Change subject: add VTY transcript testing ...................................................................... add VTY transcript testing This is not as trivial as with OsmoBSC or OsmoMSC, because normally the osmo-bts process exits right away when there is no BSC. Hence add --vty-test option to main. Use 'osmo-bts-virtual --vty-test' for testing. The other BTS models require dependencies / configure switches to be built. Essentially copied from osmo-bsc.git: configure.ac: add --enable-external-tests tests/Makefile.am: add 'vty-test' target Add osmo-bts.vty, some trivial VTY node testing. This prepares for adding VTY tests for T timer configuration added in a subsequent patch. Related: SYS#5559 Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f --- M configure.ac M src/common/main.c M tests/Makefile.am A tests/osmo-bts.vty 4 files changed, 303 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/25198/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 16 20:46:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 16 Aug 2021 20:46:47 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 to look at the new patch set (#4). Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... early IMM ASS: add configurable delay for RR IMM ASS During live testing, it has become apparent that some IMM ASS still fail when sending the RR IMM ASS directly upon the target channel becoming active. Add a bit of delay after activation, to give some time for the channel to light up for the MS. Default is 50ms. Related: OS#5559 Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/lchan.c M tests/osmo-bts.vty 5 files changed, 65 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/25201/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:01:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:01:16 +0000 Subject: Change in osmo-bts[master]: remove unused LCHAN_S_INACTIVE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25194 ) Change subject: remove unused LCHAN_S_INACTIVE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 Gerrit-Change-Number: 25194 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:01:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:04:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:04:35 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25198 ) Change subject: add VTY transcript testing ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:04:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:04:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:04:45 +0000 Subject: Change in osmo-bts[master]: jenkins: enable new flag --enable-external-tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25199 ) Change subject: jenkins: enable new flag --enable-external-tests ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca Gerrit-Change-Number: 25199 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:04:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:05:20 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:11:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:11:05 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: I understand why this patch exists, but I think it should not. I'd prefer to understand what exactly is creating a problem here, rather than introducing arbitrary configurable delays because we've seen those to work in one specific situation. If the channel is really active on the radio side [i.e.we are already transmitting valid downlink SACCH contents?], any IA after that point in time should not fail. Maybe there is a problem in osmo-bts-trx that makes it confirm channel activation too early towards the upper layers? Maybe this is "only" the rts-advance we're seeing here? I.e. channel activated in scheduler, but the PHY is still transmitting downlink bursts which were already pre-computed? In that case, shouldn't either the CHAN ACT ACK contain the exact frame number from which the channel will actually be active, or at least this newly introduced timeout correspond to the rts-advance / fn-advance? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:11:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... Patch Set 17: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 17 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-Comment-Date: Tue, 17 Aug 2021 12:12:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:21 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Aug 2021 12:12:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:24 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: allow to reset endpoints on startup In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25008 ) Change subject: mgcp_client: allow to reset endpoints on startup ...................................................................... mgcp_client: allow to reset endpoints on startup Depending on the usecase of osmo_mpcg_client it may be helpful to send a DLCX to certain endpoints. Usually this would be a wildcarded endpoint that resets the entire trunk to drop lingering RTP flows which may still present after a restart/crash, but it might be also a group of specific endpoints. The user may specify an arbitrary amount of endpoints where the mgcp client will send a DLCX to. It does not matter if the endpoints are wildcarded or not. Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Related: SYS#5535 --- M TODO-RELEASE M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_internal.h M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_vty.c 5 files changed, 135 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/TODO-RELEASE b/TODO-RELEASE index add44f1..3b31cde 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -25,3 +25,4 @@ # #library what description / commit summary line update dependency to libosmocore > 1.5.1 for our use of osmo_sock_set_dscp() +libosmo-mgcp-client struct mgcp_client_conf ABI breackage \ No newline at end of file diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index 02996a7..e9fe0ae 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -26,6 +26,12 @@ /* By default, we are always addressing the MGW with e.g. 'rtpbridge/123 at mgw'. * If this is nonempty, the contained name will be used instead of 'mgw'. */ char endpoint_domain_name[MGCP_ENDPOINT_MAXLEN]; + + /* The user may configure certain endpoint names that are reset via DLCX + * on startup. Usually this will be one wildcarded endpoint e.g. + * 'rtpbridge/(wildcard)' or a number of specific E1 like e.g. + * 'ds/e1-0/s-3/su16-4' */ + struct llist_head reset_epnames; }; typedef unsigned int mgcp_trans_id_t; diff --git a/include/osmocom/mgcp_client/mgcp_client_internal.h b/include/osmocom/mgcp_client/mgcp_client_internal.h index b4b3b02..44b9022 100644 --- a/include/osmocom/mgcp_client/mgcp_client_internal.h +++ b/include/osmocom/mgcp_client/mgcp_client_internal.h @@ -4,6 +4,12 @@ #define MSGB_CB_MGCP_TRANS_ID 0 +/* Struct that holds one endpoint name */ +struct reset_ep { + struct llist_head list; + char name[MGCP_ENDPOINT_MAXLEN]; +}; + struct mgcp_client { struct mgcp_client_conf actual; struct osmo_wqueue wq; diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 69d687b..440cd96 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -200,6 +200,8 @@ .remote_addr = NULL, .remote_port = -1, }; + + INIT_LLIST_HEAD(&conf->reset_epnames); } static void mgcp_client_handle_response(struct mgcp_client *mgcp, @@ -753,6 +755,8 @@ struct mgcp_client_conf *conf) { struct mgcp_client *mgcp; + struct reset_ep *reset_ep; + struct reset_ep *actual_reset_ep; mgcp = talloc_zero(ctx, struct mgcp_client); if (!mgcp) @@ -783,6 +787,12 @@ } LOGP(DLMGCP, LOGL_NOTICE, "MGCP client: using endpoint domain '@%s'\n", mgcp_client_endpoint_domain(mgcp)); + INIT_LLIST_HEAD(&mgcp->actual.reset_epnames); + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { + actual_reset_ep = talloc_memdup(mgcp, reset_ep, sizeof(*reset_ep)); + llist_add_tail(&actual_reset_ep->list, &mgcp->actual.reset_epnames); + } + return mgcp; } @@ -822,13 +832,49 @@ return -EINVAL; } -/*! Initalize client connection (opens socket only, no request is sent yet) +/* Safely ignore the MGCP response to the DLCX sent via _mgcp_client_send_dlcx() */ +static void _ignore_mgcp_response(struct mgcp_response *response, void *priv) { } + +/* Format DLCX message (fire and forget) and send it off to the MGW */ +static void _mgcp_client_send_dlcx(struct mgcp_client *mgcp, const char *epname) +{ + struct msgb *msgb_dlcx; + struct mgcp_msg mgcp_msg_dlcx = { + .verb = MGCP_VERB_DLCX, + .presence = MGCP_MSG_PRESENCE_ENDPOINT, + }; + osmo_strlcpy(mgcp_msg_dlcx.endpoint, epname, sizeof(mgcp_msg_dlcx.endpoint)); + msgb_dlcx = mgcp_msg_gen(mgcp, &mgcp_msg_dlcx); + mgcp_client_tx(mgcp, msgb_dlcx, &_ignore_mgcp_response, NULL); +} + +static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, const char *name) +{ + static char endpoint[MGCP_ENDPOINT_MAXLEN]; + int rc; + + rc = snprintf(endpoint, sizeof(endpoint), "%s@%s", name, mgcp_client_endpoint_domain(mgcp)); + if (rc > sizeof(endpoint) - 1) { + LOGP(DLMGCP, LOGL_ERROR, "MGCP endpoint exceeds maximum length of %zu: '%s@%s'\n", + sizeof(endpoint) - 1, name, mgcp_client_endpoint_domain(mgcp)); + return NULL; + } + if (rc < 1) { + LOGP(DLMGCP, LOGL_ERROR, "Cannot compose MGCP endpoint name\n"); + return NULL; + } + return endpoint; +} + +/*! Initialize client connection (opens socket) * \param[in,out] mgcp MGCP client descriptor. * \returns 0 on success, -EINVAL on error. */ int mgcp_client_connect(struct mgcp_client *mgcp) { struct osmo_wqueue *wq; int rc; + struct reset_ep *reset_ep; + const char *epname; if (!mgcp) { LOGP(DLMGCP, LOGL_FATAL, "MGCPGW client not initialized properly\n"); @@ -851,9 +897,15 @@ goto error_close_fd; } - LOGP(DLMGCP, LOGL_INFO, "MGCP GW connection: %s\n", osmo_sock_get_name2(wq->bfd.fd)); + /* If configured, send a DLCX message to the endpoints that are configured to + * be reset on startup. Usually this is a wildcarded endpoint. */ + llist_for_each_entry(reset_ep, &mgcp->actual.reset_epnames, list) { + epname = _mgcp_client_name_append_domain(mgcp, reset_ep->name); + LOGP(DLMGCP, LOGL_INFO, "MGCP GW sending DLCX to: %s\n", epname); + _mgcp_client_send_dlcx(mgcp, epname); + } return 0; error_close_fd: close(wq->bfd.fd); @@ -893,24 +945,6 @@ return mgcp->actual.endpoint_domain_name[0] ? mgcp->actual.endpoint_domain_name : "mgw"; } -static const char *_mgcp_client_name_append_domain(const struct mgcp_client *mgcp, char *name) -{ - static char endpoint[MGCP_ENDPOINT_MAXLEN]; - int rc; - - rc = snprintf(endpoint, sizeof(endpoint), "%s@%s", name, mgcp_client_endpoint_domain(mgcp)); - if (rc > sizeof(endpoint) - 1) { - LOGP(DLMGCP, LOGL_ERROR, "MGCP endpoint exceeds maximum length of %zu: '%s@%s'\n", - sizeof(endpoint) - 1, name, mgcp_client_endpoint_domain(mgcp)); - return NULL; - } - if (rc < 1) { - LOGP(DLMGCP, LOGL_ERROR, "Cannot compose MGCP endpoint name\n"); - return NULL; - } - return endpoint; -} - /*! Compose endpoint name for a wildcarded request to the virtual trunk * \param[in] mgcp MGCP client descriptor. * \returns string containing the endpoint name (e.g. rtpbridge\*@mgw) */ diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index cc8db5d..1126c5c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -29,6 +29,7 @@ #include #include +#include #define MGW_STR MGCP_CLIENT_MGW_STR @@ -155,10 +156,72 @@ return CMD_SUCCESS; } +DEFUN(cfg_mgw_reset_ep_name, + cfg_mgw_reset_ep_name_cmd, + "mgw reset-endpoint NAME", + MGW_STR "Add an endpoint name that should be reset (DLCX) on connect to the reset-endpoint list," + "e.g. 'rtpbridge/*'\n" + "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") +{ + int rc; + struct reset_ep *reset_ep; + + /* stop when the address is already in the list */ + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + if (strcmp(argv[0], reset_ep->name) == 0) { + vty_out(vty, "%% duplicate endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + } + + /* the domain name is not part of the actual endpoint name */ + if (strchr(argv[0], '@')) { + vty_out(vty, "%% the endpoint name must be given without domain name ('%s')%s", + argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + reset_ep = talloc_zero(global_mgcp_client_ctx, struct reset_ep); + OSMO_ASSERT(reset_ep); + + rc = osmo_strlcpy(reset_ep->name, argv[0], sizeof(reset_ep->name)); + if (rc >= sizeof(reset_ep->name)) { + vty_out(vty, "%% Error: 'mgw reset-endpoint' name too long, max length is %zu: '%s'%s", + sizeof(reset_ep->name) - 1, argv[0], VTY_NEWLINE); + talloc_free(reset_ep); + return CMD_WARNING; + } + + llist_add_tail(&reset_ep->list, &global_mgcp_client_conf->reset_epnames); + + return CMD_SUCCESS; +} + +DEFUN(cfg_mgw_no_reset_ep_name, + cfg_mgw_no_reset_ep_name_cmd, + "no mgw reset-endpoint NAME", + MGW_STR "remove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" + "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") +{ + struct reset_ep *reset_ep; + + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + if (strcmp(argv[0], reset_ep->name) == 0) { + llist_del(&reset_ep->list); + talloc_free(reset_ep); + return CMD_SUCCESS; + } + } + + vty_out(vty, "%% no such endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; +} + int mgcp_client_config_write(struct vty *vty, const char *indent) { const char *addr; int port; + struct reset_ep *reset_ep; addr = global_mgcp_client_conf->local_addr; if (addr) @@ -182,6 +245,9 @@ vty_out(vty, "%smgw endpoint-domain %s%s", indent, global_mgcp_client_conf->endpoint_domain_name, VTY_NEWLINE); + llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) + vty_out(vty, "%smgw reset-endpoint %s%s", indent, reset_ep->name, VTY_NEWLINE); + return CMD_SUCCESS; } @@ -197,6 +263,8 @@ install_lib_element(node, &cfg_mgw_endpoint_range_cmd); install_lib_element(node, &cfg_mgw_rtp_bts_base_port_cmd); install_lib_element(node, &cfg_mgw_endpoint_domain_name_cmd); + install_lib_element(node, &cfg_mgw_reset_ep_name_cmd); + install_lib_element(node, &cfg_mgw_no_reset_ep_name_cmd); /* deprecated 'mgcpgw' commands */ install_lib_element(node, &cfg_mgcpgw_local_ip_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25008 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I47e7ff858d5067b46d52329be5f362ff61c0dff8 Gerrit-Change-Number: 25008 Gerrit-PatchSet: 17 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: remove unnecessary checks In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25029 ) Change subject: mgcp_client_vty: remove unnecessary checks ...................................................................... mgcp_client_vty: remove unnecessary checks The vty always checks if global_mgcp_client_conf exists. (there is also an assert This check about global_mgcp_client_ctx). global_mgcp_client_ctx and global_mgcp_client_conf are populated before the VTY commands are installed. Unleass the caller uses the API wrong and calls mgcp_client_vty_init with NULL pointers there cannot be a problem with unpopulated pointers. Lets remove the checks as they are not needed. Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 0 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 1126c5c..9b33eeb 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -42,9 +42,6 @@ "local bind IPv4 address\n" "local bind IPv6 address\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; - OSMO_ASSERT(global_mgcp_client_ctx); osmo_talloc_replace_string(global_mgcp_client_ctx, (char**)&global_mgcp_client_conf->local_addr, argv[0]); @@ -60,8 +57,6 @@ MGW_STR "local port to connect to MGW from\n" "local bind port\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; global_mgcp_client_conf->local_port = atoi(argv[0]); return CMD_SUCCESS; } @@ -76,9 +71,6 @@ "remote IPv4 address\n" "remote IPv6 address\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; - OSMO_ASSERT(global_mgcp_client_ctx); osmo_talloc_replace_string(global_mgcp_client_ctx, (char**)&global_mgcp_client_conf->remote_addr, argv[0]); @@ -94,8 +86,6 @@ MGW_STR "remote port to reach the MGW at\n" "remote port\n") { - if (!global_mgcp_client_conf) - return CMD_ERR_NOTHING_TODO; global_mgcp_client_conf->remote_port = atoi(argv[0]); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25029 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I892d14c588573f76640453cb9c194594289b59f1 Gerrit-Change-Number: 25029 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:26 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: do not print (null) when address is ANY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25115 ) Change subject: mgcp_client: do not print (null) when address is ANY ...................................................................... mgcp_client: do not print (null) when address is ANY When the address is set to ANY, the address string is NULL. The log then prints "(null)" where the address normaly would be. This looks odd, lets print "(any)" instead. Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 440cd96..225b1ee 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -824,7 +824,8 @@ /* Choose a new port number to try next */ LOGP(DLMGCP, LOGL_NOTICE, "MGCPGW failed to bind to %s:%u, retrying with port %u\n", - mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.local_port + 1); + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, + mgcp->actual.local_port + 1); mgcp->actual.local_port++; } @@ -892,8 +893,9 @@ if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", - mgcp->actual.local_addr, mgcp->actual.local_port, - mgcp->actual.remote_addr, mgcp->actual.remote_port, strerror(errno)); + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, + mgcp->actual.remote_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.remote_port, + strerror(errno)); goto error_close_fd; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25115 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I2ea138827ee5b9f40d352bf594364ee930520609 Gerrit-Change-Number: 25115 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client: refactor function init_socket In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25125 ) Change subject: mgcp_client: refactor function init_socket ...................................................................... mgcp_client: refactor function init_socket The function init_socket has an arbitrary retry count when opening the socket. After each retry the local port is incremented by one. The intention behind this is to find a useable local port in case the configured port is used by another process. The maximum number of retrys is hardcoded. The upcomming MGW pooling patch requires to set the maximum retry count. Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client.c 1 file changed, 23 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 225b1ee..9b6c133 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -796,40 +796,46 @@ return mgcp; } -static int init_socket(struct mgcp_client *mgcp) +static int init_socket(struct mgcp_client *mgcp, unsigned int retry_n_ports) { int rc; struct osmo_wqueue *wq; - int i; + unsigned int i; wq = &mgcp->wq; - for (i = 0; i < 100; i++) { + for (i = 0; i < retry_n_ports + 1; i++) { - /* Initalize socket with the currently configured port - * number */ + /* Initialize socket with the currently configured port number */ rc = osmo_sock_init2_ofd(&wq->bfd, AF_UNSPEC, SOCK_DGRAM, IPPROTO_UDP, mgcp->actual.local_addr, mgcp->actual.local_port, mgcp->actual.remote_addr, mgcp->actual.remote_port, OSMO_SOCK_F_BIND | OSMO_SOCK_F_CONNECT); if (rc > 0) return rc; - /* If there is a different port than the default port - * configured then we assume that the user has choosen - * that port conciously and we will not try to resolve - * this by silently choosing a different port. */ + /* If there is a different port than the default port configured then we assume that the user has + * chosen that port conciously and we will not try to resolve this by silently choosing a different + * port. */ if (mgcp->actual.local_port != MGCP_CLIENT_LOCAL_PORT_DEFAULT && i == 0) return -EINVAL; - /* Choose a new port number to try next */ - LOGP(DLMGCP, LOGL_NOTICE, - "MGCPGW failed to bind to %s:%u, retrying with port %u\n", - mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, - mgcp->actual.local_port + 1); - mgcp->actual.local_port++; + if (i == retry_n_ports) { + /* Last try failed */ + LOGP(DLMGCP, LOGL_NOTICE, "MGCPGW failed to bind to %s:%d -- check configuration!\n", + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port); + if (retry_n_ports == 0) + return -EINVAL; + } else { + /* Choose a new port number to try next */ + LOGP(DLMGCP, LOGL_NOTICE, + "MGCPGW failed to bind to %s:%d, retrying with port %d -- check configuration!\n", + mgcp->actual.local_addr ? mgcp->actual.local_addr : "(any)", mgcp->actual.local_port, + mgcp->actual.local_port + 1); + mgcp->actual.local_port++; + } } - LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %i times.\n", i); + LOGP(DLMGCP, LOGL_FATAL, "MGCPGW failed to find a port to bind on %u times -- check configuration!\n", i); return -EINVAL; } @@ -889,7 +895,7 @@ osmo_fd_setup(&wq->bfd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, mgcp, 0); - rc = init_socket(mgcp); + rc = init_socket(mgcp, 99); if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ifd65511daa92fbe610f52da1c4c3b6a7c761d890 Gerrit-Change-Number: 25125 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:27 +0000 Subject: Change in osmo-mgw[master]: libosmo-mgcp-client: extend the mgcp_client for MGW pooling In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25120 ) Change subject: libosmo-mgcp-client: extend the mgcp_client for MGW pooling ...................................................................... libosmo-mgcp-client: extend the mgcp_client for MGW pooling At the moment the MGCP Client only supports one MGW per application. Depending on the requirements of the application one MGW might not offer the performance needed. Lets add support for an MGCP Client pool that is backward compatible to existing applications. Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Related: SYS#5091 --- M include/Makefile.am M include/osmocom/mgcp_client/Makefile.am M include/osmocom/mgcp_client/mgcp_client.h M include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h M include/osmocom/mgcp_client/mgcp_client_fsm.h M include/osmocom/mgcp_client/mgcp_client_internal.h A include/osmocom/mgcp_client/mgcp_client_pool.h A include/osmocom/mgcp_client/mgcp_client_pool_internal.h M src/libosmo-mgcp-client/Makefile.am M src/libosmo-mgcp-client/mgcp_client.c M src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c M src/libosmo-mgcp-client/mgcp_client_fsm.c A src/libosmo-mgcp-client/mgcp_client_pool.c M src/libosmo-mgcp-client/mgcp_client_vty.c 14 files changed, 592 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/Makefile.am b/include/Makefile.am index 457ac3f..eb262a6 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -6,6 +6,7 @@ osmocom/mgcp_client/mgcp_client.h \ osmocom/mgcp_client/mgcp_client_endpoint_fsm.h \ osmocom/mgcp_client/mgcp_client_fsm.h \ + osmocom/mgcp_client/mgcp_client_pool.h \ osmocom/mgcp/mgcp.h \ osmocom/mgcp/mgcp_common.h \ osmocom/mgcp/osmux.h \ diff --git a/include/osmocom/mgcp_client/Makefile.am b/include/osmocom/mgcp_client/Makefile.am index d303ddf..90b1bd7 100644 --- a/include/osmocom/mgcp_client/Makefile.am +++ b/include/osmocom/mgcp_client/Makefile.am @@ -4,6 +4,7 @@ noinst_HEADERS = \ mgcp_client_internal.h \ + mgcp_client_pool_internal.h \ $(NULL) mgcp_common.h: $(top_srcdir)/include/osmocom/mgcp/mgcp_common.h diff --git a/include/osmocom/mgcp_client/mgcp_client.h b/include/osmocom/mgcp_client/mgcp_client.h index e9fe0ae..4d162d0 100644 --- a/include/osmocom/mgcp_client/mgcp_client.h +++ b/include/osmocom/mgcp_client/mgcp_client.h @@ -136,6 +136,8 @@ struct mgcp_client *mgcp_client_init(void *ctx, struct mgcp_client_conf *conf); int mgcp_client_connect(struct mgcp_client *mgcp); +int mgcp_client_connect2(struct mgcp_client *mgcp, unsigned int retry_n_ports); +void mgcp_client_disconnect(struct mgcp_client *mgcp); const char *mgcp_client_remote_addr_str(struct mgcp_client *mgcp); uint16_t mgcp_client_remote_port(struct mgcp_client *mgcp); diff --git a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h index 78e3a41..f21f40e 100644 --- a/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_endpoint_fsm.h @@ -47,6 +47,7 @@ const char *osmo_mgcpc_ep_name(const struct osmo_mgcpc_ep *ep); const char *osmo_mgcpc_ep_ci_name(const struct osmo_mgcpc_ep_ci *ci); const char *osmo_mgcpc_ep_ci_id(const struct osmo_mgcpc_ep_ci *ci); +struct mgcp_client *osmo_mgcpc_ep_client(const struct osmo_mgcpc_ep *ep); extern const struct value_string osmo_mgcp_verb_names[]; static inline const char *osmo_mgcp_verb_name(enum mgcp_verb val) diff --git a/include/osmocom/mgcp_client/mgcp_client_fsm.h b/include/osmocom/mgcp_client/mgcp_client_fsm.h index e315753..ade4f49 100644 --- a/include/osmocom/mgcp_client/mgcp_client_fsm.h +++ b/include/osmocom/mgcp_client/mgcp_client_fsm.h @@ -69,5 +69,6 @@ void mgcp_conn_delete(struct osmo_fsm_inst *fi); const char *mgcp_conn_get_ci(struct osmo_fsm_inst *fi); +struct mgcp_client *mgcp_conn_get_client(struct osmo_fsm_inst *fi); const char *osmo_mgcpc_conn_peer_name(const struct mgcp_conn_peer *info); diff --git a/include/osmocom/mgcp_client/mgcp_client_internal.h b/include/osmocom/mgcp_client/mgcp_client_internal.h index 44b9022..73e3de2 100644 --- a/include/osmocom/mgcp_client/mgcp_client_internal.h +++ b/include/osmocom/mgcp_client/mgcp_client_internal.h @@ -16,6 +16,7 @@ mgcp_trans_id_t next_trans_id; struct llist_head responses_pending; struct llist_head inuse_endpoints; + struct mgcp_client_pool *pool; }; struct mgcp_inuse_endpoint { diff --git a/include/osmocom/mgcp_client/mgcp_client_pool.h b/include/osmocom/mgcp_client/mgcp_client_pool.h new file mode 100644 index 0000000..d0a6ff4 --- /dev/null +++ b/include/osmocom/mgcp_client/mgcp_client_pool.h @@ -0,0 +1,11 @@ +#pragma once + +struct mgcp_client; +struct mgcp_client_pool; + +struct mgcp_client_pool *mgcp_client_pool_alloc(void *talloc_ctx); +void mgcp_client_pool_vty_init(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool); +unsigned int mgcp_client_pool_connect(struct mgcp_client_pool *pool); +void mgcp_client_pool_register_single(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client); +struct mgcp_client *mgcp_client_pool_get(struct mgcp_client_pool *pool); +void mgcp_client_pool_put(struct mgcp_client *mgcp_client); diff --git a/include/osmocom/mgcp_client/mgcp_client_pool_internal.h b/include/osmocom/mgcp_client/mgcp_client_pool_internal.h new file mode 100644 index 0000000..c58ec02 --- /dev/null +++ b/include/osmocom/mgcp_client/mgcp_client_pool_internal.h @@ -0,0 +1,43 @@ +#pragma once + +/* Struct to handle a member of a pool of MGWs. */ +struct mgcp_client_pool_member { + struct llist_head list; + + /* Reference number assinged by VTY. This number is used to manage the pool from the VTY and to identify it in + * the log. */ + unsigned int nr; + + /* MGCP client configuration, this is not the running configuration, when mgcp_client_init() is executed, a + * copy of this config is created. */ + struct mgcp_client_conf conf; + + /* MGCP client descriptor, will be automatically allocated when mgcp_client_pool_connect() is called. (the MGCP + * client is connected when this pointer is populated) */ + struct mgcp_client *client; + + /* A pool member may be set as 'blocked' from the VTY, this means that the pool member may still work and serve + * ongoing calls, but it won't be picked from the pool anymore. */ + bool blocked; + + /* Reference counter to count how often this pool member is currently picked. */ + unsigned int refcount; +}; + +/* Struct to handle a pool of MGWs. (Use _pool functions) */ +struct mgcp_client_pool { + + /* A pointer to a 'single' mgcp client. This is a non-pooled MGCP client that is configured using + * mgcp_client_vty_init() and actively registered by the API user using mgcp_client_pool_register_single() */ + struct mgcp_client *mgcp_client_single; + + /* A list that manages the pool members (see above) */ + struct llist_head pool; + + /* String to use for indentation when writing the configuration file to the VTY. This field is populated by + * mgcp_client_pool_vty_init() */ + char *vty_indent; + + /* VTY node specification used with this pool. This field is populated by mgcp_client_pool_vty_init() */ + struct cmd_node *vty_node; +}; diff --git a/src/libosmo-mgcp-client/Makefile.am b/src/libosmo-mgcp-client/Makefile.am index 4f17e53..c472ec1 100644 --- a/src/libosmo-mgcp-client/Makefile.am +++ b/src/libosmo-mgcp-client/Makefile.am @@ -32,6 +32,7 @@ mgcp_client_vty.c \ mgcp_client_fsm.c \ mgcp_client_endpoint_fsm.c \ + mgcp_client_pool.c \ $(NULL) libosmo_mgcp_client_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(MGCP_CLIENT_LIBVERSION) diff --git a/src/libosmo-mgcp-client/mgcp_client.c b/src/libosmo-mgcp-client/mgcp_client.c index 9b6c133..2bed90f 100644 --- a/src/libosmo-mgcp-client/mgcp_client.c +++ b/src/libosmo-mgcp-client/mgcp_client.c @@ -875,8 +875,9 @@ /*! Initialize client connection (opens socket) * \param[in,out] mgcp MGCP client descriptor. + * \param[in] retry_n_ports number of consecutive local ports that should be used to retry on failure. * \returns 0 on success, -EINVAL on error. */ -int mgcp_client_connect(struct mgcp_client *mgcp) +int mgcp_client_connect2(struct mgcp_client *mgcp, unsigned int retry_n_ports) { struct osmo_wqueue *wq; int rc; @@ -895,7 +896,7 @@ osmo_fd_setup(&wq->bfd, -1, OSMO_FD_READ, osmo_wqueue_bfd_cb, mgcp, 0); - rc = init_socket(mgcp, 99); + rc = init_socket(mgcp, retry_n_ports); if (rc < 0) { LOGP(DLMGCP, LOGL_FATAL, "Failed to initialize socket %s:%u -> %s:%u for MGCP GW: %s\n", @@ -921,6 +922,35 @@ return rc; } +/*! Initialize client connection (opens socket) + * \param[in,out] mgcp MGCP client descriptor. + * \returns 0 on success, -EINVAL on error. */ +int mgcp_client_connect(struct mgcp_client *mgcp) +{ + return mgcp_client_connect2(mgcp, 99); +} + +/*! Terminate client connection + * \param[in,out] mgcp MGCP client descriptor. + * \returns 0 on success, -EINVAL on error. */ +void mgcp_client_disconnect(struct mgcp_client *mgcp) +{ + struct osmo_wqueue *wq; + + if (!mgcp) { + LOGP(DLMGCP, LOGL_FATAL, "MGCPGW client not initialized properly\n"); + return; + } + + wq = &mgcp->wq; + osmo_wqueue_clear(wq); + LOGP(DLMGCP, LOGL_INFO, "MGCP GW connection: %s -- closed!\n", osmo_sock_get_name2(wq->bfd.fd)); + close(wq->bfd.fd); + wq->bfd.fd = -1; + if (osmo_fd_is_registered(&wq->bfd)) + osmo_fd_unregister(&wq->bfd); +} + /*! Get the IP-Aaddress of the associated MGW as string. * \param[in] mgcp MGCP client descriptor. * \returns a pointer to the address string. */ diff --git a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c index 0613e17..ea4c378 100644 --- a/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_endpoint_fsm.c @@ -216,6 +216,13 @@ return ci->mgcp_ci_str; } +struct mgcp_client *osmo_mgcpc_ep_client(const struct osmo_mgcpc_ep *ep) +{ + if (!ep) + return NULL; + return ep->mgcp_client; +} + static struct value_string osmo_mgcpc_ep_fsm_event_names[33] = {}; static char osmo_mgcpc_ep_fsm_event_name_bufs[32][32] = {}; diff --git a/src/libosmo-mgcp-client/mgcp_client_fsm.c b/src/libosmo-mgcp-client/mgcp_client_fsm.c index 3f33dc7..1a2b6d8 100644 --- a/src/libosmo-mgcp-client/mgcp_client_fsm.c +++ b/src/libosmo-mgcp-client/mgcp_client_fsm.c @@ -252,6 +252,18 @@ return mgcp_ctx->conn_id; } +/* Get the mgcp_client that is used with this mgcp_client_fsm instance */ +struct mgcp_client *mgcp_conn_get_client(struct osmo_fsm_inst *fi) +{ + struct mgcp_ctx *mgcp_ctx; + + if (!fi) + return NULL; + + mgcp_ctx = fi->priv; + return mgcp_ctx->mgcp; +} + static void mgw_crcx_resp_cb(struct mgcp_response *r, void *priv) { struct osmo_fsm_inst *fi = priv; diff --git a/src/libosmo-mgcp-client/mgcp_client_pool.c b/src/libosmo-mgcp-client/mgcp_client_pool.c new file mode 100644 index 0000000..9311ac9 --- /dev/null +++ b/src/libosmo-mgcp-client/mgcp_client_pool.c @@ -0,0 +1,186 @@ +/* (C) 2021 by sysmocom s.f.m.c. GmbH + * All Rights Reserved + * + * Author: Philipp Maier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +#include +#include +#include +#include +#include + +/*! Allocate MGCP client pool. This is called once on startup and before the pool is used with + * mgcp_client_pool_vty_init(). Since the pool is linked with the VTY it must exist througout the entire runtime. + * \param[in] talloc_ctx talloc context. */ +struct mgcp_client_pool *mgcp_client_pool_alloc(void *talloc_ctx) +{ + struct mgcp_client_pool *pool; + + pool = talloc_zero(talloc_ctx, struct mgcp_client_pool); + if (!pool) + return NULL; + + INIT_LLIST_HEAD(&pool->pool); + + return pool; +} + +/*! Initialize and connect an mcgp client pool. + * \param[in,out] mgcp MGCP client pool descriptor. + * \returns number of successfully initialized pool members. */ +unsigned int mgcp_client_pool_connect(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + unsigned int pool_members_initialized = 0; + + llist_for_each_entry(pool_member, &pool->pool, list) { + + /* Initialize client */ + pool_member->client = mgcp_client_init(pool_member, &pool_member->conf); + if (!pool_member->client) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u initialization failed\n", pool_member->nr); + continue; + } + + /* Set backpointer so that we can detect later that this MGCP client is managed + * by this pool. */ + pool_member->client->pool = pool; + + /* Connect client */ + if (mgcp_client_connect2(pool_member->client, 0)) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u connect failed at (%s:%u)\n", + pool_member->nr, pool_member->conf.remote_addr, pool_member->conf.remote_port); + talloc_free(pool_member->client); + pool_member->client = NULL; + continue; + } + + pool_members_initialized++; + } + + return pool_members_initialized; +} + +/*! register a single mgcp_client instance to the pool. + * \param[out] pool MGCP client pool descriptor. + * \param[in] mgcp MGCP client descriptor. */ +void mgcp_client_pool_register_single(struct mgcp_client_pool *pool, struct mgcp_client *mgcp_client) +{ + /*! Some applications still support the non-pooled MGW VTY configuration variant provided by + * mgcp_client_vty_init(). If this is the case the mgcp_client instance created by mgcp_client_init() + * can be registered here so that it will appear as if it were part of the pool. When the user actively + * configures MGW pool members, the MGCP client registered here will be ignored. (The registration of + * multiple singe mgcp_client instances is not possible.) */ + pool->mgcp_client_single = mgcp_client; +} + +/* Not every pool member may have a functional MGCP client, we will run through the pool once until we meet a + * pool member that is suitable (has a client, is not blocked, has a low load). */ +static struct mgcp_client_pool_member *mgcp_client_pool_pick(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + struct mgcp_client_pool_member *pool_member_picked = NULL; + unsigned int n_pool_members = llist_count(&pool->pool); + + llist_for_each_entry(pool_member, &pool->pool, list) { + if (pool_member->blocked == false && pool_member->client) { + if (!pool_member_picked) + pool_member_picked = pool_member; + else if (pool_member_picked->refcount > pool_member->refcount) + pool_member_picked = pool_member; + } else { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool has %u members -- MGW %u is unusable\n", n_pool_members, + pool_member->nr); + } + } + + if (pool_member_picked) { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool has %u members -- using MGW %u (active calls: %u)\n", + n_pool_members, pool_member_picked->nr, pool_member_picked->refcount); + return pool_member_picked; + } + + LOGP(DLMGCP, LOGL_ERROR, + "MGW pool has %u members, but no functional MGW pool member found -- check configuration!\n", + n_pool_members); + + return NULL; +} + +/*! get an MGCP client from the pool (increment reference counter). + * \param[in,out] pool MGCP client pool descriptor. + * \returns MGCP client descriptor, NULL if no member was found (empty pool). */ +struct mgcp_client *mgcp_client_pool_get(struct mgcp_client_pool *pool) +{ + struct mgcp_client_pool_member *pool_member; + + /*! When an MGCP client is taken from the pool it is still available for other calls. In fact only a reference + * counter is incremented to keep track on how many references to a specific MGCP client are currently used + * by the application code. */ + + /* When the pool is empty, return a single MGCP client if it is registered. */ + if (llist_empty(&pool->pool) && pool->mgcp_client_single) { + LOGP(DLMGCP, LOGL_DEBUG, "MGW pool is empty -- using (single) MGW\n"); + return pool->mgcp_client_single; + } + + /* Abort when the pool is empty */ + if (llist_empty(&pool->pool)) { + LOGP(DLMGCP, LOGL_ERROR, "MGW pool is empty -- no MGW available!\n"); + return NULL; + } + + /* Pick a suitable pool member */ + pool_member = mgcp_client_pool_pick(pool); + if (pool_member) { + pool_member->refcount++; + return pool_member->client; + } + + return NULL; +} + +/*! put an MGCP client back into the pool (decrement reference counter). + * \param[in,out] pool MGCP client pool descriptor. + * \param[in] mgcp MGCP client descriptor. + * + * This function is able to detect automatically to which pool the mgcp_client belongs. If the mgcp_client does + * not belong to a pool at all, the function call will have no effect. */ +void mgcp_client_pool_put(struct mgcp_client *mgcp_client) +{ + struct mgcp_client_pool_member *pool_member; + struct mgcp_client_pool *pool; + + if (!mgcp_client) + return; + + if (mgcp_client->pool) + pool = mgcp_client->pool; + else + return; + + llist_for_each_entry(pool_member, &pool->pool, list) { + if (pool_member->client == mgcp_client) { + if (pool_member->refcount == 0) { + LOGP(DLMGCP, LOGL_ERROR, "MGW %u has invalid refcount\n", pool_member->nr); + return; + } + pool_member->refcount--; + } + } +} diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 9b33eeb..68a3208 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -24,17 +24,36 @@ #include #include +#include #include #include #include #include #include +#include #define MGW_STR MGCP_CLIENT_MGW_STR -void *global_mgcp_client_ctx = NULL; -struct mgcp_client_conf *global_mgcp_client_conf = NULL; +/* Only common (non-pooled) VTY connands will use this talloc context. All + * pooled VTY commands will use the pool (global_mgcp_client_pool) as + * talloc context. */ +static void *global_mgcp_client_ctx = NULL; + +/* MGCP Client configuration used with mgcp_client_vty_init(). (This pointer + * points to user provided memory, so it cannot be used as talloc context.) */ +static struct mgcp_client_conf *global_mgcp_client_conf = NULL; + +/* Pointer to the MGCP pool that is managed by mgcp_client_pool_vty_init() */ +static struct mgcp_client_pool *global_mgcp_client_pool = NULL; + +struct mgcp_client_conf *get_mgcp_client_config(struct vty *vty) +{ + if (global_mgcp_client_pool && vty->node == global_mgcp_client_pool->vty_node->node) + return vty->index; + else + return global_mgcp_client_conf; +} DEFUN(cfg_mgw_local_ip, cfg_mgw_local_ip_cmd, "mgw local-ip " VTY_IPV46_CMD, @@ -42,8 +61,10 @@ "local bind IPv4 address\n" "local bind IPv6 address\n") { + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); + osmo_talloc_replace_string(global_mgcp_client_ctx, - (char**)&global_mgcp_client_conf->local_addr, + (char **)&conf->local_addr, argv[0]); return CMD_SUCCESS; } @@ -57,7 +78,9 @@ MGW_STR "local port to connect to MGW from\n" "local bind port\n") { - global_mgcp_client_conf->local_port = atoi(argv[0]); + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); + + conf->local_port = atoi(argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_local_port, cfg_mgcpgw_local_port_cmd, @@ -71,9 +94,10 @@ "remote IPv4 address\n" "remote IPv6 address\n") { + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); + osmo_talloc_replace_string(global_mgcp_client_ctx, - (char**)&global_mgcp_client_conf->remote_addr, - argv[0]); + (char **)&conf->remote_addr, argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_remote_ip, cfg_mgcpgw_remote_ip_cmd, @@ -86,7 +110,9 @@ MGW_STR "remote port to reach the MGW at\n" "remote port\n") { - global_mgcp_client_conf->remote_port = atoi(argv[0]); + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); + + conf->remote_port = atoi(argv[0]); return CMD_SUCCESS; } ALIAS_DEPRECATED(cfg_mgw_remote_port, cfg_mgcpgw_remote_port_cmd, @@ -136,11 +162,12 @@ MGW_STR "Set the domain name to send in MGCP messages, e.g. the part 'foo' in 'rtpbridge/*@foo'.\n" "Domain name, should be alphanumeric.\n") { - if (osmo_strlcpy(global_mgcp_client_conf->endpoint_domain_name, argv[0], - sizeof(global_mgcp_client_conf->endpoint_domain_name)) - >= sizeof(global_mgcp_client_conf->endpoint_domain_name)) { + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); + + if (osmo_strlcpy(conf->endpoint_domain_name, argv[0], sizeof(conf->endpoint_domain_name)) + >= sizeof(conf->endpoint_domain_name)) { vty_out(vty, "%% Error: 'mgw endpoint-domain' name too long, max length is %zu: '%s'%s", - sizeof(global_mgcp_client_conf->endpoint_domain_name) - 1, argv[0], VTY_NEWLINE); + sizeof(conf->endpoint_domain_name) - 1, argv[0], VTY_NEWLINE); return CMD_WARNING; } return CMD_SUCCESS; @@ -155,9 +182,10 @@ { int rc; struct reset_ep *reset_ep; + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); /* stop when the address is already in the list */ - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { if (strcmp(argv[0], reset_ep->name) == 0) { vty_out(vty, "%% duplicate endpoint name configured ('%s')%s", argv[0], VTY_NEWLINE); return CMD_WARNING; @@ -182,7 +210,7 @@ return CMD_WARNING; } - llist_add_tail(&reset_ep->list, &global_mgcp_client_conf->reset_epnames); + llist_add_tail(&reset_ep->list, &conf->reset_epnames); return CMD_SUCCESS; } @@ -194,8 +222,9 @@ "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") { struct reset_ep *reset_ep; + struct mgcp_client_conf *conf = get_mgcp_client_config(vty); - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) { + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) { if (strcmp(argv[0], reset_ep->name) == 0) { llist_del(&reset_ep->list); talloc_free(reset_ep); @@ -207,44 +236,48 @@ return CMD_WARNING; } -int mgcp_client_config_write(struct vty *vty, const char *indent) +static int config_write(struct vty *vty, const char *indent, struct mgcp_client_conf *conf) { const char *addr; int port; struct reset_ep *reset_ep; - addr = global_mgcp_client_conf->local_addr; + addr = conf->local_addr; if (addr) vty_out(vty, "%smgw local-ip %s%s", indent, addr, VTY_NEWLINE); - port = global_mgcp_client_conf->local_port; + port = conf->local_port; if (port >= 0) vty_out(vty, "%smgw local-port %u%s", indent, (uint16_t)port, VTY_NEWLINE); - addr = global_mgcp_client_conf->remote_addr; + addr = conf->remote_addr; if (addr) vty_out(vty, "%smgw remote-ip %s%s", indent, addr, VTY_NEWLINE); - port = global_mgcp_client_conf->remote_port; + port = conf->remote_port; if (port >= 0) vty_out(vty, "%smgw remote-port %u%s", indent, (uint16_t)port, VTY_NEWLINE); - if (global_mgcp_client_conf->endpoint_domain_name[0]) + if (conf->endpoint_domain_name[0]) vty_out(vty, "%smgw endpoint-domain %s%s", indent, - global_mgcp_client_conf->endpoint_domain_name, VTY_NEWLINE); + conf->endpoint_domain_name, VTY_NEWLINE); - llist_for_each_entry(reset_ep, &global_mgcp_client_conf->reset_epnames, list) + llist_for_each_entry(reset_ep, &conf->reset_epnames, list) vty_out(vty, "%smgw reset-endpoint %s%s", indent, reset_ep->name, VTY_NEWLINE); return CMD_SUCCESS; } -void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) +int mgcp_client_config_write(struct vty *vty, const char *indent) +{ + return config_write(vty, indent, global_mgcp_client_conf); +} + +static void vty_init_common(void *talloc_ctx, int node) { global_mgcp_client_ctx = talloc_ctx; - global_mgcp_client_conf = conf; install_lib_element(node, &cfg_mgw_local_ip_cmd); install_lib_element(node, &cfg_mgw_local_port_cmd); @@ -256,6 +289,13 @@ install_lib_element(node, &cfg_mgw_reset_ep_name_cmd); install_lib_element(node, &cfg_mgw_no_reset_ep_name_cmd); + osmo_fsm_vty_add_cmds(); +} + +void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) +{ + global_mgcp_client_conf = conf; + /* deprecated 'mgcpgw' commands */ install_lib_element(node, &cfg_mgcpgw_local_ip_cmd); install_lib_element(node, &cfg_mgcpgw_local_port_cmd); @@ -264,5 +304,233 @@ install_lib_element(node, &cfg_mgcpgw_endpoint_range_cmd); install_lib_element(node, &cfg_mgcpgw_rtp_bts_base_port_cmd); - osmo_fsm_vty_add_cmds(); + vty_init_common(talloc_ctx, node); +} + +static int config_write_pool(struct vty *vty) +{ + struct mgcp_client_pool *pool = global_mgcp_client_pool; + struct mgcp_client_pool_member *pool_member; + unsigned int indent_buf_len = strlen(pool->vty_indent) + 1 + 1; + char *indent = talloc_zero_size(vty, indent_buf_len); + + snprintf(indent, indent_buf_len, "%s ", pool->vty_indent); + + llist_for_each_entry(pool_member, &pool->pool, list) { + vty_out(vty, "%smgw %u%s", pool->vty_indent, pool_member->nr, VTY_NEWLINE); + config_write(vty, indent, &pool_member->conf); + } + + talloc_free(indent); + return CMD_SUCCESS; +} + +/* Lookup the selected MGCP client config by its reference number */ +static struct mgcp_client_pool_member *pool_member_by_nr(unsigned int nr) +{ + struct mgcp_client_pool_member *pool_member = NULL; + struct mgcp_client_pool_member *pool_member_tmp; + + llist_for_each_entry(pool_member_tmp, &global_mgcp_client_pool->pool, list) { + if (pool_member_tmp->nr == nr) { + pool_member = pool_member_tmp; + break; + } + } + + return pool_member; +} + +DEFUN_ATTR(cfg_mgw, + cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + pool_member = talloc_zero(global_mgcp_client_pool, struct mgcp_client_pool_member); + OSMO_ASSERT(pool_member); + mgcp_client_conf_init(&pool_member->conf); + pool_member->nr = nr; + llist_add_tail(&pool_member->list, &global_mgcp_client_pool->pool); + } + + vty->index = &pool_member->conf; + vty->index_sub = NULL; + vty->node = global_mgcp_client_pool->vty_node->node; + + return CMD_SUCCESS; +} + +DEFUN_ATTR(cfg_no_mgw, + cfg_no_mgw_cmd, + "no mgw <0-255>", "Select a MGCP client config to remove\n" "reference number", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Make sure that there are no ongoing calls */ + if (pool_member->refcount > 0) { + vty_out(vty, "%% MGCP client (MGW %u) is still serving ongoing calls -- can't remove it now!%s", + pool_member->nr, VTY_NEWLINE); + return CMD_WARNING; + } + + llist_del(&pool_member->list); + if (pool_member->client) { + mgcp_client_disconnect(pool_member->client); + talloc_free(pool_member->client); + } + talloc_free(pool_member); + + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_reconnect, mgw_reconnect_cmd, + "mgw <0-255> reconnect", + MGW_STR "reconfigure and reconnect MGCP client\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Make sure that there are no ongoing calls */ + if (pool_member->refcount > 0) { + vty_out(vty, "%% MGCP client (MGW %u) is still serving ongoing calls -- can't reconnect it now!%s", + pool_member->nr, VTY_NEWLINE); + return CMD_WARNING; + } + + /* Get rid of a possibly existing old MGCP client instance first */ + if (pool_member->client) { + mgcp_client_disconnect(pool_member->client); + talloc_free(pool_member->client); + } + + /* Create a new MGCP client instance with the current config */ + pool_member->client = mgcp_client_init(pool_member, &pool_member->conf); + if (!pool_member->client) { + LOGP(DLMGCP, LOGL_ERROR, "(manual) MGW %u initalization failed\n", pool_member->nr); + vty_out(vty, "%% MGCP client initalization failed ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + /* Set backpointer so that we can detect later that this MGCP client is managed by this pool. */ + pool_member->client->pool = global_mgcp_client_pool; + + /* Connect client */ + if (mgcp_client_connect(pool_member->client)) { + LOGP(DLMGCP, LOGL_ERROR, "(manual) MGW %u connect failed at (%s:%u)\n", + pool_member->nr, pool_member->conf.remote_addr, pool_member->conf.remote_port); + talloc_free(pool_member->client); + pool_member->client = NULL; + vty_out(vty, "%% MGCP client initalization failed ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_block, mgw_block_cmd, + "mgw <0-255> block", + MGW_STR "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + pool_member->blocked = true; + return CMD_SUCCESS; +} + +DEFUN_ATTR(mgw_unblock, mgw_unblock_cmd, + "mgw <0-255> unblock", + MGW_STR "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) +{ + int nr = atoi(argv[0]); + struct mgcp_client_pool_member *pool_member = NULL; + + pool_member = pool_member_by_nr(nr); + if (!pool_member) { + vty_out(vty, "%% no such MGCP client configured ('%s')%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + pool_member->blocked = false; + return CMD_SUCCESS; +} + +DEFUN(mgw_show, mgw_snow_cmd, "show mgw-pool", SHOW_STR "Display information about the MGW-Pool\n") +{ + vty_out(vty, "%% MGW-Pool:%s", VTY_NEWLINE); + struct mgcp_client_pool_member *pool_member; + + if (llist_empty(&global_mgcp_client_pool->pool) && global_mgcp_client_pool->mgcp_client_single) { + vty_out(vty, "%% (pool is empty, single MGCP client will be used)%s", VTY_NEWLINE); + return CMD_SUCCESS; + } else if (llist_empty(&global_mgcp_client_pool->pool)) { + vty_out(vty, "%% (pool is empty)%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + llist_for_each_entry(pool_member, &global_mgcp_client_pool->pool, list) { + vty_out(vty, "%% MGW %u%s", pool_member->nr, VTY_NEWLINE); + vty_out(vty, "%% mgcp-client: %s%s", pool_member->client ? "connected" : "disconnected", + VTY_NEWLINE); + vty_out(vty, "%% service: %s%s", pool_member->blocked ? "blocked" : "unblocked", VTY_NEWLINE); + vty_out(vty, "%% ongoing calls: %u%s", pool_member->refcount, VTY_NEWLINE); + } + return CMD_SUCCESS; +} + +/*! Set up MGCP client VTY (pooled) + * (called once at startup by the application process). + * \param[in] parent_node identifier of the parent node on which the mgw node appears. + * \param[in] mgw_node identifier that should be used with the newly installed MGW node. + * \param[in] indent indentation string to match the indentation in the VTY config + * \param[in] pool user provided memory to store the configured MGCP client (MGW) pool. */ +void mgcp_client_pool_vty_init(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool) +{ + /* Never allow this function to be called twice on the same pool */ + OSMO_ASSERT(!pool->vty_indent); + OSMO_ASSERT(!pool->vty_node); + + pool->vty_indent = talloc_strdup(pool, indent); + OSMO_ASSERT(pool->vty_indent); + pool->vty_node = talloc_zero(pool, struct cmd_node); + OSMO_ASSERT(pool->vty_node); + pool->vty_node->node = mgw_node; + pool->vty_node->vtysh = 1; + pool->vty_node->prompt = talloc_strdup(pool->vty_node, "%s(config-mgw)# "); + + install_lib_element(parent_node, &cfg_mgw_cmd); + install_lib_element(parent_node, &cfg_no_mgw_cmd); + + install_node(pool->vty_node, config_write_pool); + vty_init_common(pool, mgw_node); + + install_lib_element(ENABLE_NODE, &mgw_reconnect_cmd); + install_lib_element(ENABLE_NODE, &mgw_block_cmd); + install_lib_element(ENABLE_NODE, &mgw_unblock_cmd); + + install_lib_element_ve(&mgw_snow_cmd); + + global_mgcp_client_pool = pool; } -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25120 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Icaaba0e470e916eefddfee750b83f5f65291a6b0 Gerrit-Change-Number: 25120 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:12:27 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing docstrings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25121 ) Change subject: mgcp_client_vty: add missing docstrings ...................................................................... mgcp_client_vty: add missing docstrings The VTY for the classic non pooled MGCP Client does not have any API doctumentation. Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 68a3208..81ce0e1 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -270,6 +270,10 @@ return CMD_SUCCESS; } +/*! Write out MGCP client config to VTY. + * \param[in] vty VTY to which we should print. + * \param[in] string used for indentation (e.g. " "). + * \returns CMD_SUCCESS on success, CMD_WARNING on error */ int mgcp_client_config_write(struct vty *vty, const char *indent) { return config_write(vty, indent, global_mgcp_client_conf); @@ -292,6 +296,11 @@ osmo_fsm_vty_add_cmds(); } +/*! Set up MGCP client VTY + * (called once at startup by the application process). + * \param[in] talloc_ctx talloc context to be used by the VTY for allocating memory. + * \param[in] node identifier of the node on which the VTY commands should be installed. + * \param[in] conf user provided memory to to store the MGCP client configuration data. */ void mgcp_client_vty_init(void *talloc_ctx, int node, struct mgcp_client_conf *conf) { global_mgcp_client_conf = conf; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25121 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ia7ca2e4a8efa714f7a56ffd18de152c992936221 Gerrit-Change-Number: 25121 Gerrit-PatchSet: 15 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:13:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:13:28 +0000 Subject: Change in osmo-msc[master]: running.adoc: add section about MGCP configuration In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25117 ) Change subject: running.adoc: add section about MGCP configuration ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Gerrit-Change-Number: 25117 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 17 Aug 2021 12:13:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:13:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:13:30 +0000 Subject: Change in osmo-msc[master]: running.adoc: add section about MGCP configuration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25117 ) Change subject: running.adoc: add section about MGCP configuration ...................................................................... running.adoc: add section about MGCP configuration The manual seems to lack a section about how the MGW is set up. In the osmo-bsc manual we have a "Configure MGCP to connect to an MGW" section under the "Configure primary links" section. We should have the same thing in the osmo-msc manual as well. Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Depends: osmo-mgw I47e7ff858d5067b46d52329be5f362ff61c0dff8 --- M doc/manuals/chapters/running.adoc 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 688fbbe..565c8d0 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -149,3 +149,21 @@ ! default port is 4222, optionally configurable by: remote-port 1234 ---- + +==== Configure MGCP to connect to an MGW + +OsmoMSC uses a media gateway (typically OsmoMGW) to direct RTP streams. By +default, an MGW is expected to receive MGCP requests on the IANA-registered +default port for MGCP (2427) on local host (127.0.0.1). + +Here is an example configuration for a remote MGW: + +---- +msc + mgw remote-ip 10.9.8.7 + mgw remote-port 2427 + mgw reset-endpoint rtpbridge/* <1> +---- +<1> The 'reset-endpoint' setting instructs the OsmoMGW to send a wildcarded +DLCX to the media gateway. This helps to clear lingering calls from the +media gateway when the OsmoMSC is restarted. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25117 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I5501739e63860c436ff606bc2758b495258cd2b9 Gerrit-Change-Number: 25117 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:14:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:14:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: osmo-mgw.cfg: add missing statsd configuration In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 ) Change subject: osmo-mgw.cfg: add missing statsd configuration ...................................................................... osmo-mgw.cfg: add missing statsd configuration The recently added test TC_dlcx_wildcarded depends on statsd information from osmo-mgw but in the osmo-mgw configuration no statsd is configured. Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Related: SYS#5535 --- M mgw/osmo-mgw.cfg 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: daniel: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/mgw/osmo-mgw.cfg b/mgw/osmo-mgw.cfg index 76525bc..8428cd3 100644 --- a/mgw/osmo-mgw.cfg +++ b/mgw/osmo-mgw.cfg @@ -17,6 +17,16 @@ no login bind 127.0.0.1 ! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level global + remote-ip 127.0.0.1 + remote-port 8125 + flush-period 1 + mtu 1024 + enable +! mgcp bind ip 127.0.0.1 bind port 2427 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I35e07a6b1853234559ab4d7e044f3899e8d0a3e8 Gerrit-Change-Number: 25180 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:15:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:15:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 17 Aug 2021 12:15:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:15:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 17 Aug 2021 12:15:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:16:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:16:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 ) Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 17 Aug 2021 12:16:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:16:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:16:56 +0000 Subject: Change in osmo-ci[master]: lint: ignore EMBEDDED_FILENAME In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25197 ) Change subject: lint: ignore EMBEDDED_FILENAME ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I151b97bc7f2fe83898c0598db54360807956993c Gerrit-Change-Number: 25197 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:16:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:16:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:16:57 +0000 Subject: Change in osmo-ci[master]: lint: ignore EMBEDDED_FILENAME In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/25197 ) Change subject: lint: ignore EMBEDDED_FILENAME ...................................................................... lint: ignore EMBEDDED_FILENAME Mentioning the file in itself is useful sometimes (e.g. when explaining how to use a contrib script). So do not let the linter fail here. Related: OS#5087 Change-Id: I151b97bc7f2fe83898c0598db54360807956993c --- M lint/checkpatch/checkpatch_osmo.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/lint/checkpatch/checkpatch_osmo.sh b/lint/checkpatch/checkpatch_osmo.sh index abeed56..b465b5a 100755 --- a/lint/checkpatch/checkpatch_osmo.sh +++ b/lint/checkpatch/checkpatch_osmo.sh @@ -14,6 +14,7 @@ # * COMPLEX_MACRO: we don't use parentheses when building macros of strings across multiple lines # * CONSTANT_COMPARISON: not followed: "Comparisons should place the constant on the right side" # * DEEP_INDENTATION: warns about many leading tabs, not useful if changing existing code without refactoring +# * EMBEDDED_FILENAME: this is useful sometimes (e.g. explaining how to use a script), so do not fail here # * EMBEDDED_FUNCTION_NAME: often __func__ isn't used, arguably not much benefit in changing this when touching code # * EXECUTE_PERMISSIONS: not followed, files need to be executable: git-version-gen, some in debian/ # * FILE_PATH_CHANGES: we don't use a MAINTAINERS file @@ -42,6 +43,7 @@ --ignore COMPLEX_MACRO \ --ignore CONSTANT_COMPARISON \ --ignore DEEP_INDENTATION \ + --ignore EMBEDDED_FILENAME \ --ignore EMBEDDED_FUNCTION_NAME \ --ignore EXECUTE_PERMISSIONS \ --ignore FILE_PATH_CHANGES \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/25197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I151b97bc7f2fe83898c0598db54360807956993c Gerrit-Change-Number: 25197 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:17:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:17:11 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 17 Aug 2021 12:17:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:17:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:17:13 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... fix: handle NULL return of as_dl_tbf() and as_ul_tbf() Go through all callers of as_dl_tbf() and as_ul_tbf(), and make sure they can handle the possible NULL return value. OS#5205 reports a NULL deref crash of osmo-pcu at pdch.cpp:525. The immediate cause is that as_dl_tbf() may well return NULL, which this caller does not handle and instead dereferences immediately. This is a code path that apparently assumes that a DL-TBF should always be present. The higher level cause for the NULL DL-TBF has not been identified. Related: OS#5205 SYS#5561 Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c --- M src/bts.cpp M src/gprs_ms.c M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pdch.cpp M src/tbf.cpp 6 files changed, 57 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index a91fe8d..b5fdfee 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1162,22 +1162,21 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else { - tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + else if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF */ if (is_rach) - set_tbf_ta(tbf, (uint8_t)ta); + set_tbf_ta(ul_tbf, (uint8_t)ta); else - update_tbf_ta(tbf, ta); + update_tbf_ta(ul_tbf, ta); } } diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 0d6be4d..b9d130a 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -335,9 +335,13 @@ void ms_attach_tbf(struct GprsMs *ms, struct gprs_rlcmac_tbf *tbf) { - if (tbf_direction(tbf) == GPRS_RLCMAC_DL_TBF) + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (dl_tbf) ms_attach_dl_tbf(ms, as_dl_tbf(tbf)); - else + if (ul_tbf) ms_attach_ul_tbf(ms, as_ul_tbf(tbf)); } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 2adf1f3..b99ef9e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -50,7 +50,8 @@ llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); - OSMO_ASSERT(ul_tbf); + if (!ul_tbf) + continue; /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; @@ -69,7 +70,8 @@ } llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); - OSMO_ASSERT(dl_tbf); + if (!dl_tbf) + continue; /* this trx, this ts */ if (!dl_tbf->is_control_ts(pdch->ts_no)) continue; @@ -459,6 +461,7 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { + struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", fn, block_nr, poll_fn, tbf_name(poll_tbf)); @@ -466,8 +469,9 @@ * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at * pcaps. */ - if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) - usf_tbf = as_ul_tbf(poll_tbf); + ul_tbf = as_ul_tbf(poll_tbf); + if (ul_tbf && poll_tbf->direction == GPRS_RLCMAC_UL_TBF && ul_tbf->m_usf[ts] != USF_INVALID) + usf_tbf = ul_tbf; /* else, search for uplink tbf */ } else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 5ccbb9f..88dc024 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -357,6 +357,8 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx = ms_current_trx(ms); + struct gprs_rlcmac_dl_tbf *dl_tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "A", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -406,12 +408,15 @@ /* The allocation will be successful, so the system state and tbf_/ms_ * may be modified from now on. */ - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf_); + dl_tbf = as_dl_tbf(tbf_); + ul_tbf = as_ul_tbf(tbf_); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (ul_tbf) { LOGPSL(tbf, LOGL_DEBUG, "Assign uplink TS=%d TFI=%d USF=%d\n", ts, tfi, usf); assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf); - } else { - struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf_); + } + if (dl_tbf) { LOGPSL(tbf, LOGL_DEBUG, "Assign downlink TS=%d TFI=%d\n", ts, tfi); assign_dlink_tbf(pdch, dl_tbf, tfi); } @@ -878,6 +883,8 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx; + struct gprs_rlcmac_dl_tbf *dl_tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "B", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -960,10 +967,14 @@ tbf_->first_common_ts = first_common_ts; tbf_->first_ts = first_ts; - if (tbf->direction == GPRS_RLCMAC_DL_TBF) - assign_dl_tbf_slots(as_dl_tbf(tbf_), trx, dl_slots, tfi); - else - assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); + dl_tbf = as_dl_tbf(tbf_); + ul_tbf = as_ul_tbf(tbf_); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (dl_tbf) + assign_dl_tbf_slots(dl_tbf, trx, dl_slots, tfi); + if (ul_tbf) + assign_ul_tbf_slots(ul_tbf, trx, ul_slots, tfi, usf); bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_B); diff --git a/src/pdch.cpp b/src/pdch.cpp index 2ec40ce..f955444 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -452,7 +452,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (tbf->tfi() != tfi) { + if (!tbf || tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, "PACKET DOWNLINK ACK with wrong TFI=%d, ignoring!\n", tfi); return; @@ -522,7 +522,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (tbf->tfi() != tfi) { + if (!tbf || tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "wrong TFI=%d, ignoring!\n", tfi); return; @@ -1063,8 +1063,8 @@ m_tbfs[tbf->direction][tbf->tfi()]->name()); m_num_tbfs[tbf->direction] += 1; - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - ul_tbf = as_ul_tbf(tbf); + ul_tbf = as_ul_tbf(tbf); + if (ul_tbf) { m_assigned_usf |= 1 << ul_tbf->m_usf[ts_no]; } m_assigned_tfi[tbf->direction] |= 1UL << tbf->tfi(); @@ -1083,8 +1083,8 @@ OSMO_ASSERT(m_num_tbfs[tbf->direction] > 0); m_num_tbfs[tbf->direction] -= 1; - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - ul_tbf = as_ul_tbf(tbf); + ul_tbf = as_ul_tbf(tbf); + if (ul_tbf) { m_assigned_usf &= ~(1 << ul_tbf->m_usf[ts_no]); } m_assigned_tfi[tbf->direction] &= ~(1UL << tbf->tfi()); diff --git a/src/tbf.cpp b/src/tbf.cpp index fcad879..e9e584f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -270,15 +270,18 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) { /* update counters */ - if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); + if (ul_tbf) { bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); - } else { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + } + if (dl_tbf) { if (tbf->is_egprs_enabled()) { rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); } else { @@ -291,9 +294,7 @@ /* Give final measurement report */ gprs_rlcmac_rssi_rep(tbf); - if (tbf->direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - + if (dl_tbf) { dl_tbf->abort(); dl_tbf->cleanup(); } @@ -623,7 +624,10 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); + /* cannot be both DL and UL */ + OSMO_ASSERT(!(dl_tbf && ul_tbf)); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); @@ -690,9 +694,7 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); - + } else if (dl_tbf) { if (!(dl_tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", @@ -784,6 +786,7 @@ void gprs_rlcmac_tbf::handle_timeout() { int current_fn = bts_current_frame_number(bts); + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); @@ -798,8 +801,7 @@ } /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); + if (dl_tbf && (state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { dl_tbf->m_wait_confirm = 0; if (dl_tbf->state_is(TBF_ST_ASSIGN)) { tbf_assign_control_ts(dl_tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 12:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 17 Aug 2021 12:18:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add TC_early_immediate_assignment_pre_chan_ack In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 ) Change subject: bts: add TC_early_immediate_assignment_pre_chan_ack ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 Gerrit-Change-Number: 25196 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 12:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:04:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:04:52 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: > Maybe this is "only" the rts-advance we're seeing here? I.e. channel activated in scheduler, but the PHY is still transmitting downlink bursts which were already pre-computed? In that case, shouldn't either the CHAN ACT ACK contain the exact frame number from which the channel will actually be active, or at least this newly introduced timeout correspond to the rts-advance / fn-advance? Gladly, that would be much more elegant. I could use some pointers / assistance because at the moment I have no knowledge of how to determine the correct frame numbers / rts (and how to trigger on their arrival). I decided for a delay also because I am unsure whether the required wait time comes from processing on the MS side. But of course I'm aware that so far, whatever latency, apparently however small, the Abis roundtrip to the BSC induced was enough for stable operation. A delay config option is an easy way to experiment with how much wait time is sufficient in practice. That is the primary goal of this patch, not necessarily merging as-is. Reports from testing show that this delay patch made the difference from unreliable to reliable early-IA operation. Still I'd be glad to make it more concise. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 17 Aug 2021 22:04:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:05:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:05:37 +0000 Subject: Change in osmo-bts[master]: remove unused LCHAN_S_INACTIVE In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25194 ) Change subject: remove unused LCHAN_S_INACTIVE ...................................................................... remove unused LCHAN_S_INACTIVE Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 --- M include/osmo-bts/gsm_data.h M src/common/gsm_data.c 2 files changed, 0 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 0ed6361..2e3eaa4 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -92,7 +92,6 @@ LCHAN_S_REL_REQ, /* channel release has been requested */ LCHAN_S_REL_ERR, /* channel is in an error state */ LCHAN_S_BROKEN, /* channel is somehow unusable */ - LCHAN_S_INACTIVE, /* channel is set inactive */ }; #define MAX_NUM_UL_MEAS 104 diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 36a5711..7eb6ff1 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -88,7 +88,6 @@ { LCHAN_S_NONE, "NONE" }, { LCHAN_S_ACT_REQ, "ACTIVATION REQUESTED" }, { LCHAN_S_ACTIVE, "ACTIVE" }, - { LCHAN_S_INACTIVE, "INACTIVE" }, { LCHAN_S_REL_REQ, "RELEASE REQUESTED" }, { LCHAN_S_REL_ERR, "RELEASE DUE ERROR" }, { LCHAN_S_BROKEN, "BROKEN UNUSABLE" }, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia738eaa796264fe0a97a2c86d6bbd37eaffe0a59 Gerrit-Change-Number: 25194 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:06:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:06:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack ...................................................................... bsc: add TC_imm_ass_pre_chan_ack Add tests for the new early IMM ASS feature in osmo-bsc: 'immediate-assignment (post-chan-ack|pre-chan-ack)' Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc) Related: SYS#5559 Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf --- M bsc/BSC_Tests.ttcn M library/GSM_RR_Types.ttcn 2 files changed, 136 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 0a11a48..87dce4d 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9574,6 +9574,136 @@ f_shutdown_helper(); } +function f_exp_ipa_rx_nonfatal(integer bts_nr, template (present) RSL_Message t_rx, float t_secs := 2.0, + IpaStreamId sid := IPAC_PROTO_RSL_TRX0, boolean ignore_other_rx := true) +runs on test_CT return template (omit) RSL_Message { + var ASP_RSL_Unitdata rx_rsl_ud; + timer T := t_secs; + + T.start; + alt { + [] IPA_RSL[bts_nr].receive(tr_ASP_RSL_UD(t_rx, sid)) -> value rx_rsl_ud { + T.stop; + } + [ignore_other_rx] IPA_RSL[bts_nr].receive { repeat; } + [not ignore_other_rx] IPA_RSL[bts_nr].receive { + log("f_exp_ipa_rx_nonfatal(): Got different message than ", t_rx); + T.stop; + return omit; + } + [] T.timeout { + return omit; + } + } + return rx_rsl_ud.rsl; +} + +private function f_vty_set_imm_ass(TELNETasp_PT pt, BtsNr bts_nr := 0, charstring imm_ass_setting := "post-chan-ack") { + f_vty_enter_cfg_bts(pt, bts_nr); + f_vty_transceive(pt, "immediate-assignment " & imm_ass_setting); + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); + f_vty_transceive(pt, "exit"); +} + +private function f_verify_imm_ass(RSL_Message imm_ass, template uint8_t ra := ?, template GsmFrameNumber fn := ?, + template RslChannelNr chan_nr := ?) +{ + var RSL_IE_Body full_imm_ass_info; + if (not f_rsl_find_ie(imm_ass, RSL_IE_FULL_IMM_ASS_INFO, full_imm_ass_info)) { + setverdict(fail, "RSL Full Immediate Assign Info IE is absent"); + mtc.stop; + } + + var GsmRrMessage rr_imm_ass := dec_GsmRrMessage(full_imm_ass_info.full_imm_ass_info.payload); + var template GsmRrMessage expect_imm_ass := tr_IMM_ASS(ra := ra, + fn := fn, + ch_desc := tr_ChanDescH0(chan_nr), + page_mode := ?); + if (not match(rr_imm_ass, expect_imm_ass)) { + log("Error: expected ", expect_imm_ass, " got ", rr_imm_ass); + setverdict(fail, "Failed to match Immediate Assignment"); + mtc.stop; + } +} + +testcase TC_imm_ass_post_chan_ack() runs on test_CT { + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + /* (should be the default anyway, just to make things clear) */ + f_vty_set_imm_ass(BSCVTY, 0, "post-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + /* First send the Chan Act ACK */ + var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn + 10)); + + /* Then expect the Immediate Assignment, after we ACKed the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + +testcase TC_imm_ass_pre_chan_ack() runs on test_CT { + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + + /* *FIRST* expect the Immediate Assignment, before we ACK the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Only now send the Chan Act ACK */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); @@ -9863,6 +9993,9 @@ execute( TC_reassignment_fr() ); execute( TC_cm_reestablishment() ); + + execute( TC_imm_ass_post_chan_ack() ); + execute( TC_imm_ass_pre_chan_ack() ); } } diff --git a/library/GSM_RR_Types.ttcn b/library/GSM_RR_Types.ttcn index 78db7a5..f7b00e1 100644 --- a/library/GSM_RR_Types.ttcn +++ b/library/GSM_RR_Types.ttcn @@ -1038,7 +1038,8 @@ template GsmRrMessage tr_IMM_ASS(template uint8_t ra := ?, template GsmFrameNumber fn := ?, template TimingAdvance ta := ?, template ChannelDescription ch_desc := ?, - template MobileAllocationLV ma := ?) := { + template MobileAllocationLV ma := ?, + template PageMode page_mode := PAGE_MODE_NORMAL) := { header := t_RrHeader(IMMEDIATE_ASSIGNMENT, ?), payload := { imm_ass := { @@ -1048,7 +1049,7 @@ downlink := false, tbf := false }, - page_mode := PAGE_MODE_NORMAL, + page_mode := page_mode, chan_desc := ch_desc, pkt_chan_desc := omit, req_ref := tr_compute_ReqRef(ra, fn), -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf Gerrit-Change-Number: 25168 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:06:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn 1 file changed, 67 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 87dce4d..42d7b54 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9704,6 +9704,72 @@ f_shutdown_helper(); } +testcase TC_imm_ass_pre_chan_ack_dyn_ts() runs on test_CT { + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6)); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323)); + + /* clean up timeslot 6 config, will only take effect when the OML drops the next time */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + /* block all static timeslots so that the dyn TS will be used */ + f_disable_all_tch_f(); + f_disable_all_tch_h(); + f_disable_all_sdcch(); + + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + /* Expect the dyn TS to deactivate PDCH first */ + f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(chan_nr)); + + /* Now activation as SDCCH8 */ + chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + + /* *FIRST* expect the Immediate Assignment, before we ACK the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Only now send the Chan Act ACK */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); @@ -9996,6 +10062,7 @@ execute( TC_imm_ass_post_chan_ack() ); execute( TC_imm_ass_pre_chan_ack() ); + execute( TC_imm_ass_pre_chan_ack_dyn_ts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:06:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:06:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 ) Change subject: bsc: add TC_imm_ass_pre_ts_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_ts_ack_dyn_ts Test the experimental 'immediate-assignment pre-ts-ack' implemented in I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Related: SYS#5559 Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 --- M bsc/BSC_Tests.ttcn 1 file changed, 68 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 42d7b54..2471a50 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -9770,6 +9770,73 @@ f_shutdown_helper(); } +testcase TC_imm_ass_pre_ts_ack_dyn_ts() runs on test_CT { + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6)); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323)); + + /* clean up timeslot 6 config, will only take effect when the OML drops the next time */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + /* block all static timeslots so that the dyn TS will be used */ + f_disable_all_tch_f(); + f_disable_all_tch_h(); + f_disable_all_sdcch(); + + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-ts-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + /* Expect the dyn TS to deactivate PDCH first */ + f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); + + /* And already the Immediate Assignment even before the PDCH Deact ACK */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + + /* continue the Osmo style PDCH Deact (usual chan rel) */ + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(chan_nr)); + + /* Now activation as SDCCH8 */ + chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); @@ -10063,6 +10130,7 @@ execute( TC_imm_ass_post_chan_ack() ); execute( TC_imm_ass_pre_chan_ack() ); execute( TC_imm_ass_pre_chan_ack_dyn_ts() ); + execute( TC_imm_ass_pre_ts_ack_dyn_ts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5 Gerrit-Change-Number: 25170 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:07:59 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 17 Aug 2021 22:07:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:08:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:08:10 +0000 Subject: Change in osmo-bsc[master]: error log: improve lchan lookup error msg In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25167 ) Change subject: error log: improve lchan lookup error msg ...................................................................... error log: improve lchan lookup error msg Looking for a bug, I spread this logging to understand what was happening. Might as well keep it. Related: SYS#5559 Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 --- M src/osmo-bsc/bts_trx.c 1 file changed, 18 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/osmo-bsc/bts_trx.c b/src/osmo-bsc/bts_trx.c index f183d4b..9f8837b 100644 --- a/src/osmo-bsc/bts_trx.c +++ b/src/osmo-bsc/bts_trx.c @@ -183,11 +183,17 @@ lch_idx = 0; /* TCH/F */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_F) || ts->pchan_on_init == GSM_PCHAN_PDCH; /* PDCH? really? */ + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr %x cbits %x: ts %s is not capable of GSM_PCHAN_TCH_F\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(0): case ABIS_RSL_CHAN_NR_CBITS_Lm_ACCHs(1): lch_idx = cbits & 0x1; /* TCH/H */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_TCH_H); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_TCH_H\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(0): case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(1): @@ -195,6 +201,9 @@ case ABIS_RSL_CHAN_NR_CBITS_SDCCH4_ACCH(3): lch_idx = cbits & 0x3; /* SDCCH/4 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH_SDCCH4); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_CCCH_SDCCH4\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(0): case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(1): @@ -206,17 +215,26 @@ case ABIS_RSL_CHAN_NR_CBITS_SDCCH8_ACCH(7): lch_idx = cbits & 0x7; /* SDCCH/8 */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_SDCCH8_SACCH8C); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_SDCCH8_SACCH8C\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; case ABIS_RSL_CHAN_NR_CBITS_BCCH: case ABIS_RSL_CHAN_NR_CBITS_RACH: case ABIS_RSL_CHAN_NR_CBITS_PCH_AGCH: lch_idx = 0; /* CCCH? */ ok = ts_is_capable_of_pchan(ts, GSM_PCHAN_CCCH); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not capable of GSM_PCHAN_CCCH\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); /* FIXME: we should not return first sdcch4 !!! */ break; case ABIS_RSL_CHAN_NR_CBITS_OSMO_PDCH: lch_idx = 0; ok = (ts->pchan_on_init == GSM_PCHAN_OSMO_DYN); + if (!ok) + LOG_TRX(trx, DRSL, LOGL_ERROR, "chan_nr 0x%x cbits 0x%x: %s is not GSM_PCHAN_OSMO_DYN\n", + chan_nr, cbits, gsm_ts_and_pchan_name(ts)); break; default: return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I46b660cd51a41e561712a0bd849ce0ee8d1a9588 Gerrit-Change-Number: 25167 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:08:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:08:11 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 1/n: add vty config option In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25164 ) Change subject: early IMM ASS 1/n: add vty config option ...................................................................... early IMM ASS 1/n: add vty config option This patch adds only the VTY config option without any effect, to ease patch review. The implementation follows in I56c25cde152040fb66bdba44399bd37671ae3df2 The new config option is written so that further variants of Immediate Assignment sequencing may be added easily. See also I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74. Related: SYS#5559 Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_vty.c M tests/osmo-bsc.vty 4 files changed, 54 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 1d566f5..291ec10 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -566,6 +566,9 @@ /* Is Fast return to LTE allowed during Chan Release in this BTS? */ bool srvcc_fast_return_allowed; + + /* At what point in the channel allocation sequence to dispatch the Immediate Assignment (Abis optimization) */ + enum imm_ass_time imm_ass_time; }; #define GSM_BTS_SI2Q(bts, i) (struct gsm48_system_information_type_2quater *)((bts)->si_buf[SYSINFO_TYPE_2quater][i]) diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 31711c7..4411555 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -601,6 +601,11 @@ static inline const char *lchan_activate_mode_name(enum lchan_activate_for activ_for) { return get_value_string(lchan_activate_mode_names, activ_for); } +enum imm_ass_time { + IMM_ASS_TIME_POST_CHAN_ACK = 0, + IMM_ASS_TIME_PRE_CHAN_ACK, +}; + struct lchan_activate_info { enum lchan_activate_for activ_for; struct gsm_subscriber_connection *for_conn; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 3695d28..cba0bb0 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -2806,6 +2806,23 @@ return CMD_SUCCESS; } +DEFUN_ATTR(cfg_bts_immediate_assignment, cfg_bts_immediate_assignment_cmd, + "immediate-assignment (post-chan-ack|pre-chan-ack)", + "Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization)\n" + "Send the Immediate Assignment after the Channel Activation ACK (normal sequence)\n" + "Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK;" + " This may help with double allocations on high latency Abis links\n", + CMD_ATTR_IMMEDIATE) +{ + struct gsm_bts *bts = vty->index; + + if (!strcmp(argv[0], "pre-chan-ack")) + bts->imm_ass_time = IMM_ASS_TIME_PRE_CHAN_ACK; + else + bts->imm_ass_time = IMM_ASS_TIME_POST_CHAN_ACK; + return CMD_SUCCESS; +} + #define BS_POWER_CONTROL_CMD \ "bs-power-control" #define MS_POWER_CONTROL_CMD \ @@ -3980,6 +3997,16 @@ if (!bts->srvcc_fast_return_allowed) vty_out(vty, " srvcc fast-return forbid%s", VTY_NEWLINE); + switch (bts->imm_ass_time) { + default: + case IMM_ASS_TIME_POST_CHAN_ACK: + /* default value */ + break; + case IMM_ASS_TIME_PRE_CHAN_ACK: + vty_out(vty, " immediate-assignment pre-chan-ack%s", VTY_NEWLINE); + break; + } + /* BS/MS Power Control parameters */ config_write_power_ctrl(vty, 2, &bts->bs_power_ctrl); config_write_power_ctrl(vty, 2, &bts->ms_power_ctrl); @@ -4150,6 +4177,7 @@ install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd); + install_element(BTS_NODE, &cfg_bts_immediate_assignment_cmd); neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index 7351056..b837d25 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -204,3 +204,21 @@ OsmoBSC(config-net-bts)# channel allocator allow-tch-for-signalling 1 OsmoBSC(config-net-bts)# show running-config ... !channel allocator allow-tch-for-signalling + +OsmoBSC(config-net-bts)# immediate-assignment? + immediate-assignment Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization) +OsmoBSC(config-net-bts)# immediate-assignment ? + post-chan-ack Send the Immediate Assignment after the Channel Activation ACK (normal sequence) + pre-chan-ack Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK; This may help with double allocations on high latency Abis links +OsmoBSC(config-net-bts)# show running-config +... !immediate-assignment +OsmoBSC(config-net-bts)# immediate-assignment pre-chan-ack +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + immediate-assignment pre-chan-ack +... +OsmoBSC(config-net-bts)# immediate-assignment post-chan-ack +OsmoBSC(config-net-bts)# show running-config +... !immediate-assignment -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I710343d1728153faf3db9758ff5a1ef26bb8d3d4 Gerrit-Change-Number: 25164 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:08:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:08:11 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 2/n: implement 'pre-chan-ack' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25165 ) Change subject: early IMM ASS 2/n: implement 'pre-chan-ack' ...................................................................... early IMM ASS 2/n: implement 'pre-chan-ack' When 'immediate-assignment pre-chan-ack' is set, send the Immediate Assignment directly after the Channel Activation, not waiting for the Activation ACK, to save an Abis roundtrip. Related test is in If71f4562d532b6c5faf55f5fd073449a8a137ebf Related: SYS#5559 Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/lchan_fsm.c 3 files changed, 32 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 4411555..ba3af3b 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -628,6 +628,11 @@ int tsc; bool vamos; + + /* A copy of bts->imm_ass_time at the time where Channel Activation was requested. A change in the VTY + * configuration has immediate effect on the value, so make sure we don't get mixed up when it gets changed + * while a channel activation is in progress. */ + enum imm_ass_time imm_ass_time; }; enum lchan_modify_for { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index d5b0d53..df31982 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2057,6 +2057,7 @@ .ta_known = true, .tsc_set = -1, .tsc = -1, + .imm_ass_time = bts->imm_ass_time, }; lchan_activate(lchan, &info); diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 68cafb3..1eb9505 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -657,6 +657,21 @@ return 0; } +static int lchan_send_imm_ass(struct osmo_fsm_inst *fi) +{ + int rc; + struct gsm_lchan *lchan = lchan_fi_lchan(fi); + rc = rsl_tx_imm_assignment(lchan); + if (rc) { + lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", + rc, strerror(-rc)); + return rc; + } + LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RR Immediate Assignment\n"); + lchan->activate.immediate_assignment_sent = true; + return rc; +} + static void lchan_fsm_wait_ts_ready_onenter(struct osmo_fsm_inst *fi, uint32_t prev_state) { struct gsm_lchan *lchan = lchan_fi_lchan(fi); @@ -801,6 +816,12 @@ if (lchan->activate.info.ta_known) lchan->last_ta = lchan->activate.info.ta; + + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_PRE_CHAN_ACK) { + /* Send the Immediate Assignment directly after the Channel Activation request, saving one Abis + * roundtrip between ChanRqd and Imm Ass. */ + lchan_send_imm_ass(fi); + } } static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi); @@ -861,7 +882,6 @@ static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi) { - int rc; struct gsm_lchan *lchan = lchan_fi_lchan(fi); lchan->current_ch_mode_rate = lchan->activate.ch_mode_rate; @@ -880,14 +900,12 @@ switch (lchan->activate.info.activ_for) { case ACTIVATE_FOR_MS_CHANNEL_REQUEST: - rc = rsl_tx_imm_assignment(lchan); - if (rc) { - lchan_fail("Failed to Tx RR Immediate Assignment message (rc=%d %s)", - rc, strerror(-rc)); - return; + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_POST_CHAN_ACK) { + if (lchan_send_imm_ass(fi)) { + /* lchan_fail() was already called in lchan_send_imm_ass() */ + return; + } } - LOG_LCHAN(lchan, LOGL_DEBUG, "Tx RR Immediate Assignment\n"); - lchan->activate.immediate_assignment_sent = true; break; case ACTIVATE_FOR_ASSIGNMENT: -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I56c25cde152040fb66bdba44399bd37671ae3df2 Gerrit-Change-Number: 25165 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 17 22:08:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 17 Aug 2021 22:08:12 +0000 Subject: Change in osmo-bsc[master]: early IMM ASS 3/n: implement 'pre-ts-ack' In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25166 ) Change subject: early IMM ASS 3/n: implement 'pre-ts-ack' ...................................................................... early IMM ASS 3/n: implement 'pre-ts-ack' Add experimental 'pre-ts-ack' to the 'immediate-assignment' options: send the IMM ASS even before a dynamic timeslot is switched. This possibly saves an Abis roundtrip, but may be racy. When pre-ts-ack is chosen, already do the IMM ASS before the dyn TS pchan switch is ACKed. In Immediate Assignment, in case the dyn TS is not ready yet, get the pchan kind from lchan->type, which already reflects the target type, and not from ts->pchan_is, which still reflects the previous pchan type. Related test is in I2ae28cd92910d4bc341a88571599347a64a18fe5 Related: SYS#5559 Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/lchan_fsm.c M tests/osmo-bsc.vty 5 files changed, 35 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index ba3af3b..d6c06de 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -604,6 +604,7 @@ enum imm_ass_time { IMM_ASS_TIME_POST_CHAN_ACK = 0, IMM_ASS_TIME_PRE_CHAN_ACK, + IMM_ASS_TIME_PRE_TS_ACK, }; struct lchan_activate_info { diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index df31982..26231ac 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -2072,6 +2072,7 @@ struct gsm_bts *bts = lchan->ts->trx->bts; uint8_t buf[GSM_MACBLOCK_LEN]; struct gsm48_imm_ass *ia = (struct gsm48_imm_ass *) buf; + enum gsm_phys_chan_config pchan; /* create IMMEDIATE ASSIGN 04.08 message */ memset(ia, 0, sizeof(*ia)); @@ -2079,7 +2080,15 @@ ia->proto_discr = GSM48_PDISC_RR; ia->msg_type = GSM48_MT_RR_IMM_ASS; ia->page_mode = GSM48_PM_SAME; - rc = gsm48_lchan2chan_desc(&ia->chan_desc, lchan, lchan->tsc, true); + + /* In case the dyn TS is not ready yet, ts->pchan_is still reflects the previous pchan type; so get the pchan + * kind from lchan->type, which already reflects the target type. This only happens for dynamic timeslots. + * gsm_pchan_by_lchan_type() isn't always exact, which is fine for dyn TS with their limited pchan kinds. */ + if (lchan_state_is(lchan, LCHAN_ST_WAIT_TS_READY)) + pchan = gsm_pchan_by_lchan_type(lchan->type); + else + pchan = lchan->ts->pchan_is; + rc = gsm48_lchan_and_pchan2chan_desc(&ia->chan_desc, lchan, pchan, lchan->tsc, true); if (rc) { LOG_LCHAN(lchan, LOGL_ERROR, "Error encoding Channel Number\n"); return rc; diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index cba0bb0..577feec 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -2807,16 +2807,20 @@ } DEFUN_ATTR(cfg_bts_immediate_assignment, cfg_bts_immediate_assignment_cmd, - "immediate-assignment (post-chan-ack|pre-chan-ack)", + "immediate-assignment (post-chan-ack|pre-chan-ack|pre-ts-ack)", "Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization)\n" "Send the Immediate Assignment after the Channel Activation ACK (normal sequence)\n" "Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK;" - " This may help with double allocations on high latency Abis links\n", + " This may help with double allocations on high latency Abis links\n" + "EXPERIMENTAL: If a dynamic timeslot switch is necessary, send the Immediate Assignment even before the" + " timeslot is switched, i.e. even before the Channel Activation is sent (very early)\n", CMD_ATTR_IMMEDIATE) { struct gsm_bts *bts = vty->index; - if (!strcmp(argv[0], "pre-chan-ack")) + if (!strcmp(argv[0], "pre-ts-ack")) + bts->imm_ass_time = IMM_ASS_TIME_PRE_TS_ACK; + else if (!strcmp(argv[0], "pre-chan-ack")) bts->imm_ass_time = IMM_ASS_TIME_PRE_CHAN_ACK; else bts->imm_ass_time = IMM_ASS_TIME_POST_CHAN_ACK; @@ -4005,6 +4009,9 @@ case IMM_ASS_TIME_PRE_CHAN_ACK: vty_out(vty, " immediate-assignment pre-chan-ack%s", VTY_NEWLINE); break; + case IMM_ASS_TIME_PRE_TS_ACK: + vty_out(vty, " immediate-assignment pre-ts-ack%s", VTY_NEWLINE); + break; } /* BS/MS Power Control parameters */ diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index 1eb9505..def70de 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -739,6 +739,12 @@ /* Prepare an MGW endpoint CI if appropriate. */ if (lchan->activate.info.requires_voice_stream) lchan_rtp_fsm_start(lchan); + + if (lchan->activate.info.imm_ass_time == IMM_ASS_TIME_PRE_TS_ACK) { + /* Send the Immediate Assignment even before the timeslot is ready, saving a dyn TS timeslot roundtrip + * on Abis (experimental). */ + lchan_send_imm_ass(fi); + } } static void lchan_fsm_wait_ts_ready(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty index b837d25..4027502 100644 --- a/tests/osmo-bsc.vty +++ b/tests/osmo-bsc.vty @@ -210,6 +210,7 @@ OsmoBSC(config-net-bts)# immediate-assignment ? post-chan-ack Send the Immediate Assignment after the Channel Activation ACK (normal sequence) pre-chan-ack Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK; This may help with double allocations on high latency Abis links + pre-ts-ack EXPERIMENTAL: If a dynamic timeslot switch is necessary, send the Immediate Assignment even before the timeslot is switched, i.e. even before the Channel Activation is sent (very early) OsmoBSC(config-net-bts)# show running-config ... !immediate-assignment OsmoBSC(config-net-bts)# immediate-assignment pre-chan-ack @@ -219,6 +220,13 @@ ... immediate-assignment pre-chan-ack ... +OsmoBSC(config-net-bts)# immediate-assignment pre-ts-ack +OsmoBSC(config-net-bts)# show running-config +... + bts 0 +... + immediate-assignment pre-ts-ack +... OsmoBSC(config-net-bts)# immediate-assignment post-chan-ack OsmoBSC(config-net-bts)# show running-config ... !immediate-assignment -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74 Gerrit-Change-Number: 25166 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Wed Aug 18 00:31:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 18 Aug 2021 00:31:06 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_9.0/i586 In-Reply-To: References: Message-ID: <611c54e13a6ca_495a2afb33852600303319@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_9.0/i586 Package network:osmocom:nightly/rtl-sdr failed to build in Debian_9.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: [ 42s] cd /usr/src/packages/BUILD/obj-i686-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_adsb.dir/link.txt --verbose=1 [ 42s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_adsb.dir/rtl_adsb.c.o -o rtl_adsb -Wl,-rpath,/usr/src/packages/BUILD/obj-i686-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm [ 42s] [ 87%] Linking C executable rtl_test [ 42s] cd /usr/src/packages/BUILD/obj-i686-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_test.dir/link.txt --verbose=1 [ 42s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_test.dir/rtl_test.c.o -o rtl_test -Wl,-rpath,/usr/src/packages/BUILD/obj-i686-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm -lrt [ 42s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu' [ 42s] [ 87%] Built target rtl_adsb [ 42s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu' [ 42s] [ 87%] Built target rtl_test [ 42s] [ 90%] Linking C executable rtl_fm [ 42s] cd /usr/src/packages/BUILD/obj-i686-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_fm.dir/link.txt --verbose=1 [ 42s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_fm.dir/rtl_fm.c.o -o rtl_fm -Wl,-rpath,/usr/src/packages/BUILD/obj-i686-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm [ 42s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu' [ 42s] [ 90%] Built target rtl_fm [ 42s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu' [ 42s] Makefile:130: recipe for target 'all' failed [ 42s] make[1]: *** [all] Error 2 [ 42s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-i686-linux-gnu' [ 42s] dh_auto_build: make -j8 returned exit code 2 [ 42s] debian/rules:6: recipe for target 'build' failed [ 42s] make: *** [build] Error 2 [ 42s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 42s] ### VM INTERACTION START ### [ 45s] [ 39.769831] sysrq: Power Off [ 45s] [ 39.773718] reboot: Power down [ 46s] ### VM INTERACTION END ### [ 46s] [ 46s] goat09 failed "build rtl-sdr_0.5.4.39.641c.202108180026.dsc" at Wed Aug 18 00:30:51 UTC 2021. [ 46s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Aug 18 00:32:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 18 Aug 2021 00:32:14 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <611c551a73fcc_495a2afb3385260030363e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_9.0/x86_64 Package network:osmocom:nightly/rtl-sdr failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: [ 41s] [ 90%] Built target rtl_adsb [ 41s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_eeprom.dir/rtl_eeprom.c.o -o rtl_eeprom -Wl,-rpath,/usr/src/packages/BUILD/obj-x86_64-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread [ 41s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 41s] [ 90%] Built target rtl_eeprom [ 41s] [ 93%] Linking C executable rtl_power [ 41s] cd /usr/src/packages/BUILD/obj-x86_64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_power.dir/link.txt --verbose=1 [ 41s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_power.dir/rtl_power.c.o -o rtl_power -Wl,-rpath,/usr/src/packages/BUILD/obj-x86_64-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm [ 41s] [ 96%] Linking C executable rtl_fm [ 41s] cd /usr/src/packages/BUILD/obj-x86_64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_fm.dir/link.txt --verbose=1 [ 41s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_fm.dir/rtl_fm.c.o -o rtl_fm -Wl,-rpath,/usr/src/packages/BUILD/obj-x86_64-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm [ 41s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 41s] [ 96%] Built target rtl_power [ 41s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 41s] [ 96%] Built target rtl_fm [ 41s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 41s] Makefile:130: recipe for target 'all' failed [ 41s] make[1]: *** [all] Error 2 [ 41s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 41s] dh_auto_build: make -j8 returned exit code 2 [ 41s] debian/rules:6: recipe for target 'build' failed [ 41s] make: *** [build] Error 2 [ 41s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 41s] ### VM INTERACTION START ### [ 44s] [ 38.591954] sysrq: Power Off [ 44s] [ 38.595223] reboot: Power down [ 44s] ### VM INTERACTION END ### [ 44s] [ 44s] goat15 failed "build rtl-sdr_0.5.4.39.641c.202108180026.dsc" at Wed Aug 18 00:32:04 UTC 2021. [ 44s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Aug 18 00:32:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 18 Aug 2021 00:32:14 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <611c551ab9514_495a2afb338526003037d9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/rtl-sdr failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: [ 96s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] make[2]: Entering directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] [ 93%] Built target rtl_power [ 96s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] make[3]: Entering directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] [ 71%] Building C object src/CMakeFiles/rtl_fm.dir/rtl_fm.c.o [ 96s] cd /usr/src/packages/BUILD/obj-x86_64-linux-gnu/src && /usr/bin/cc -DDETACH_KERNEL_DRIVER=1 -I/usr/src/packages/BUILD/include -I/usr/include/libusb-1.0 -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wall -Wextra -Wno-unused-parameter -Wno-unused -Wsign-compare -Wdeclaration-after-statement -fvisibility=hidden -o CMakeFiles/rtl_fm.dir/rtl_fm.c.o -c /usr/src/packages/BUILD/src/rtl_fm.c [ 96s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] make[3]: Entering directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] [ 96%] Linking C executable rtl_fm [ 96s] cd /usr/src/packages/BUILD/obj-x86_64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_fm.dir/link.txt --verbose=1 [ 96s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-Bsymbolic-functions -Wl,-z,relro CMakeFiles/rtl_fm.dir/rtl_fm.c.o -o rtl_fm -Wl,-rpath,/usr/src/packages/BUILD/obj-x86_64-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread -lm [ 96s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] make[2]: Entering directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] [ 96%] Built target rtl_fm [ 96s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-x86_64-linux-gnu' [ 96s] Makefile:132: recipe for target 'all' failed [ 96s] make[1]: *** [all] Error 2 [ 96s] dh_auto_build: cd obj-x86_64-linux-gnu && make -j8 -O returned exit code 2 [ 96s] debian/rules:6: recipe for target 'build' failed [ 96s] make: *** [build] Error 25 [ 96s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 96s] ### VM INTERACTION START ### [ 100s] [ 90.830843] sysrq: Power Off [ 100s] [ 90.838110] reboot: Power down [ 100s] ### VM INTERACTION END ### [ 100s] [ 100s] lamb09 failed "build rtl-sdr_0.5.4.39.641c.202108180026.dsc" at Wed Aug 18 00:31:56 UTC 2021. [ 100s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Wed Aug 18 00:32:14 2021 From: noreply at opensuse.org (OBS Notification) Date: Wed, 18 Aug 2021 00:32:14 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_9.0/aarch64 In-Reply-To: References: Message-ID: <611c551a4cf60_495a2afb33852600303561@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_9.0/aarch64 Package network:osmocom:nightly/rtl-sdr failed to build in Debian_9.0/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: [ 91s] [ 62%] Linking C static library librtlsdr.a [ 91s] cd /usr/src/packages/BUILD/obj-aarch64-linux-gnu/src && /usr/bin/cmake -P CMakeFiles/rtlsdr_static.dir/cmake_clean_target.cmake [ 91s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-aarch64-linux-gnu' [ 91s] [ 62%] Built target rtl_biast [ 91s] cd /usr/src/packages/BUILD/obj-aarch64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtlsdr_static.dir/link.txt --verbose=1 [ 91s] /usr/bin/ar qc librtlsdr.a CMakeFiles/rtlsdr_static.dir/librtlsdr.c.o CMakeFiles/rtlsdr_static.dir/tuner_e4k.c.o CMakeFiles/rtlsdr_static.dir/tuner_fc0012.c.o CMakeFiles/rtlsdr_static.dir/tuner_fc0013.c.o CMakeFiles/rtlsdr_static.dir/tuner_fc2580.c.o CMakeFiles/rtlsdr_static.dir/tuner_r82xx.c.o [ 91s] /usr/bin/ranlib librtlsdr.a [ 91s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-aarch64-linux-gnu' [ 91s] [ 65%] Linking C executable rtl_sdr [ 91s] cd /usr/src/packages/BUILD/obj-aarch64-linux-gnu/src && /usr/bin/cmake -E cmake_link_script CMakeFiles/rtl_sdr.dir/link.txt --verbose=1 [ 91s] [ 65%] Built target rtlsdr_static [ 91s] /usr/bin/cc -g -O2 -fdebug-prefix-map=/usr/src/packages/BUILD=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -g -DNDEBUG -Wl,-z,relro CMakeFiles/rtl_sdr.dir/rtl_sdr.c.o -o rtl_sdr -Wl,-rpath,/usr/src/packages/BUILD/obj-aarch64-linux-gnu/src: librtlsdr.so.0.6git libconvenience_static.a -lusb-1.0 -lpthread [ 91s] make[3]: Leaving directory '/usr/src/packages/BUILD/obj-aarch64-linux-gnu' [ 91s] [ 65%] Built target rtl_sdr [ 91s] make[2]: Leaving directory '/usr/src/packages/BUILD/obj-aarch64-linux-gnu' [ 91s] Makefile:130: recipe for target 'all' failed [ 91s] make[1]: *** [all] Error 2 [ 91s] make[1]: Leaving directory '/usr/src/packages/BUILD/obj-aarch64-linux-gnu' [ 91s] dh_auto_build: make -j4 returned exit code 2 [ 91s] debian/rules:6: recipe for target 'build' failed [ 91s] make: *** [build] Error 2 [ 91s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 91s] ### VM INTERACTION START ### [ 95s] [ 81.944390] sysrq: Power Off [ 95s] [ 81.945396] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] obs-arm-9 failed "build rtl-sdr_0.5.4.39.641c.202108180026.dsc" at Wed Aug 18 00:32:02 UTC 2021. [ 95s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Wed Aug 18 06:47:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Aug 2021 06:47:23 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing NO_STR References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25202 ) Change subject: mgcp_client_vty: add missing NO_STR ...................................................................... mgcp_client_vty: add missing NO_STR Fixes: 3f2c15 ("mgcp_client: allow to reset endpoints on startup") Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/02/25202/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 81ce0e1..7ad1485 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -218,7 +218,7 @@ DEFUN(cfg_mgw_no_reset_ep_name, cfg_mgw_no_reset_ep_name_cmd, "no mgw reset-endpoint NAME", - MGW_STR "remove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" + NO_STR MGW_STR "remove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") { struct reset_ep *reset_ep; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed Gerrit-Change-Number: 25202 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 06:54:04 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Wed, 18 Aug 2021 06:54:04 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing NO_STR In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25202 ) Change subject: mgcp_client_vty: add missing NO_STR ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed Gerrit-Change-Number: 25202 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 18 Aug 2021 06:54:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 06:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Aug 2021 06:54:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing NO_STR In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25202 ) Change subject: mgcp_client_vty: add missing NO_STR ...................................................................... Patch Set 1: Verified+1 Code-Review+2 trivial & important, let's merge it now -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed Gerrit-Change-Number: 25202 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 18 Aug 2021 06:54:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 06:54:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 18 Aug 2021 06:54:38 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add missing NO_STR In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25202 ) Change subject: mgcp_client_vty: add missing NO_STR ...................................................................... mgcp_client_vty: add missing NO_STR Fixes: 3f2c15 ("mgcp_client: allow to reset endpoints on startup") Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved; Verified Hoernchen: Looks good to me, but someone else must approve diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 81ce0e1..7ad1485 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -218,7 +218,7 @@ DEFUN(cfg_mgw_no_reset_ep_name, cfg_mgw_no_reset_ep_name_cmd, "no mgw reset-endpoint NAME", - MGW_STR "remove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" + NO_STR MGW_STR "remove an endpoint name from the reset-endpoint list, e.g. 'rtpbridge/*'\n" "Endpoint name, e.g. 'rtpbridge/*' or 'ds/e1-0/s-3/su16-4'.\n") { struct reset_ep *reset_ep; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: Ib2052dcfcfc26fa898e31ffee1e792856fab22ed Gerrit-Change-Number: 25202 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:06:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 18 Aug 2021 15:06:36 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: Code-Review+1 (2 comments) I did not test this but it looks meaningful to me. I guess you made sure that this still passes the TTCN3 tests. https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c File src/common/lchan.c: https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 34 PS4, Line 34: /* The IA message has disappeared since the timer was started. */ I guess this can happen from time to time. If this is an odd situation, maybe a debug log message might be a good idea? https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 78 PS4, Line 78: osmo_tdef_get(abis_T_defs, -15, OSMO_TDEF_US, -1)); The -15 looks a bit strange on the first look, but I found it in abis_T_defs[], We do not use define constants for that in this case i guess. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Aug 2021 15:06:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:15:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 18 Aug 2021 15:15:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25144 ) Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... Patch Set 2: (1 comment) unfortunately I do not really understand this. You want to have gprs_sns_event visible from other C-files, otherwise you wouln't put it in the header file. Maybe it helps if you would write in the commit message where gprs_sns_event is needed. https://gerrit.osmocom.org/c/libosmocore/+/25144/2/src/gb/gprs_ns_sns.c File src/gb/gprs_ns_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25144/2/src/gb/gprs_ns_sns.c at 276 PS2, Line 276: enum gprs_ns2_sns_event { maybe it makes sense to do the renaming in a different patch - this would be easier/faster to review. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Aug 2021 15:15:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:16:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Aug 2021 15:16:38 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c File src/common/lchan.c: https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 34 PS4, Line 34: /* The IA message has disappeared since the timer was started. */ > I guess this can happen from time to time. [?] If this situation arises, it must be from some channel release or failure, so there should be logging about what has happened to the lchan. https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 45 PS4, Line 45: /* Put RR IA msg into the AGCH queue of the BTS. */ comment dup https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 78 PS4, Line 78: osmo_tdef_get(abis_T_defs, -15, OSMO_TDEF_US, -1)); > The -15 looks a bit strange on the first look, but I found it in abis_T_defs[], We do not use define [?] incidentally we most often now use FSM state names and state -> T relations in struct osmo_tdef_state_timeout tables. There's no FSM here, so just using the plain X15 number, i.e. -15. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 18 Aug 2021 15:16:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:18:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Aug 2021 15:18:23 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25200/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25200/3//COMMIT_MSG at 10 PS3, Line 10: those on the VTY configuration, as timer group 'rsl'. group 'bts'! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 18 Aug 2021 15:18:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 18 Aug 2021 15:22:39 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: Code-Review+1 That is an interesting solution to the problem, also interesting that the nanoBTS does it the same way. I would have expected it would just send silent voice frames. I guess you did check back that this does not interfere with DTX somehow but I am also not sure what happens on the RTP side during a DTX silence period. I just wanted to make sure that you are aware of this. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 18 Aug 2021 15:22:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 15:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 18 Aug 2021 15:27:09 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 18 Aug 2021 15:27:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 18 16:25:57 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 18 Aug 2021 16:25:57 +0000 Subject: Change in osmo-pcu[master]: coverity: fix null deref from recent UL TBF leak fix References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25203 ) Change subject: coverity: fix null deref from recent UL TBF leak fix ...................................................................... coverity: fix null deref from recent UL TBF leak fix Fix a possible NULL deref, introduced in recent patch I8ce21be6836549b47a606c00b793d6f005964c5c / d8e8ea9c8f16e0a1d09c2ea4395e15eac7358ed2 Related: OS#5205 SYS#5561 CID#239246 Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf --- M src/bts.cpp 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/03/25203/1 diff --git a/src/bts.cpp b/src/bts.cpp index b5fdfee..a40e071 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1162,13 +1162,16 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + struct gprs_rlcmac_ul_tbf *ul_tbf; if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || - poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) + poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) { LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else if (ul_tbf) { + return; + } + ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf Gerrit-Change-Number: 25203 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 07:00:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 07:00:32 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: (2 comments) Thanks for your explaination. https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c File src/common/lchan.c: https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 34 PS4, Line 34: /* The IA message has disappeared since the timer was started. */ > If this situation arises, it must be from some channel release or failure, so there should be loggin [?] Done https://gerrit.osmocom.org/c/osmo-bts/+/25201/4/src/common/lchan.c at 78 PS4, Line 78: osmo_tdef_get(abis_T_defs, -15, OSMO_TDEF_US, -1)); > incidentally we most often now use FSM state names and state -> T relations in struct osmo_tdef_stat [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 07:00:32 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 08:13:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Aug 2021 08:13:20 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: > Patch Set 3: Code-Review+1 > > That is an interesting solution to the problem, also interesting that the nanoBTS does it the same way. I would have expected it would just send silent voice frames. > > I guess you did check back that this does not interfere with DTX somehow but I am also not sure what happens on the RTP side during a DTX silence period. I just wanted to make sure that you are aware of this. Hi dexter, this is a very good point about DTXd. As far as I can say, it's currently broken in osmo-bts-trx. An alternative solution to my approach would be to move FACCH frame injection to the upper layers. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Aug 2021 08:13:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 08:15:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Aug 2021 08:15:13 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/24846/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/24846/3//COMMIT_MSG at 1 PS3, Line 1: Parent: 6611e7f3 (allow to configure multiple oml remote-ip addresses) > So basically you're saying we need an ECU for EFR, AMR and HR [we oly have ecu_fr. [?] That would be ideal, I think. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 19 Aug 2021 08:15:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 08:20:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 19 Aug 2021 08:20:34 +0000 Subject: Change in osmo-pcu[master]: coverity: fix null deref from recent UL TBF leak fix In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25203 ) Change subject: coverity: fix null deref from recent UL TBF leak fix ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf Gerrit-Change-Number: 25203 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 19 Aug 2021 08:20:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Thu Aug 19 08:40:06 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 19 Aug 2021 08:40:06 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Debian_10/x86_64 In-Reply-To: References: Message-ID: <611e18f2df7c6_4fdd2b1fb9e2e60028829d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Debian_10/x86_64 Package network:osmocom:nightly/libgtpnl failed to build in Debian_10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: [ 26s] [144/207] installing fdisk-2.33.1-0.1 [ 26s] [145/207] installing libglib2.0-0-2.58.3-2+deb10u3 [ 27s] No schema files found: doing nothing. [ 27s] Processing triggers for libc-bin (2.28-10) ... [ 27s] [146/207] installing librtmp1-2.4+20151223.gitfa8646d.1-2 [ 27s] Processing triggers for libc-bin (2.28-10) ... [ 27s] [147/207] installing cpp-8-8.3.0-6 [ 27s] [148/207] installing cpp-4:8.3.0-1 [ 27s] [149/207] installing readline-common-7.0-5 [ 28s] [150/207] installing gzip-1.9-3 [ 28s] [151/207] installing perl-base-5.28.1-6+deb10u1 [ 28s] [152/207] installing grep-3.3-1 [ 28s] [153/207] installing libcroco3-0.6.12-3 [ 28s] Processing triggers for libc-bin (2.28-10) ... [ 28s] [154/207] installing bsdmainutils-11.1.2+b1 [ 28s] update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode [ 28s] update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode [ 28s] [155/207] installing gcc-8-8.3.0-6 [ 29s] [156/207] installing debconf-1.5.71 [ 29s] [157/207] installing init-system-helpers-1.56+nmu1 [ 29s] [158/207] installing gcc-4:8.3.0-1 [ 29s] [159/207] installing perl-modules-5.28-5.28.1-6+deb10u1 [28836s] qemu-kvm: terminating on signal 15 from pid 98129 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28836s] ### VM INTERACTION END ### [28836s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28836s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Thu Aug 19 08:54:16 2021 From: noreply at opensuse.org (OBS Notification) Date: Thu, 19 Aug 2021 08:54:16 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_18.04/x86_64 In-Reply-To: References: Message-ID: <611e1c39e6802_4fdd2b1fb9e2e6002912d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_18.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_18.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 44s] Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' [ 44s] dpkg-query: no packages found matching bash [ 44s] Removing 'diversion of /bin/sh to /bin/sh.distrib by bash' [ 44s] Adding 'diversion of /bin/sh to /bin/sh.distrib by dash' [ 44s] Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash' [ 44s] Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' [ 44s] [162/233] installing libcroco3-0.6.12-2 [ 44s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 44s] [163/233] installing libnih-dbus1-1.0.3-6ubuntu2 [ 44s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 44s] [164/233] installing libosmocodec0-1.5.1.194.41589.202108190026 [ 44s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 44s] [165/233] installing libosmovty9-1.5.1.194.41589.202108190026 [ 44s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 44s] [166/233] installing bsdmainutils-11.1.2ubuntu1 [ 44s] update-alternatives: using /usr/bin/bsd-write to provide /usr/bin/write (write) in auto mode [ 44s] update-alternatives: using /usr/bin/bsd-from to provide /usr/bin/from (from) in auto mode [ 44s] [167/233] installing libosmogsm16-1.5.1.194.41589.202108190026 [ 44s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 44s] [168/233] installing libosmousb0-1.5.1.194.41589.202108190026 [ 45s] Processing triggers for libc-bin (2.27-3ubuntu1) ... [ 45s] [169/233] installing libkrb5-26-heimdal-7.5.0+dfsg-1 [28849s] qemu-kvm: terminating on signal 15 from pid 7120 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28849s] ### VM INTERACTION END ### [28849s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28849s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Thu Aug 19 09:09:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 09:09:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use module parameter mp_test_ip (statsd) References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 ) Change subject: MGCP_Test: do not use module parameter mp_test_ip (statsd) ...................................................................... MGCP_Test: do not use module parameter mp_test_ip (statsd) The module parameter mp_test_ip was added with the following commit: Change-Id I61e23e264bc85eb36d07431c7839fb445c110947 There is already mp_local_ipv4, which has the same function, so we should remove mp_test_ip again and use mp_local_ipv4 to set up the receiving of statsd information. Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Related: SYS#5535 --- M mgw/MGCP_Test.ttcn 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/04/25204/1 diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 3aa7926..b0891f5 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -78,7 +78,6 @@ PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; PortNumber mp_mgw_statsd_port := 8125; - charstring mp_test_ip := "127.0.0.1"; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -150,7 +149,7 @@ connect(vc_OsmuxEM:CTRL, self:OsmuxEM); } - f_init_statsd("VirtCallAgent", vc_STATSD, mp_test_ip, mp_mgw_statsd_port); + f_init_statsd("VirtCallAgent", vc_STATSD, mp_local_ipv4, mp_mgw_statsd_port); connect(self:STATSD_PROC, vc_STATSD:STATSD_PROC); f_statsd_reset(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Gerrit-Change-Number: 25204 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 09:15:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 09:15:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use module parameter mp_test_ip (statsd) In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 ) Change subject: MGCP_Test: do not use module parameter mp_test_ip (statsd) ...................................................................... Patch Set 1: The reason for the test failure was that mp_test_ip was never configured in the test configuration. Locally that does not hurt since the default is 127.0.0.1. I am now using a different variable. I do not see much benefit from adding another module parameter, so mp_local_ipv4 should be fine. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Gerrit-Change-Number: 25204 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Aug 2021 09:15:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 09:53:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 09:53:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 to look at the new patch set (#4). Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... MGCP_Test: add control interface to MGW testsuite The testsuite for osmo-mgw does not use the control interface yet. Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 --- M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 3 files changed, 13 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/20/24820/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:00:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:00:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 4: Thanks for reviewing this. I have fixed it so that it fits into current master again. Even though we currently do not actively use the control interface in the MGCP tests I think that it makes sense to merge this. Sooner or later there will be testcases that use the control interface. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Aug 2021 10:00:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:20:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:20:27 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25198 ) Change subject: add VTY transcript testing ...................................................................... Patch Set 3: Verified+1 Code-Review+1 (1 comment) I think this is a good Idea. Maybe also the manual might need an update. https://gerrit.osmocom.org/c/osmo-bts/+/25198/3/src/common/main.c File src/common/main.c: https://gerrit.osmocom.org/c/osmo-bts/+/25198/3/src/common/main.c at 85 PS3, Line 85: " --vty-test VTY test mode. Do not connect to BSC, do not exit.\n" I would make it even more generic like --vty-only. This feature is not only valuable for testing but also for setting up an initial BTS configuration via VTY. Some folks prefer to do it via telnet, rather then via manual editing. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 10:20:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:22:32 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:22:32 +0000 Subject: Change in osmo-pcu[master]: coverity: fix null deref from recent UL TBF leak fix In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25203 ) Change subject: coverity: fix null deref from recent UL TBF leak fix ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf Gerrit-Change-Number: 25203 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 19 Aug 2021 10:22:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:25:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:25:35 +0000 Subject: Change in libosmocore[master]: tests/stats: show how last item sent may be wrong References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25205 ) Change subject: tests/stats: show how last item sent may be wrong ...................................................................... tests/stats: show how last item sent may be wrong Extend the test to illustrate the bug described in the related issue, which will be fixed with the next patch. Related: OS#5215 Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f --- M tests/stats/stats_test.c M tests/stats/stats_test.err 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/25205/1 diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 15f50d2..6702131 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -442,6 +442,16 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 2); + fprintf(stderr, "report (group 1, no update, send last item (!= last max), OS#5215):\n"); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 0); /* BUG: should be 2! */ + + fprintf(stderr, "report (group 1, no update, nothing to send):\n"); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 0); + fprintf(stderr, "report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 69104d9..f76783c 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -115,6 +115,8 @@ report (group 1, item 1 update twice, check max): test2: item p= g=test.one i=1 n=item.a v=20 u=ma test1: item p= g=test.one i=1 n=item.a v=20 u=ma +report (group 1, no update, send last item (!= last max), OS#5215): +report (group 1, no update, nothing to send): report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f Gerrit-Change-Number: 25205 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:25:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:25:36 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... stats: send real last value if no new values come Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe --- M include/osmocom/core/stat_item.h M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.err 4 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/25206/1 diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index fbe0433..f4f85cf 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -32,6 +32,10 @@ int16_t last_offs; /*! value FIFO */ struct osmo_stat_item_value values[0]; + /* internal use by stats API: indicate if the last value sent to + * reporters was actually the last value in the FIFO. This may not be + * the case, as always a max of 1 or more values gets sent (OS#5215) */ + bool stats_last_sent_was_max; }; /*! Statistics item description */ diff --git a/src/stats.c b/src/stats.c index 411ecff..f06515d 100644 --- a/src/stats.c +++ b/src/stats.c @@ -715,6 +715,11 @@ if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); + + /* Also send it in case a different max value was sent + * previously (OS#5215) */ + if (!item->stats_last_sent_was_max) + have_value = 1; } else { int32_t next_val; /* If we have multiple values only send the max */ @@ -722,6 +727,8 @@ value = OSMO_MAX(value, next_val); } + item->stats_last_sent_was_max = (osmo_stat_item_get_last(item) == value); + llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { if (!srep->running) continue; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 6702131..168b8ad 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -445,7 +445,7 @@ fprintf(stderr, "report (group 1, no update, send last item (!= last max), OS#5215):\n"); send_count = 0; osmo_stats_report(); - OSMO_ASSERT(send_count == 0); /* BUG: should be 2! */ + OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, no update, nothing to send):\n"); send_count = 0; diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index f76783c..6590c8b 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -116,6 +116,8 @@ test2: item p= g=test.one i=1 n=item.a v=20 u=ma test1: item p= g=test.one i=1 n=item.a v=20 u=ma report (group 1, no update, send last item (!= last max), OS#5215): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma report (group 1, no update, nothing to send): report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:27:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:27:50 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 3: Code-Review+1 looks good to me. Reminds me a bit on how the osmo-mgcp-client vty is used. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 10:27:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:30:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:30:35 +0000 Subject: Change in libosmocore[master]: tests/stats: show how last item sent may be wrong In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25205 to look at the new patch set (#2). Change subject: tests/stats: show how last item sent may be wrong ...................................................................... tests/stats: show how last item sent may be wrong Extend the test to illustrate the bug described in the related issue, which will be fixed with the next patch. Related: OS#5215 Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f --- M tests/stats/stats_test.c M tests/stats/stats_test.err 2 files changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/25205/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f Gerrit-Change-Number: 25205 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:30:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:30:35 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25206 to look at the new patch set (#2). Change subject: stats: send real last value if no new values come ...................................................................... stats: send real last value if no new values come Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe --- M include/osmocom/core/stat_item.h M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.err 4 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/25206/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:30:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:30:54 +0000 Subject: Change in libosmocore[master]: tests: add 'make update_exp' target References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25207 ) Change subject: tests: add 'make update_exp' target ...................................................................... tests: add 'make update_exp' target Add convenience target to update the test output. Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 --- M tests/Makefile.am 1 file changed, 179 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/25207/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 0f587ce..5c6f30c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -421,6 +421,185 @@ TESTSUITE = $(srcdir)/testsuite +update_exp: $(check_PROGRAMS) + a5/a5_test \ + >$(srcdir)/a5/a5_test.ok + abis/abis_test \ + >$(srcdir)/abis/abis_test.ok +if ENABLE_CTRL + ctrl/ctrl_test \ + >$(srcdir)/ctrl/ctrl_test.ok +endif + kasumi/kasumi_test \ + >$(srcdir)/kasumi/kasumi_test.ok + bits/bitrev_test \ + >$(srcdir)/bits/bitrev_test.ok + bitvec/bitvec_test \ + >$(srcdir)/bitvec/bitvec_test.ok + bits/bitcomp_test \ + >$(srcdir)/bits/bitcomp_test.ok + bits/bitfield_test \ + >$(srcdir)/bits/bitfield_test.ok + conv/conv_test \ + >$(srcdir)/conv/conv_test.ok + conv/conv_gsm0503_test \ + >$(srcdir)/conv/conv_gsm0503_test.ok + coding/coding_test \ + >$(srcdir)/coding/coding_test.ok + msgb/msgb_test \ + >$(srcdir)/msgb/msgb_test.ok + gea/gea_test \ + >$(srcdir)/gea/gea_test.ok +if ENABLE_MSGFILE + cp $(srcdir)/msgfile/msgconfig.cfg . + msgfile/msgfile_test \ + >$(srcdir)/msgfile/msgfile_test.ok +endif + sms/sms_test \ + >$(srcdir)/sms/sms_test.ok + smscb/smscb_test \ + >$(srcdir)/smscb/smscb_test.ok + ussd/ussd_test \ + >$(srcdir)/ussd/ussd_test.ok + auth/milenage_test \ + >$(srcdir)/auth/milenage_test.ok + comp128/comp128_test \ + >$(srcdir)/comp128/comp128_test.ok + lapd/lapd_test \ + >$(srcdir)/lapd/lapd_test.ok + gsm0502/gsm0502_test \ + >$(srcdir)/gsm0502/gsm0502_test.ok + dtx/dtx_gsm0503_test \ + >$(srcdir)/dtx/dtx_gsm0503_test.ok + gsm0808/gsm0808_test \ + >$(srcdir)/gsm0808/gsm0808_test.ok + gsm29205/gsm29205_test \ + >$(srcdir)/gsm29205/gsm29205_test.ok + gsm0408/gsm0408_test \ + >$(srcdir)/gsm0408/gsm0408_test.ok + gsm48/rest_octets_test \ + >$(srcdir)/gsm48/rest_octets_test.ok + gprs/gprs_test \ + >$(srcdir)/gprs/gprs_test.ok + logging/logging_test \ + >$(srcdir)/logging/logging_test.ok \ + 2>$(srcdir)/logging/logging_test.err + codec/codec_test \ + >$(srcdir)/codec/codec_test.ok + codec/codec_ecu_fr_test \ + >$(srcdir)/codec/codec_ecu_fr_test.ok +if ENABLE_GB + fr/fr_test \ + >$(srcdir)/fr/fr_test.ok +endif + loggingrb/loggingrb_test \ + >$(srcdir)/loggingrb/logging_test.ok \ + 2>$(srcdir)/loggingrb/logging_test.err + strrb/strrb_test \ + >$(srcdir)/strrb/strrb_test.ok +if ENABLE_VTY + cp $(srcdir)/vty/*.cfg . + vty/vty_test \ + >$(srcdir)/vty/vty_test.ok \ + 2>$(srcdir)/vty/vty_test.err +endif +if ENABLE_GB + gb/gprs_bssgp_test \ + >$(srcdir)/gb/gprs_bssgp_test.ok + gb/gprs_bssgp_rim_test \ + >$(srcdir)/gb/gprs_bssgp_rim_test.ok + gb/gprs_ns_test \ + >$(srcdir)/gb/gprs_ns_test.ok + gb/gprs_ns2_test \ + >$(srcdir)/gb/gprs_ns2_test.ok +endif +if ENABLE_UTILITIES + utils/utils_test \ + >$(srcdir)/utils/utils_test.ok +endif +if !EMBEDDED + stats/stats_test \ + >$(srcdir)/stats/stats_test.ok \ + 2>$(srcdir)/stats/stats_test.err +endif + write_queue/wqueue_test \ + >$(srcdir)/write_queue/wqueue_test.ok +if ENABLE_GB + $(srcdir)/gb/bssgp_fc_tests.sh gb \ + >$(srcdir)/gb/bssgp_fc_tests.ok \ + 2>$(srcdir)/gb/bssgp_fc_tests.err +endif +if ENABLE_PCSC + sim/sim_test \ + >$(srcdir)/sim/sim_test.ok +endif + timer/timer_test \ + >$(srcdir)/timer/timer_test.ok + timer/clk_override_test \ + >$(srcdir)/timer/clk_override_test.ok + tlv/tlv_test \ + >$(srcdir)/tlv/tlv_test.ok + gsup/gsup_test \ + >$(srcdir)/gsup/gsup_test.ok \ + 2>$(srcdir)/gsup/gsup_test.err +if ENABLE_CTRL + fsm/fsm_test \ + >$(srcdir)/fsm/fsm_test.ok \ + 2>$(srcdir)/fsm/fsm_test.err + fsm/fsm_dealloc_test \ + 2>$(srcdir)/fsm/fsm_dealloc_test.err +endif + oap/oap_test \ + >$(srcdir)/oap/oap_test.ok + oap/oap_client_test \ + >$(srcdir)/oap/oap_client_test.ok \ + 2>$(srcdir)/oap/oap_client_test.err + socket/socket_test \ + >$(srcdir)/socket/socket_test.ok \ + 2>$(srcdir)/socket/socket_test.err + socket/socket_sctp_test \ + >$(srcdir)/socket/socket_sctp_test.ok \ + 2>$(srcdir)/socket/socket_sctp_test.err + $(srcdir)/osmo-auc-gen/osmo-auc-gen_test.sh ../utils/osmo-auc-gen \ + >$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.ok \ + 2>$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.err + endian/endian_test \ + >$(srcdir)/endian/endian_test.ok + sercomm/sercomm_test \ + >$(srcdir)/sercomm/sercomm_test.ok + prbs/prbs_test \ + >$(srcdir)/prbs/prbs_test.ok + gsm23003/gsm23003_test \ + >$(srcdir)/gsm23003/gsm23003_test.ok + gsm23236/gsm23236_test \ + >$(srcdir)/gsm23236/gsm23236_test.ok + tdef/tdef_test \ + >$(srcdir)/tdef/tdef_test.ok + sockaddr_str/sockaddr_str_test \ + >$(srcdir)/sockaddr_str/sockaddr_str_test.ok + use_count/use_count_test \ + >$(srcdir)/use_count/use_count_test.ok \ + 2>$(srcdir)/use_count/use_count_test.err + context/context_test \ + >$(srcdir)/context/context_test.ok +if !EMBEDDED + exec/exec_test \ + >$(srcdir)/exec/exec_test.ok \ + 2>$(srcdir)/exec/exec_test.err +endif + i460_mux/i460_mux_test \ + >$(srcdir)/i460_mux/i460_mux_test.ok + bitgen/bitgen_test \ + >$(srcdir)/bitgen/bitgen_test.ok + gad/gad_test \ + >$(srcdir)/gad/gad_test.ok + bsslap/bsslap_test \ + >$(srcdir)/bsslap/bsslap_test.ok + bssmap_le/bssmap_le_test \ + >$(srcdir)/bssmap_le/bssmap_le_test.ok + it_q/it_q_test \ + >$(srcdir)/it_q/it_q_test.ok + check-local: atconfig $(TESTSUITE) [ -e /proc/cpuinfo ] && cat /proc/cpuinfo $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 Gerrit-Change-Number: 25207 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:32:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:32:09 +0000 Subject: Change in osmo-bts[master]: jenkins: enable new flag --enable-external-tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25199 ) Change subject: jenkins: enable new flag --enable-external-tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca Gerrit-Change-Number: 25199 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 10:32:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:34:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 10:34:09 +0000 Subject: Change in libosmocore[master]: tests: add 'make update_exp' target In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25207 ) Change subject: tests: add 'make update_exp' target ...................................................................... Patch Set 1: Code-Review+1 looks like something that is easy to forget to update when adding new tests. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 Gerrit-Change-Number: 25207 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 19 Aug 2021 10:34:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 10:41:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 10:41:21 +0000 Subject: Change in libosmocore[master]: tests: add 'make update_exp' target In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25207 ) Change subject: tests: add 'make update_exp' target ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > looks like something that is easy to forget to update when adding new tests. Right, but it's very useful to update test output. I think Neels added something similar in osmo-hlr. If it does get forgotten to update, it should not be a big problem since it's just a convenience function and will get noticed once somebody tries to use it to update the test output for the test that was forgotten. So they can just fix it up then. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 Gerrit-Change-Number: 25207 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 19 Aug 2021 10:41:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:06:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 12:06:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use module parameter mp_test_ip (statsd) In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 ) Change subject: MGCP_Test: do not use module parameter mp_test_ip (statsd) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Gerrit-Change-Number: 25204 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Aug 2021 12:06:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:09:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 19 Aug 2021 12:09:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Aug 2021 12:09:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:23:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 12:23:33 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#7). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c M tests/handover/handover_test.c 9 files changed, 328 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:26:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 12:26:07 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add OSMO_ASSERT on pool parameter References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25208 ) Change subject: mgcp_client_vty: add OSMO_ASSERT on pool parameter ...................................................................... mgcp_client_vty: add OSMO_ASSERT on pool parameter When the function mgcp_client_pool_vty_init is called with pool = NULL, then it segfaults. Lets put an OSMO_ASSERT() on pool to make clear that a pool must be present before initalizing the VTY on it. Change-Id: I36893bf5341d4ad21161e92d2d25d284647f7d18 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/08/25208/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7ad1485..7d41ee1 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -517,6 +517,9 @@ * \param[in] pool user provided memory to store the configured MGCP client (MGW) pool. */ void mgcp_client_pool_vty_init(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool) { + /* A pool must be allocated before this function can be called */ + OSMO_ASSERT(pool); + /* Never allow this function to be called twice on the same pool */ OSMO_ASSERT(!pool->vty_indent); OSMO_ASSERT(!pool->vty_node); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I36893bf5341d4ad21161e92d2d25d284647f7d18 Gerrit-Change-Number: 25208 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:59:29 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 12:59:29 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fix docstrings for mgw-pool References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25209 ) Change subject: mgcp_client_vty: fix docstrings for mgw-pool ...................................................................... mgcp_client_vty: fix docstrings for mgw-pool The interactive VTY commands to reconnect, block and unblock MGCP clients from the pool are not displayed properly because the doctring lacks the reference number. Change-Id: I0367c33f5cd02978e3f14b1343dfaafa1ea62370 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/09/25209/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7d41ee1..7779e2c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -404,7 +404,7 @@ DEFUN_ATTR(mgw_reconnect, mgw_reconnect_cmd, "mgw <0-255> reconnect", - MGW_STR "reconfigure and reconnect MGCP client\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "reconfigure and reconnect MGCP client\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; @@ -454,7 +454,7 @@ DEFUN_ATTR(mgw_block, mgw_block_cmd, "mgw <0-255> block", - MGW_STR "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; @@ -471,7 +471,7 @@ DEFUN_ATTR(mgw_unblock, mgw_unblock_cmd, "mgw <0-255> unblock", - MGW_STR "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0367c33f5cd02978e3f14b1343dfaafa1ea62370 Gerrit-Change-Number: 25209 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 12:59:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 19 Aug 2021 12:59:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: cosmetic: doc string should terminated with \n References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25210 ) Change subject: mgcp_client_vty: cosmetic: doc string should terminated with \n ...................................................................... mgcp_client_vty: cosmetic: doc string should terminated with \n Change-Id: I34c16490e08af0c9853f1a794113c191bb65d09a --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/10/25210/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7779e2c..34502af 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -351,7 +351,7 @@ } DEFUN_ATTR(cfg_mgw, - cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number", CMD_ATTR_IMMEDIATE) + cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I34c16490e08af0c9853f1a794113c191bb65d09a Gerrit-Change-Number: 25210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add OSMO_ASSERT on pool parameter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25208 ) Change subject: mgcp_client_vty: add OSMO_ASSERT on pool parameter ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I36893bf5341d4ad21161e92d2d25d284647f7d18 Gerrit-Change-Number: 25208 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 19 Aug 2021 14:47:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:24 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fix docstrings for mgw-pool In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25209 ) Change subject: mgcp_client_vty: fix docstrings for mgw-pool ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0367c33f5cd02978e3f14b1343dfaafa1ea62370 Gerrit-Change-Number: 25209 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Thu, 19 Aug 2021 14:47:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:33 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: cosmetic: doc string should terminated with \n In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25210 ) Change subject: mgcp_client_vty: cosmetic: doc string should terminated with \n ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I34c16490e08af0c9853f1a794113c191bb65d09a Gerrit-Change-Number: 25210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 14:47:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: add OSMO_ASSERT on pool parameter In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25208 ) Change subject: mgcp_client_vty: add OSMO_ASSERT on pool parameter ...................................................................... mgcp_client_vty: add OSMO_ASSERT on pool parameter When the function mgcp_client_pool_vty_init is called with pool = NULL, then it segfaults. Lets put an OSMO_ASSERT() on pool to make clear that a pool must be present before initalizing the VTY on it. Change-Id: I36893bf5341d4ad21161e92d2d25d284647f7d18 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7ad1485..7d41ee1 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -517,6 +517,9 @@ * \param[in] pool user provided memory to store the configured MGCP client (MGW) pool. */ void mgcp_client_pool_vty_init(int parent_node, int mgw_node, const char *indent, struct mgcp_client_pool *pool) { + /* A pool must be allocated before this function can be called */ + OSMO_ASSERT(pool); + /* Never allow this function to be called twice on the same pool */ OSMO_ASSERT(!pool->vty_indent); OSMO_ASSERT(!pool->vty_node); -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I36893bf5341d4ad21161e92d2d25d284647f7d18 Gerrit-Change-Number: 25208 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:35 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fix docstrings for mgw-pool In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25209 ) Change subject: mgcp_client_vty: fix docstrings for mgw-pool ...................................................................... mgcp_client_vty: fix docstrings for mgw-pool The interactive VTY commands to reconnect, block and unblock MGCP clients from the pool are not displayed properly because the doctring lacks the reference number. Change-Id: I0367c33f5cd02978e3f14b1343dfaafa1ea62370 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7d41ee1..7779e2c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -404,7 +404,7 @@ DEFUN_ATTR(mgw_reconnect, mgw_reconnect_cmd, "mgw <0-255> reconnect", - MGW_STR "reconfigure and reconnect MGCP client\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "reconfigure and reconnect MGCP client\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; @@ -454,7 +454,7 @@ DEFUN_ATTR(mgw_block, mgw_block_cmd, "mgw <0-255> block", - MGW_STR "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "block MGCP client so that it won't be used for new calls\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; @@ -471,7 +471,7 @@ DEFUN_ATTR(mgw_unblock, mgw_unblock_cmd, "mgw <0-255> unblock", - MGW_STR "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) + MGW_STR "reference number\n" "unblock MGCP client so that it will be available for new calls\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I0367c33f5cd02978e3f14b1343dfaafa1ea62370 Gerrit-Change-Number: 25209 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:47:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:47:36 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: cosmetic: doc string should terminated with \n In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25210 ) Change subject: mgcp_client_vty: cosmetic: doc string should terminated with \n ...................................................................... mgcp_client_vty: cosmetic: doc string should terminated with \n Change-Id: I34c16490e08af0c9853f1a794113c191bb65d09a --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 7779e2c..34502af 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -351,7 +351,7 @@ } DEFUN_ATTR(cfg_mgw, - cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number", CMD_ATTR_IMMEDIATE) + cfg_mgw_cmd, "mgw <0-255>", "Select a MGCP client config to setup\n" "reference number\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I34c16490e08af0c9853f1a794113c191bb65d09a Gerrit-Change-Number: 25210 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:48:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:48:03 +0000 Subject: Change in libosmocore[master]: tests/stats: show how last item sent may be wrong In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25205 ) Change subject: tests/stats: show how last item sent may be wrong ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f Gerrit-Change-Number: 25205 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 14:48:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:48:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:48:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 19 Aug 2021 14:48:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:48:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:48:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use module parameter mp_test_ip (statsd) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 ) Change subject: MGCP_Test: do not use module parameter mp_test_ip (statsd) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Gerrit-Change-Number: 25204 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Aug 2021 14:48:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:48:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:48:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: do not use module parameter mp_test_ip (statsd) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 ) Change subject: MGCP_Test: do not use module parameter mp_test_ip (statsd) ...................................................................... MGCP_Test: do not use module parameter mp_test_ip (statsd) The module parameter mp_test_ip was added with the following commit: Change-Id I61e23e264bc85eb36d07431c7839fb445c110947 There is already mp_local_ipv4, which has the same function, so we should remove mp_test_ip again and use mp_local_ipv4 to set up the receiving of statsd information. Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Related: SYS#5535 --- M mgw/MGCP_Test.ttcn 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index 3aa7926..b0891f5 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -78,7 +78,6 @@ PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; PortNumber mp_mgw_statsd_port := 8125; - charstring mp_test_ip := "127.0.0.1"; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -150,7 +149,7 @@ connect(vc_OsmuxEM:CTRL, self:OsmuxEM); } - f_init_statsd("VirtCallAgent", vc_STATSD, mp_test_ip, mp_mgw_statsd_port); + f_init_statsd("VirtCallAgent", vc_STATSD, mp_local_ipv4, mp_mgw_statsd_port); connect(self:STATSD_PROC, vc_STATSD:STATSD_PROC); f_statsd_reset(); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I70f33aed4102c67118cc6701c2578a70c0dfe604 Gerrit-Change-Number: 25204 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:49:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:49:51 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 19 Aug 2021 14:49:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:50:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:50:02 +0000 Subject: Change in osmo-bsc[master]: doc: Improve ACC ramp documentation In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25087 ) Change subject: doc: Improve ACC ramp documentation ...................................................................... doc: Improve ACC ramp documentation Commit below added support for ACC ramping based on channel load, but documentation was not updated with it. Fixes: 1e5e7004dc7987b23f5791366efdf374675e346b Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 --- M doc/manuals/chapters/bts.adoc 1 file changed, 24 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/chapters/bts.adoc b/doc/manuals/chapters/bts.adoc index 1a693f9..4662c1a 100644 --- a/doc/manuals/chapters/bts.adoc +++ b/doc/manuals/chapters/bts.adoc @@ -470,23 +470,35 @@ <2> Rotate the generated permanent list subsets every 20 seconds in a fair fashion Furthermore, cells with large number of subscribers and limited overlapping -coverage may become overwhelmed with traffic after the cell starts brodacasting. +coverage may become overwhelmed with traffic after the cell starts broadcasting. This is especially true in areas with little to no reception from other networks. To manage the load, OsmoBSC has an option to further restrict the rotating ACC subset during startup and slowly increment it over time and taking -current load into account. +current channel load into account. +The channel load will always be checked, even after the start up procedure, at +an interval specified by the `access-control-class-ramping-step-interval` VTY +command. It will either keep, increase or decrease the size of the current +rotating ACC subset based on certain thresholds configured by +the `access-control-class-ramping-chan-load` VTY command. +As a result, if ACC ramping is enabled (`access-control-class-ramping`), the +number of concurrent allowed ACCs will start with *1* and will fluctuate over +time based on channel load in the interval *[1, `access-control-rotate`]*. This +means at any time there will be at least *1* allowed ACC which, together with +ACC rotation, will prevent from subscriber being unable to use the network. .Example: Ramp up access to the BTS after startup ---- network bts 0 access-control-class-ramping <1> - access-control-class-ramping-step-interval 30 <2> - access-control-class-ramping-step-size 1 <3> + access-control-class-ramping-step-size 1 <2> + access-control-class-ramping-step-interval 30 <3> + access-control-class-ramping-chan-load 71 89 <4> ---- <1> Turn on access-control-class ramping -<2> Enable more ACCs every 30 seconds -<3> At each step enable one more ACC +<2> At each step enable one more ACC +<3> Check whether to allow more/less ACCs every 30 seconds +<4> The rotate subset size is increased if channel load is < 71%, and decreased if channel load is > 89%. Here a full example of all the mechanisms combined can be found: @@ -503,14 +515,16 @@ access-control-class-rotate-quantum 20 <3> access-control-class-ramping <4> access-control-class-ramping-step-size 1 <5> - access-control-class-ramping-step-interval dynamic <6> + access-control-class-ramping-step-interval 30 <6> + access-control-class-ramping-chan-load 71 89 <7> ---- <1> ACCs 5-9 are administratively barred, ie they will never be used until somebody manually enables them in VTY config <2> Allow access through temporary subsets of len=3 from ACC set 0-4: (0,1,2) -> (1,2,3) -> (2,3,4) -> (3,4,0), etc. <3> Each subset iteration will happen every 20 seconds -<4> During startup since ramping is enabled, it will further restrict the rotate subset size parameter (len=3) -<5> The rotate subset size parameter will be increased one ACC slot at a time: len=0 -> len=1 -> len=2 -> len=3 -<6> The time until the subset size is further increased will be calculated based on current channel load +<4> Ramping is enabled: during startup it will further restrict the rotate subset size parameter (start at len=1, end at len=3) +<5> The rotate subset size parameter will be increased or decreased one ACC slot at a time: len=1 -> len=2 -> len=3 +<6> Check to further increase or decrease the rotate subset size based on current channel load is triggered every 30 seconds +<7> The rotate subset size is increased if channel load is < 71%, and decreased if channel load is > 89%. === Configuring FACCH/SACCH repetition -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25087 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8701386b35ccdebfc843fd00535091648e52f739 Gerrit-Change-Number: 25087 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:50:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:50:16 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25198 ) Change subject: add VTY transcript testing ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 14:50:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:50:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:50:48 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 19 Aug 2021 14:50:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:51:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:51:35 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 19 Aug 2021 14:51:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 19 14:51:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 19 Aug 2021 14:51:42 +0000 Subject: Change in osmo-pcu[master]: coverity: fix null deref from recent UL TBF leak fix In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25203 ) Change subject: coverity: fix null deref from recent UL TBF leak fix ...................................................................... coverity: fix null deref from recent UL TBF leak fix Fix a possible NULL deref, introduced in recent patch I8ce21be6836549b47a606c00b793d6f005964c5c / d8e8ea9c8f16e0a1d09c2ea4395e15eac7358ed2 Related: OS#5205 SYS#5561 CID#239246 Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf --- M src/bts.cpp 1 file changed, 6 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve dexter: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index b5fdfee..a40e071 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1162,13 +1162,16 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + struct gprs_rlcmac_ul_tbf *ul_tbf; if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || - poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) + poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) { LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else if (ul_tbf) { + return; + } + ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf Gerrit-Change-Number: 25203 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 07:59:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 07:59:11 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fixing docstring References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25211 ) Change subject: mgcp_client_vty: fixing docstring ...................................................................... mgcp_client_vty: fixing docstring The docstring in the VTY command that is used to remove MGCP client instances lacks the NO_STR constant. Change-Id: I53f3e763a77ed8be78c5a51b1472f4b70bade9d4 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/11/25211/1 diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 34502af..8719e3c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -374,7 +374,7 @@ DEFUN_ATTR(cfg_no_mgw, cfg_no_mgw_cmd, - "no mgw <0-255>", "Select a MGCP client config to remove\n" "reference number", CMD_ATTR_IMMEDIATE) + "no mgw <0-255>", NO_STR "Select a MGCP client config to remove\n" "reference number\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53f3e763a77ed8be78c5a51b1472f4b70bade9d4 Gerrit-Change-Number: 25211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:14:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 08:14:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: MGCP_Test: add control interface to MGW testsuite In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 ) Change subject: MGCP_Test: add control interface to MGW testsuite ...................................................................... MGCP_Test: add control interface to MGW testsuite The testsuite for osmo-mgw does not use the control interface yet. Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 --- M mgw/MGCP_Test.ttcn M mgw/gen_links.sh M mgw/regen_makefile.sh 3 files changed, 13 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn index b0891f5..b5b91f0 100644 --- a/mgw/MGCP_Test.ttcn +++ b/mgw/MGCP_Test.ttcn @@ -34,6 +34,9 @@ import from StatsD_CodecPort all; import from StatsD_CodecPort_CtrlFunct all; import from StatsD_Checker all; + import from Osmocom_CTRL_Functions all; + import from Osmocom_CTRL_Types all; + import from Osmocom_CTRL_Adapter all; const charstring c_mgw_domain := "mgw"; const charstring c_mgw_ep_rtpbridge := "rtpbridge/"; @@ -41,7 +44,7 @@ /* any variables declared in the component will be available to * all functions that 'run on' the named component, similar to * class members in C++ */ - type component dummy_CT extends StatsD_ConnHdlr { + type component dummy_CT extends StatsD_ConnHdlr, CTRL_Adapter_CT { port MGCP_CODEC_PT MGCP; var boolean initialized := false; var ConnectionId g_mgcp_conn_id := -1; @@ -78,6 +81,7 @@ PortNumber mp_local_rtp_port_base := 10000; PortNumber mp_local_osmux_port := 1985; PortNumber mp_mgw_statsd_port := 8125; + PortNumber mp_mgw_ctrl_port := 4267; } private function f_vty_enable_osmux(boolean osmux_on) runs on dummy_CT { @@ -155,6 +159,8 @@ f_statsd_reset(); } + f_ipa_ctrl_start_client(mp_remote_ipv4, mp_mgw_ctrl_port); + if (isvalue(ep)) { /* do a DLCX on all connections of the EP */ f_dlcx_ignore(valueof(ep)); diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh index 6ca53a6..d591277 100755 --- a/mgw/gen_links.sh +++ b/mgw/gen_links.sh @@ -46,6 +46,9 @@ FILES+="Osmocom_VTY_Functions.ttcn " FILES+="RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc " FILES+="StatsD_Types.ttcn StatsD_CodecPort.ttcn StatsD_CodecPort_CtrlFunct.ttcn StatsD_CodecPort_CtrlFunctdef.cc StatsD_Checker.ttcn " +FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc " +FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn " + gen_links $DIR $FILES ignore_pp_results diff --git a/mgw/regen_makefile.sh b/mgw/regen_makefile.sh index 2368c77..46dd587 100755 --- a/mgw/regen_makefile.sh +++ b/mgw/regen_makefile.sh @@ -1,5 +1,7 @@ #!/bin/sh -FILES="*.ttcn SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc StatsD_CodecPort_CtrlFunctdef.cc " +FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc OSMUX_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IP_EncDec.cc StatsD_CodecPort_CtrlFunctdef.cc " + +export CPPFLAGS_TTCN3="-DIPA_EMULATION_CTRL" ../regen-makefile.sh MGCP_Test.ttcn $FILES -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24820 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I7324802bf6e692ce8b7d9b269dd2385a7d3d0d77 Gerrit-Change-Number: 24820 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:20:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 08:20:08 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fixing docstring In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25211 ) Change subject: mgcp_client_vty: fixing docstring ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53f3e763a77ed8be78c5a51b1472f4b70bade9d4 Gerrit-Change-Number: 25211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 20 Aug 2021 08:20:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:21:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 20 Aug 2021 08:21:27 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 2: TODO-RELEASE due to ABI breakage? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 08:21:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:25:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 08:25:05 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 2: A bit more context in the commit message would be good. I had problems recently when using the stats from TTCN3 but I think it was not related to this in particular. So the current behavior is that when no new values are acquired the results in the stats will be 0 after some time? I think it would help when you describe the behavior before your patch and why this behavior is a problem. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 08:25:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:29:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 08:29:48 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 2: I found this in the ticket: "if no more osmo_stat_item values arrive, and "flush-period 0" (default) is set in the vty stats config, there is no logic to report the last osmo_stats_item value (0) if it is different from what was reported previously (20) so on the receiving statsd, it looks like the value stays at a constant of 20 instead of 0" Still having difficulties to get smart out of this. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 08:29:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:31:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 08:31:33 +0000 Subject: Change in libosmocore[master]: tests: add 'make update_exp' target In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25207 ) Change subject: tests: add 'make update_exp' target ...................................................................... Patch Set 1: Code-Review+2 > Patch Set 1: > > > Patch Set 1: Code-Review+1 > > > > looks like something that is easy to forget to update when adding new tests. > > Right, but it's very useful to update test output. I think Neels added something similar in osmo-hlr. > > If it does get forgotten to update, it should not be a big problem since it's just a convenience function and will get noticed once somebody tries to use it to update the test output for the test that was forgotten. So they can just fix it up then. You are right and its used by developers only anyway. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 Gerrit-Change-Number: 25207 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 20 Aug 2021 08:31:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 08:37:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 08:37:53 +0000 Subject: Change in libosmocore[master]: tests: add 'make update_exp' target In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25207 ) Change subject: tests: add 'make update_exp' target ...................................................................... tests: add 'make update_exp' target Add convenience target to update the test output. Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 --- M tests/Makefile.am 1 file changed, 179 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 0f587ce..5c6f30c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -421,6 +421,185 @@ TESTSUITE = $(srcdir)/testsuite +update_exp: $(check_PROGRAMS) + a5/a5_test \ + >$(srcdir)/a5/a5_test.ok + abis/abis_test \ + >$(srcdir)/abis/abis_test.ok +if ENABLE_CTRL + ctrl/ctrl_test \ + >$(srcdir)/ctrl/ctrl_test.ok +endif + kasumi/kasumi_test \ + >$(srcdir)/kasumi/kasumi_test.ok + bits/bitrev_test \ + >$(srcdir)/bits/bitrev_test.ok + bitvec/bitvec_test \ + >$(srcdir)/bitvec/bitvec_test.ok + bits/bitcomp_test \ + >$(srcdir)/bits/bitcomp_test.ok + bits/bitfield_test \ + >$(srcdir)/bits/bitfield_test.ok + conv/conv_test \ + >$(srcdir)/conv/conv_test.ok + conv/conv_gsm0503_test \ + >$(srcdir)/conv/conv_gsm0503_test.ok + coding/coding_test \ + >$(srcdir)/coding/coding_test.ok + msgb/msgb_test \ + >$(srcdir)/msgb/msgb_test.ok + gea/gea_test \ + >$(srcdir)/gea/gea_test.ok +if ENABLE_MSGFILE + cp $(srcdir)/msgfile/msgconfig.cfg . + msgfile/msgfile_test \ + >$(srcdir)/msgfile/msgfile_test.ok +endif + sms/sms_test \ + >$(srcdir)/sms/sms_test.ok + smscb/smscb_test \ + >$(srcdir)/smscb/smscb_test.ok + ussd/ussd_test \ + >$(srcdir)/ussd/ussd_test.ok + auth/milenage_test \ + >$(srcdir)/auth/milenage_test.ok + comp128/comp128_test \ + >$(srcdir)/comp128/comp128_test.ok + lapd/lapd_test \ + >$(srcdir)/lapd/lapd_test.ok + gsm0502/gsm0502_test \ + >$(srcdir)/gsm0502/gsm0502_test.ok + dtx/dtx_gsm0503_test \ + >$(srcdir)/dtx/dtx_gsm0503_test.ok + gsm0808/gsm0808_test \ + >$(srcdir)/gsm0808/gsm0808_test.ok + gsm29205/gsm29205_test \ + >$(srcdir)/gsm29205/gsm29205_test.ok + gsm0408/gsm0408_test \ + >$(srcdir)/gsm0408/gsm0408_test.ok + gsm48/rest_octets_test \ + >$(srcdir)/gsm48/rest_octets_test.ok + gprs/gprs_test \ + >$(srcdir)/gprs/gprs_test.ok + logging/logging_test \ + >$(srcdir)/logging/logging_test.ok \ + 2>$(srcdir)/logging/logging_test.err + codec/codec_test \ + >$(srcdir)/codec/codec_test.ok + codec/codec_ecu_fr_test \ + >$(srcdir)/codec/codec_ecu_fr_test.ok +if ENABLE_GB + fr/fr_test \ + >$(srcdir)/fr/fr_test.ok +endif + loggingrb/loggingrb_test \ + >$(srcdir)/loggingrb/logging_test.ok \ + 2>$(srcdir)/loggingrb/logging_test.err + strrb/strrb_test \ + >$(srcdir)/strrb/strrb_test.ok +if ENABLE_VTY + cp $(srcdir)/vty/*.cfg . + vty/vty_test \ + >$(srcdir)/vty/vty_test.ok \ + 2>$(srcdir)/vty/vty_test.err +endif +if ENABLE_GB + gb/gprs_bssgp_test \ + >$(srcdir)/gb/gprs_bssgp_test.ok + gb/gprs_bssgp_rim_test \ + >$(srcdir)/gb/gprs_bssgp_rim_test.ok + gb/gprs_ns_test \ + >$(srcdir)/gb/gprs_ns_test.ok + gb/gprs_ns2_test \ + >$(srcdir)/gb/gprs_ns2_test.ok +endif +if ENABLE_UTILITIES + utils/utils_test \ + >$(srcdir)/utils/utils_test.ok +endif +if !EMBEDDED + stats/stats_test \ + >$(srcdir)/stats/stats_test.ok \ + 2>$(srcdir)/stats/stats_test.err +endif + write_queue/wqueue_test \ + >$(srcdir)/write_queue/wqueue_test.ok +if ENABLE_GB + $(srcdir)/gb/bssgp_fc_tests.sh gb \ + >$(srcdir)/gb/bssgp_fc_tests.ok \ + 2>$(srcdir)/gb/bssgp_fc_tests.err +endif +if ENABLE_PCSC + sim/sim_test \ + >$(srcdir)/sim/sim_test.ok +endif + timer/timer_test \ + >$(srcdir)/timer/timer_test.ok + timer/clk_override_test \ + >$(srcdir)/timer/clk_override_test.ok + tlv/tlv_test \ + >$(srcdir)/tlv/tlv_test.ok + gsup/gsup_test \ + >$(srcdir)/gsup/gsup_test.ok \ + 2>$(srcdir)/gsup/gsup_test.err +if ENABLE_CTRL + fsm/fsm_test \ + >$(srcdir)/fsm/fsm_test.ok \ + 2>$(srcdir)/fsm/fsm_test.err + fsm/fsm_dealloc_test \ + 2>$(srcdir)/fsm/fsm_dealloc_test.err +endif + oap/oap_test \ + >$(srcdir)/oap/oap_test.ok + oap/oap_client_test \ + >$(srcdir)/oap/oap_client_test.ok \ + 2>$(srcdir)/oap/oap_client_test.err + socket/socket_test \ + >$(srcdir)/socket/socket_test.ok \ + 2>$(srcdir)/socket/socket_test.err + socket/socket_sctp_test \ + >$(srcdir)/socket/socket_sctp_test.ok \ + 2>$(srcdir)/socket/socket_sctp_test.err + $(srcdir)/osmo-auc-gen/osmo-auc-gen_test.sh ../utils/osmo-auc-gen \ + >$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.ok \ + 2>$(srcdir)/osmo-auc-gen/osmo-auc-gen_test.err + endian/endian_test \ + >$(srcdir)/endian/endian_test.ok + sercomm/sercomm_test \ + >$(srcdir)/sercomm/sercomm_test.ok + prbs/prbs_test \ + >$(srcdir)/prbs/prbs_test.ok + gsm23003/gsm23003_test \ + >$(srcdir)/gsm23003/gsm23003_test.ok + gsm23236/gsm23236_test \ + >$(srcdir)/gsm23236/gsm23236_test.ok + tdef/tdef_test \ + >$(srcdir)/tdef/tdef_test.ok + sockaddr_str/sockaddr_str_test \ + >$(srcdir)/sockaddr_str/sockaddr_str_test.ok + use_count/use_count_test \ + >$(srcdir)/use_count/use_count_test.ok \ + 2>$(srcdir)/use_count/use_count_test.err + context/context_test \ + >$(srcdir)/context/context_test.ok +if !EMBEDDED + exec/exec_test \ + >$(srcdir)/exec/exec_test.ok \ + 2>$(srcdir)/exec/exec_test.err +endif + i460_mux/i460_mux_test \ + >$(srcdir)/i460_mux/i460_mux_test.ok + bitgen/bitgen_test \ + >$(srcdir)/bitgen/bitgen_test.ok + gad/gad_test \ + >$(srcdir)/gad/gad_test.ok + bsslap/bsslap_test \ + >$(srcdir)/bsslap/bsslap_test.ok + bssmap_le/bssmap_le_test \ + >$(srcdir)/bssmap_le/bssmap_le_test.ok + it_q/it_q_test \ + >$(srcdir)/it_q/it_q_test.ok + check-local: atconfig $(TESTSUITE) [ -e /proc/cpuinfo ] && cat /proc/cpuinfo $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7247fffde82ab9195ae03b2ccb30d7aa47543113 Gerrit-Change-Number: 25207 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:11:57 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:11:57 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25206 to look at the new patch set (#3). Change subject: stats: send real last value if no new values come ...................................................................... stats: send real last value if no new values come Background: * Individual values can be added to osmo_stat_item.values at any time. * Stats are reported at a fixed interval (see vty 'stats interval'), e.g. every 10 seconds. * In order to report a new stat value, we use the maximum of all osmo_stat_item.values added since the last report. * By default, we do not send new stat values if they did not change (see vty 'config-stats' -> 'flush-period' default of 0). Fix the following bug: * If 'flush-period' is 0, and no new osmo_stat_item.values are coming in, the last value that gets reported is not necessarily the last entry in osmo_stat_item.values. * For attached reporters (statsd), it could then be that the given stat stays at the wrong value for a long stretch of time (think of several hours/days/forever). Explanation of how the test shows that it is fixed: * stats get reported (value is irrelevant) * osmo_stat_item gets a new value: 20 * osmo_stat_item gets a new value: 10 * stats get reported (value: 20, the maximum of both new values) * osmo_stat_item gets no new values * stats get reported (value: 10, this is new because of the bug fix, the real last value in osmo_stat_item, different from the 20 sent earlier, without the fix it would not send anything here and the last sent value would be 20) * osmo_stat_item gets no new values * stats get reported (nothing gets sent, since the real last value was already sent and 'flush-period' is 0) Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe --- M include/osmocom/core/stat_item.h M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.err 4 files changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/25206/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:12:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:12:16 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 2: > Patch Set 2: > > TODO-RELEASE due to ABI breakage? Is it ABI breakage? I thought not, because the struct is extended at the end, and the only user must be stats inside libosmocore itself (just like the existing stats_next_id inside the same struct). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 09:12:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:12:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:12:56 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 3: > Patch Set 2: > > A bit more context in the commit message would be good. [...] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 09:12:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:14:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 09:14:46 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: configure control interface References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/25212 ) Change subject: osmo-mgw.cfg: configure control interface ...................................................................... osmo-mgw.cfg: configure control interface The configuration file of osmo-mgw lacks the control interface configuration. Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/12/25212/1 diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 13c477a..4770732 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -22,6 +22,8 @@ line vty no login bind 0.0.0.0 +ctrl + bind 0.0.0.0 ! stats interval 0 stats reporter statsd -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c Gerrit-Change-Number: 25212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:18:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 09:18:04 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: configure control interface In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25212 ) Change subject: osmo-mgw.cfg: configure control interface ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c Gerrit-Change-Number: 25212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 20 Aug 2021 09:18:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:18:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 09:18:07 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: configure control interface In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25212 ) Change subject: osmo-mgw.cfg: configure control interface ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c Gerrit-Change-Number: 25212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: dexter Gerrit-Comment-Date: Fri, 20 Aug 2021 09:18:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 09:18:15 +0000 Subject: Change in docker-playground[master]: osmo-mgw.cfg: configure control interface In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25212 ) Change subject: osmo-mgw.cfg: configure control interface ...................................................................... osmo-mgw.cfg: configure control interface The configuration file of osmo-mgw lacks the control interface configuration. Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c --- M ttcn3-mgw-test/osmo-mgw.cfg 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: dexter: Looks good to me, approved; Verified diff --git a/ttcn3-mgw-test/osmo-mgw.cfg b/ttcn3-mgw-test/osmo-mgw.cfg index 13c477a..4770732 100644 --- a/ttcn3-mgw-test/osmo-mgw.cfg +++ b/ttcn3-mgw-test/osmo-mgw.cfg @@ -22,6 +22,8 @@ line vty no login bind 0.0.0.0 +ctrl + bind 0.0.0.0 ! stats interval 0 stats reporter statsd -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I309db472e22d0258bf31a4f5865a89364ed7af2c Gerrit-Change-Number: 25212 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:36:55 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 20 Aug 2021 09:36:55 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 3: Code-Review+2 That is very verbose - thank you! -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 09:36:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:42:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:42:55 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25206 to look at the new patch set (#4). Change subject: stats: send real last value if no new values come ...................................................................... stats: send real last value if no new values come Background: * Individual values can be added to osmo_stat_item.values at any time. * Stats are reported at a fixed interval (see vty 'stats interval'), e.g. every 10 seconds. * In order to report a new stat value, we use the maximum of all osmo_stat_item.values added since the last report. * By default, we do not send new stat values if they did not change (see vty 'config-stats' -> 'flush-period' default of 0). Fix the following bug: * If 'flush-period' is 0, and no new osmo_stat_item.values are coming in, the last value that gets reported is not necessarily the last entry in osmo_stat_item.values. * For attached reporters (statsd), it could then be that the given stat stays at the wrong value for a long stretch of time (think of several hours/days/forever). Explanation of how the test shows that it is fixed: * stats get reported (value is irrelevant) * osmo_stat_item gets a new value: 20 * osmo_stat_item gets a new value: 10 * stats get reported (value: 20, the maximum of both new values) * osmo_stat_item gets no new values * stats get reported (value: 10, this is new because of the bug fix, the real last value in osmo_stat_item, different from the 20 sent earlier, without the fix it would not send anything here and the last sent value would be 20) * osmo_stat_item gets no new values * stats get reported (nothing gets sent, since the real last value was already sent and 'flush-period' is 0) Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe --- M TODO-RELEASE M include/osmocom/core/stat_item.h M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.err 5 files changed, 15 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/25206/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:44:04 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: > Patch Set 2: > > > Patch Set 2: > > > > TODO-RELEASE due to ABI breakage? > > Is it ABI breakage? I thought not, because the struct is extended at the end, and the only user must be stats inside libosmocore itself (just like the existing stats_next_id inside the same struct). I just realized that I can't put something at the end of the struct, as it clashes with "values". So I moved it up and extended TODO-RELEASE. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 09:44:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 09:44:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 09:44:50 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: > Patch Set 3: Code-Review+2 > > That is very verbose - thank you! Thanks for the review and the +2! I think it would be good if at least two people approve this though, because it's a complex bug. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 09:44:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:17:02 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 20 Aug 2021 11:17:02 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 11:17:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:17:08 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 20 Aug 2021 11:17:08 +0000 Subject: Change in libosmocore[master]: tests/stats: show how last item sent may be wrong In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25205 ) Change subject: tests/stats: show how last item sent may be wrong ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f Gerrit-Change-Number: 25205 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 20 Aug 2021 11:17:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:17:20 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 11:17:20 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: (2 comments) it might be my lack of understanding the design principles of stat_item, but i suspect a fundamental design problem introduced by the added bool: https://gerrit.osmocom.org/c/libosmocore/+/25206/4/include/osmocom/core/stat_item.h File include/osmocom/core/stat_item.h: https://gerrit.osmocom.org/c/libosmocore/+/25206/4/include/osmocom/core/stat_item.h at 34 PS4, Line 34: bool stats_last_sent_was_max; how about the aspect of being stateless and allowing multiple consumers of stat items? https://gerrit.osmocom.org/c/libosmocore/+/25206/4/src/stat_item.c File src/stat_item.c: https://gerrit.osmocom.org/c/libosmocore/+/25206/4/src/stat_item.c at 241 PS4, Line 241: * perspective and therefore be used by several backends simultaneously. ^ as explained here -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 11:17:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:41:09 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 11:41:09 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: copying my comments from chat: now i still disagree with the way the patch implements it, because it adds state there is a bool stats_last_sent_was_max, and IIUC this can only be used from the stats reporter? there is a comment claiming that the stat_items can be used from multiple consumers without interfering with each others' state IIUC before the patch we report: 42, nothing, nothing, nothing... after the patch we report: 42, 23, nothing, nothing I suggest that instead we report: 42, 23, 23, 23 because that does not need any state (besides the 'next_id' that is already there) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 11:41:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:49:17 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 20 Aug 2021 11:49:17 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: > Patch Set 4: > > copying my comments from chat: > > now i still disagree with the way the patch implements it, because it adds state > > there is a bool stats_last_sent_was_max, and IIUC this can only be used from the stats reporter? > > there is a comment claiming that the stat_items can be used from multiple consumers without interfering with each others' state > > IIUC before the patch we report: > 42, nothing, nothing, nothing... > after the patch we report: > 42, 23, nothing, nothing > I suggest that instead we report: > 42, 23, 23, 23 That is what "flush period 1" does (send unchanged stats every reporting period) Setting "flush period 0" disables sending stats that did not change > because that does not need any state > (besides the 'next_id' that is already there) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 11:49:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 11:58:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 11:58:56 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: > That is what "flush period 1" does (send unchanged stats every reporting period) > Setting "flush period 0" disables sending stats that did not change hmm. then i guess we also need to add that bool state as argument to osmo_stat_item_get_next()? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 11:58:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 12:01:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 12:01:35 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: different idea: the caller feeds into osmo_stat_item_get_next() the value that it last got returned. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 12:01:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 12:27:08 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 12:27:08 +0000 Subject: Change in osmo-bsc[master]: stat_item desc: add explicit indexes for clarity References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25213 ) Change subject: stat_item desc: add explicit indexes for clarity ...................................................................... stat_item desc: add explicit indexes for clarity Add explicit indexes like [BSC_STAT_NUM_BTS_TOTAL] = { ... BSC_STAT_NUM_BTS_TOTAL == 0 and the first item of bsc_stat_desc of course has index 0, but when grepping the code, it looks like BSC_STAT_NUM_BTS_TOTAL is missing a name definition. Same for MSC_STAT_MSC_LINKS_ACTIVE and MSC_STAT_MSC_LINKS_TOTAL. Related: SYS#5542 Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d --- M src/osmo-bsc/bsc_init.c M src/osmo-bsc/osmo_bsc_msc.c 2 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/13/25213/1 diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 24596f4..42acbbc 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -47,7 +47,7 @@ #include static const struct osmo_stat_item_desc bsc_stat_desc[] = { - { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bsc_statg_desc = { diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 772bea5..a80ee64 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -147,8 +147,8 @@ }; static const struct osmo_stat_item_desc msc_stat_desc[] = { - { "msc_links:active", "Number of active MSC links", "", 16, 0 }, - { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, + [MSC_STAT_MSC_LINKS_ACTIVE] = { "msc_links:active", "Number of active MSC links", "", 16, 0 }, + [MSC_STAT_MSC_LINKS_TOTAL] = { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc msc_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d Gerrit-Change-Number: 25213 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 13:50:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 13:50:52 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... Patch Set 4: Code-Review+2 I understand now that this added state is only in stat.c, and does not change stat_item.c behavior at all. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Fri, 20 Aug 2021 13:50:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 14:04:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 14:04:54 +0000 Subject: Change in libosmocore[master]: tests/stats: show how last item sent may be wrong In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25205 ) Change subject: tests/stats: show how last item sent may be wrong ...................................................................... tests/stats: show how last item sent may be wrong Extend the test to illustrate the bug described in the related issue, which will be fixed with the next patch. Related: OS#5215 Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f --- M tests/stats/stats_test.c M tests/stats/stats_test.err 2 files changed, 12 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 15f50d2..6505e66 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -442,6 +442,16 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 2); + fprintf(stderr, "report (group 1, item 1 no update, send last item (!= last max), OS#5215):\n"); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 0); /* BUG: should be 2! */ + + fprintf(stderr, "report (group 1, item 1 no update, nothing to send):\n"); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 0); + fprintf(stderr, "report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 69104d9..08c2cbc 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -115,6 +115,8 @@ report (group 1, item 1 update twice, check max): test2: item p= g=test.one i=1 n=item.a v=20 u=ma test1: item p= g=test.one i=1 n=item.a v=20 u=ma +report (group 1, item 1 no update, send last item (!= last max), OS#5215): +report (group 1, item 1 no update, nothing to send): report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1d26867ac1b837bea6a9754a3203e53c147e7a5f Gerrit-Change-Number: 25205 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 14:04:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 14:04:55 +0000 Subject: Change in libosmocore[master]: stats: send real last value if no new values come In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25206 ) Change subject: stats: send real last value if no new values come ...................................................................... stats: send real last value if no new values come Background: * Individual values can be added to osmo_stat_item.values at any time. * Stats are reported at a fixed interval (see vty 'stats interval'), e.g. every 10 seconds. * In order to report a new stat value, we use the maximum of all osmo_stat_item.values added since the last report. * By default, we do not send new stat values if they did not change (see vty 'config-stats' -> 'flush-period' default of 0). Fix the following bug: * If 'flush-period' is 0, and no new osmo_stat_item.values are coming in, the last value that gets reported is not necessarily the last entry in osmo_stat_item.values. * For attached reporters (statsd), it could then be that the given stat stays at the wrong value for a long stretch of time (think of several hours/days/forever). Explanation of how the test shows that it is fixed: * stats get reported (value is irrelevant) * osmo_stat_item gets a new value: 20 * osmo_stat_item gets a new value: 10 * stats get reported (value: 20, the maximum of both new values) * osmo_stat_item gets no new values * stats get reported (value: 10, this is new because of the bug fix, the real last value in osmo_stat_item, different from the 20 sent earlier, without the fix it would not send anything here and the last sent value would be 20) * osmo_stat_item gets no new values * stats get reported (nothing gets sent, since the real last value was already sent and 'flush-period' is 0) Fixes: OS#5215 Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe --- M TODO-RELEASE M include/osmocom/core/stat_item.h M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.err 5 files changed, 15 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index 260e1d4..c8966cd 100644 --- a/TODO-RELEASE +++ b/TODO-RELEASE @@ -15,3 +15,4 @@ libosmosim osim_card_{reset,close} New API libosmocore struct rate_ctr_group, osmo_stat_item_group_desc ABI breakage due to new struct members libosmgsm kdf functions New API +libosmocore osmo_stat_item ABI + API breakage due to new struct members diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index fbe0433..332bbe9 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -28,6 +28,10 @@ * be read from the FIFO. If accessing osmo_stat_item directly, without * the stats API, store this value elsewhere. */ int32_t stats_next_id; + /* internal use by stats API: indicate if the last value sent to + * reporters was actually the last value in the FIFO. This may not be + * the case, as always a max of 1 or more values gets sent (OS#5215) */ + bool stats_last_sent_was_max; /*! the index of the last value written to the FIFO */ int16_t last_offs; /*! value FIFO */ diff --git a/src/stats.c b/src/stats.c index 411ecff..f06515d 100644 --- a/src/stats.c +++ b/src/stats.c @@ -715,6 +715,11 @@ if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); + + /* Also send it in case a different max value was sent + * previously (OS#5215) */ + if (!item->stats_last_sent_was_max) + have_value = 1; } else { int32_t next_val; /* If we have multiple values only send the max */ @@ -722,6 +727,8 @@ value = OSMO_MAX(value, next_val); } + item->stats_last_sent_was_max = (osmo_stat_item_get_last(item) == value); + llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { if (!srep->running) continue; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 6505e66..2f2c6ec 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -445,7 +445,7 @@ fprintf(stderr, "report (group 1, item 1 no update, send last item (!= last max), OS#5215):\n"); send_count = 0; osmo_stats_report(); - OSMO_ASSERT(send_count == 0); /* BUG: should be 2! */ + OSMO_ASSERT(send_count == 2); fprintf(stderr, "report (group 1, item 1 no update, nothing to send):\n"); send_count = 0; diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 08c2cbc..daa3e5c 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -116,6 +116,8 @@ test2: item p= g=test.one i=1 n=item.a v=20 u=ma test1: item p= g=test.one i=1 n=item.a v=20 u=ma report (group 1, item 1 no update, send last item (!= last max), OS#5215): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma report (group 1, item 1 no update, nothing to send): report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibeefd0e3d1dbe4be454ff05a21df4848b2abfabe Gerrit-Change-Number: 25206 Gerrit-PatchSet: 5 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 15:23:06 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 15:23:06 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... vty 'stats reset': do not reset stat_items Exempt all stat_item statistics from 'stats reset'. Only reset rate_ctr statistics to zero. The rate_ctr statistics have an implicit time scale, counting occurences per time unit. For them it makes sense to reset all ratings and start from zero, for example in a test suite (e.g. our TTCN3 BSC_Tests). In contrast, stat_item statistics count number of objects or nr of specific object stati at any given time, and they do not deteriorate over time. Many stat items depend on increment/decrement to be sane. For example, in osmo-bsc, if the nr of connected BTS is 3, that does not make sense to be reset to zero. There are still 3 BTS connected, only the stat_item would suddenly reflect zero. From then on, it'd be wrong. All stat_items are by definition wrong after a 'stats reset'. - Those that depend on increment/decrement will be wrong until the program exits, and - those that are set to absolute values will be wrong up until the next value is set. That could be seconds or hours later, depending. Related: SYS#5542 Change-Id: If2134768b1076e7af189276c45f2a09a4944303e --- M src/vty/stats_vty.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/25214/1 diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index ba45e1e..a0df24b 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -598,7 +598,6 @@ STATS_STR "Reset all stats\n") { rate_ctr_for_each_group(reset_rate_ctr_group_handler, NULL); - osmo_stat_item_for_each_group(reset_osmo_stat_item_group_handler, NULL); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 15:23:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 20 Aug 2021 15:23:22 +0000 Subject: Change in osmo-bsc[master]: stat_item desc: add explicit indexes for clarity In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25213 ) Change subject: stat_item desc: add explicit indexes for clarity ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d Gerrit-Change-Number: 25213 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 20 Aug 2021 15:23:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 15:25:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 15:25:49 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25214 to look at the new patch set (#2). Change subject: vty 'stats reset': do not reset stat_items ...................................................................... vty 'stats reset': do not reset stat_items Exempt all stat_item statistics from 'stats reset'. Only reset rate_ctr statistics to zero. The rate_ctr statistics have an implicit time scale, counting occurences per time unit. For them it makes sense to reset all ratings and start from zero, for example in a test suite (e.g. our TTCN3 BSC_Tests). In contrast, stat_item statistics count number of objects or nr of specific object stati at any given time, and they do not deteriorate over time. Many stat items depend on increment/decrement to be sane. For example, in osmo-bsc, if the nr of connected BTS is 3, that does not make sense to be reset to zero. There are still 3 BTS connected, only the stat_item would suddenly reflect zero. From then on, it'd be wrong. All stat_items are by definition wrong after a 'stats reset'. - Those that depend on increment/decrement will be wrong until the program exits, and - those that are set to absolute values will be wrong up until the next value is set. That could be seconds or hours later, depending. Related: SYS#5542 Change-Id: If2134768b1076e7af189276c45f2a09a4944303e --- M src/vty/stats_vty.c 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/25214/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 15:41:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 20 Aug 2021 15:41:56 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: (2 comments) I'm not sure whether this will lead to fallout in ttcn3 tests... maybe we do rely on "stats reset" to also reset stat_items in some tests? maybe run a few bigger testsuites with this patch applied? https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c File src/vty/stats_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c at a589 PS1, Line 589: static int reset_osmo_stat_item_group_handler(struct osmo_stat_item_group *statg, void *sctx_) this function can be removed too, as you remove its only caller https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c at a591 PS1, Line 591: osmo_stat_item_group_reset(statg); log an error in the function if it is used? (or in osmo_stat_item_reset?) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 20 Aug 2021 15:41:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 20 20:11:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 20 Aug 2021 20:11:46 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c File src/vty/stats_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c at a589 PS1, Line 589: static int reset_osmo_stat_item_group_handler(struct osmo_stat_item_group *statg, void *sctx_) > this function can be removed too, as you remove its only caller already gone https://gerrit.osmocom.org/c/libosmocore/+/25214/1/src/vty/stats_vty.c at a591 PS1, Line 591: osmo_stat_item_group_reset(statg); > log an error in the function if it is used? (or in osmo_stat_item_reset?) whoever calls that function shall know what she's doing. maybe there's a weird use case for it that i can't think of atm -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 20 Aug 2021 20:11:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Sat Aug 21 08:35:49 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 21 Aug 2021 08:35:49 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_Testing/x86_64 In-Reply-To: References: Message-ID: <6120bb019fc6b_41cf2b0e795066006798a6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_Testing/x86_64 Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_Testing/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: [ 140s] [381/456] installing libpython3-stdlib-3.9.2-3 [ 140s] [382/456] installing libpam-runtime-1.4.0-9 [ 141s] Processing triggers for man-db (2.9.4-2) ... [ 141s] [383/456] installing texlive-fonts-recommended-2020.20210202-3 [ 141s] Processing triggers for fontconfig (2.13.1-4.2) ... [ 142s] Processing triggers for tex-common (6.16) ... [ 142s] Running mktexlsr. This may take some time... done. [ 142s] Running updmap-sys. This may take some time... done. [ 142s] Running mktexlsr /var/lib/texmf ... done. [ 142s] [384/456] installing texlive-plain-generic-2020.20210202-3 [ 146s] Processing triggers for tex-common (6.16) ... [ 146s] Running mktexlsr. This may take some time... done. [ 146s] [385/456] installing python3.9-3.9.2-1 [ 147s] Processing triggers for mailcap (3.69) ... [ 147s] Processing triggers for man-db (2.9.4-2) ... [ 147s] [386/456] installing texlive-latex-base-2020.20210202-3 [ 148s] Processing triggers for man-db (2.9.4-2) ... [ 148s] Processing triggers for tex-common (6.16) ... [ 148s] Running mktexlsr. This may take some time... done. [ 149s] Running updmap-sys. This may take some time... done. [ 149s] Running mktexlsr /var/lib/texmf ... done. [ 149s] Building format(s) --all. [28950s] qemu-kvm: terminating on signal 15 from pid 13170 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28950s] ### VM INTERACTION END ### [28950s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28950s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Sat Aug 21 09:02:44 2021 From: noreply at opensuse.org (OBS Notification) Date: Sat, 21 Aug 2021 09:02:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in Debian_9.0/x86_64 In-Reply-To: References: Message-ID: <6120c136a8473_41cf2b0e795066006817fb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/Debian_9.0/x86_64 Package network:osmocom:nightly/osmo-sgsn failed to build in Debian_9.0/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: [ 71s] Processing triggers for man-db (2.7.6.1-2) ... [ 71s] [414/433] installing dh-systemd-10.2.5 [ 71s] [415/433] installing gnome-icon-theme-3.12.0-2 [ 72s] update-alternatives: using /usr/share/icons/gnome/scalable/places/debian-swirl.svg to provide /usr/share/icons/gnome/scalable/places/start-here.svg (start-here.svg) in auto mode [ 72s] [416/433] installing dh-strip-nondeterminism-0.034-1 [ 72s] Processing triggers for man-db (2.7.6.1-2) ... [ 72s] [417/433] installing texlive-bibtex-extra-2016.20170123-5 [ 74s] Processing triggers for man-db (2.7.6.1-2) ... [ 74s] Processing triggers for tex-common (6.06) ... [ 75s] Running mktexlsr. This may take some time... done. [ 75s] [418/433] installing texlive-latex-recommended-2016.20170123-5 [ 75s] Processing triggers for man-db (2.7.6.1-2) ... [ 76s] Processing triggers for tex-common (6.06) ... [ 76s] Running mktexlsr. This may take some time... done. [ 76s] [419/433] installing texlive-extra-utils-2016.20170123-5 [ 77s] Processing triggers for man-db (2.7.6.1-2) ... [ 77s] Processing triggers for tex-common (6.06) ... [ 77s] Running mktexlsr. This may take some time... done. [ 77s] Building format(s) --all. [ 79s] This may take some time... done. [ 79s] [420/433] installing dh-autoreconf-14 [ 80s] Processing triggers for man-db (2.7.6.1-2) ... [28888s] qemu-kvm: terminating on signal 15 from pid 157041 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28888s] ### VM INTERACTION END ### [28888s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28888s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:15:56 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:15:56 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 to look at the new patch set (#4). Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... add osmo_tdef groups, exposing T timers on VTY config We have two osmocom specific timers used in the BTS, X1 and X2. Expose those on the VTY configuration, as timer group 'bts'. This prepares for a subsequent patch, where I would like to add another configurable timer. This provides the basic infrastructure for that. Related: SYS#5559 Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/vty.c M tests/osmo-bts.vty 5 files changed, 54 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/00/25200/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:15:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:15:59 +0000 Subject: Change in osmo-bts[master]: early IA: change default X15 timer to 0 ms References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25215 ) Change subject: early IA: change default X15 timer to 0 ms ...................................................................... early IA: change default X15 timer to 0 ms Tests have shown that even a delay of 0, i.e. a simple defer until the next select() loop, makes the difference from failing to working early IA. So set the default to 0, achieving such defer. Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 --- M src/common/bts.c M tests/osmo-bts.vty 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/25215/1 diff --git a/src/common/bts.c b/src/common/bts.c index a8a23f1..05584aa 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -144,7 +144,7 @@ }; struct osmo_tdef abis_T_defs[] = { - { .T=-15, .default_val=50, .unit=OSMO_TDEF_MS, .desc="Time to wait between Channel Activation and dispatching a cached early Immediate Assignment" }, + { .T=-15, .default_val=0, .unit=OSMO_TDEF_MS, .desc="Time to wait between Channel Activation and dispatching a cached early Immediate Assignment" }, {} }; diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty index e39d304..4873030 100644 --- a/tests/osmo-bts.vty +++ b/tests/osmo-bts.vty @@ -68,7 +68,7 @@ OsmoBTS> show timer bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) -abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) +abis: X15 = 0 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 0 ms) OsmoBTS> show timer bts ? [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. OsmoBTS> show timer bts @@ -81,7 +81,7 @@ OsmoBTS> show timer abis ? [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. OsmoBTS> show timer abis X15 -abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) +abis: X15 = 0 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 0 ms) OsmoBTS> show e1_driver ? @@ -215,13 +215,13 @@ bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) OsmoBTS(config)# timer abis X15 -abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) +abis: X15 = 0 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 0 ms) OsmoBTS(config)# timer abis X15 123 OsmoBTS(config)# timer abis X15 -abis: X15 = 123 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) +abis: X15 = 123 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 0 ms) OsmoBTS(config)# timer abis X15 default OsmoBTS(config)# timer abis X15 -abis: X15 = 50 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 50 ms) +abis: X15 = 0 ms Time to wait between Channel Activation and dispatching a cached early Immediate Assignment (default: 0 ms) OsmoBTS(config)# bts 0 OsmoBTS(bts)# list -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 Gerrit-Change-Number: 25215 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:16:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:16:11 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... Patch Set 5: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 22 Aug 2021 19:16:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:18:35 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:18:35 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 to look at the new patch set (#6). Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... early IMM ASS: add configurable delay for RR IMM ASS During live testing, it has become apparent that some IMM ASS still fail when sending the RR IMM ASS directly upon the target channel becoming active. Add a bit of delay after activation, to give some time for the channel to light up for the MS. Default is 50ms. Related: OS#5559 Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/lchan.c M tests/osmo-bts.vty 5 files changed, 64 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/25201/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:19:11 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:19:11 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... Patch Set 5: Code-Review+1 re-add previous +1 after applying CR (trivial change) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 22 Aug 2021 19:19:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:19:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:19:58 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 4: Code-Review+2 re-add previous +2 after trivial change -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sun, 22 Aug 2021 19:19:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:20:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:20:39 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 6: Code-Review+2 re-add and combine previous 2x +1 after trivial change -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 22 Aug 2021 19:20:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 22 19:21:10 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 22 Aug 2021 19:21:10 +0000 Subject: Change in osmo-bts[master]: early IA: change default X15 timer to 0 ms In-Reply-To: References: Message-ID: neels has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/osmo-bts/+/25215 ) Change subject: early IA: change default X15 timer to 0 ms ...................................................................... early IA: change default X15 timer to 0 ms Tests have shown that even a delay of 0, i.e. a simple defer until the next select() loop, makes the difference from failing to working early IA. So set the default to 0, achieving such defer. Related: SYS#5559 Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 --- M src/common/bts.c M tests/osmo-bts.vty 2 files changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/15/25215/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 Gerrit-Change-Number: 25215 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 06:34:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 06:34:23 +0000 Subject: Change in osmo-bts[master]: early IA: change default X15 timer to 0 ms In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25215 ) Change subject: early IA: change default X15 timer to 0 ms ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 Gerrit-Change-Number: 25215 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 06:34:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 06:45:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 06:45:38 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 06:45:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 07:23:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 07:23:19 +0000 Subject: Change in osmo-mgw[master]: mgcp_client_vty: fixing docstring In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25211 ) Change subject: mgcp_client_vty: fixing docstring ...................................................................... mgcp_client_vty: fixing docstring The docstring in the VTY command that is used to remove MGCP client instances lacks the NO_STR constant. Change-Id: I53f3e763a77ed8be78c5a51b1472f4b70bade9d4 Related: SYS#5091 --- M src/libosmo-mgcp-client/mgcp_client_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/libosmo-mgcp-client/mgcp_client_vty.c b/src/libosmo-mgcp-client/mgcp_client_vty.c index 34502af..8719e3c 100644 --- a/src/libosmo-mgcp-client/mgcp_client_vty.c +++ b/src/libosmo-mgcp-client/mgcp_client_vty.c @@ -374,7 +374,7 @@ DEFUN_ATTR(cfg_no_mgw, cfg_no_mgw_cmd, - "no mgw <0-255>", "Select a MGCP client config to remove\n" "reference number", CMD_ATTR_IMMEDIATE) + "no mgw <0-255>", NO_STR "Select a MGCP client config to remove\n" "reference number\n", CMD_ATTR_IMMEDIATE) { int nr = atoi(argv[0]); struct mgcp_client_pool_member *pool_member; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53f3e763a77ed8be78c5a51b1472f4b70bade9d4 Gerrit-Change-Number: 25211 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 08:18:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 08:18:09 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#9). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c M tests/handover/handover_test.c 9 files changed, 328 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 9 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 08:48:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 08:48:37 +0000 Subject: Change in osmo-bsc[master]: test please ignore References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25216 ) Change subject: test please ignore ...................................................................... test please ignore Change-Id: I9d93517e46bf72f98e1aabc8befebcf313e379cf --- A testme 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/16/25216/1 diff --git a/testme b/testme new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/testme -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9d93517e46bf72f98e1aabc8befebcf313e379cf Gerrit-Change-Number: 25216 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 08:54:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 08:54:04 +0000 Subject: Change in osmo-bsc[master]: test please ignore In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25216 ) Change subject: test please ignore ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9d93517e46bf72f98e1aabc8befebcf313e379cf Gerrit-Change-Number: 25216 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 09:07:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 09:07:23 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#10). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c M tests/handover/handover_test.c 9 files changed, 328 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/10 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 10:48:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 10:48:17 +0000 Subject: Change in osmo-gsm-tester[master]: Fix AmarisoftEPC local execution In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 ) Change subject: Fix AmarisoftEPC local execution ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py File src/osmo_gsm_tester/obj/ms_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127/2/src/osmo_gsm_tester/obj/ms_amarisoft.py at 190 PS2, Line 190: util.setcap_net_admin(self.inst.child('', 'lteue-*'), self.run_dir.new_dir('setcap_net_admin2')) > Same here Sorry for not answering before, I was afk for a while. This is already used (same as above) in start_remote(), so I don't think this is going to be a problem. Or maybe it is because we may be calling the process under a shell in start_remotely(), which would then expand the asterisk, but we don't use a shell when forking locally? Can you paste the error you are getting? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/25127 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4f7ef8fdf8a18b793fdc4b654cb85838d513aac2 Gerrit-Change-Number: 25127 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 23 Aug 2021 10:48:17 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: ninjab3s Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 10:58:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 10:58:05 +0000 Subject: Change in osmo-mgw[master]: mgcp_protocol: get rid of policy_cb and change_cb In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25126 ) Change subject: mgcp_protocol: get rid of policy_cb and change_cb ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25126/2/src/libosmo-mgcp/mgcp_protocol.c File src/libosmo-mgcp/mgcp_protocol.c: https://gerrit.osmocom.org/c/osmo-mgw/+/25126/2/src/libosmo-mgcp/mgcp_protocol.c at a1302 PS2, Line 1302: rate_ctr_inc(rate_ctr_group_get_ctr(rate_ctrs, MGCP_MDCX_FAIL_REJECTED_BY_POLICY)); this commit is already merged, but needs fixing since it dropped use of some counters while not dropping the counters themselves? -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25126 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I19f67db1c56473f47338b56114f6bbae8981d067 Gerrit-Change-Number: 25126 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 10:58:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 11:01:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 11:01:10 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 2: I would avoid this kind of parameters in the future if there's no good reason for it other than making other tests fail/crash. AFAIU, in this case running the new tests on older versions would simply make the newly added test fail, but wouldn't affect others. It's fine letting the testset run for a few more seconds rather than now having to add parameters, later having to remove them, etc. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 11:01:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 11:08:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 11:08:35 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Patch Set 4: What if BTS object is destroyed while some of the pch timers are armed? Could that happen? If answer is yes, then upon timer timeout, you use a pointer to a bts which is not valid anymore. This patch probably needs fixing? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 11:08:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 11:50:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 11:50:52 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add TC_early_immediate_assignment_pre_chan_ack In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 ) Change subject: bts: add TC_early_immediate_assignment_pre_chan_ack ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 Gerrit-Change-Number: 25196 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 11:50:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:01:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:01:56 +0000 Subject: Change in osmo-pcu[master]: coverity: fix null deref from recent UL TBF leak fix In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25203 ) Change subject: coverity: fix null deref from recent UL TBF leak fix ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I603d4a5bc0fe5bd2e9f0dba171604c459e38aeaf Gerrit-Change-Number: 25203 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:01:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:07:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:07:01 +0000 Subject: Change in osmo-bsc[master]: stat_item desc: add explicit indexes for clarity In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25213 ) Change subject: stat_item desc: add explicit indexes for clarity ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d Gerrit-Change-Number: 25213 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:07:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:10:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:10:36 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: Code-Review+1 I agree it doesn't make sense to reset stat_items to 0, since the "initial" value may not necessarily be 0 but any other value, be it a hardcoded value or something calculated at a given time. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 12:10:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:11:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:11:24 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25214/2/src/vty/stats_vty.c File src/vty/stats_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/25214/2/src/vty/stats_vty.c at a598 PS2, Line 598: STATS_STR "Reset all stats\n") Maybe extend the description here somehow to denote only rate_counters are reset. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 12:11:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:13:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:13:59 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 4: Code-Review+1 Nice, I wasn't aware about those "tdef groups" appearing automatically for vty. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:13:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:20:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:20:00 +0000 Subject: Change in osmo-bts[master]: early IMM ASS: add configurable delay for RR IMM ASS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25201 ) Change subject: early IMM ASS: add configurable delay for RR IMM ASS ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25201/6/src/common/lchan.c File src/common/lchan.c: https://gerrit.osmocom.org/c/osmo-bts/+/25201/6/src/common/lchan.c at 74 PS6, Line 74: osmo_timer_del(&lchan->early_rr_ia_delay); what if timer has never been setup before (osmo_timer_setup()). Is it safe to call this? In general I prefer having osmo_timer_setup being called once during initialization, and not every time schedule() is called. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ia1e63b98944dc840cde212fc732e20277cdc5585 Gerrit-Change-Number: 25201 Gerrit-PatchSet: 6 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-CC: Hoernchen Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:20:00 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:28:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 12:28:31 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... Patch Set 5: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25195/5//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25195/5//COMMIT_MSG at 15 PS5, Line 15: helping avoid double allocation on high latency Abis links. ... due to MS issuing a RACH Req retransmission. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:28:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:47:48 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 12:47:48 +0000 Subject: Change in osmo-pcu[master]: bts: delete pch_timer list in destructor References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25217 ) Change subject: bts: delete pch_timer list in destructor ...................................................................... bts: delete pch_timer list in destructor Run bts_pch_timer_remove() on each entry of the BTS specific pch_timer list, so we don't have a memory leak and so the timer doesn't potentially fire for a deallocated BTS. Fixes: d3c7591 ("Add counters: pcu.bts.N.pch.requests.timeout") Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 --- M src/bts.cpp M src/bts_pch_timer.c M src/bts_pch_timer.h M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err 5 files changed, 40 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/25217/1 diff --git a/src/bts.cpp b/src/bts.cpp index a40e071..daa8ee1 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -32,6 +32,7 @@ #include #include #include +#include extern "C" { #include @@ -230,6 +231,8 @@ bts->app_info = NULL; } + bts_pch_timer_stop_all(bts); + llist_del(&bts->list); return 0; } diff --git a/src/bts_pch_timer.c b/src/bts_pch_timer.c index 386a583..20373ac 100644 --- a/src/bts_pch_timer.c +++ b/src/bts_pch_timer.c @@ -83,3 +83,12 @@ if (p) bts_pch_timer_remove(p); } + +void bts_pch_timer_stop_all(struct gprs_rlcmac_bts *bts) +{ + struct bts_pch_timer *p, *n; + + llist_for_each_entry_safe(p, n, &bts->pch_timer, entry) { + bts_pch_timer_remove(p); + } +} diff --git a/src/bts_pch_timer.h b/src/bts_pch_timer.h index 91bebed..26b89c8 100644 --- a/src/bts_pch_timer.h +++ b/src/bts_pch_timer.h @@ -37,6 +37,7 @@ void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi); void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi); +void bts_pch_timer_stop_all(struct gprs_rlcmac_bts *bts); #ifdef __cplusplus } diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 5f11ec5..2132783 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -24,6 +24,7 @@ #include "tbf_dl.h" #include "bts.h" #include "gprs_ms.h" +#include "bts_pch_timer.h" #include #include @@ -802,6 +803,24 @@ talloc_free(bts); } +static void test_bts_pch_timer(void) +{ + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + const char *imsi1 = "1234"; + const char *imsi2 = "5678"; + + fprintf(stderr, "Testing bts_pch_timer dealloc on bts dealloc\n"); + log_set_category_filter(osmo_stderr_target, DPCU, 1, LOGL_DEBUG); + + fprintf(stderr, "Starting PCH timer for 2 IMSI\n"); + bts_pch_timer_start(bts, imsi1); + bts_pch_timer_start(bts, imsi2); + + /* pch timer for imsi2 must get removed here */ + fprintf(stderr, "Deallocating BTS, expecting the PCH timer to be stopped and deallocated\n"); + talloc_free(bts); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "moiji-mobile AllocTest context"); @@ -828,6 +847,7 @@ test_many_connections(alloc_algorithm_b, 32, "B"); test_many_connections(alloc_algorithm_dynamic, 160, "dynamic"); test_2_consecutive_dl_tbfs(); + test_bts_pch_timer(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err index 4ae5e56..afb84bf 100644 --- a/tests/alloc/AllocTest.err +++ b/tests/alloc/AllocTest.err @@ -326119,3 +326119,10 @@ TBF(DL-TFI_1){NULL}: state_chg to RELEASING TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) free TBF(DL-TFI_1){RELEASING}: Deallocated +Testing bts_pch_timer dealloc on bts dealloc +Starting PCH timer for 2 IMSI +PCH paging timer started for IMSI=1234 +PCH paging timer started for IMSI=5678 +Deallocating BTS, expecting the PCH timer to be stopped and deallocated +PCH paging timer stopped for IMSI=1234 +PCH paging timer stopped for IMSI=5678 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 Gerrit-Change-Number: 25217 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:48:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 12:48:11 +0000 Subject: Change in osmo-pcu[master]: Add counters: pcu.bts.N.pch.requests.timeout In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25155 ) Change subject: Add counters: pcu.bts.N.pch.requests.timeout ...................................................................... Patch Set 4: > Patch Set 4: > > What if BTS object is destroyed while some of the pch timers are armed? Could that happen? If answer is yes, then upon timer timeout, you use a pointer to a bts which is not valid anymore. > This patch probably needs fixing? Ack! https://gerrit.osmocom.org/c/osmo-pcu/+/25217 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I97475c3dbe2cf00b9cbfec39e93a3c65cb7f749f Gerrit-Change-Number: 25155 Gerrit-PatchSet: 4 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 12:48:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:51:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 12:51:23 +0000 Subject: Change in osmo-pcu[master]: bts: delete pch_timer list in destructor In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/25217 ) Change subject: bts: delete pch_timer list in destructor ...................................................................... bts: delete pch_timer list in destructor Run bts_pch_timer_remove() on each entry of the BTS specific pch_timer list, so we don't have a memory leak and so the timer doesn't potentially fire for a deallocated BTS. Fixes: d3c7591 ("Add counters: pcu.bts.N.pch.requests.timeout") Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 --- M src/bts.cpp M src/bts_pch_timer.c M src/bts_pch_timer.h M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err 5 files changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/25217/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 Gerrit-Change-Number: 25217 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 12:56:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 12:56:50 +0000 Subject: Change in osmo-pcu[master]: tests: make update_exp: build check_PROGRAMS first References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25218 ) Change subject: tests: make update_exp: build check_PROGRAMS first ...................................................................... tests: make update_exp: build check_PROGRAMS first Make test development a bit more convenient. Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/25218/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index 63d94f0..08cdc17 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -194,7 +194,7 @@ TESTSUITE = $(srcdir)/testsuite -update_exp: +update_exp: $(check_PROGRAMS) rlcmac/RLCMACTest \ >$(srcdir)/rlcmac/RLCMACTest.ok \ 2>$(srcdir)/rlcmac/RLCMACTest.err -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 Gerrit-Change-Number: 25218 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:02:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 13:02:00 +0000 Subject: Change in osmo-pcu[master]: bts: delete pch_timer list in destructor In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25217 ) Change subject: bts: delete pch_timer list in destructor ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 Gerrit-Change-Number: 25217 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 23 Aug 2021 13:02:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:05:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 13:05:17 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: As far as I know the stats reset is used only with TTCN3 tests. Its for debug purposes only. Ask daniel for details. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 13:05:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:09:50 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 13:09:50 +0000 Subject: Change in osmo-pcu[master]: tests: make update_exp: build check_PROGRAMS first In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25218 ) Change subject: tests: make update_exp: build check_PROGRAMS first ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 Gerrit-Change-Number: 25218 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Mon, 23 Aug 2021 13:09:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:16:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 13:16:10 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 2: > Patch Set 2: > > I would avoid this kind of parameters in the future if there's no good reason for it other than making other tests fail/crash. > AFAIU, in this case running the new tests on older versions would simply make the newly added test fail, but wouldn't affect others. > It's fine letting the testset run for a few more seconds rather than now having to add parameters, later having to remove them, etc. I agree that these parameters don't need to be added only to prevent a new test from failing on the latest release (vs nightly). Here the reason was different, this was needed or else a whole bunch of existing tests would fail on latest: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 13:16:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:20:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 13:20:24 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/25156 ) Change subject: ttcn3-pcu-test: add mp_osmo_pcu_newer_than_0_9_0 ...................................................................... Patch Set 2: > Patch Set 2: > > > Patch Set 2: > > > > I would avoid this kind of parameters in the future if there's no good reason for it other than making other tests fail/crash. > > AFAIU, in this case running the new tests on older versions would simply make the newly added test fail, but wouldn't affect others. > > It's fine letting the testset run for a few more seconds rather than now having to add parameters, later having to remove them, etc. > > I agree that these parameters don't need to be added only to prevent a new test from failing on the latest release (vs nightly). > > Here the reason was different, this was needed or else a whole bunch of existing tests would fail on latest: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25185 Oh, I've confused it with another variable. Anyway, this variable was added, so existing tests TC_paging_ps_from_sgsn_* could be extended without having them starting to fail on latest. So IMHO it's still worth to add the variable for that, it's about making sure existing tests still pass on latest. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25157 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/25156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iabd0cf658f2b8e2913824b899c5bd012c587c21d Gerrit-Change-Number: 25156 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 13:20:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:25:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 13:25:45 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 10: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: machnies machines https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: ot to -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 13:25:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:32:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 13:32:54 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: remove unusued rate counters References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25219 ) Change subject: mgcp_ratectr: remove unusued rate counters ...................................................................... mgcp_ratectr: remove unusued rate counters The change I19f67db1c56473f47338b56114f6bbae8981d067 removes the policy_cb and change_cb callback funtions, but it does not remove the related ratecounters. Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_ratectr.c 2 files changed, 0 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/19/25219/1 diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 48abc27..c03c4e1 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -22,7 +22,6 @@ MGCP_CRCX_FAIL_ALLOC_CONN, MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC, MGCP_CRCX_FAIL_START_RTP, - MGCP_CRCX_FAIL_REJECTED_BY_POLICY, MGCP_CRCX_FAIL_NO_OSMUX, MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS, MGCP_CRCX_FAIL_CODEC_NEGOTIATION, @@ -45,8 +44,6 @@ MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS, MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC, MGCP_MDCX_FAIL_START_RTP, - MGCP_MDCX_FAIL_REJECTED_BY_POLICY, - MGCP_MDCX_DEFERRED_BY_POLICY, MGCP_MDCX_FAIL_AVAIL, }; @@ -57,8 +54,6 @@ MGCP_DLCX_FAIL_INVALID_CALLID, MGCP_DLCX_FAIL_INVALID_CONNID, MGCP_DLCX_FAIL_UNHANDLED_PARAM, - MGCP_DLCX_FAIL_REJECTED_BY_POLICY, - MGCP_DLCX_DEFERRED_BY_POLICY, MGCP_DLCX_FAIL_AVAIL, }; diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 3bf079b..040dbb5 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -62,7 +62,6 @@ [MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC] = { "crcx:no_remote_conn_desc", "no opposite end specified for connection." }, [MGCP_CRCX_FAIL_START_RTP] = { "crcx:start_rtp_failure", "failure to start RTP processing." }, - [MGCP_CRCX_FAIL_REJECTED_BY_POLICY] = { "crcx:conn_rejected", "connection rejected by policy." }, [MGCP_CRCX_FAIL_NO_OSMUX] = { "crcx:no_osmux", "no osmux offered by peer." }, [MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS] = { "crcx:conn_opt", "connection options invalid." }, [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = { "crcx:codec_nego", "codec negotiation failure." }, @@ -94,8 +93,6 @@ [MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC] = { "mdcx:no_remote_conn_desc", "no opposite end specified for connection." }, [MGCP_MDCX_FAIL_START_RTP] = { "mdcx:start_rtp_failure", "failure to start RTP processing." }, - [MGCP_MDCX_FAIL_REJECTED_BY_POLICY] = { "mdcx:conn_rejected", "connection rejected by policy." }, - [MGCP_MDCX_DEFERRED_BY_POLICY] = { "mdcx:conn_deferred", "connection deferred by policy." }, [MGCP_MDCX_FAIL_AVAIL] = { "mdcx:unavailable", "endpoint unavailable." }, }; @@ -115,8 +112,6 @@ [MGCP_DLCX_FAIL_INVALID_CONNID] = { "dlcx:connid", "connection ID specified in DLCX command does not exist on endpoint." }, [MGCP_DLCX_FAIL_UNHANDLED_PARAM] = { "dlcx:unhandled_param", "unhandled parameter in DLCX command." }, - [MGCP_DLCX_FAIL_REJECTED_BY_POLICY] = { "dlcx:rejected", "connection deletion rejected by policy." }, - [MGCP_DLCX_DEFERRED_BY_POLICY] = { "dlcx:deferred", "connection deletion deferred by policy." }, [MGCP_DLCX_FAIL_AVAIL] = { "dlcx:unavailable", "endpoint unavailable." }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b Gerrit-Change-Number: 25219 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:37:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 23 Aug 2021 13:37:02 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: remove unusued rate counters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25219 ) Change subject: mgcp_ratectr: remove unusued rate counters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b Gerrit-Change-Number: 25219 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 13:37:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 13:44:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 23 Aug 2021 13:44:11 +0000 Subject: Change in libosmocore[master]: codec: add missing osmo_amr_type_name function. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25220 ) Change subject: codec: add missing osmo_amr_type_name function. ...................................................................... codec: add missing osmo_amr_type_name function. We have value strings for osmo_amr_type, but we do not have a function that returns us the strings. Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 --- M include/osmocom/codec/codec.h 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/20/25220/1 diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h index cbdad75..58e3a29 100644 --- a/include/osmocom/codec/codec.h +++ b/include/osmocom/codec/codec.h @@ -47,6 +47,9 @@ AMR_NO_DATA = 15, }; +static inline const char *osmo_amr_type_name(enum osmo_amr_type type) +{ return get_value_string(osmo_amr_type_names, type); } + enum osmo_amr_quality { AMR_BAD = 0, AMR_GOOD = 1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 Gerrit-Change-Number: 25220 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:24:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:24:39 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 10: (9 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: machnies. Until osmo-mgw includes multithreading support, it may also be used ot to https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 8 PS10, Line 8: scale-out to multiple cores on a single host." Remove character: " https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 11 PS10, Line 11: the pool will automatically assign the call to the MGW with the lowest load. hint/idea: It may make sense to defie some "maximum call load" config or similar to vty, so one can calculate % of load when taking the decision. That's in case you have different hosts (different HW) serving calls running osmo-mgw. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 41 PS10, Line 41: local host ip-addresses or different ports. When OsmoMGW is installed from IP addresses https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 64 PS10, Line 64: each MGW must be different. Otherwise it won't be possible to distinguish the should be https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 72 PS10, Line 72: calls. do we have a vty command to avoid establishing new calls on a mgw node? (EDIT) Self-answer: yes. it would be nice to put a link to an anchor to the section below explaining it. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 76 PS10, Line 76: The VTY implenets a 'show mgw-pool' command that lists the currently configured implements https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/include/osmocom/bsc/gsm_data.h at 1363 PS10, Line 1363: /* Single MGCP client configuration under msc node (also required for I would avoid maintaining different structs from previous versions. Let's always use a pool and put there only 1 mgw if needed. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/src/osmo-bsc/osmo_bsc_main.c at 890 PS10, Line 890: mgcp_client_single = mgcp_client_init(bsc_gsmnet, bsc_gsmnet->mgw.conf); AS I said, let's rather fill the pool always from the VTY? Maybe here, if the pool is empty, create one and put it into the pool. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 10 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:24:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:31:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:31:18 +0000 Subject: Change in osmo-pcu[master]: bts: delete pch_timer list in destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25217 ) Change subject: bts: delete pch_timer list in destructor ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 Gerrit-Change-Number: 25217 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:31:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:31:35 +0000 Subject: Change in osmo-pcu[master]: tests: make update_exp: build check_PROGRAMS first In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25218 ) Change subject: tests: make update_exp: build check_PROGRAMS first ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 Gerrit-Change-Number: 25218 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:31:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:31:38 +0000 Subject: Change in osmo-pcu[master]: bts: delete pch_timer list in destructor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25217 ) Change subject: bts: delete pch_timer list in destructor ...................................................................... bts: delete pch_timer list in destructor Run bts_pch_timer_remove() on each entry of the BTS specific pch_timer list, so we don't have a memory leak and so the timer doesn't potentially fire for a deallocated BTS. Fixes: d3c7591 ("Add counters: pcu.bts.N.pch.requests.timeout") Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 --- M src/bts.cpp M src/bts_pch_timer.c M src/bts_pch_timer.h M tests/alloc/AllocTest.cpp M tests/alloc/AllocTest.err 5 files changed, 39 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index a40e071..daa8ee1 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -32,6 +32,7 @@ #include #include #include +#include extern "C" { #include @@ -230,6 +231,8 @@ bts->app_info = NULL; } + bts_pch_timer_stop_all(bts); + llist_del(&bts->list); return 0; } diff --git a/src/bts_pch_timer.c b/src/bts_pch_timer.c index 386a583..20373ac 100644 --- a/src/bts_pch_timer.c +++ b/src/bts_pch_timer.c @@ -83,3 +83,12 @@ if (p) bts_pch_timer_remove(p); } + +void bts_pch_timer_stop_all(struct gprs_rlcmac_bts *bts) +{ + struct bts_pch_timer *p, *n; + + llist_for_each_entry_safe(p, n, &bts->pch_timer, entry) { + bts_pch_timer_remove(p); + } +} diff --git a/src/bts_pch_timer.h b/src/bts_pch_timer.h index 91bebed..26b89c8 100644 --- a/src/bts_pch_timer.h +++ b/src/bts_pch_timer.h @@ -37,6 +37,7 @@ void bts_pch_timer_start(struct gprs_rlcmac_bts *bts, const char *imsi); void bts_pch_timer_stop(struct gprs_rlcmac_bts *bts, const char *imsi); +void bts_pch_timer_stop_all(struct gprs_rlcmac_bts *bts); #ifdef __cplusplus } diff --git a/tests/alloc/AllocTest.cpp b/tests/alloc/AllocTest.cpp index 5f11ec5..35bbfc4 100644 --- a/tests/alloc/AllocTest.cpp +++ b/tests/alloc/AllocTest.cpp @@ -24,6 +24,7 @@ #include "tbf_dl.h" #include "bts.h" #include "gprs_ms.h" +#include "bts_pch_timer.h" #include #include @@ -802,6 +803,23 @@ talloc_free(bts); } +static void test_bts_pch_timer(void) +{ + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + const char *imsi1 = "1234"; + const char *imsi2 = "5678"; + + fprintf(stderr, "Testing bts_pch_timer dealloc on bts dealloc\n"); + log_set_category_filter(osmo_stderr_target, DPCU, 1, LOGL_DEBUG); + + fprintf(stderr, "Starting PCH timer for 2 IMSI\n"); + bts_pch_timer_start(bts, imsi1); + bts_pch_timer_start(bts, imsi2); + + fprintf(stderr, "Deallocating BTS, expecting the PCH timer to be stopped and deallocated\n"); + talloc_free(bts); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "moiji-mobile AllocTest context"); @@ -828,6 +846,7 @@ test_many_connections(alloc_algorithm_b, 32, "B"); test_many_connections(alloc_algorithm_dynamic, 160, "dynamic"); test_2_consecutive_dl_tbfs(); + test_bts_pch_timer(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/alloc/AllocTest.err b/tests/alloc/AllocTest.err index 4ae5e56..afb84bf 100644 --- a/tests/alloc/AllocTest.err +++ b/tests/alloc/AllocTest.err @@ -326119,3 +326119,10 @@ TBF(DL-TFI_1){NULL}: state_chg to RELEASING TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) free TBF(DL-TFI_1){RELEASING}: Deallocated +Testing bts_pch_timer dealloc on bts dealloc +Starting PCH timer for 2 IMSI +PCH paging timer started for IMSI=1234 +PCH paging timer started for IMSI=5678 +Deallocating BTS, expecting the PCH timer to be stopped and deallocated +PCH paging timer stopped for IMSI=1234 +PCH paging timer stopped for IMSI=5678 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia5e33d1894408e93a51c452002ef2f5758808269 Gerrit-Change-Number: 25217 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:31:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:31:39 +0000 Subject: Change in osmo-pcu[master]: tests: make update_exp: build check_PROGRAMS first In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25218 ) Change subject: tests: make update_exp: build check_PROGRAMS first ...................................................................... tests: make update_exp: build check_PROGRAMS first Make test development a bit more convenient. Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 --- M tests/Makefile.am 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 63d94f0..08cdc17 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -194,7 +194,7 @@ TESTSUITE = $(srcdir)/testsuite -update_exp: +update_exp: $(check_PROGRAMS) rlcmac/RLCMACTest \ >$(srcdir)/rlcmac/RLCMACTest.ok \ 2>$(srcdir)/rlcmac/RLCMACTest.err -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic053aa3ab7485176b58eab6ebb4835cfbe6b8260 Gerrit-Change-Number: 25218 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:33:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:33:03 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: > Patch Set 2: > > As far as I know the stats reset is used only with TTCN3 tests. Its for debug purposes only. Ask daniel for details. In those cases I gues we shouldn't be relying on reset, but rather taking snapshots before and after, and subtracting after-prev and checking the values. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 14:33:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:35:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:35:30 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: remove unusued rate counters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25219 ) Change subject: mgcp_ratectr: remove unusued rate counters ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-mgw/+/25219/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-mgw/+/25219/1//COMMIT_MSG at 13 PS1, Line 13: Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b Fixes: 39889e4389d10afacc6dc800ab707be1e5f9d531 -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b Gerrit-Change-Number: 25219 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:35:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:35:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:35:34 +0000 Subject: Change in osmo-mgw[master]: mgcp_ratectr: remove unusued rate counters In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-mgw/+/25219 ) Change subject: mgcp_ratectr: remove unusued rate counters ...................................................................... mgcp_ratectr: remove unusued rate counters The change I19f67db1c56473f47338b56114f6bbae8981d067 removes the policy_cb and change_cb callback funtions, but it does not remove the related ratecounters. Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b --- M include/osmocom/mgcp/mgcp_ratectr.h M src/libosmo-mgcp/mgcp_ratectr.c 2 files changed, 0 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/mgcp/mgcp_ratectr.h b/include/osmocom/mgcp/mgcp_ratectr.h index 48abc27..c03c4e1 100644 --- a/include/osmocom/mgcp/mgcp_ratectr.h +++ b/include/osmocom/mgcp/mgcp_ratectr.h @@ -22,7 +22,6 @@ MGCP_CRCX_FAIL_ALLOC_CONN, MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC, MGCP_CRCX_FAIL_START_RTP, - MGCP_CRCX_FAIL_REJECTED_BY_POLICY, MGCP_CRCX_FAIL_NO_OSMUX, MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS, MGCP_CRCX_FAIL_CODEC_NEGOTIATION, @@ -45,8 +44,6 @@ MGCP_MDCX_FAIL_INVALID_CONN_OPTIONS, MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC, MGCP_MDCX_FAIL_START_RTP, - MGCP_MDCX_FAIL_REJECTED_BY_POLICY, - MGCP_MDCX_DEFERRED_BY_POLICY, MGCP_MDCX_FAIL_AVAIL, }; @@ -57,8 +54,6 @@ MGCP_DLCX_FAIL_INVALID_CALLID, MGCP_DLCX_FAIL_INVALID_CONNID, MGCP_DLCX_FAIL_UNHANDLED_PARAM, - MGCP_DLCX_FAIL_REJECTED_BY_POLICY, - MGCP_DLCX_DEFERRED_BY_POLICY, MGCP_DLCX_FAIL_AVAIL, }; diff --git a/src/libosmo-mgcp/mgcp_ratectr.c b/src/libosmo-mgcp/mgcp_ratectr.c index 3bf079b..040dbb5 100644 --- a/src/libosmo-mgcp/mgcp_ratectr.c +++ b/src/libosmo-mgcp/mgcp_ratectr.c @@ -62,7 +62,6 @@ [MGCP_CRCX_FAIL_NO_REMOTE_CONN_DESC] = { "crcx:no_remote_conn_desc", "no opposite end specified for connection." }, [MGCP_CRCX_FAIL_START_RTP] = { "crcx:start_rtp_failure", "failure to start RTP processing." }, - [MGCP_CRCX_FAIL_REJECTED_BY_POLICY] = { "crcx:conn_rejected", "connection rejected by policy." }, [MGCP_CRCX_FAIL_NO_OSMUX] = { "crcx:no_osmux", "no osmux offered by peer." }, [MGCP_CRCX_FAIL_INVALID_CONN_OPTIONS] = { "crcx:conn_opt", "connection options invalid." }, [MGCP_CRCX_FAIL_CODEC_NEGOTIATION] = { "crcx:codec_nego", "codec negotiation failure." }, @@ -94,8 +93,6 @@ [MGCP_MDCX_FAIL_NO_REMOTE_CONN_DESC] = { "mdcx:no_remote_conn_desc", "no opposite end specified for connection." }, [MGCP_MDCX_FAIL_START_RTP] = { "mdcx:start_rtp_failure", "failure to start RTP processing." }, - [MGCP_MDCX_FAIL_REJECTED_BY_POLICY] = { "mdcx:conn_rejected", "connection rejected by policy." }, - [MGCP_MDCX_DEFERRED_BY_POLICY] = { "mdcx:conn_deferred", "connection deferred by policy." }, [MGCP_MDCX_FAIL_AVAIL] = { "mdcx:unavailable", "endpoint unavailable." }, }; @@ -115,8 +112,6 @@ [MGCP_DLCX_FAIL_INVALID_CONNID] = { "dlcx:connid", "connection ID specified in DLCX command does not exist on endpoint." }, [MGCP_DLCX_FAIL_UNHANDLED_PARAM] = { "dlcx:unhandled_param", "unhandled parameter in DLCX command." }, - [MGCP_DLCX_FAIL_REJECTED_BY_POLICY] = { "dlcx:rejected", "connection deletion rejected by policy." }, - [MGCP_DLCX_DEFERRED_BY_POLICY] = { "dlcx:deferred", "connection deletion deferred by policy." }, [MGCP_DLCX_FAIL_AVAIL] = { "dlcx:unavailable", "endpoint unavailable." }, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-mgw/+/25219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-Change-Id: I53aa3c890555055466e86b09a359375a10d3be7b Gerrit-Change-Number: 25219 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:36:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:36:03 +0000 Subject: Change in libosmocore[master]: codec: add missing osmo_amr_type_name function. In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25220 ) Change subject: codec: add missing osmo_amr_type_name function. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 Gerrit-Change-Number: 25220 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:36:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:48:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:48:46 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 3: I'll be at least partially reverting some parts of this commit in my big refactoring branch. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:48:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:50:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:50:49 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/bts.cpp at 1165 PS3, Line 1165: struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); here poll is being accessed now before checking it's not null. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:50:49 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:53:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:53:09 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/bts.cpp at a1172 PS3, Line 1172: tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); here it can't return NULL, since poll_tbf will always be non null and since we checked it's direction==GPRS_RLCMAC_UL_TBF, we are sure we always get a correct pointer here. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:53:09 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 14:53:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 14:53:56 +0000 Subject: Change in osmo-pcu[master]: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25182 ) Change subject: fix: handle NULL return of as_dl_tbf() and as_ul_tbf() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/gprs_ms.c File src/gprs_ms.c: https://gerrit.osmocom.org/c/osmo-pcu/+/25182/3/src/gprs_ms.c at 338 PS3, Line 338: struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); This change doesn't help at all. If direction is DL, then for sure we can get a dl_tbf pointer. With UL the same. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8ce21be6836549b47a606c00b793d6f005964c5c Gerrit-Change-Number: 25182 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 14:53:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:14:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:14:36 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 to look at the new patch set (#3). Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... tbf_free: Get rid of uneeded tbf_state transition We are freeing the object immediately afterwards anyway, so no need to pretend it went through the normal state release. Leaving current state as it is actually provides more information on what was the status/state at the time the TBF had to be freed. Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 --- M src/tbf.cpp M tests/alloc/AllocTest.err M tests/app_info/AppInfoTest.err M tests/tbf/TbfTest.err 4 files changed, 49,178 insertions(+), 98,246 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/25055/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:14:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:14:36 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 to look at the new patch set (#6). Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Replace ul_ass_state with osmocom FSM Related: OS#2709 Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,530 insertions(+), 208 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/25056/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:14:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:14:36 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 to look at the new patch set (#3). Change subject: replace dl_ass_state with osmocom FSM ...................................................................... replace dl_ass_state with osmocom FSM Related: OS#2709 Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl_ass_fsm.c A src/tbf_dl_ass_fsm.h M src/tbf_ul.cpp M src/tbf_ul.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 16 files changed, 100,488 insertions(+), 229 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/25060/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:15:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:15:06 +0000 Subject: Change in osmo-pcu[master]: Revert "coverity: fix null deref from recent UL TBF leak fix" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25221 ) Change subject: Revert "coverity: fix null deref from recent UL TBF leak fix" ...................................................................... Revert "coverity: fix null deref from recent UL TBF leak fix" This reverts commit 3bd648888910d8135e78c02b2f123163ac0ff2a3. Change-Id: I59c4ae726286216850ad9b53fee34ab4bda5630f --- M src/bts.cpp 1 file changed, 3 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/25221/1 diff --git a/src/bts.cpp b/src/bts.cpp index daa8ee1..0453e4e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1165,16 +1165,13 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || - poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) { + poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - return; - } - ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); - if (ul_tbf) { + else if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I59c4ae726286216850ad9b53fee34ab4bda5630f Gerrit-Change-Number: 25221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:15:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:15:07 +0000 Subject: Change in osmo-pcu[master]: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25222 ) Change subject: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" ...................................................................... Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" This reverts commit d8e8ea9c8f16e0a1d09c2ea4395e15eac7358ed2. Change-Id: I8000e78515b25b9be5c28a249bde330dac915dcb --- M src/bts.cpp M src/gprs_ms.c M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pdch.cpp M src/tbf.cpp 6 files changed, 37 insertions(+), 57 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/25222/1 diff --git a/src/bts.cpp b/src/bts.cpp index 0453e4e..1fbb00e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1165,21 +1165,22 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + struct gprs_rlcmac_ul_tbf *tbf; if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else if (ul_tbf) { + else { + tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF */ if (is_rach) - set_tbf_ta(ul_tbf, (uint8_t)ta); + set_tbf_ta(tbf, (uint8_t)ta); else - update_tbf_ta(ul_tbf, ta); + update_tbf_ta(tbf, ta); } } diff --git a/src/gprs_ms.c b/src/gprs_ms.c index b9d130a..0d6be4d 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -335,13 +335,9 @@ void ms_attach_tbf(struct GprsMs *ms, struct gprs_rlcmac_tbf *tbf) { - struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (dl_tbf) + if (tbf_direction(tbf) == GPRS_RLCMAC_DL_TBF) ms_attach_dl_tbf(ms, as_dl_tbf(tbf)); - if (ul_tbf) + else ms_attach_ul_tbf(ms, as_ul_tbf(tbf)); } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index b99ef9e..2adf1f3 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -50,8 +50,7 @@ llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (!ul_tbf) - continue; + OSMO_ASSERT(ul_tbf); /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; @@ -70,8 +69,7 @@ } llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (!dl_tbf) - continue; + OSMO_ASSERT(dl_tbf); /* this trx, this ts */ if (!dl_tbf->is_control_ts(pdch->ts_no)) continue; @@ -461,7 +459,6 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", fn, block_nr, poll_fn, tbf_name(poll_tbf)); @@ -469,9 +466,8 @@ * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at * pcaps. */ - ul_tbf = as_ul_tbf(poll_tbf); - if (ul_tbf && poll_tbf->direction == GPRS_RLCMAC_UL_TBF && ul_tbf->m_usf[ts] != USF_INVALID) - usf_tbf = ul_tbf; + if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) + usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ } else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 88dc024..5ccbb9f 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -357,8 +357,6 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx = ms_current_trx(ms); - struct gprs_rlcmac_dl_tbf *dl_tbf; - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "A", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -408,15 +406,12 @@ /* The allocation will be successful, so the system state and tbf_/ms_ * may be modified from now on. */ - dl_tbf = as_dl_tbf(tbf_); - ul_tbf = as_ul_tbf(tbf_); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf_); LOGPSL(tbf, LOGL_DEBUG, "Assign uplink TS=%d TFI=%d USF=%d\n", ts, tfi, usf); assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf); - } - if (dl_tbf) { + } else { + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf_); LOGPSL(tbf, LOGL_DEBUG, "Assign downlink TS=%d TFI=%d\n", ts, tfi); assign_dlink_tbf(pdch, dl_tbf, tfi); } @@ -883,8 +878,6 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx; - struct gprs_rlcmac_dl_tbf *dl_tbf; - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "B", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -967,14 +960,10 @@ tbf_->first_common_ts = first_common_ts; tbf_->first_ts = first_ts; - dl_tbf = as_dl_tbf(tbf_); - ul_tbf = as_ul_tbf(tbf_); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (dl_tbf) - assign_dl_tbf_slots(dl_tbf, trx, dl_slots, tfi); - if (ul_tbf) - assign_ul_tbf_slots(ul_tbf, trx, ul_slots, tfi, usf); + if (tbf->direction == GPRS_RLCMAC_DL_TBF) + assign_dl_tbf_slots(as_dl_tbf(tbf_), trx, dl_slots, tfi); + else + assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_B); diff --git a/src/pdch.cpp b/src/pdch.cpp index f955444..2ec40ce 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -452,7 +452,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (!tbf || tbf->tfi() != tfi) { + if (tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, "PACKET DOWNLINK ACK with wrong TFI=%d, ignoring!\n", tfi); return; @@ -522,7 +522,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (!tbf || tbf->tfi() != tfi) { + if (tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "wrong TFI=%d, ignoring!\n", tfi); return; @@ -1063,8 +1063,8 @@ m_tbfs[tbf->direction][tbf->tfi()]->name()); m_num_tbfs[tbf->direction] += 1; - ul_tbf = as_ul_tbf(tbf); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + ul_tbf = as_ul_tbf(tbf); m_assigned_usf |= 1 << ul_tbf->m_usf[ts_no]; } m_assigned_tfi[tbf->direction] |= 1UL << tbf->tfi(); @@ -1083,8 +1083,8 @@ OSMO_ASSERT(m_num_tbfs[tbf->direction] > 0); m_num_tbfs[tbf->direction] -= 1; - ul_tbf = as_ul_tbf(tbf); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + ul_tbf = as_ul_tbf(tbf); m_assigned_usf &= ~(1 << ul_tbf->m_usf[ts_no]); } m_assigned_tfi[tbf->direction] &= ~(1UL << tbf->tfi()); diff --git a/src/tbf.cpp b/src/tbf.cpp index e9e584f..fcad879 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -270,18 +270,15 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) { /* update counters */ - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); - } - if (dl_tbf) { + } else { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); if (tbf->is_egprs_enabled()) { rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); } else { @@ -294,7 +291,9 @@ /* Give final measurement report */ gprs_rlcmac_rssi_rep(tbf); - if (dl_tbf) { + if (tbf->direction == GPRS_RLCMAC_DL_TBF) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + dl_tbf->abort(); dl_tbf->cleanup(); } @@ -624,10 +623,7 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); @@ -694,7 +690,9 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (dl_tbf) { + } else if (direction == GPRS_RLCMAC_DL_TBF) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); + if (!(dl_tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", @@ -786,7 +784,6 @@ void gprs_rlcmac_tbf::handle_timeout() { int current_fn = bts_current_frame_number(bts); - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); @@ -801,7 +798,8 @@ } /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if (dl_tbf && (state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { + if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); dl_tbf->m_wait_confirm = 0; if (dl_tbf->state_is(TBF_ST_ASSIGN)) { tbf_assign_control_ts(dl_tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8000e78515b25b9be5c28a249bde330dac915dcb Gerrit-Change-Number: 25222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 15:15:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 15:15:08 +0000 Subject: Change in osmo-pcu[master]: Revert "Revert "Stop abusing T3169"" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25223 ) Change subject: Revert "Revert "Stop abusing T3169"" ...................................................................... Revert "Revert "Stop abusing T3169"" This reverts commit 112c63e9b4bd4e83689c9a0c571ccad722fe9dcd. Change-Id: Ic18674ccd38f81ddd46e1ec733159df350991899 --- M src/bts.cpp M src/tbf_ul.cpp M tests/tbf/TbfTest.err 3 files changed, 9 insertions(+), 247 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/25223/1 diff --git a/src/bts.cpp b/src/bts.cpp index 1fbb00e..729ff5d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -928,7 +928,6 @@ goto send_imm_ass_rej; } tbf->set_ta(ta); - T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 65658ab..5ca02d9 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -155,7 +155,6 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); - T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -414,9 +413,6 @@ uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; - /* restart T3169 */ - T_START(this, T3169, 3169, "acked (data)", true); - /* Increment RX-counter */ this->m_rx_counter++; update_coding_scheme_counter_ul(rlc->cs); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 4addc12..0306562 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1512,13 +1512,11 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1593,7 +1591,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1613,7 +1610,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1679,7 +1675,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1699,7 +1694,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1826,7 +1820,6 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! @@ -1858,7 +1851,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1870,7 +1862,14 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +********** UL-TBF ends here ********** +TBF(UL-TFI_0){FLOW}: Deallocated +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1906,7 +1905,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -1928,7 +1926,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1965,7 +1962,6 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -1996,7 +1992,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 @@ -2016,7 +2011,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2056,7 +2050,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2078,7 +2071,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2115,7 +2107,6 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -2143,13 +2134,11 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2209,7 +2198,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2231,7 +2219,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2933,6 +2920,7 @@ PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: state_chg to RELEASING +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) @@ -3347,7 +3335,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3369,7 +3356,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3441,7 +3427,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3463,7 +3448,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3473,7 +3457,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3481,7 +3464,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3496,7 +3478,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3504,7 +3485,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3519,7 +3499,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3527,7 +3506,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3535,7 +3513,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3550,7 +3527,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3558,14 +3534,12 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3580,7 +3554,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3588,7 +3561,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -6078,7 +6050,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6100,7 +6071,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6110,7 +6080,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6121,7 +6090,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6247,7 +6215,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6269,7 +6236,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6279,7 +6245,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6383,7 +6348,6 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6407,7 +6371,6 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6431,7 +6394,6 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6455,7 +6417,6 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6479,7 +6440,6 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6503,7 +6463,6 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6527,7 +6486,6 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6592,7 +6550,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6614,7 +6571,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6624,133 +6580,114 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6759,140 +6696,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6901,140 +6818,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7043,140 +6940,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7186,7 +7063,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654279 @@ -7221,7 +7097,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7231,126 +7106,108 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7359,7 +7216,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7367,7 +7223,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7386,126 +7241,108 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7514,140 +7351,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7656,140 +7473,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7798,140 +7595,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7940,14 +7717,12 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7955,7 +7730,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -8057,7 +7831,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=52 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcc, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8095,7 +7868,6 @@ TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=56 TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcd, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8138,7 +7910,6 @@ TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_2){NULL}: state_chg to ASSIGN -TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=60 TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddce, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8181,7 +7952,6 @@ TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_3){NULL}: state_chg to ASSIGN -TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=65 TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcf, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8224,7 +7994,6 @@ TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_4){NULL}: state_chg to ASSIGN -TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=69 TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd0, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8267,7 +8036,6 @@ TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_5){NULL}: state_chg to ASSIGN -TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=73 TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd1, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8310,7 +8078,6 @@ TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_6){NULL}: state_chg to ASSIGN -TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=78 TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd2, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic18674ccd38f81ddd46e1ec733159df350991899 Gerrit-Change-Number: 25223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:09 +0000 Subject: Change in osmo-pcu[master]: Revert "coverity: fix null deref from recent UL TBF leak fix" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25221 ) Change subject: Revert "coverity: fix null deref from recent UL TBF leak fix" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I59c4ae726286216850ad9b53fee34ab4bda5630f Gerrit-Change-Number: 25221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:13 +0000 Subject: Change in osmo-pcu[master]: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25222 ) Change subject: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8000e78515b25b9be5c28a249bde330dac915dcb Gerrit-Change-Number: 25222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:16 +0000 Subject: Change in osmo-pcu[master]: Revert "Revert "Stop abusing T3169"" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25223 ) Change subject: Revert "Revert "Stop abusing T3169"" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic18674ccd38f81ddd46e1ec733159df350991899 Gerrit-Change-Number: 25223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:32 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25034 ) Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:38 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25046 ) Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:42 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:45 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25048 ) Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:48 +0000 Subject: Change in osmo-pcu[master]: Drop duplicate log line In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25049 ) Change subject: Drop duplicate log line ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 Gerrit-Change-Number: 25049 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:51 +0000 Subject: Change in osmo-pcu[master]: Put dl_tbf::cleanup into destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25050 ) Change subject: Put dl_tbf::cleanup into destructor ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c Gerrit-Change-Number: 25050 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:54 +0000 Subject: Change in osmo-pcu[master]: Drop logging last mas report before freeing TBF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25051 ) Change subject: Drop logging last mas report before freeing TBF ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 Gerrit-Change-Number: 25051 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:56 +0000 Subject: Change in osmo-pcu[master]: Remove duplicate call to gprs_rlcmac_lost_rep In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25052 ) Change subject: Remove duplicate call to gprs_rlcmac_lost_rep ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b Gerrit-Change-Number: 25052 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:26:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:26:58 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:26:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:03 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:06 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25055 ) Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:09 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:13 +0000 Subject: Change in osmo-pcu[master]: tbf: Reimplement rlcmac_diag() and make it available from C In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25058 ) Change subject: tbf: Reimplement rlcmac_diag() and make it available from C ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 Gerrit-Change-Number: 25058 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:15 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25059 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:17 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:22 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25061 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:24 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:26 +0000 Subject: Change in osmo-pcu[master]: Move timer X2001 to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25092 ) Change subject: Move timer X2001 to tbf_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 Gerrit-Change-Number: 25092 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:33 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into rcvd_dl_ack() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25094 ) Change subject: tbf: Merge handle_ack_nack() into rcvd_dl_ack() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:35 +0000 Subject: Change in osmo-pcu[master]: Fix typos in comments documenting fsm st chg macro In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25095 ) Change subject: Fix typos in comments documenting fsm st chg macro ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 Gerrit-Change-Number: 25095 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:37 +0000 Subject: Change in osmo-pcu[master]: tbf: Use type bool for upgrade_to_multislot In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25102 ) Change subject: tbf: Use type bool for upgrade_to_multislot ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac Gerrit-Change-Number: 25102 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:39 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:42 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Clarify requirements for DL ACK/NACK In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25105 ) Change subject: tbf_dl: Clarify requirements for DL ACK/NACK ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 Gerrit-Change-Number: 25105 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:44 +0000 Subject: Change in osmo-pcu[master]: tbf.h: Improve documentation on several flags In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25106 ) Change subject: tbf.h: Improve documentation on several flags ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a Gerrit-Change-Number: 25106 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:48 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:50 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25111 ) Change subject: Simplify tbf::set_polling() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:53 +0000 Subject: Change in osmo-pcu[master]: tbf: Move T3193 to tbf_state FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25112 ) Change subject: tbf: Move T3193 to tbf_state FSM ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 Gerrit-Change-Number: 25112 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 16:27:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:59 +0000 Subject: Change in osmo-pcu[master]: Revert "coverity: fix null deref from recent UL TBF leak fix" In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25221 ) Change subject: Revert "coverity: fix null deref from recent UL TBF leak fix" ...................................................................... Revert "coverity: fix null deref from recent UL TBF leak fix" This reverts commit 3bd648888910d8135e78c02b2f123163ac0ff2a3. Change-Id: I59c4ae726286216850ad9b53fee34ab4bda5630f --- M src/bts.cpp 1 file changed, 3 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index daa8ee1..0453e4e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1165,16 +1165,13 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf; + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || - poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) { + poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - return; - } - ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); - if (ul_tbf) { + else if (ul_tbf) { /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I59c4ae726286216850ad9b53fee34ab4bda5630f Gerrit-Change-Number: 25221 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:27:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:27:59 +0000 Subject: Change in osmo-pcu[master]: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25222 ) Change subject: Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" ...................................................................... Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()" This reverts commit d8e8ea9c8f16e0a1d09c2ea4395e15eac7358ed2. Change-Id: I8000e78515b25b9be5c28a249bde330dac915dcb --- M src/bts.cpp M src/gprs_ms.c M src/gprs_rlcmac_sched.cpp M src/gprs_rlcmac_ts_alloc.cpp M src/pdch.cpp M src/tbf.cpp 6 files changed, 37 insertions(+), 57 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 0453e4e..1fbb00e 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1165,21 +1165,22 @@ { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + struct gprs_rlcmac_ul_tbf *tbf; if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); - else if (ul_tbf) { + else { + tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF */ if (is_rach) - set_tbf_ta(ul_tbf, (uint8_t)ta); + set_tbf_ta(tbf, (uint8_t)ta); else - update_tbf_ta(ul_tbf, ta); + update_tbf_ta(tbf, ta); } } diff --git a/src/gprs_ms.c b/src/gprs_ms.c index b9d130a..0d6be4d 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -335,13 +335,9 @@ void ms_attach_tbf(struct GprsMs *ms, struct gprs_rlcmac_tbf *tbf) { - struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (dl_tbf) + if (tbf_direction(tbf) == GPRS_RLCMAC_DL_TBF) ms_attach_dl_tbf(ms, as_dl_tbf(tbf)); - if (ul_tbf) + else ms_attach_ul_tbf(ms, as_ul_tbf(tbf)); } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index b99ef9e..2adf1f3 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -50,8 +50,7 @@ llist_for_each_entry(pos, &pdch->trx->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (!ul_tbf) - continue; + OSMO_ASSERT(ul_tbf); /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; @@ -70,8 +69,7 @@ } llist_for_each_entry(pos, &pdch->trx->dl_tbfs, list) { dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (!dl_tbf) - continue; + OSMO_ASSERT(dl_tbf); /* this trx, this ts */ if (!dl_tbf->is_control_ts(pdch->ts_no)) continue; @@ -461,7 +459,6 @@ "single block allocation at FN=%d\n", fn, block_nr, sba->fn); /* else, check uplink resource for polling */ } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " "block_nr=%d scheduling free USF for polling at FN=%d of %s\n", fn, block_nr, poll_fn, tbf_name(poll_tbf)); @@ -469,9 +466,8 @@ * let's set its USF in the DL msg. This is not really needed, * but it helps understand better the flow when looking at * pcaps. */ - ul_tbf = as_ul_tbf(poll_tbf); - if (ul_tbf && poll_tbf->direction == GPRS_RLCMAC_UL_TBF && ul_tbf->m_usf[ts] != USF_INVALID) - usf_tbf = ul_tbf; + if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) + usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ } else if ((usf_tbf = sched_select_uplink(pdch, require_gprs_only))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: FN=%d " diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 88dc024..5ccbb9f 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -357,8 +357,6 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx = ms_current_trx(ms); - struct gprs_rlcmac_dl_tbf *dl_tbf; - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "A", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -408,15 +406,12 @@ /* The allocation will be successful, so the system state and tbf_/ms_ * may be modified from now on. */ - dl_tbf = as_dl_tbf(tbf_); - ul_tbf = as_ul_tbf(tbf_); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf_); LOGPSL(tbf, LOGL_DEBUG, "Assign uplink TS=%d TFI=%d USF=%d\n", ts, tfi, usf); assign_uplink_tbf_usf(pdch, ul_tbf, tfi, usf); - } - if (dl_tbf) { + } else { + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf_); LOGPSL(tbf, LOGL_DEBUG, "Assign downlink TS=%d TFI=%d\n", ts, tfi); assign_dlink_tbf(pdch, dl_tbf, tfi); } @@ -883,8 +878,6 @@ struct GprsMs *ms = tbf_->ms(); const gprs_rlcmac_tbf *tbf = tbf_; gprs_rlcmac_trx *trx; - struct gprs_rlcmac_dl_tbf *dl_tbf; - struct gprs_rlcmac_ul_tbf *ul_tbf; LOGPAL(tbf, "B", single, use_trx, LOGL_DEBUG, "Alloc start\n"); @@ -967,14 +960,10 @@ tbf_->first_common_ts = first_common_ts; tbf_->first_ts = first_ts; - dl_tbf = as_dl_tbf(tbf_); - ul_tbf = as_ul_tbf(tbf_); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (dl_tbf) - assign_dl_tbf_slots(dl_tbf, trx, dl_slots, tfi); - if (ul_tbf) - assign_ul_tbf_slots(ul_tbf, trx, ul_slots, tfi, usf); + if (tbf->direction == GPRS_RLCMAC_DL_TBF) + assign_dl_tbf_slots(as_dl_tbf(tbf_), trx, dl_slots, tfi); + else + assign_ul_tbf_slots(as_ul_tbf(tbf_), trx, ul_slots, tfi, usf); bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_B); diff --git a/src/pdch.cpp b/src/pdch.cpp index f955444..2ec40ce 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -452,7 +452,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (!tbf || tbf->tfi() != tfi) { + if (tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, "PACKET DOWNLINK ACK with wrong TFI=%d, ignoring!\n", tfi); return; @@ -522,7 +522,7 @@ return; } tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); - if (!tbf || tbf->tfi() != tfi) { + if (tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "wrong TFI=%d, ignoring!\n", tfi); return; @@ -1063,8 +1063,8 @@ m_tbfs[tbf->direction][tbf->tfi()]->name()); m_num_tbfs[tbf->direction] += 1; - ul_tbf = as_ul_tbf(tbf); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + ul_tbf = as_ul_tbf(tbf); m_assigned_usf |= 1 << ul_tbf->m_usf[ts_no]; } m_assigned_tfi[tbf->direction] |= 1UL << tbf->tfi(); @@ -1083,8 +1083,8 @@ OSMO_ASSERT(m_num_tbfs[tbf->direction] > 0); m_num_tbfs[tbf->direction] -= 1; - ul_tbf = as_ul_tbf(tbf); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + ul_tbf = as_ul_tbf(tbf); m_assigned_usf &= ~(1 << ul_tbf->m_usf[ts_no]); } m_assigned_tfi[tbf->direction] &= ~(1UL << tbf->tfi()); diff --git a/src/tbf.cpp b/src/tbf.cpp index e9e584f..fcad879 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -270,18 +270,15 @@ void tbf_free(struct gprs_rlcmac_tbf *tbf) { /* update counters */ - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); - if (ul_tbf) { + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); - } - if (dl_tbf) { + } else { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); if (tbf->is_egprs_enabled()) { rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); } else { @@ -294,7 +291,9 @@ /* Give final measurement report */ gprs_rlcmac_rssi_rep(tbf); - if (dl_tbf) { + if (tbf->direction == GPRS_RLCMAC_DL_TBF) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + dl_tbf->abort(); dl_tbf->cleanup(); } @@ -624,10 +623,7 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); - /* cannot be both DL and UL */ - OSMO_ASSERT(!(dl_tbf && ul_tbf)); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); @@ -694,7 +690,9 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (dl_tbf) { + } else if (direction == GPRS_RLCMAC_DL_TBF) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); + if (!(dl_tbf->state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", @@ -786,7 +784,6 @@ void gprs_rlcmac_tbf::handle_timeout() { int current_fn = bts_current_frame_number(bts); - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); @@ -801,7 +798,8 @@ } /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if (dl_tbf && (state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { + if ((state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { + gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); dl_tbf->m_wait_confirm = 0; if (dl_tbf->state_is(TBF_ST_ASSIGN)) { tbf_assign_control_ts(dl_tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8000e78515b25b9be5c28a249bde330dac915dcb Gerrit-Change-Number: 25222 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:00 +0000 Subject: Change in osmo-pcu[master]: Revert "Revert "Stop abusing T3169"" In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25223 ) Change subject: Revert "Revert "Stop abusing T3169"" ...................................................................... Revert "Revert "Stop abusing T3169"" This reverts commit 112c63e9b4bd4e83689c9a0c571ccad722fe9dcd. Change-Id: Ic18674ccd38f81ddd46e1ec733159df350991899 --- M src/bts.cpp M src/tbf_ul.cpp M tests/tbf/TbfTest.err 3 files changed, 9 insertions(+), 247 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 1fbb00e..729ff5d 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -928,7 +928,6 @@ goto send_imm_ass_rej; } tbf->set_ta(ta); - T_START(tbf, T3169, 3169, "RACH (new UL-TBF)", true); trx_no = tbf->trx->trx_no; ts_no = tbf->first_ts; usf = tbf->m_usf[ts_no]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 65658ab..5ca02d9 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -155,7 +155,6 @@ } tbf->m_contention_resolution_done = 1; TBF_SET_ASS_ON(tbf, GPRS_RLCMAC_FLAG_PACCH, false); - T_START(tbf, T3169, 3169, "allocation (UL-TBF)", true); tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); OSMO_ASSERT(tbf->ms()); @@ -414,9 +413,6 @@ uint32_t new_tlli = GSM_RESERVED_TMSI; unsigned int block_idx; - /* restart T3169 */ - T_START(this, T3169, 3169, "acked (data)", true); - /* Increment RX-counter */ this->m_rx_counter++; update_coding_scheme_counter_ul(rlc->cs); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 4addc12..0306562 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1512,13 +1512,11 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1593,7 +1591,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1613,7 +1610,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1679,7 +1675,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 @@ -1699,7 +1694,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1826,7 +1820,6 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! @@ -1858,7 +1851,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1870,7 +1862,14 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free +PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +********** UL-TBF ends here ********** +TBF(UL-TFI_0){FLOW}: Deallocated +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1906,7 +1905,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -1928,7 +1926,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1965,7 +1962,6 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -1996,7 +1992,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 @@ -2016,7 +2011,6 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2056,7 +2050,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2078,7 +2071,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2115,7 +2107,6 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** @@ -2143,13 +2134,11 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654275 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=0, BSN=0, SPB=0, PI=0, E=1, TI=1, bitoffs=24 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2209,7 +2198,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 @@ -2231,7 +2219,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2933,6 +2920,7 @@ PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: state_chg to RELEASING +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) @@ -3347,7 +3335,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3369,7 +3356,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3441,7 +3427,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -3463,7 +3448,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3473,7 +3457,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3481,7 +3464,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3496,7 +3478,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3504,7 +3485,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3519,7 +3499,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3527,7 +3506,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3535,7 +3513,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3550,7 +3527,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3558,14 +3534,12 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3580,7 +3554,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3588,7 +3561,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -6078,7 +6050,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6100,7 +6071,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6110,7 +6080,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6121,7 +6090,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6247,7 +6215,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6269,7 +6236,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6279,7 +6245,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6383,7 +6348,6 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 MS requests Uplink resource on CCCH/RACH: ra=0x79 (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6407,7 +6371,6 @@ TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=1 USF=1 MS requests Uplink resource on CCCH/RACH: ra=0x7a (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6431,7 +6394,6 @@ TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=2 USF=2 MS requests Uplink resource on CCCH/RACH: ra=0x7b (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6455,7 +6417,6 @@ TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=3 USF=3 MS requests Uplink resource on CCCH/RACH: ra=0x7c (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6479,7 +6440,6 @@ TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=4 USF=4 MS requests Uplink resource on CCCH/RACH: ra=0x7d (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6503,7 +6463,6 @@ TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=5 USF=5 MS requests Uplink resource on CCCH/RACH: ra=0x7e (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6527,7 +6486,6 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3141 [Contention resolution (UL-TBF, CCCH)] with 10 sec. 0 microsec, cur_fn=2654167 Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 -TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 MS requests Uplink resource on CCCH/RACH: ra=0x7f (8 bit) Fn=2654167 qta=31 Creating MS object, TLLI = 0xffffffff @@ -6592,7 +6550,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -6614,7 +6571,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6624,133 +6580,114 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6759,140 +6696,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6901,140 +6818,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7043,140 +6940,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7186,7 +7063,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654279 @@ -7221,7 +7097,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7231,126 +7106,108 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7359,7 +7216,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7367,7 +7223,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7386,126 +7241,108 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7514,140 +7351,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7656,140 +7473,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7798,140 +7595,120 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7940,14 +7717,12 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -7955,7 +7730,6 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -8057,7 +7831,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=52 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcc, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8095,7 +7868,6 @@ TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=56 TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcd, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8138,7 +7910,6 @@ TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_2){NULL}: state_chg to ASSIGN -TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=60 TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddce, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8181,7 +7952,6 @@ TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_3){NULL}: state_chg to ASSIGN -TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=65 TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddcf, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8224,7 +7994,6 @@ TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_4){NULL}: state_chg to ASSIGN -TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=69 TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd0, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8267,7 +8036,6 @@ TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_5){NULL}: state_chg to ASSIGN -TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=73 TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd1, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 @@ -8310,7 +8078,6 @@ TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(UL-TFI_6){NULL}: state_chg to ASSIGN -TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=78 TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xffeeddd2, IMSI=, TA=7, 11/11, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic18674ccd38f81ddd46e1ec733159df350991899 Gerrit-Change-Number: 25223 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:03 +0000 Subject: Change in osmo-pcu[master]: Move NULL and ASSIGN tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25011 ) Change subject: Move NULL and ASSIGN tbf_state transition to tbf_fsm ...................................................................... Move NULL and ASSIGN tbf_state transition to tbf_fsm At some point later in time the state_flags will most probably be split into different variables, one ending up in a different FSM. It is moved so far to the exsiting FSM from the C++ class since it's easier to access it from C and C++ code, and anyway that kind of information belongs to the FSM. Related: OS#2709 Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 --- M src/pcu_vty_functions.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/alloc/AllocTest.err M tests/tbf/TbfTest.err 10 files changed, 24,858 insertions(+), 141 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25011 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3c62e9e83965cb28065338733f182863e54d7474 Gerrit-Change-Number: 25011 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:04 +0000 Subject: Change in osmo-pcu[master]: Move FLOW tbf_state transition to tbf_fsm. In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25012 ) Change subject: Move FLOW tbf_state transition to tbf_fsm. ...................................................................... Move FLOW tbf_state transition to tbf_fsm. Related: OS#2709 Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d --- M src/pdch.cpp M src/tbf.cpp M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 6 files changed, 317 insertions(+), 99 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index f53e155..b5622b4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -368,15 +368,7 @@ tbf->direction == new_tbf->direction) tbf_free(tbf); - if (new_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { - /* We now know that the PACCH really existed */ - LOGPTBF(new_tbf, LOGL_INFO, - "The TBF has been confirmed on the PACCH, " - "changed type from CCCH to PACCH\n"); - osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); - } - TBF_SET_STATE(new_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); /* stop pending assignment timer */ new_tbf->t_stop(T0, "control acked (DL-TBF)"); if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ASS)) @@ -401,7 +393,7 @@ tbf->direction == new_tbf->direction) tbf_free(tbf); - TBF_SET_STATE(new_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ASS)) LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered uplink assignment for UL\n"); diff --git a/src/tbf.cpp b/src/tbf.cpp index 8b17059..7b5fce2 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -808,7 +808,7 @@ if (!dl_tbf->upgrade_to_multislot) { /* change state to FLOW, so scheduler * will start transmission */ - TBF_SET_STATE(dl_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_READY_CCCH, NULL); return; } diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 9301931..5799d90 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -44,6 +44,8 @@ { TBF_EV_ASSIGN_ADD_CCCH, "ASSIGN_ADD_CCCH" }, { TBF_EV_ASSIGN_ADD_PACCH, "ASSIGN_ADD_PACCH" }, { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, + { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, + { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { 0, NULL } }; @@ -115,6 +117,21 @@ case TBF_EV_ASSIGN_ADD_PACCH: mod_ass_type(ctx, GPRS_RLCMAC_FLAG_PACCH, true); break; + case TBF_EV_ASSIGN_ACK_PACCH: + if (ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) { + /* We now know that the PACCH really existed */ + LOGPTBF(ctx->tbf, LOGL_INFO, + "The TBF has been confirmed on the PACCH, " + "changed type from CCCH to PACCH\n"); + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_PACCH, true); + } + tbf_fsm_state_chg(fi, TBF_ST_FLOW); + break; + case TBF_EV_ASSIGN_READY_CCCH: + /* change state to FLOW, so scheduler will start transmission */ + tbf_fsm_state_chg(fi, TBF_ST_FLOW); + break; default: OSMO_ASSERT(0); } @@ -151,7 +168,9 @@ [TBF_ST_ASSIGN] = { .in_event_mask = X(TBF_EV_ASSIGN_ADD_CCCH) | - X(TBF_EV_ASSIGN_ADD_PACCH), + X(TBF_EV_ASSIGN_ADD_PACCH) | + X(TBF_EV_ASSIGN_ACK_PACCH) | + X(TBF_EV_ASSIGN_READY_CCCH), .out_state_mask = X(TBF_ST_FLOW) | X(TBF_ST_FINISHED) | diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index ed025ca..a3050c0 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -30,6 +30,8 @@ TBF_EV_ASSIGN_ADD_CCCH, /* An assignment is sent over CCCH and confirmation from MS is pending */ TBF_EV_ASSIGN_ADD_PACCH, /* An assignment is sent over PACCH and confirmation from MS is pending */ TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ + TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ + TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ }; enum tbf_fsm_states { diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index aa7ab46..f8cb974 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -217,7 +217,8 @@ /* "Establish" the DL TBF */ TBF_SET_ASS_STATE_DL(dl_tbf, GPRS_RLCMAC_DL_ASS_SEND_ASS); - TBF_SET_STATE(dl_tbf, TBF_ST_FLOW); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_CCCH, NULL); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); dl_tbf->m_wait_confirm = 0; check_tbf(dl_tbf); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a023465..f2beb1f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -63,7 +63,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -72,7 +79,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -161,7 +168,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -170,7 +184,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -259,7 +273,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes @@ -268,7 +289,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -446,7 +467,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=104, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge @@ -469,7 +490,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 203 + 13 = 216 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on UNKNOWN (FN=216, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=216, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b @@ -512,7 +533,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 Found first unallocated TRX=0 TFI=1 @@ -534,7 +562,14 @@ MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_1){NULL}: state_chg to FLOW +TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_1){NULL}: state_chg to ASSIGN +TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xf1000001, partly confirmed The MS object cannot fully confirm an unexpected TLLI: 0xf1000002, partly confirmed Modifying MS object, TLLI = 0xf1000001, IMSI '' -> '001001000000001' @@ -1691,6 +1726,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -1778,6 +1814,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -1830,6 +1867,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FN=2654288 Rx Packet Control Ack (reason=DL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! @@ -1935,6 +1973,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) FN=2654361 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_1){ASSIGN}: state_chg to FLOW PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2014,6 +2053,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2103,6 +2143,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654340 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654340 -> 2654331 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2164,6 +2205,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2317,6 +2359,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -2409,6 +2452,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) FN=2654288 Rx Packet Control Ack (reason=DL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! @@ -3087,6 +3131,7 @@ MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(DL-TFI_0){RELEASING}: Deallocated +TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! @@ -3464,6 +3509,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -3559,6 +3605,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -3747,7 +3794,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -3755,7 +3809,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -3770,7 +3824,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 0f 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 2654167 -> 8 @@ -3939,7 +3993,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because 20 blocks sent. PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=104, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 0f 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -3979,19 +4033,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 24) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 108 + 13 = 121 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=121, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=121, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=121, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 0f 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 112 PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4038,7 +4092,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4046,7 +4107,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4061,7 +4122,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 0f 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 112 -> 8 @@ -4225,19 +4286,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 86 + 13 = 99 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=99, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=99, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=99, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 0f c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 91 PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4280,7 +4341,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4288,7 +4356,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4303,7 +4371,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 0f 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 91 -> 8 @@ -4427,19 +4495,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 65 + 13 = 78 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=78, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=78, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=78, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 0f 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 Detected FN jump! 8 -> 69 PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4482,7 +4550,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4490,7 +4565,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4505,7 +4580,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 0f 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 69 -> 8 @@ -4613,19 +4688,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 56 + 13 = 69 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=69, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=69, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=69, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 0f 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 60 PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4668,7 +4743,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4676,7 +4758,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4691,7 +4773,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 60 -> 8 @@ -4783,19 +4865,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 47 + 13 = 60 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=60, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=60, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=60, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 52 PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4838,7 +4920,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4846,7 +4935,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -4861,7 +4950,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 52 -> 8 @@ -4929,19 +5018,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 34 + 13 = 47 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=47, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=47, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=47, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 0f c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a Detected FN jump! 8 -> 39 PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4984,7 +5073,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -4992,7 +5088,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5008,7 +5104,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 39 -> 8 @@ -5084,19 +5180,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 30 + 13 = 43 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=43, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=43, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=43, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 34 PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5139,7 +5235,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -5147,7 +5250,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5164,7 +5267,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 0f 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 34 -> 8 @@ -5230,19 +5333,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 26 + 13 = 39 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=39, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=39, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=39, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 0f 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 8 -> 30 PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5285,7 +5388,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 @@ -5293,7 +5403,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5309,7 +5419,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 30 -> 8 @@ -5365,19 +5475,19 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 21 + 13 = 34 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=34, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=34, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=34, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 0f 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 Detected FN jump! 8 -> 26 PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5422,7 +5532,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5482,7 +5599,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5541,7 +5665,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5600,7 +5731,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5622,7 +5760,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 d6 3f 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5639,7 +5777,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5682,7 +5820,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5704,7 +5849,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 cd bf d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5720,7 +5865,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5763,7 +5908,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5781,7 +5933,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5801,7 +5953,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5844,7 +5996,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5862,7 +6021,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on PACCH (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 f3 af b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS @@ -5882,7 +6041,7 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -5927,7 +6086,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -5993,7 +6159,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6059,7 +6232,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6125,7 +6305,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -6225,6 +6412,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 @@ -6394,6 +6582,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 @@ -6475,7 +6664,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed ws(480) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -6740,6 +6936,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) FN=2654283 Rx Packet Control Ack (reason=UL_ASS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE +TBF(UL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(UL-TFI_0){ASSIGN}: state_chg to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 @@ -7940,7 +8137,14 @@ ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS -TBF(DL-TFI_0){NULL}: state_chg to FLOW +TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) set ass. type CCCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){NULL}: state_chg to ASSIGN +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) The TBF has been confirmed on the PACCH, changed type from CCCH to PACCH +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) unset ass. type CCCH [prev CCCH:1, PACCH:0] +TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 100 bytes packet reject: 40 84 7f f7 6e e6 7e ab 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25012 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia8c7de759c195d09263fb1f083fbf6cfa3087f8d Gerrit-Change-Number: 25012 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:05 +0000 Subject: Change in osmo-pcu[master]: tests: tbf: Fix dl_tbf polled for data without being in FLOW state In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25045 ) Change subject: tests: tbf: Fix dl_tbf polled for data without being in FLOW state ...................................................................... tests: tbf: Fix dl_tbf polled for data without being in FLOW state Prior code was wrong, as in it did stuff diferent to what is expected and actually done in osmo-pcu. In osmo-pcu code, the function is guarded and only called in FLOW or FINISHED state by the scheduler. Change-Id: If8029bee90adceee128ebb20c033756efd50e90e --- M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 2 files changed, 32 insertions(+), 23 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index f8cb974..1dccfff 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -574,6 +574,12 @@ OSMO_ASSERT(ms_dl_tbf(ms) != NULL); + /* Here PCU would answer with data_cnf and trigger + * bts_rcv_imm_ass_cnf(), which would set up the timer X2002. In this + * test we go directly to T0 timeout to move it to FLOW state: */ + ms_dl_tbf(ms)->handle_timeout(); + OSMO_ASSERT(ms_dl_tbf(ms)->state_is(TBF_ST_FLOW)); + /* Get first BSN */ struct msgb *msg; int fn = 0; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index f2beb1f..84735aa 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1570,31 +1570,34 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 0, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) data block (BSN 0, CS-1): 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying data unit 0 (BSN 0) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) msg block (BSN 0, CS-1): 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_READY_CCCH +TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) data block (BSN 0, CS-1): 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 MSG = 07 00 00 4d 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 1, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Dequeue next LLC (len=19) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) data block (BSN 1, CS-1): 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) msg block (BSN 1, CS-1): 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Dequeue next LLC (len=19) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 MSG = 07 00 02 4d 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 2, CS=CS-1 -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Complete DL frame, len=19 -TBF(DL-TFI_0){ASSIGN}: state_chg to FINISHED +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) data block (BSN 2, CS-1): 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25045 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If8029bee90adceee128ebb20c033756efd50e90e Gerrit-Change-Number: 25045 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:05 +0000 Subject: Change in osmo-pcu[master]: Move FINISHED tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25034 ) Change subject: Move FINISHED tbf_state transition to tbf_fsm ...................................................................... Move FINISHED tbf_state transition to tbf_fsm Related: OS#2709 Change-Id: I81f507e3a2821254f03364a58ead02333e63099f --- M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 5 files changed, 30 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 12fd99f..ed5003c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -711,7 +711,7 @@ is_final = llc_queue_size(llc_queue()) == 0 && !keep_open(fn); if (is_final) { rdbi->cv = 0; - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_DL_DATA_SENT, NULL); } if (mcs_is_edge(cs)) { @@ -756,7 +756,7 @@ if (is_final) { request_dl_ack(); - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_DL_DATA_SENT, NULL); } /* dequeue next LLC frame, if any */ diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 5799d90..8e0649d 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -46,6 +46,8 @@ { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, + { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, + { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { 0, NULL } }; @@ -137,6 +139,19 @@ } } +static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TBF_EV_LAST_DL_DATA_SENT: + case TBF_EV_LAST_UL_DATA_RECVD: + /* All data has been sent or received, change state to FINISHED */ + tbf_fsm_state_chg(fi, TBF_ST_FINISHED); + break; + default: + OSMO_ASSERT(0); + } +} + static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { /* TODO: needed ? @@ -180,12 +195,14 @@ }, [TBF_ST_FLOW] = { .in_event_mask = - 0, + X(TBF_EV_LAST_DL_DATA_SENT) | + X(TBF_EV_LAST_UL_DATA_RECVD), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | X(TBF_ST_RELEASING), .name = "FLOW", + .action = st_flow, }, [TBF_ST_FINISHED] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index a3050c0..ea0f58d 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -32,6 +32,8 @@ TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ + TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ + TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ }; enum tbf_fsm_states { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 2874fc6..3eec555 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -536,7 +536,7 @@ rdbi->bsn, rdbi->cv); if (rdbi->cv == 0) { LOGPTBFUL(this, LOGL_DEBUG, "Finished with UL TBF\n"); - TBF_SET_STATE(this, TBF_ST_FINISHED); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_LAST_UL_DATA_RECVD, NULL); /* Reset N3103 counter. */ this->n_reset(N3103); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 84735aa..ccfd459 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -483,6 +483,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 112/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(DL-TFI_0){FLOW}: Received Event LAST_DL_DATA_SENT TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) @@ -1597,6 +1598,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) Complete DL frame, len=19 +TBF(DL-TFI_0){FLOW}: Received Event LAST_DL_DATA_SENT TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) data block (BSN 2, CS-1): 4d 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) @@ -1649,6 +1651,7 @@ No bctx TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) No gaps in received block, last block: BSN=0 CV=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF +TBF(UL-TFI_0){FLOW}: Received Event LAST_UL_DATA_RECVD TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. @@ -1889,6 +1892,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-4 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=10 +TBF(DL-TFI_0){FLOW}: Received Event LAST_DL_DATA_SENT TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) data block (BSN 0, CS-4): 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -2308,6 +2312,7 @@ No bctx TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) No gaps in received block, last block: BSN=0 CV=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Finished with UL TBF +TBF(UL-TFI_0){FLOW}: Received Event LAST_UL_DATA_RECVD TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. @@ -2988,6 +2993,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=13) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 +TBF(DL-TFI_0){FLOW}: Received Event LAST_DL_DATA_SENT TBF(DL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) data block (BSN 27, CS-1): 16 35 45 54 20 33 38 4c 4c 43 20 50 41 43 4b 45 54 20 33 39 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 27 BSN2 -1) @@ -3332,6 +3338,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 +TBF(DL-TFI_1){FLOW}: Received Event LAST_DL_DATA_SENT TBF(DL-TFI_1){FLOW}: state_chg to FINISHED TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) data block (BSN 10, CS-1): 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25034 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I81f507e3a2821254f03364a58ead02333e63099f Gerrit-Change-Number: 25034 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:06 +0000 Subject: Change in osmo-pcu[master]: Move WAIT_RELEASE tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25046 ) Change subject: Move WAIT_RELEASE tbf_state transition to tbf_fsm ...................................................................... Move WAIT_RELEASE tbf_state transition to tbf_fsm While at it, method maybe_start_new_window is renamed to rcvd_dl_final_ack to make more sense out of the code. Related: OS#2709 Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 --- M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.err 5 files changed, 56 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index ed5003c..6614366 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1219,8 +1219,9 @@ } -int gprs_rlcmac_dl_tbf::maybe_start_new_window() +int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); release(); /* check for LLC PDU in the LLC Queue */ @@ -1241,8 +1242,6 @@ /* report all outstanding packets as received */ gprs_rlcmac_received_lost(this, received, 0); - TBF_SET_STATE(this, TBF_ST_WAIT_RELEASE); - /* start T3193 */ T_START(this, T3193, 3193, "release (DL-TBF)", true); @@ -1292,7 +1291,7 @@ if (final_ack) { LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - rc = maybe_start_new_window(); + rc = rcvd_dl_final_ack(); } else if (state_is(TBF_ST_FINISHED) && m_window.window_empty()) { LOGPTBFDL(this, LOGL_NOTICE, "Received acknowledge of all blocks, but without final ack indication (don't worry)\n"); @@ -1309,7 +1308,7 @@ return update_window(ssn, rbb); LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - return maybe_start_new_window(); + return rcvd_dl_final_ack(); } bool gprs_rlcmac_dl_tbf::dl_window_stalled() const diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 58d863b..af82a0c 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -110,7 +110,7 @@ int index, int index2 = -1); int update_window(const uint8_t ssn, const uint8_t *rbb); int update_window(unsigned first_bsn, const struct bitvec *rbb); - int maybe_start_new_window(); + int rcvd_dl_final_ack(); bool dl_window_stalled() const; void reuse_tbf(); void start_llc_timer(); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 8e0649d..d1b48d5 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -48,6 +48,7 @@ { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, + { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, { 0, NULL } }; @@ -147,6 +148,27 @@ /* All data has been sent or received, change state to FINISHED */ tbf_fsm_state_chg(fi, TBF_ST_FINISHED); break; + case TBF_EV_FINAL_ACK_RECVD: + /* We received Final Ack (DL ACK/NACK) from MS. move to + WAIT_RELEASE, we wait there for release or re-use the TBF in + case we receive more DL data to tx */ + tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_FINAL_ACK_RECVD: + /* We received Final Ack (DL ACK/NACK) from MS. move to + WAIT_RELEASE, we wait there for release or re-use the TBF in + case we receive more DL data to tx */ + tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); + break; default: OSMO_ASSERT(0); } @@ -196,7 +218,8 @@ [TBF_ST_FLOW] = { .in_event_mask = X(TBF_EV_LAST_DL_DATA_SENT) | - X(TBF_EV_LAST_UL_DATA_RECVD), + X(TBF_EV_LAST_UL_DATA_RECVD) | + X(TBF_EV_FINAL_ACK_RECVD), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | @@ -206,10 +229,11 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = - 0, + X(TBF_EV_FINAL_ACK_RECVD), .out_state_mask = X(TBF_ST_WAIT_RELEASE), .name = "FINISHED", + .action = st_finished, }, [TBF_ST_WAIT_RELEASE] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index ea0f58d..1dba80f 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -34,6 +34,7 @@ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ + TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ }; enum tbf_fsm_states { diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ccfd459..c6cea78 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -101,6 +101,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -206,6 +207,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -497,6 +499,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. +TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -3026,6 +3029,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) DL analysis, range=0:28, lost=0, recv=28, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRRRRR....................................' TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. +TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4063,6 +4067,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4312,6 +4317,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4521,6 +4527,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4714,6 +4721,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -4891,6 +4899,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5044,6 +5053,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5206,6 +5216,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5359,6 +5370,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5501,6 +5513,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5570,6 +5583,7 @@ Detected FN jump! 2654167 -> 58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5636,6 +5650,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 98 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5702,6 +5717,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 94 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5791,6 +5807,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5879,6 +5896,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -5967,6 +5985,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6055,6 +6074,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6130,6 +6150,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6203,6 +6224,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 f2 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6276,6 +6298,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 f6 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH @@ -6356,6 +6379,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. +TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25046 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iebd650c1036ef2d5132789778be7117ce3391c01 Gerrit-Change-Number: 25046 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:06 +0000 Subject: Change in osmo-pcu[master]: Move RELEASING tbf_state transition to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25047 ) Change subject: Move RELEASING tbf_state transition to tbf_fsm ...................................................................... Move RELEASING tbf_state transition to tbf_fsm PdchUlcTest output changes because the original state NULL is not expected when transactioning to RELEASING upon MAX N310* being hit. In any case, none of those events should happen in NULL state, but we don't really care about TBF states there so we are fine with whatever the state is. Related: OS#2709 Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.err 8 files changed, 61 insertions(+), 21 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 7b5fce2..c68d505 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -640,7 +640,7 @@ if (state_is(TBF_ST_FINISHED)) { if (ul_tbf->n_inc(N3103)) { bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_FAILED); - TBF_SET_STATE(ul_tbf, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } @@ -659,7 +659,7 @@ bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_FAILED); @@ -678,7 +678,7 @@ bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_FAILED); @@ -709,7 +709,7 @@ } if (dl_tbf->n_inc(N3105)) { - TBF_SET_STATE(dl_tbf, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_PDAN_POLL_FAILED); bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_FAILED); diff --git a/src/tbf.h b/src/tbf.h index adc648c..ded3a3c 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -158,7 +158,6 @@ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -#define TBF_SET_STATE(t, st) do { tbf_fsm_state_chg(t->state_fsm.fi, st); } while(0) #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ASS_STATE_UL(t, st) do { t->set_ass_state_ul(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 6614366..f264cfc 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1271,7 +1271,8 @@ * (partly) encoded in chunk 1 of block V(A). (optional) */ } - TBF_SET_STATE(this, TBF_ST_RELEASING); + /* This state change looks unneeded and can probably be dropped at some point: */ + tbf_fsm_state_chg(this->state_fsm.fi, TBF_ST_RELEASING); /* reset rlc states */ m_window.reset(); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index d1b48d5..1ba1d61 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -49,6 +49,9 @@ { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, + { TBF_EV_MAX_N3101 , "MAX_N3101" }, + { TBF_EV_MAX_N3103 , "MAX_N3103" }, + { TBF_EV_MAX_N3105 , "MAX_N3105" }, { 0, NULL } }; @@ -154,6 +157,10 @@ case we receive more DL data to tx */ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; + case TBF_EV_MAX_N3101: + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; default: OSMO_ASSERT(0); } @@ -169,6 +176,27 @@ case we receive more DL data to tx */ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; + case TBF_EV_MAX_N3103: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TBF_EV_FINAL_ACK_RECVD: + /* ignore, duplicate ACK, we already know about since we are in WAIT_RELEASE */ + break; + case TBF_EV_MAX_N3101: + case TBF_EV_MAX_N3105: + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; default: OSMO_ASSERT(0); } @@ -219,7 +247,9 @@ .in_event_mask = X(TBF_EV_LAST_DL_DATA_SENT) | X(TBF_EV_LAST_UL_DATA_RECVD) | - X(TBF_EV_FINAL_ACK_RECVD), + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3101) | + X(TBF_EV_MAX_N3105), .out_state_mask = X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | @@ -229,18 +259,24 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = - X(TBF_EV_FINAL_ACK_RECVD), + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3103) | + X(TBF_EV_MAX_N3105), .out_state_mask = - X(TBF_ST_WAIT_RELEASE), + X(TBF_ST_WAIT_RELEASE) | + X(TBF_ST_RELEASING), .name = "FINISHED", .action = st_finished, }, [TBF_ST_WAIT_RELEASE] = { .in_event_mask = - 0, + X(TBF_EV_FINAL_ACK_RECVD) | + X(TBF_EV_MAX_N3101) | + X(TBF_EV_MAX_N3105), .out_state_mask = X(TBF_ST_RELEASING), .name = "WAIT_RELEASE", + .action = st_wait_release, }, [TBF_ST_RELEASING] = { .in_event_mask = diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 1dba80f..ae0d6ae 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -35,6 +35,9 @@ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ + TBF_EV_MAX_N3101, /* MAX N3101 (max usf timeout) reached (UL TBF) */ + TBF_EV_MAX_N3103, /* MAX N3103 (max Pkt Ctrl Ack for last UL ACK/NACK timeout) reached (UL TBF) */ + TBF_EV_MAX_N3105, /* MAX N3105 (max poll timeout) reached (UL/DL TBF) */ }; enum tbf_fsm_states { diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 3eec555..a7a7c3e 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -817,7 +817,7 @@ void gprs_rlcmac_ul_tbf::usf_timeout() { if (n_inc(N3101)) { - TBF_SET_STATE(this, TBF_ST_RELEASING); + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3101, NULL); T_START(this, T3169, 3169, "MAX N3101 reached", false); return; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c6cea78..62a3a51 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3083,6 +3083,7 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) +TBF(UL-TFI_0){FLOW}: Received Event MAX_N3101 TBF(UL-TFI_0){FLOW}: state_chg to RELEASING TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index edc7a11..e72d59f 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -22,25 +22,25 @@ PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved! PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39 PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25047 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I516b8d989a0d705e5664f8aeaf7d108e0105aa16 Gerrit-Change-Number: 25047 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:06 +0000 Subject: Change in osmo-pcu[master]: Move T3169 and T3195 to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25048 ) Change subject: Move T3169 and T3195 to tbf_fsm ...................................................................... Move T3169 and T3195 to tbf_fsm Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 --- M src/tbf.cpp M src/tbf.h M src/tbf_fsm.c M src/tbf_fsm.h M src/tbf_ul.cpp M tests/tbf/TbfTest.err 6 files changed, 44 insertions(+), 28 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index c68d505..107c867 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -93,10 +93,8 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T0), OSMO_VALUE_STRING(T3141), - OSMO_VALUE_STRING(T3169), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), - OSMO_VALUE_STRING(T3195), { 0, NULL } }; @@ -475,10 +473,8 @@ * allocated temporary block flow is released as specified in 3GPP TS 44.060 and * the packet access is forgotten.*/ T_CBACK(T3141, true) -T_CBACK(T3169, true) T_CBACK(T3191, true) T_CBACK(T3193, false) -T_CBACK(T3195, true) void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) @@ -527,18 +523,12 @@ case T3141: Tarr[t].cb = cb_T3141; break; - case T3169: - Tarr[t].cb = cb_T3169; - break; case T3191: Tarr[t].cb = cb_T3191; break; case T3193: Tarr[t].cb = cb_T3193; break; - case T3195: - Tarr[t].cb = cb_T3195; - break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); @@ -641,7 +631,6 @@ if (ul_tbf->n_inc(N3103)) { bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_FAILED); osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); - T_START(ul_tbf, T3169, 3169, "MAX N3103 reached", false); return; } /* reschedule UL ack */ @@ -660,7 +649,6 @@ bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_FAILED); return; @@ -679,7 +667,6 @@ bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(this, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_FAILED); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_FAILED); return; @@ -710,7 +697,6 @@ if (dl_tbf->n_inc(N3105)) { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3105, NULL); - T_START(dl_tbf, T3195, 3195, "MAX N3105 reached", true); bts_do_rate_ctr_inc(bts, CTR_PDAN_POLL_FAILED); bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_FAILED); return; diff --git a/src/tbf.h b/src/tbf.h index ded3a3c..6c33bc2 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -121,9 +121,6 @@ /* Wait contention resolution success on UL TBFs assigned over CCCH */ T3141, - /* Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. */ - T3169, - /* Wait for reuse of TFI(s) after sending of the last RLC Data Block on this TBF. Wait for reuse of TFI(s) after sending the PACKET TBF RELEASE for an MBMS radio bearer. */ T3191, @@ -132,9 +129,6 @@ MS for this TBF. */ T3193, - /* Wait for reuse of TFI(s) when there is no response from the MS - (radio failure or cell change) for this TBF/MBMS radio bearer. */ - T3195, T_MAX }; diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 1ba1d61..a57dd08 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -145,6 +145,7 @@ static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_LAST_DL_DATA_SENT: case TBF_EV_LAST_UL_DATA_RECVD: @@ -158,7 +159,11 @@ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; case TBF_EV_MAX_N3101: + ctx->T_release = 3169; + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -168,7 +173,7 @@ static void st_finished(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - //struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_FINAL_ACK_RECVD: /* We received Final Ack (DL ACK/NACK) from MS. move to @@ -177,9 +182,11 @@ tbf_fsm_state_chg(fi, TBF_ST_WAIT_RELEASE); break; case TBF_EV_MAX_N3103: + ctx->T_release = 3169; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -189,12 +196,17 @@ static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { case TBF_EV_FINAL_ACK_RECVD: /* ignore, duplicate ACK, we already know about since we are in WAIT_RELEASE */ break; case TBF_EV_MAX_N3101: + ctx->T_release = 3169; + tbf_fsm_state_chg(fi, TBF_ST_RELEASING); + break; case TBF_EV_MAX_N3105: + ctx->T_release = 3195; tbf_fsm_state_chg(fi, TBF_ST_RELEASING); break; default: @@ -202,6 +214,26 @@ } } +static void st_releasing_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + + if (!ctx->T_release) + return; + + /* In general we should end up here with an assigned timer in ctx->T_release. Possible values are: + * T3195: Wait for reuse of TFI(s) when there is no response from the MS + * (radio failure or cell change) for this TBF/MBMS radio bearer. + * T3169: Wait for reuse of USF and TFI(s) after the MS uplink assignment for this TBF is invalid. + */ + val = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, ctx->T_release, OSMO_TDEF_S, -1); + fi->T = ctx->T_release; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %u microsec\n", + ctx->T_release, val, 0); + osmo_timer_schedule(&fi->timer, val, 0); +} + static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) { /* TODO: needed ? @@ -211,9 +243,14 @@ static int tbf_fsm_timer_cb(struct osmo_fsm_inst *fi) { + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { - default: - break; + case 3169: + case 3195: + tbf_free(ctx->tbf); + break; + default: + OSMO_ASSERT(0); } return 0; } @@ -284,6 +321,7 @@ .out_state_mask = 0, .name = "RELEASING", + .onenter = st_releasing_on_enter, }, }; diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index ae0d6ae..1874bc3 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -53,6 +53,7 @@ struct osmo_fsm_inst *fi; struct gprs_rlcmac_tbf* tbf; /* back pointer */ uint32_t state_flags; + unsigned int T_release; /* Timer to be used to end release: T3169 or T3195 */ }; extern const struct osmo_tdef_state_timeout tbf_fsm_timeouts[32]; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index a7a7c3e..d4575a3 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -816,11 +816,8 @@ void gprs_rlcmac_ul_tbf::usf_timeout() { - if (n_inc(N3101)) { + if (n_inc(N3101)) osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3101, NULL); - T_START(this, T3169, 3169, "MAX N3101 reached", false); - return; - } } struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 62a3a51..91b8459 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -3085,7 +3085,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(UL-TFI_0){FLOW}: Received Event MAX_N3101 TBF(UL-TFI_0){FLOW}: state_chg to RELEASING -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 [MAX N3101 reached] with 5 sec. 0 microsec, cur_fn=2654379 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) starting timer T3169 with 5 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25048 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I599f4e7e82b0a8c0f5cf633c2d8b1975435f0b60 Gerrit-Change-Number: 25048 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:06 +0000 Subject: Change in osmo-pcu[master]: Drop duplicate log line In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25049 ) Change subject: Drop duplicate log line ...................................................................... Drop duplicate log line Same line (or similar if run_diag) is logged immediately below, showing up twice in log which is confusing: """ 20210726171543005 DTBF tbf.cpp:455 TBF(TFI=2 TLLI=0xfe563576 DIR=DL STATE=WAIT_RELEASE EGPRS) T3193 timeout expired, freeing TBF 20210726171543005 DTBF tbf.cpp:462 TBF(TFI=2 TLLI=0xfe563576 DIR=DL STATE=WAIT_RELEASE EGPRS) T3193 timeout expired, freeing TBF """ Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 --- M src/tbf.cpp 1 file changed, 0 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 107c867..6ed8e3d 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -452,9 +452,6 @@ static inline void tbf_timeout_free(struct gprs_rlcmac_tbf *tbf, enum tbf_timers t, bool run_diag) { - LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF\n", - get_value_string(tbf_timers_names, t)); - if (run_diag) { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF: %s\n", get_value_string(tbf_timers_names, t), tbf->rlcmac_diag().c_str()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25049 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie171c458e670f8471ac93f78520a05926114c974 Gerrit-Change-Number: 25049 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:07 +0000 Subject: Change in osmo-pcu[master]: Put dl_tbf::cleanup into destructor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25050 ) Change subject: Put dl_tbf::cleanup into destructor ...................................................................... Put dl_tbf::cleanup into destructor It's fine to always attemt dropping the timer since it's set up in the constructor. This also drps the double function call abort()+cleanup() which is confusing. Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 7 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 6ed8e3d..42575d6 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -293,7 +293,6 @@ gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); dl_tbf->abort(); - dl_tbf->cleanup(); } LOGPTBF(tbf, LOGL_INFO, "free\n"); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index f264cfc..2154ed6 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -177,6 +177,12 @@ return tbf; } +gprs_rlcmac_dl_tbf::~gprs_rlcmac_dl_tbf() +{ + osmo_timer_del(&m_llc_timer); + /* ~gprs_rlcmac_dl_tbf() is called automatically upon return */ +} + gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms) : gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_DL_TBF), m_tx_counter(0), @@ -191,11 +197,6 @@ osmo_timer_setup(&m_llc_timer, llc_timer_cb, this); } -void gprs_rlcmac_dl_tbf::cleanup() -{ - osmo_timer_del(&m_llc_timer); -} - void gprs_rlcmac_dl_tbf::start_llc_timer() { if (the_pcu->vty.llc_idle_ack_csec > 0) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index af82a0c..6fddeb5 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -42,8 +42,8 @@ struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); + ~gprs_rlcmac_dl_tbf(); gprs_rlc_window *window(); - void cleanup(); int append_data(uint16_t pdu_delay_csec, const uint8_t *data, uint16_t len); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25050 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia2aaa43bd8faacf09fe4b36b11b38022bea7a59c Gerrit-Change-Number: 25050 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:08 +0000 Subject: Change in osmo-pcu[master]: Drop logging last mas report before freeing TBF In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25051 ) Change subject: Drop logging last mas report before freeing TBF ...................................................................... Drop logging last mas report before freeing TBF There's no much use in logging it since anyway we are immediately getting rid of it. Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 --- M src/tbf.cpp M tests/tbf/TbfTest.err 2 files changed, 0 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 42575d6..ca0dc41 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -285,13 +285,6 @@ bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); - } - - /* Give final measurement report */ - gprs_rlcmac_rssi_rep(tbf); - if (tbf->direction == GPRS_RLCMAC_DL_TBF) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - dl_tbf->abort(); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 91b8459..7a81192 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -2003,7 +2003,6 @@ IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2105,7 +2104,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) @@ -2257,7 +2255,6 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) UL RSSI: 31 dBm TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25051 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b712f720b5874886cc19d998fb8fcd0e618d590 Gerrit-Change-Number: 25051 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:08 +0000 Subject: Change in osmo-pcu[master]: Remove duplicate call to gprs_rlcmac_lost_rep In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25052 ) Change subject: Remove duplicate call to gprs_rlcmac_lost_rep ...................................................................... Remove duplicate call to gprs_rlcmac_lost_rep Function is already called by gprs_rlcmac_received_lost(), so next call following it will be sum=0 and return EINVAL. Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b --- M src/tbf_dl.cpp 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2154ed6..e76ea8c 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1266,7 +1266,6 @@ /* report all outstanding packets as lost */ gprs_rlcmac_received_lost(this, 0, lost); - gprs_rlcmac_lost_rep(this); /* TODO: Reschedule all LLC frames starting with the one that is * (partly) encoded in chunk 1 of block V(A). (optional) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25052 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I015ba16d18fdd6e2441ec3c256b5ac88771d7a8b Gerrit-Change-Number: 25052 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:09 +0000 Subject: Change in osmo-pcu[master]: Move rate_ctr free to tbf subclass destructor In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25053 ) Change subject: Move rate_ctr free to tbf subclass destructor ...................................................................... Move rate_ctr free to tbf subclass destructor This way we clean up tbf_free entry point, and leave memory freeing for later on at the end when talloc_free is called. Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h 4 files changed, 15 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index ca0dc41..16a53cc 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -164,6 +164,7 @@ { osmo_fsm_inst_free(state_fsm.fi); state_fsm.fi = NULL; + rate_ctr_group_free(m_ctrs); } uint32_t gprs_rlcmac_tbf::tlli() const @@ -269,19 +270,11 @@ { /* update counters */ if (tbf->direction == GPRS_RLCMAC_UL_TBF) { - gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); - rate_ctr_group_free(ul_tbf->m_ul_egprs_ctrs); - rate_ctr_group_free(ul_tbf->m_ul_gprs_ctrs); } else { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); - if (tbf->is_egprs_enabled()) { - rate_ctr_group_free(dl_tbf->m_dl_egprs_ctrs); - } else { - rate_ctr_group_free(dl_tbf->m_dl_gprs_ctrs); - } bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); if (tbf->state_is(TBF_ST_FLOW)) bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); @@ -297,8 +290,6 @@ if (tbf->ms()) tbf->set_ms(NULL); - rate_ctr_group_free(tbf->m_ctrs); - LOGP(DTBF, LOGL_DEBUG, "********** %s-TBF ends here **********\n", (tbf->direction != GPRS_RLCMAC_UL_TBF) ? "DL" : "UL"); talloc_free(tbf); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index e76ea8c..0330a78 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -180,7 +180,12 @@ gprs_rlcmac_dl_tbf::~gprs_rlcmac_dl_tbf() { osmo_timer_del(&m_llc_timer); - /* ~gprs_rlcmac_dl_tbf() is called automatically upon return */ + if (is_egprs_enabled()) { + rate_ctr_group_free(m_dl_egprs_ctrs); + } else { + rate_ctr_group_free(m_dl_gprs_ctrs); + } + /* ~gprs_rlcmac_tbf() is called automatically upon return */ } gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms) : diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index d4575a3..6e50734 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -91,6 +91,13 @@ tbf_ul_egprs_ctr_description, }; +gprs_rlcmac_ul_tbf::~gprs_rlcmac_ul_tbf() +{ + rate_ctr_group_free(m_ul_egprs_ctrs); + rate_ctr_group_free(m_ul_gprs_ctrs); + /* ~gprs_rlcmac_tbf() is called automatically upon return */ +} + static int ul_tbf_dtor(struct gprs_rlcmac_ul_tbf *tbf) { tbf->~gprs_rlcmac_ul_tbf(); diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 9396633..2bc908d 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -54,6 +54,7 @@ struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); + ~gprs_rlcmac_ul_tbf(); gprs_rlc_window *window(); struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); bool ctrl_ack_to_toggle(); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25053 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1c45e3296e565725bcbbca391d9518772fffa89d Gerrit-Change-Number: 25053 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:10 +0000 Subject: Change in osmo-pcu[master]: Get rid of tbf_dl:abort() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25054 ) Change subject: Get rid of tbf_dl:abort() ...................................................................... Get rid of tbf_dl:abort() Having that code in a separate function is confusing and adds code complexity since it looks like an entry point to start feeing a TBF, but it simply some (not yet really useful) set of instructions to be called one 1 code path in tbf_free. Let's move it there, this way it becomes clear tbf_free() is THE place to be (if you want to get rid of a TBF). Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 15 insertions(+), 29 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 16a53cc..097f002 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -275,10 +275,23 @@ bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_UL_ABORTED); } else { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(tbf); + gprs_rlc_dl_window *win = static_cast(dl_tbf->window()); + bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_FREED); - if (tbf->state_is(TBF_ST_FLOW)) + if (tbf->state_is(TBF_ST_FLOW)) { bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ABORTED); - dl_tbf->abort(); + /* range V(A)..V(S)-1 */ + uint16_t lost = win->count_unacked(); + /* report all outstanding packets as lost */ + gprs_rlcmac_received_lost(dl_tbf, 0, lost); + /* TODO: Reschedule all LLC frames starting with the one that is + * (partly) encoded in chunk 1 of block V(A). (optional) */ + } + /* This state change looks unneeded and can probably be dropped at some point: */ + tbf_fsm_state_chg(dl_tbf->state_fsm.fi, TBF_ST_RELEASING); + /* reset rlc states */ + win->reset(); + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); } LOGPTBF(tbf, LOGL_INFO, "free\n"); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 0330a78..9e06917 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1261,32 +1261,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::abort() -{ - uint16_t lost; - - if (state_is(TBF_ST_FLOW)) { - /* range V(A)..V(S)-1 */ - lost = m_window.count_unacked(); - - /* report all outstanding packets as lost */ - gprs_rlcmac_received_lost(this, 0, lost); - - /* TODO: Reschedule all LLC frames starting with the one that is - * (partly) encoded in chunk 1 of block V(A). (optional) */ - } - - /* This state change looks unneeded and can probably be dropped at some point: */ - tbf_fsm_state_chg(this->state_fsm.fi, TBF_ST_RELEASING); - - /* reset rlc states */ - m_window.reset(); - - osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - - return 0; -} - int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 6fddeb5..b8fecde 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -61,7 +61,6 @@ int frames_since_last_drain(unsigned fn) const; bool keep_open(unsigned fn) const; int release(); - int abort(); uint16_t window_size() const; void set_window_size(); void update_coding_scheme_counter_dl(enum CodingScheme cs); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25054 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30febf4d21a0bfab37524c07598bbb0dd32f7f65 Gerrit-Change-Number: 25054 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:14 +0000 Subject: Change in osmo-pcu[master]: tbf_free: Get rid of uneeded tbf_state transition In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25055 ) Change subject: tbf_free: Get rid of uneeded tbf_state transition ...................................................................... tbf_free: Get rid of uneeded tbf_state transition We are freeing the object immediately afterwards anyway, so no need to pretend it went through the normal state release. Leaving current state as it is actually provides more information on what was the status/state at the time the TBF had to be freed. Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 --- M src/tbf.cpp M tests/alloc/AllocTest.err M tests/app_info/AppInfoTest.err M tests/tbf/TbfTest.err 4 files changed, 49,178 insertions(+), 98,246 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25055 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3016caaccc2c43e1e300f3c6042d69f8adcd9d69 Gerrit-Change-Number: 25055 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:19 +0000 Subject: Change in osmo-pcu[master]: Replace ul_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25056 ) Change subject: Replace ul_ass_state with osmocom FSM ...................................................................... Replace ul_ass_state with osmocom FSM Related: OS#2709 Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ass_fsm.c A src/tbf_ul_ass_fsm.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 15 files changed, 100,530 insertions(+), 208 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25056 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id414eafe9c04a9a8759c6fb1a483bf2ee093a4d2 Gerrit-Change-Number: 25056 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:20 +0000 Subject: Change in osmo-pcu[master]: tbf: Reimplement rlcmac_diag() and make it available from C In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25058 ) Change subject: tbf: Reimplement rlcmac_diag() and make it available from C ...................................................................... tbf: Reimplement rlcmac_diag() and make it available from C We never use the std:string anyway, we always call .c_str() to log using osmocom logging system. Furthermore, we'll need to use it from C code soon (next commit). Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 --- M src/tbf.cpp M src/tbf.h 2 files changed, 28 insertions(+), 27 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 498c69b..88aa049 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -446,7 +446,7 @@ { if (run_diag) { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF: %s\n", - get_value_string(tbf_timers_names, t), tbf->rlcmac_diag().c_str()); + get_value_string(tbf_timers_names, t), tbf_rlcmac_diag(tbf)); } else { LOGPTBF(tbf, LOGL_NOTICE, "%s timeout expired, freeing TBF\n", get_value_string(tbf_timers_names, t)); @@ -610,7 +610,7 @@ if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); } bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_TIMEDOUT); @@ -628,7 +628,7 @@ if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); @@ -645,7 +645,7 @@ if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", - rlcmac_diag().c_str()); + tbf_rlcmac_diag(this)); state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); } dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; @@ -670,7 +670,7 @@ if (!(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET DOWNLINK ACK: %s\n", - dl_tbf->rlcmac_diag().c_str()); + tbf_rlcmac_diag(dl_tbf)); dl_tbf->state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); } @@ -800,26 +800,6 @@ } } -std::string gprs_rlcmac_tbf::rlcmac_diag() -{ - std::ostringstream os; - os << "|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) - os << "Assignment was on CCCH|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) - os << "Assignment was on PACCH|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA))) - os << "Uplink data was received|"; - else if (direction == GPRS_RLCMAC_UL_TBF) - os << "No uplink data received yet|"; - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) - os << "Downlink ACK was received|"; - else if (direction == GPRS_RLCMAC_DL_TBF) - os << "No downlink ACK received yet|"; - - return os.str(); -} - struct msgb *gprs_rlcmac_tbf::create_dl_ass(uint32_t fn, uint8_t ts) { struct msgb *msg; @@ -1111,3 +1091,25 @@ { tbf->poll_timeout(pdch, poll_fn, reason); } + +const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf) +{ + static char buf[256]; + struct osmo_strbuf sb = { .buf = buf, .len = sizeof(buf) }; + + OSMO_STRBUF_PRINTF(sb, "|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) + OSMO_STRBUF_PRINTF(sb, "Assignment was on CCCH|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) + OSMO_STRBUF_PRINTF(sb, "Assignment was on PACCH|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA)) + OSMO_STRBUF_PRINTF(sb, "Uplink data was received|"); + else if (tbf->direction == GPRS_RLCMAC_UL_TBF) + OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) + OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); + else if (tbf->direction == GPRS_RLCMAC_DL_TBF) + OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + + return buf; +} diff --git a/src/tbf.h b/src/tbf.h index 3313255..da683b6 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -173,6 +173,7 @@ void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); void tbf_update_state_fsm_name(struct gprs_rlcmac_tbf *tbf); +const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf); #ifdef __cplusplus } #endif @@ -207,8 +208,6 @@ uint8_t tsc() const; - std::string rlcmac_diag(); - bool n_inc(enum tbf_counters n); void n_reset(enum tbf_counters n); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25058 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3ad66f9f3f4d55d11da3a3b8b38656ae2dd50603 Gerrit-Change-Number: 25058 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:20 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25059 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS The flag is only used to print some uninteresting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_ul_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 13 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/pdch.cpp b/src/pdch.cpp index 9bbb16a..8c61293 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -394,8 +394,6 @@ tbf_free(tbf); osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ASS)) - LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered uplink assignment for UL\n"); tbf_assign_control_ts(new_tbf); /* there might be LLC packets waiting in the queue, but the DL diff --git a/src/tbf.cpp b/src/tbf.cpp index 88aa049..37356e3 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -625,12 +625,6 @@ } } else if (ul_ass_state_is(TBF_UL_ASS_WAIT_ACK)) { - if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS))) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", - tbf_rlcmac_diag(this)); - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ASS); - } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); if (n_inc(N3105)) { diff --git a/src/tbf.h b/src/tbf.h index da683b6..45f3a4e 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -138,8 +138,7 @@ #define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ #define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 -#define GPRS_RLCMAC_FLAG_TO_UL_ASS 6 -#define GPRS_RLCMAC_FLAG_TO_DL_ASS 7 +#define GPRS_RLCMAC_FLAG_TO_DL_ASS 6 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c index a55309d..00f4bfd 100644 --- a/src/tbf_ul_ass_fsm.c +++ b/src/tbf_ul_ass_fsm.c @@ -210,11 +210,16 @@ static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_ul_ass_fsm_ctx *ctx = (struct tbf_ul_ass_fsm_ctx *)fi->priv; + switch (event) { case TBF_UL_ASS_EV_RX_ASS_CTRL_ACK: tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_NONE); break; case TBF_UL_ASS_EV_ASS_POLL_TIMEOUT: + LOGPTBF(ctx->tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: %s\n", + tbf_rlcmac_diag(ctx->tbf)); /* Reschedule Pkt Ul Ass */ tbf_ul_ass_fsm_state_chg(fi, TBF_UL_ASS_SEND_ASS); break; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 7a174b2..6c95138 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -8422,9 +8422,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=56 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 56) -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_1){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8472,9 +8472,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=60 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 60) -TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_1){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_1){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_2){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8522,9 +8522,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=65 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 65) -TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_2){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_2){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_3){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8572,9 +8572,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=69 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 69) -TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_3){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_3){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_4){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8622,9 +8622,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=73 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 73) -TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_4){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_4){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_5){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8672,9 +8672,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=78 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 78) -TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_5){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_5){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_6){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 @@ -8722,9 +8722,9 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=82 but previous FN=2654231 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654231): TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) poll timeout for FN=2654231, TS=7 (curr FN 82) -TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) N3105 0 => 1 (< MAX 8) UL_ASS_TBF(UL-TFI_6){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ASSIGNMENT: |Assignment was on PACCH|No uplink data received yet| UL_ASS_TBF(UL-TFI_6){WAIT_ACK}: state_chg to SEND_ASS UL_ASS_TBF(UL-TFI_0){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654218 + 13 = 2654231 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25059 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I20aa7f83cc4f32de129e64c74a91745b983a7b16 Gerrit-Change-Number: 25059 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:26 +0000 Subject: Change in osmo-pcu[master]: replace dl_ass_state with osmocom FSM In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25060 ) Change subject: replace dl_ass_state with osmocom FSM ...................................................................... replace dl_ass_state with osmocom FSM Related: OS#2709 Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp A src/tbf_dl_ass_fsm.c A src/tbf_dl_ass_fsm.h M src/tbf_ul.cpp M src/tbf_ul.h M tests/alloc/AllocTest.err M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.err 16 files changed, 100,488 insertions(+), 229 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25060 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia33418478e17986a316ffda48b091030f53fa371 Gerrit-Change-Number: 25060 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:27 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25061 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS The flag is only used to print some non interesting stuff, let's drop it in order to simplify code. We can add later whatever we want in the new shiny FSM. Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl_ass_fsm.c M tests/tbf/TbfTest.err 5 files changed, 14 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/pdch.cpp b/src/pdch.cpp index 17a2d50..618dbf4 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -371,8 +371,6 @@ osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); /* stop pending assignment timer */ new_tbf->t_stop(T0, "control acked (DL-TBF)"); - if (new_tbf->check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ASS)) - LOGPTBF(new_tbf, LOGL_NOTICE, "Recovered downlink assignment\n"); tbf_assign_control_ts(new_tbf); return; diff --git a/src/tbf.cpp b/src/tbf.cpp index 3c0c530..0154bab 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -630,12 +630,6 @@ /* Signal timeout to FSM to reschedule UL assignment */ osmo_fsm_inst_dispatch(this->ul_ass_fsm.fi, TBF_UL_ASS_EV_ASS_POLL_TIMEOUT, NULL); } else if (dl_ass_state_is(TBF_DL_ASS_WAIT_ACK)) { - if (!(state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS))) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", - tbf_rlcmac_diag(this)); - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_DL_ASS); - } bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PDA_POLL_TIMEDOUT); if (n_inc(N3105)) { diff --git a/src/tbf.h b/src/tbf.h index 15b7de3..b8f1e18 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -131,7 +131,6 @@ #define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ #define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 -#define GPRS_RLCMAC_FLAG_TO_DL_ASS 6 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_dl_ass_fsm.c b/src/tbf_dl_ass_fsm.c index 8085fbd..cf09588 100644 --- a/src/tbf_dl_ass_fsm.c +++ b/src/tbf_dl_ass_fsm.c @@ -182,11 +182,16 @@ static void st_wait_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct tbf_dl_ass_fsm_ctx *ctx = (struct tbf_dl_ass_fsm_ctx *)fi->priv; + switch (event) { case TBF_DL_ASS_EV_RX_ASS_CTRL_ACK: tbf_dl_ass_fsm_state_chg(fi, TBF_DL_ASS_NONE); break; case TBF_DL_ASS_EV_ASS_POLL_TIMEOUT: + LOGPTBF(ctx->tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: %s\n", + tbf_rlcmac_diag(ctx->tbf)); /* Reschedule Pkt Dl Ass */ tbf_dl_ass_fsm_state_chg(fi, TBF_DL_ASS_SEND_ASS); break; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b6727f4..aed1bfd 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -4261,9 +4261,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4521,9 +4521,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4737,9 +4737,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -4937,9 +4937,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5121,9 +5121,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5281,9 +5281,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5450,9 +5450,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5610,9 +5610,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) @@ -5759,9 +5759,9 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event ASS_POLL_TIMEOUT +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |Assignment was on PACCH|No downlink ACK received yet| DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to SEND_ASS PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25061 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I13f92f058c219f230d57b3c00b8ae1d187603813 Gerrit-Change-Number: 25061 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:27 +0000 Subject: Change in osmo-pcu[master]: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25090 ) Change subject: tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA ...................................................................... tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA Same information is available under ul_tbf->m_rx_counter. Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 --- M src/tbf.cpp M src/tbf.h M src/tbf_ul.cpp 3 files changed, 15 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 0154bab..67e05bb 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -997,14 +997,18 @@ OSMO_STRBUF_PRINTF(sb, "Assignment was on CCCH|"); if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) OSMO_STRBUF_PRINTF(sb, "Assignment was on PACCH|"); - if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_UL_DATA)) - OSMO_STRBUF_PRINTF(sb, "Uplink data was received|"); - else if (tbf->direction == GPRS_RLCMAC_UL_TBF) - OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); - if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) - OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); - else if (tbf->direction == GPRS_RLCMAC_DL_TBF) - OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + if (tbf->direction == GPRS_RLCMAC_UL_TBF) { + const struct gprs_rlcmac_ul_tbf *ul_tbf = static_cast(tbf); + if (ul_tbf->m_rx_counter) + OSMO_STRBUF_PRINTF(sb, "Uplink data was received|"); + else + OSMO_STRBUF_PRINTF(sb, "No uplink data received yet|"); + } else { + if (tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK)) + OSMO_STRBUF_PRINTF(sb, "Downlink ACK was received|"); + else + OSMO_STRBUF_PRINTF(sb, "No downlink ACK received yet|"); + } return buf; } diff --git a/src/tbf.h b/src/tbf.h index b8f1e18..96a5788 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -127,10 +127,9 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ -#define GPRS_RLCMAC_FLAG_UL_DATA 2 /* uplink data received */ -#define GPRS_RLCMAC_FLAG_DL_ACK 3 /* downlink acknowledge received */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 4 -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 5 +#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* downlink acknowledge received */ +#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 31bb273..c84f373 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -404,8 +404,6 @@ const uint16_t ws = m_window.ws(); - this->state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_UL_DATA); - LOGPTBFUL(this, LOGL_DEBUG, "UL DATA TFI=%d received (V(Q)=%d .. " "V(R)=%d)\n", rlc->tfi, this->m_window.v_q(), this->m_window.v_r()); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25090 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1d993117c7daa2609b132c2d0fd748e0338ef559 Gerrit-Change-Number: 25090 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:27 +0000 Subject: Change in osmo-pcu[master]: Move timer X2001 to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25092 ) Change subject: Move timer X2001 to tbf_fsm ...................................................................... Move timer X2001 to tbf_fsm The side effect is that the timer is enabled for other scenarios where a PACCH assignment happens, like an Assignment Reject or Ul Assignment (that's why there's more lines showing up now in TbfTest.err). Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 --- M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_fsm.c M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 5 files changed, 68 insertions(+), 37 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index 67e05bb..842161c 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -741,16 +741,6 @@ LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); - /* PACCH assignment timeout (see timer X2001) */ - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH))) { - if (state_is(TBF_ST_ASSIGN)) { - LOGPTBF(this, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); - tbf_free(this); - return; - } else - LOGPTBF(this, LOGL_ERROR, "Error: TBF is not in assign state\n"); - } - /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 01cd173..ea7f18e 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -611,9 +611,6 @@ /* change state */ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); - - /* Start timer, expiry in gprs_rlcmac_tbf::handle_timeout tbf_free()s the TBF */ - T_START(this, T0, -2001, "assignment (PACCH)", true); } else { LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index a57dd08..0dbf04c 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -113,6 +113,32 @@ } } +static void st_assign_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + unsigned int sec, micro; + + /* If assignment for this TBF is happening on PACCH, that means the + * actual Assignment procedure (tx/rx) is happening on another TBF (eg + * Ul TBF vs DL TBF). Hence we add a security timer here to free it in + * case the other TBF doesn't succeed in informing (assigning) the MS + * about this TBF, or simply because the scheduler takes too long to + * schedule it. This timer can probably be dropped once we make the + * other TBF always signal us assignment failure (we already get + * assignment success through TBF_EV_ASSIGN_ACK_PACCH) */ + if (ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_PACCH)) { + fi->T = -2001; + val = osmo_tdef_get(the_pcu->T_defs, fi->T, OSMO_TDEF_MS, -1); + sec = val / 1000; + micro = (val % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, + "Starting timer X2001 [assignment (PACCH)] with %u sec. %u microsec\n", + sec, micro); + osmo_timer_schedule(&fi->timer, sec, micro); + } +} + static void st_assign(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; @@ -245,6 +271,9 @@ { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { + case -2001: + LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); + /* fall-through */ case 3169: case 3195: tbf_free(ctx->tbf); @@ -279,6 +308,7 @@ X(TBF_ST_RELEASING), .name = "ASSIGN", .action = st_assign, + .onenter = st_assign_on_enter, }, [TBF_ST_FLOW] = { .in_event_mask = diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index ce5f784..9ba1753 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -3182,6 +3182,7 @@ fprintf(stderr, "=== start %s ===\n", __func__); setup_bts(bts, ts_no, 4); + OSMO_ASSERT(osmo_tdef_set(the_pcu->T_defs, -2000, 0, OSMO_TDEF_MS) == 0); int rc = 0; @@ -3198,8 +3199,7 @@ trx_no, ts_no, fn, bn); OSMO_ASSERT(rc == 0); - - ul_tbf->handle_timeout(); + osmo_select_main(0); TALLOC_FREE(the_pcu); fprintf(stderr, "=== end %s ===\n", __func__); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index aed1bfd..ce1aa3c 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -139,7 +139,7 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654167 +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 00, TFIs = 00000002. @@ -149,7 +149,6 @@ UL_ASS_TBF(DL-TFI_0){NONE}: Deallocated DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Deallocated TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) free -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -252,9 +251,8 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654167 +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) free -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN), 1 TBFs, USFs = 00, TFIs = 00000001. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -1826,6 +1824,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -1885,7 +1884,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes === end test_tbf_two_phase === === start test_tbf_ra_update_rach === @@ -1923,6 +1922,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -1981,7 +1981,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654275 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654279 @@ -2002,7 +2002,6 @@ DL_ASS_TBF(UL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) @@ -2086,6 +2085,7 @@ TBF(UL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_1){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_1){NONE}: state_chg to SEND_ASS @@ -2181,6 +2181,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2241,7 +2242,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -2282,6 +2283,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2349,6 +2351,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2409,7 +2412,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -2456,7 +2459,6 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) data_length=20, data=f1 22 33 44 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) Decoded premier TLLI=0xf1223344 of UL DATA TFI=0. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) free -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN), 0 TBFs, USFs = 01, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) ********** DL-TBF ends here ********** @@ -2516,6 +2518,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -2576,7 +2579,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes @@ -2636,7 +2639,6 @@ DL_ASS_TBF(UL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) @@ -3229,7 +3231,7 @@ TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) @@ -3324,7 +3326,6 @@ DL_ASS_TBF(DL-TFI_0){NONE}: Deallocated TBF(DL-TFI_1){ASSIGN}: Received Event ASSIGN_ACK_PACCH TBF(DL-TFI_1){ASSIGN}: state_chg to FLOW -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) @@ -3694,6 +3695,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -3757,7 +3759,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase === === start test_tbf_egprs_two_phase_spb === @@ -3799,6 +3801,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -3980,7 +3983,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase_spb === === start test_tbf_egprs_dl === @@ -6711,6 +6714,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -6791,7 +6795,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_puan_urbb_len === === start test_tbf_update_ws === @@ -6892,6 +6896,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -6967,7 +6972,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_li_decoding === === start test_tbf_epdan_out_of_rx_window === @@ -7276,6 +7281,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -7828,7 +7834,7 @@ TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) @@ -8586,6 +8592,7 @@ TBF(UL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_0){NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS @@ -8630,6 +8637,7 @@ TBF(UL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_1){NULL}: state_chg to ASSIGN +TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=1 TLLI=0xffeeddcd DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_1){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_1){NONE}: state_chg to SEND_ASS @@ -8681,6 +8689,7 @@ TBF(UL-TFI_2){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_2){NULL}: state_chg to ASSIGN +TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=2 TLLI=0xffeeddce DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_2){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_2){NONE}: state_chg to SEND_ASS @@ -8732,6 +8741,7 @@ TBF(UL-TFI_3){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_3){NULL}: state_chg to ASSIGN +TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=3 TLLI=0xffeeddcf DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_3){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_3){NONE}: state_chg to SEND_ASS @@ -8783,6 +8793,7 @@ TBF(UL-TFI_4){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_4){NULL}: state_chg to ASSIGN +TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=4 TLLI=0xffeeddd0 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_4){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_4){NONE}: state_chg to SEND_ASS @@ -8834,6 +8845,7 @@ TBF(UL-TFI_5){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_5){NULL}: state_chg to ASSIGN +TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=5 TLLI=0xffeeddd1 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_5){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_5){NONE}: state_chg to SEND_ASS @@ -8885,6 +8897,7 @@ TBF(UL-TFI_6){NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=NULL EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(UL-TFI_6){NULL}: state_chg to ASSIGN +TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=6 TLLI=0xffeeddd2 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. UL_ASS_TBF(UL-TFI_6){NONE}: Received Event SCHED_ASS UL_ASS_TBF(UL-TFI_6){NONE}: state_chg to SEND_ASS @@ -8940,6 +8953,7 @@ TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF{NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ PDCH(bts=0,trx=0,ts=7) Expiring FN=82 but previous FN=2654231 is still reserved! @@ -8968,14 +8982,14 @@ TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF{NULL}: state_chg to ASSIGN +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec UL_ASS_TBF{NONE}: Received Event SCHED_ASS_REJ UL_ASS_TBF{NONE}: state_chg to SEND_ASS_REJ UL_ASS_TBF{SEND_ASS_REJ}: Received Event CREATE_RLCMAC_MSG UL_ASS_TBF{SEND_ASS_REJ}: state_chg to NONE -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 2000 microsec +TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer X2000 [reject (PACCH)] with 0 sec. 0 microsec PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. +UL_ASS_TBF{NONE}: Timeout of X2000 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25092 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib8ab2f7397ad05c6fcd5dd74af55a1e2c56e1463 Gerrit-Change-Number: 25092 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:28 +0000 Subject: Change in osmo-pcu[master]: Get rid of lots of code only used by tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25093 ) Change subject: Get rid of lots of code only used by tests ...................................................................... Get rid of lots of code only used by tests There are 2 methods "rcvd_dl_ack()" in osmo-pcu code. One is used by osmo-pcu itself, and the other is only used in tests. Changing the tests to use the same method as osmo-pcu allows removing the second one, and with it, a lot of code and complexity out of osmo-pcu. Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 --- M src/decoding.cpp M src/decoding.h M src/encoding.cpp M src/encoding.h M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp 9 files changed, 129 insertions(+), 127 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/decoding.cpp b/src/decoding.cpp index e40496d..0caa8bf 100644 --- a/src/decoding.cpp +++ b/src/decoding.cpp @@ -326,18 +326,6 @@ * The index of the array is the bit position in the rbb * (show_rbb[63] relates to BSN ssn-1) */ -void Decoding::extract_rbb(const uint8_t *rbb, char *show_rbb) -{ - for (int i = 0; i < 64; i++) { - uint8_t bit; - - bit = !!(rbb[i/8] & (1<<(7-i%8))); - show_rbb[i] = bit ? 'R' : 'I'; - } - - show_rbb[64] = '\0'; -} - void Decoding::extract_rbb(const struct bitvec *rbb, char *show_rbb) { unsigned int i; diff --git a/src/decoding.h b/src/decoding.h index 28af3c4..7270c3d 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -50,7 +50,6 @@ enum CodingScheme cs, const uint8_t *data, RlcData *chunks, unsigned int chunks_size, uint32_t *tlli); - static void extract_rbb(const uint8_t *rbb, char *extracted_rbb); static void extract_rbb(const struct bitvec *rbb, char *show_rbb); static int rlc_parse_ul_data_header_egprs_type_3( struct gprs_rlc_data_info *rlc, diff --git a/src/encoding.cpp b/src/encoding.cpp index d9f4f87..f945161 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -841,20 +841,12 @@ * The index of the array show_rbb is the bit position inside the rbb * (show_rbb[63] relates to BSN ssn-1) */ -void Encoding::encode_rbb(const char *show_rbb, uint8_t *rbb) +void Encoding::encode_rbb(const char *show_rbb, bitvec *bv) { - uint8_t rbb_byte = 0; - // RECEIVE_BLOCK_BITMAP for (int i = 0; i < 64; i++) { /* Set bit at the appropriate position (see 3GPP TS 44.060 9.1.8.1) */ - if (show_rbb[i] == 'R') - rbb_byte |= 1<< (7-(i%8)); - - if ((i%8) == 7) { - rbb[i/8] = rbb_byte; - rbb_byte = 0; - } + bitvec_set_bit(bv, show_rbb[i] == 'R' ? ONE : ZERO); } } diff --git a/src/encoding.h b/src/encoding.h index f942fd8..298a937 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -63,7 +63,7 @@ uint8_t t3142 ); - static void encode_rbb(const char *show_rbb, uint8_t *rbb); + static void encode_rbb(const char *show_rbb, bitvec *rbb); static void write_packet_uplink_ack( bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index ea7f18e..40b52e5 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1158,68 +1158,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::update_window(const uint8_t ssn, const uint8_t *rbb) -{ - int16_t dist; /* must be signed */ - uint16_t lost = 0, received = 0; - char show_rbb[65]; - char show_v_b[RLC_MAX_SNS + 1]; - int error_rate; - struct ana_result ana_res; - - Decoding::extract_rbb(rbb, show_rbb); - /* show received array in debug (bit 64..1) */ - LOGPTBFDL(this, LOGL_DEBUG, - "ack: (BSN=%d)\"%s\"(BSN=%d) R=ACK I=NACK\n", - m_window.mod_sns(ssn - 64), show_rbb, m_window.mod_sns(ssn - 1)); - - /* apply received array to receive state (SSN-64..SSN-1) */ - /* calculate distance of ssn from V(S) */ - dist = m_window.mod_sns(m_window.v_s() - ssn); - /* check if distance is less than distance V(A)..V(S) */ - if (dist >= m_window.distance()) { - /* this might happpen, if the downlink assignment - * was not received by ms and the ack refers - * to previous TBF - * FIXME: we should implement polling for - * control ack!*/ - LOGPTBFDL(this, LOGL_NOTICE, "ack range is out of V(A)..V(S) range - Free TBF!\n"); - return 1; /* indicate to free TBF */ - } - - error_rate = analyse_errors(show_rbb, ssn, &ana_res); - - if (the_pcu->vty.cs_adj_enabled && ms()) - ms_update_error_rate(ms(), this, error_rate); - - m_window.update(bts, show_rbb, ssn, - &lost, &received); - rate_ctr_add(rate_ctr_group_get_ctr(m_ctrs, TBF_CTR_RLC_NACKED), lost); - - /* report lost and received packets */ - gprs_rlcmac_received_lost(this, received, lost); - - /* Used to measure the leak rate */ - gprs_bssgp_update_bytes_received(ana_res.received_bytes, - ana_res.received_packets + ana_res.lost_packets); - - /* raise V(A), if possible */ - m_window.raise(m_window.move_window()); - - /* show receive state array in debug (V(A)..V(S)-1) */ - m_window.show_state(show_v_b); - LOGPTBFDL(this, LOGL_DEBUG, - "V(B): (V(A)=%d)\"%s\"(V(S)-1=%d) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid\n", - m_window.v_a(), show_v_b, m_window.v_s_mod(-1)); - - if (state_is(TBF_ST_FINISHED) && m_window.window_empty()) { - LOGPTBFDL(this, LOGL_NOTICE, - "Received acknowledge of all blocks, but without final ack inidcation (don't worry)\n"); - } - return 0; -} - - int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); @@ -1275,17 +1213,6 @@ return rc; } -int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, uint8_t ssn, uint8_t *rbb) -{ - LOGPTBFDL(this, LOGL_DEBUG, "downlink acknowledge\n"); - - if (!final_ack) - return update_window(ssn, rbb); - - LOGPTBFDL(this, LOGL_DEBUG, "Final ACK received.\n"); - return rcvd_dl_final_ack(); -} - bool gprs_rlcmac_dl_tbf::dl_window_stalled() const { return m_window.window_stalled(); diff --git a/src/tbf_dl.h b/src/tbf_dl.h index b8fecde..67c05ad 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -48,7 +48,6 @@ int append_data(uint16_t pdu_delay_csec, const uint8_t *data, uint16_t len); - int rcvd_dl_ack(bool final, uint8_t ssn, uint8_t *rbb); int rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb); struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts, enum mcs_kind req_mcs_kind = EGPRS); void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); @@ -107,7 +106,6 @@ int create_new_bsn(const uint32_t fn, enum CodingScheme cs); struct msgb *create_dl_acked_block(const uint32_t fn, const uint8_t ts, int index, int index2 = -1); - int update_window(const uint8_t ssn, const uint8_t *rbb); int update_window(unsigned first_bsn, const struct bitvec *rbb); int rcvd_dl_final_ack(); bool dl_window_stalled() const; diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 9ba1753..1fcaead 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -259,6 +259,32 @@ TEST_MODE_REVERSE_FREE }; +/* Receive an ACK */ +static void _rcv_ack(bool fin, gprs_rlcmac_dl_tbf *tbf, uint8_t *rbb) +{ + gprs_rlc_dl_window *w = static_cast(tbf->window()); + uint8_t bits_data[RLC_GPRS_WS/8]; + bitvec bits; + Ack_Nack_Description_t ack_nack; + int bsn_begin, bsn_end; + uint8_t ssn = w->v_s(); + + bits.data = bits_data; + bits.data_len = sizeof(bits_data); + bits.cur_bit = 0; + ack_nack.FINAL_ACK_INDICATION = fin; + ack_nack.STARTING_SEQUENCE_NUMBER = ssn; + memcpy(ack_nack.RECEIVED_BLOCK_BITMAP, rbb, RLC_GPRS_WS/8); + + Decoding::decode_gprs_acknack_bits( + &ack_nack, &bits, + &bsn_begin, &bsn_end, w); + + tbf->rcvd_dl_ack(fin, bsn_begin, &bits); + if (!fin) + OSMO_ASSERT(w->window_empty()); +} + static void test_tbf_final_ack(enum test_tbf_final_ack_mode test_mode) { the_pcu = prepare_pcu(); @@ -305,7 +331,7 @@ /* Queue a final ACK */ memset(rbb, 0, sizeof(rbb)); /* Receive a final ACK */ - dl_tbf->rcvd_dl_ack(true, 1, rbb); + _rcv_ack(true, dl_tbf, rbb); /* Clean up and ensure tbfs are in the correct state */ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_WAIT_RELEASE)); @@ -335,14 +361,6 @@ fprintf(stderr, "=== end %s ===\n", __func__); } -/* Receive an ACK */ -#define RCV_ACK(fin, tbf, rbb) do { \ - gprs_rlc_dl_window *w = static_cast(tbf->window()); \ - tbf->rcvd_dl_ack(fin, w->v_s(), rbb); \ - if (!fin) \ - OSMO_ASSERT(w->window_empty()); \ - } while(0) - static void test_tbf_delayed_release() { the_pcu = prepare_pcu(); @@ -388,12 +406,12 @@ /* ACK all blocks */ memset(rbb, 0xff, sizeof(rbb)); - RCV_ACK(false, dl_tbf, rbb); /* Receive an ACK */ + _rcv_ack(false, dl_tbf, rbb); /* Receive an ACK */ /* Force sending of a single block containing an LLC dummy command */ request_dl_rlc_block(dl_tbf, &fn); - RCV_ACK(false, dl_tbf, rbb); /* Receive an ACK */ + _rcv_ack(false, dl_tbf, rbb); /* Receive an ACK */ /* Timeout (make sure fn % 52 remains valid) */ dl_tbf_idle_msec = osmo_tdef_get(the_pcu->T_defs, -2031, OSMO_TDEF_MS, -1); @@ -402,7 +420,7 @@ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_FINISHED)); - RCV_ACK(true, dl_tbf, rbb); /* Receive a final ACK */ + _rcv_ack(true, dl_tbf, rbb); /* Receive a final ACK */ /* Clean up and ensure tbfs are in the correct state */ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_WAIT_RELEASE)); @@ -2745,7 +2763,7 @@ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_FLOW)); - RCV_ACK(true, dl_tbf, rbb); /* Receive a final ACK */ + _rcv_ack(true, dl_tbf, rbb); /* Receive a final ACK */ /* Clean up and ensure tbfs are in the correct state */ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_WAIT_RELEASE)); @@ -2793,7 +2811,7 @@ { uint8_t rbb[64/8]; - RCV_ACK(true, dl_tbf, rbb); /* Receive a final ACK */ + _rcv_ack(true, dl_tbf, rbb); /* Receive a final ACK */ /* Clean up and ensure tbfs are in the correct state */ OSMO_ASSERT(dl_tbf->state_is(TBF_ST_WAIT_RELEASE)); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index ce1aa3c..98c9d49 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -109,6 +109,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -221,6 +224,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -494,12 +500,13 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=104, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack range is out of V(A)..V(S) range - Free TBF! +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=21)""(BSN=20) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:21, lost=0, recv=0, skipped=0, bsn=0, info='................................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 @@ -519,6 +526,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) ack: (BSN=21)"R"(BSN=21) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE @@ -4278,6 +4288,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=104, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=24) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:25, lost=0, recv=25, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRR.......................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=25)""(V(S)-1=24) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4534,6 +4547,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRR"(BSN=19) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:20, lost=0, recv=20, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRR............................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=20)""(V(S)-1=19) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4750,6 +4766,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRR"(BSN=14) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:15, lost=0, recv=15, skipped=0, bsn=0, info='RRRRRRRRRRRRRRR.................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=15)""(V(S)-1=14) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -4950,6 +4969,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRR"(BSN=12) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:13, lost=0, recv=13, skipped=0, bsn=0, info='RRRRRRRRRRRRR...................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=13)""(V(S)-1=12) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5134,6 +5156,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=11, skipped=0, bsn=0, info='RRRRRRRRRRR.....................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5294,6 +5319,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5463,6 +5491,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=10, skipped=1, bsn=0, info='xRRRRRRRRRR.....................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=11)""(V(S)-1=10) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5623,6 +5654,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRR"(BSN=8) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:9, lost=0, recv=9, skipped=0, bsn=0, info='RRRRRRRRR.......................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=9)""(V(S)-1=8) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5772,6 +5806,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=8)""(V(S)-1=7) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5844,6 +5881,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 Detected FN jump! 2654167 -> 58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5913,6 +5953,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 98 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -5982,6 +6025,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 94 00 02 04 06 08 0a 0c 0e 10 12 14 16 18 1a 1c 1e 20 22 24 26 28 2a 2c 2e 30 32 34 36 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6074,6 +6120,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6165,6 +6214,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6256,6 +6308,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6347,6 +6402,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=2)""(V(S)-1=1) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6425,6 +6483,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 e6 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 70 72 74 76 78 7a 7c 7e 80 82 84 86 88 8a 8c 8e 90 92 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6501,6 +6562,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 f2 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 58 5a 5c 5e 60 62 64 66 68 6a 6c 6e 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6577,6 +6641,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 f6 2c 2e 30 32 34 36 38 3a 3c 3e 40 42 44 46 48 4a 4c 4e 50 52 54 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE @@ -6660,6 +6727,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 10 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"R"(BSN=0) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:1, lost=0, recv=1, skipped=0, bsn=0, info='R...............................................................' +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) V(B): (V(A)=1)""(V(S)-1=0) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index 681ea4e..a975761 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -205,8 +205,12 @@ int count; const char *rbb; char win_rbb[65]; - uint8_t bin_rbb[8]; + uint8_t bin_rbb[RLC_GPRS_WS/8]; + bitvec bits; win_rbb[64] = '\0'; + bits.data = bin_rbb; + bits.data_len = sizeof(bin_rbb); + bits.cur_bit = 0; ul_win.m_v_n.reset(); @@ -220,9 +224,11 @@ OSMO_ASSERT(ul_win.ssn() == 0); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); + //printf("win_rbb: %s\n", win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); /* simulate to have received 0, 1 and 5 */ @@ -238,9 +244,10 @@ OSMO_ASSERT(ul_win.ssn() == 1); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(1)); @@ -255,9 +262,10 @@ OSMO_ASSERT(ul_win.ssn() == 2); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(5)); @@ -272,9 +280,10 @@ OSMO_ASSERT(ul_win.ssn() == 6); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(65)); @@ -291,9 +300,10 @@ OSMO_ASSERT(ul_win.ssn() == 66); ul_win.update_rbb(win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); - Encoding::encode_rbb(win_rbb, bin_rbb); + bits.cur_bit = 0; + Encoding::encode_rbb(win_rbb, &bits); printf("rbb: %s\n", osmo_hexdump(bin_rbb, sizeof(bin_rbb))); - Decoding::extract_rbb(bin_rbb, win_rbb); + Decoding::extract_rbb(&bits, win_rbb); OSMO_ASSERT_STR_EQ(win_rbb, rbb); OSMO_ASSERT(ul_win.is_in_window(2)); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25093 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I14d9312cb61534dc97fca83141b9c0cd933c9206 Gerrit-Change-Number: 25093 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:29 +0000 Subject: Change in osmo-pcu[master]: tbf: Merge handle_ack_nack() into rcvd_dl_ack() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25094 ) Change subject: tbf: Merge handle_ack_nack() into rcvd_dl_ack() ...................................................................... tbf: Merge handle_ack_nack() into rcvd_dl_ack() There's no real use in having those 2 methods separately, and only adds complexity. Let's merge it to have 1 TBF code path handling DL ACK/NACK. Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 --- M src/pdch.cpp M src/tbf_dl.cpp M src/tbf_dl.h M tests/tbf/TbfTest.err 4 files changed, 9 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/pdch.cpp b/src/pdch.cpp index 618dbf4..9477178 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -450,8 +450,6 @@ /* Reset N3101 counter: */ tbf->n_reset(N3101); - if (tbf->handle_ack_nack()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered downlink ack\n"); pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Downlink Ack/Nack\n"); @@ -519,9 +517,6 @@ /* Reset N3101 counter: */ tbf->n_reset(N3101); - - if (tbf->handle_ack_nack()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered EGPRS downlink ack\n"); pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 40b52e5..10492d9 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -774,22 +774,6 @@ return bsn; } -bool gprs_rlcmac_dl_tbf::handle_ack_nack() -{ - bool ack_recovered = false; - - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_DL_ACK); - if (check_n_clear(GPRS_RLCMAC_FLAG_TO_DL_ACK)) { - ack_recovered = true; - } - - /* reset N3105 */ - n_reset(N3105); - t_stop(T3191, "ACK/NACK received"); - - return ack_recovered; -} - struct msgb *gprs_rlcmac_dl_tbf::create_dl_acked_block( const uint32_t fn, const uint8_t ts, int index, int index2) @@ -1200,6 +1184,13 @@ int rc; LOGPTBFDL(this, LOGL_DEBUG, "downlink acknowledge\n"); + state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_DL_ACK); + state_fsm.state_flags &= ~(1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); + + /* reset N3105 */ + n_reset(N3105); + t_stop(T3191, "ACK/NACK received"); + rc = update_window(first_bsn, rbb); if (final_ack) { diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 67c05ad..9719327 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -52,7 +52,6 @@ struct msgb *create_dl_acked_block(uint32_t fn, uint8_t ts, enum mcs_kind req_mcs_kind = EGPRS); void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); - bool handle_ack_nack(); void request_dl_ack(); bool need_control_ts() const; bool have_data() const; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 98c9d49..b66707a 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -526,6 +526,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) ack: (BSN=21)"R"(BSN=21) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid @@ -535,7 +536,6 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3191 [freeing TBF] TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) @@ -3204,10 +3204,10 @@ Detected FN jump! 2654288 -> 2654379 PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink acknowledge +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=27) R=ACK I=NACK TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) DL analysis, range=0:28, lost=0, recv=28, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRRRRR....................................' TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25094 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I546d2e46bda96a2f551b28673464e57831c71828 Gerrit-Change-Number: 25094 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:29 +0000 Subject: Change in osmo-pcu[master]: Fix typos in comments documenting fsm st chg macro In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25095 ) Change subject: Fix typos in comments documenting fsm st chg macro ...................................................................... Fix typos in comments documenting fsm st chg macro Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 --- M src/nacc_fsm.c M src/tbf_fsm.h 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index d2702d4..9a5f5b5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -53,7 +53,7 @@ [NACC_ST_DONE] = {}, }; -/* Transition to a state, using the T timer defined in assignment_fsm_timeouts. +/* Transition to a state, using the T timer defined in nacc_fsm_timeouts. * The actual timeout value is in turn obtained from conn->T_defs. * Assumes local variable fi exists. */ diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 1874bc3..9d2919d 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -57,7 +57,7 @@ }; extern const struct osmo_tdef_state_timeout tbf_fsm_timeouts[32]; -/* Transition to a state, using the T timer defined in assignment_fsm_timeouts. +/* Transition to a state, using the T timer defined in tbf_fsm_timeouts. * The actual timeout value is in turn obtained from conn->T_defs. * Assumes local variable fi exists. */ #define tbf_fsm_state_chg(fi, NEXT_STATE) \ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25095 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8f1cef5810c84441f7d6d2fbe5b3106e0ae71b69 Gerrit-Change-Number: 25095 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:30 +0000 Subject: Change in osmo-pcu[master]: tbf: Use type bool for upgrade_to_multislot In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25102 ) Change subject: tbf: Use type bool for upgrade_to_multislot ...................................................................... tbf: Use type bool for upgrade_to_multislot Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac --- M src/gprs_rlcmac_ts_alloc.cpp M src/tbf.cpp M src/tbf.h 3 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 5ccbb9f..3c16d8a 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -421,7 +421,7 @@ tbf_->first_ts = tbf_->first_common_ts = ts; ms_set_reserved_slots(ms, trx, 1 << ts, 1 << ts); - tbf_->upgrade_to_multislot = 0; + tbf_->upgrade_to_multislot = false; bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_ALGO_A); return 0; } @@ -945,7 +945,7 @@ tbf_->upgrade_to_multislot = (avail_count > slotcount); LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using single slot at TS %d\n", first_ts); } else { - tbf_->upgrade_to_multislot = 0; + tbf_->upgrade_to_multislot = false; LOGPAL(tbf, "B", single, use_trx, LOGL_INFO, "using %d slots\n", slotcount); } diff --git a/src/tbf.cpp b/src/tbf.cpp index 842161c..74a44d9 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -110,7 +110,7 @@ control_ts(0xff), fT(0), num_fT_exp(0), - upgrade_to_multislot(0), + upgrade_to_multislot(false), bts(bts_), m_tfi(0), m_created_ts(0), diff --git a/src/tbf.h b/src/tbf.h index 96a5788..4218cf5 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -265,7 +265,7 @@ } meas; /* Can/should we upgrade this tbf to use multiple slots? */ - uint8_t upgrade_to_multislot; + bool upgrade_to_multislot; /* store the BTS this TBF belongs to */ struct gprs_rlcmac_bts *bts; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25102 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I644d91b6230a90cc72e83443c11d24b8d0a2dcac Gerrit-Change-Number: 25102 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:30 +0000 Subject: Change in osmo-pcu[master]: Move timer X2002 to tbf_fsm In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25104 ) Change subject: Move timer X2002 to tbf_fsm ...................................................................... Move timer X2002 to tbf_fsm Related: OS#2709 Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 --- M src/bts.cpp M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 11 files changed, 134 insertions(+), 86 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/bts.cpp b/src/bts.cpp index 729ff5d..12a1b04 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -655,11 +655,7 @@ } LOGP(DRLCMAC, LOGL_DEBUG, "Got IMM.ASS confirm for TLLI=%08x\n", tlli); - - if (dl_tbf->m_wait_confirm) { - /* Transition to FLOW in gprs_rlcmac_tbf::handle_timeout() when timer expires */ - T_START(dl_tbf, T0, -2002, "assignment (AGCH)", true); - } + osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_PCUIF_CNF, NULL); return 0; } diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 18c0763..d73e55d 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -308,10 +308,6 @@ && tbf->state_is_not(TBF_ST_FINISHED)) continue; - /* waiting for CCCH IMM.ASS confirm */ - if (tbf->m_wait_confirm) - continue; - /* If a GPRS (CS1-4) Dl block is required, skip EGPRS(_GSMK) tbfs: */ if (req_mcs_kind == GPRS && tbf->is_egprs_enabled()) continue; diff --git a/src/pdch.cpp b/src/pdch.cpp index 9477178..439759f 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -369,8 +369,6 @@ tbf_free(tbf); osmo_fsm_inst_dispatch(new_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - /* stop pending assignment timer */ - new_tbf->t_stop(T0, "control acked (DL-TBF)"); tbf_assign_control_ts(new_tbf); return; diff --git a/src/tbf.cpp b/src/tbf.cpp index 74a44d9..5efbe7f 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -59,8 +59,6 @@ unsigned int next_tbf_ctr_group_id = 0; /* Incrementing group id */ -static void tbf_timer_cb(void *_tbf); - const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[] = { OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_NONE), OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_SEND_ACK), /* send acknowledge on next RTS */ @@ -76,7 +74,6 @@ }; static const struct value_string tbf_timers_names[] = { - OSMO_VALUE_STRING(T0), OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3191), OSMO_VALUE_STRING(T3193), @@ -422,7 +419,6 @@ if (t != T_MAX) return osmo_timer_pending(&Tarr[t]); - /* we don't start with T0 because it's internal timer which requires special handling */ for (i = T3141; i < T_MAX; i++) if (osmo_timer_pending(&Tarr[i])) return true; @@ -433,8 +429,7 @@ void gprs_rlcmac_tbf::stop_timers(const char *reason) { uint8_t i; - /* we start with T0 because timer reset does not require any special handling */ - for (i = T0; i < T_MAX; i++) + for (i = T3141; i < T_MAX; i++) t_stop((enum tbf_timers)i, reason); } @@ -502,9 +497,6 @@ Tarr[t].data = this; switch(t) { - case T0: - Tarr[t].cb = tbf_timer_cb; - break; case T3141: Tarr[t].cb = cb_T3141; break; @@ -594,7 +586,6 @@ void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { - uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", @@ -645,7 +636,8 @@ /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; - } else if (direction == GPRS_RLCMAC_DL_TBF) { + } else if (reason == PDCH_ULC_POLL_DL_ACK) { + /* POLL Timeout expecting DL ACK/NACK: implies direction == GPRS_RLCMAC_DL_TBF */ gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); if (!(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK))) { @@ -669,16 +661,7 @@ return; } /* resend IMM.ASS on CCCH on timeout */ - if ((dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) - && !(dl_tbf->state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) { - LOGPTBF(dl_tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", - imsi()); - /* send immediate assignment */ - if ((pgroup = imsi2paging_group(imsi())) > 999) - LOGPTBF(dl_tbf, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); - bts_snd_dl_ass(dl_tbf->bts, dl_tbf, pgroup); - dl_tbf->m_wait_confirm = 1; - } + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_DL_ACKNACK_MISS, NULL); } else LOGPTBF(this, LOGL_ERROR, "Poll Timeout, but no event!\n"); } @@ -729,48 +712,6 @@ return 0; } -static void tbf_timer_cb(void *_tbf) -{ - struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)_tbf; - tbf->handle_timeout(); -} - -void gprs_rlcmac_tbf::handle_timeout() -{ - int current_fn = bts_current_frame_number(bts); - - LOGPTBF(this, LOGL_DEBUG, "timer 0 expired. cur_fn=%d\n", current_fn); - - /* Finish waiting after IMM.ASS confirm timer for CCCH assignment (see timer X2002) */ - if ((state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH))) { - gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(this); - dl_tbf->m_wait_confirm = 0; - if (dl_tbf->state_is(TBF_ST_ASSIGN)) { - tbf_assign_control_ts(dl_tbf); - - if (!dl_tbf->upgrade_to_multislot) { - /* change state to FLOW, so scheduler - * will start transmission */ - osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_READY_CCCH, NULL); - return; - } - - /* This tbf can be upgraded to use multiple DL - * timeslots and now that there is already one - * slot assigned send another DL assignment via - * PDCH. */ - - /* keep to flags */ - dl_tbf->state_fsm.state_flags &= GPRS_RLCMAC_FLAG_TO_MASK; - - dl_tbf->update(); - - dl_tbf->trigger_ass(dl_tbf); - } else - LOGPTBF(dl_tbf, LOGL_NOTICE, "Continue flow after IMM.ASS confirm\n"); - } -} - int gprs_rlcmac_tbf::establish_dl_tbf_on_pacch() { struct gprs_rlcmac_dl_tbf *new_tbf = NULL; @@ -977,6 +918,16 @@ return tbf->is_control_ts(ts); } +bool tbf_can_upgrade_to_multislot(const struct gprs_rlcmac_tbf *tbf) +{ + return tbf->upgrade_to_multislot; +} + +int tbf_update(struct gprs_rlcmac_tbf *tbf) +{ + return tbf->update(); +} + const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf) { static char buf[256]; diff --git a/src/tbf.h b/src/tbf.h index 4218cf5..84c3d39 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -100,9 +100,6 @@ #define LOGPTBF(tbf, level, fmt, args...) LOGP(DTBF, level, "%s " fmt, tbf_name(tbf), ## args) enum tbf_timers { - /* internal assign/reject timer */ - T0, - /* Wait contention resolution success on UL TBFs assigned over CCCH */ T3141, @@ -164,6 +161,8 @@ void tbf_update_state_fsm_name(struct gprs_rlcmac_tbf *tbf); const char* tbf_rlcmac_diag(const struct gprs_rlcmac_tbf *tbf); bool tbf_is_control_ts(const struct gprs_rlcmac_tbf *tbf, uint8_t ts); +bool tbf_can_upgrade_to_multislot(const struct gprs_rlcmac_tbf *tbf); +int tbf_update(struct gprs_rlcmac_tbf *tbf); #ifdef __cplusplus } #endif diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 10492d9..bed7a08 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -191,7 +191,6 @@ gprs_rlcmac_dl_tbf::gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts_, GprsMs *ms) : gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_DL_TBF), m_tx_counter(0), - m_wait_confirm(0), m_dl_ack_requested(false), m_last_dl_poll_fn(-1), m_last_dl_drained_fn(-1), @@ -622,7 +621,6 @@ if ((pgroup = imsi2paging_group(imsi())) > 999) LOGPTBFDL(this, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); bts_snd_dl_ass(bts, this, pgroup); - m_wait_confirm = 1; } } @@ -1170,7 +1168,6 @@ /* reset rlc states */ m_tx_counter = 0; - m_wait_confirm = 0; m_window.reset(); osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); @@ -1464,3 +1461,8 @@ else return NULL; } + +void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf) +{ + return tbf->trigger_ass(old_tbf); +} diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 9719327..ad1469a 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -71,7 +71,6 @@ * variables are in both (dl and ul) structs and not outside union. */ int32_t m_tx_counter; /* count all transmitted blocks */ - uint8_t m_wait_confirm; /* wait for CCCH IMM.ASS cnf */ bool m_dl_ack_requested; int32_t m_last_dl_poll_fn; int32_t m_last_dl_drained_fn; @@ -153,6 +152,7 @@ const uint8_t egprs_ms_class, const uint16_t delay_csec, const uint8_t *data, const uint16_t len); +void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf); #ifdef __cplusplus } #endif diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 0dbf04c..42c5118 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -46,6 +46,8 @@ { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, + { TBF_EV_ASSIGN_PCUIF_CNF, "ASSIGN_PCUIF_CNF" }, + { TBF_EV_DL_ACKNACK_MISS, "DL_ACKNACK_MISS" }, { TBF_EV_LAST_DL_DATA_SENT, "LAST_DL_DATA_SENT" }, { TBF_EV_LAST_UL_DATA_RECVD, "LAST_UL_DATA_RECVD" }, { TBF_EV_FINAL_ACK_RECVD, "FINAL_ACK_RECVD" }, @@ -136,12 +138,17 @@ "Starting timer X2001 [assignment (PACCH)] with %u sec. %u microsec\n", sec, micro); osmo_timer_schedule(&fi->timer, sec, micro); + } else if (tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF) { + /* GPRS_RLCMAC_FLAG_CCCH is set, so here we submitted an DL Ass through PCUIF on CCCH */ } } static void st_assign(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val; + unsigned int sec, micro; + switch (event) { case TBF_EV_ASSIGN_ADD_CCCH: mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, true); @@ -160,6 +167,23 @@ } tbf_fsm_state_chg(fi, TBF_ST_FLOW); break; + case TBF_EV_ASSIGN_PCUIF_CNF: + /* BTS informs us it sent Imm Ass for DL TBF over CCCH. We now + * have to wait for X2002 to trigger (meaning MS is already + * listening on PDCH) in order to move to FLOW state and start + * transmitting data to it. When X2002 triggers (see cb timer + * end of the file) it will send TBF_EV_ASSIGN_READY_CCCH back + * to us here. */ + OSMO_ASSERT(tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF); + fi->T = -2002; + val = osmo_tdef_get(the_pcu->T_defs, fi->T, OSMO_TDEF_MS, -1); + sec = val / 1000; + micro = (val % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, + "Starting timer X2002 [assignment (AGCH)] with %u sec. %u microsec\n", + sec, micro); + osmo_timer_schedule(&fi->timer, sec, micro); + break; case TBF_EV_ASSIGN_READY_CCCH: /* change state to FLOW, so scheduler will start transmission */ tbf_fsm_state_chg(fi, TBF_ST_FLOW); @@ -172,7 +196,28 @@ static void st_flow(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + switch (event) { + case TBF_EV_DL_ACKNACK_MISS: + /* DL TBF: we missed a DL ACK/NACK. If we started assignment + * over CCCH and never received any DL ACK/NACK yet, it means we + * don't even know if the MS successfuly received the Imm Ass on + * CCCH and hence is listening on PDCH. Let's better refrain + * from continuing and start assignment on CCCH again */ + if ((ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_CCCH)) + && !(ctx->state_flags & (1 << GPRS_RLCMAC_FLAG_DL_ACK))) { + struct GprsMs *ms = tbf_ms(ctx->tbf); + const char *imsi = ms_imsi(ms); + uint16_t pgroup; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", + imsi); + tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); + /* send immediate assignment */ + if ((pgroup = imsi2paging_group(imsi)) > 999) + LOGPTBF(ctx->tbf, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi); + bts_snd_dl_ass(ms->bts, ctx->tbf, pgroup); + } + break; case TBF_EV_LAST_DL_DATA_SENT: case TBF_EV_LAST_UL_DATA_RECVD: /* All data has been sent or received, change state to FINISHED */ @@ -201,6 +246,8 @@ { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (event) { + case TBF_EV_DL_ACKNACK_MISS: + break; case TBF_EV_FINAL_ACK_RECVD: /* We received Final Ack (DL ACK/NACK) from MS. move to WAIT_RELEASE, we wait there for release or re-use the TBF in @@ -267,10 +314,42 @@ */ } +static void handle_timeout_X2002(struct tbf_fsm_ctx *ctx) +{ + struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(ctx->tbf); + + if (ctx->fi->state == TBF_ST_ASSIGN) { + tbf_assign_control_ts(ctx->tbf); + + if (!tbf_can_upgrade_to_multislot(ctx->tbf)) { + /* change state to FLOW, so scheduler + * will start transmission */ + osmo_fsm_inst_dispatch(ctx->fi, TBF_EV_ASSIGN_READY_CCCH, NULL); + return; + } + + /* This tbf can be upgraded to use multiple DL + * timeslots and now that there is already one + * slot assigned send another DL assignment via + * PDCH. */ + + /* keep to flags */ + ctx->state_flags &= GPRS_RLCMAC_FLAG_TO_MASK; + + tbf_update(ctx->tbf); + + tbf_dl_trigger_ass(dl_tbf, ctx->tbf); + } else + LOGPTBF(ctx->tbf, LOGL_NOTICE, "Continue flow after IMM.ASS confirm\n"); +} + static int tbf_fsm_timer_cb(struct osmo_fsm_inst *fi) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; switch (fi->T) { + case -2002: + handle_timeout_X2002(ctx); + break; case -2001: LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); /* fall-through */ @@ -301,6 +380,7 @@ X(TBF_EV_ASSIGN_ADD_CCCH) | X(TBF_EV_ASSIGN_ADD_PACCH) | X(TBF_EV_ASSIGN_ACK_PACCH) | + X(TBF_EV_ASSIGN_PCUIF_CNF) | X(TBF_EV_ASSIGN_READY_CCCH), .out_state_mask = X(TBF_ST_FLOW) | @@ -312,12 +392,14 @@ }, [TBF_ST_FLOW] = { .in_event_mask = + X(TBF_EV_DL_ACKNACK_MISS) | X(TBF_EV_LAST_DL_DATA_SENT) | X(TBF_EV_LAST_UL_DATA_RECVD) | X(TBF_EV_FINAL_ACK_RECVD) | X(TBF_EV_MAX_N3101) | X(TBF_EV_MAX_N3105), .out_state_mask = + X(TBF_ST_ASSIGN) | X(TBF_ST_FINISHED) | X(TBF_ST_WAIT_RELEASE) | X(TBF_ST_RELEASING), @@ -326,6 +408,7 @@ }, [TBF_ST_FINISHED] = { .in_event_mask = + X(TBF_EV_DL_ACKNACK_MISS) | X(TBF_EV_FINAL_ACK_RECVD) | X(TBF_EV_MAX_N3103) | X(TBF_EV_MAX_N3105), diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 9d2919d..2f63eef 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -32,6 +32,8 @@ TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ + TBF_EV_ASSIGN_PCUIF_CNF, /* Transmission of IMM.ASS for DL TBF to the MS confirmed by BTS over PCUIF */ + TBF_EV_DL_ACKNACK_MISS, /* DL TBF: We polled for DL ACK/NACK but we received none (POLL timeout) */ TBF_EV_LAST_DL_DATA_SENT, /* DL TBF sends RLCMAC block containing last DL avilable data buffered */ TBF_EV_LAST_UL_DATA_RECVD, /* UL TBF sends RLCMAC block containing last UL data (cv=0) */ TBF_EV_FINAL_ACK_RECVD, /* DL ACK/NACK with FINAL_ACK=1 received from MS */ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 1fcaead..19611a7 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -219,7 +219,6 @@ osmo_fsm_inst_dispatch(dl_tbf->dl_ass_fsm.fi, TBF_DL_ASS_EV_SCHED_ASS, NULL); osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ADD_CCCH, NULL); osmo_fsm_inst_dispatch(dl_tbf->state_fsm.fi, TBF_EV_ASSIGN_ACK_PACCH, NULL); - dl_tbf->m_wait_confirm = 0; check_tbf(dl_tbf); *trx_no_ = trx_no; @@ -591,9 +590,13 @@ OSMO_ASSERT(ms_dl_tbf(ms) != NULL); /* Here PCU would answer with data_cnf and trigger - * bts_rcv_imm_ass_cnf(), which would set up the timer X2002. In this - * test we go directly to T0 timeout to move it to FLOW state: */ - ms_dl_tbf(ms)->handle_timeout(); + * bts_rcv_imm_ass_cnf(), which would trigger TBF_EV_ASSIGN_PCUIF_CNF. + * That in turn would set up timer X2002. Finally, X2002 timeout + * moves it to FLOW state. We set X2002 timeout to 0 here to get + * immediate trigger through osmo_select_main() */ + OSMO_ASSERT(osmo_tdef_set(the_pcu->T_defs, -2002, 0, OSMO_TDEF_MS) == 0); + osmo_fsm_inst_dispatch(ms_dl_tbf(ms)->state_fsm.fi, TBF_EV_ASSIGN_PCUIF_CNF, NULL); + osmo_select_main(0); OSMO_ASSERT(ms_dl_tbf(ms)->state_is(TBF_ST_FLOW)); /* Get first BSN */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index b66707a..e5664ef 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1681,7 +1681,9 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - TRX=0 (0) TS=4 TA=0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 +TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_PCUIF_CNF +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Starting timer X2002 [assignment (AGCH)] with 0 sec. 0 microsec +TBF(DL-TFI_0){ASSIGN}: Timeout of X2002 TBF(DL-TFI_0){ASSIGN}: Received Event ASSIGN_READY_CCCH TBF(DL-TFI_0){ASSIGN}: state_chg to FLOW TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS @@ -2047,6 +2049,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FINISHED}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only @@ -2107,6 +2110,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FINISHED}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 UL_ASS_TBF(UL-TFI_1){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 @@ -4283,10 +4287,12 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=104, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=24) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:25, lost=0, recv=25, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRRRRRR.......................................' @@ -4546,6 +4552,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 91) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRRRRRRR"(BSN=19) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:20, lost=0, recv=20, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRR............................................' @@ -4765,6 +4772,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 69) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRRRR"(BSN=14) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:15, lost=0, recv=15, skipped=0, bsn=0, info='RRRRRRRRRRRRRRR.................................................' @@ -4968,6 +4976,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 60) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRRRR"(BSN=12) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:13, lost=0, recv=13, skipped=0, bsn=0, info='RRRRRRRRRRRRR...................................................' @@ -5155,6 +5164,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 52) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=11, skipped=0, bsn=0, info='RRRRRRRRRRR.....................................................' @@ -5318,6 +5328,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 39) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' @@ -5490,6 +5501,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 34) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRRRR"(BSN=10) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:11, lost=0, recv=10, skipped=1, bsn=0, info='xRRRRRRRRRR.....................................................' @@ -5653,6 +5665,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 30) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRRR"(BSN=8) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:9, lost=0, recv=9, skipped=0, bsn=0, info='RRRRRRRRR.......................................................' @@ -5805,6 +5818,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 26) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RRRRRRRR"(BSN=7) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:8, lost=0, recv=8, skipped=0, bsn=0, info='RRRRRRRR........................................................' @@ -6119,6 +6133,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6213,6 +6228,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6307,6 +6323,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' @@ -6401,6 +6418,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +TBF(DL-TFI_0){FLOW}: Received Event DL_ACKNACK_MISS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) ack: (BSN=0)"RR"(BSN=1) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) DL analysis, range=0:2, lost=0, recv=2, skipped=0, bsn=0, info='RR..............................................................' -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25104 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I94b71c60ed49d51ebdf6d6b428056b4b94354676 Gerrit-Change-Number: 25104 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:30 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Clarify requirements for DL ACK/NACK In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25105 ) Change subject: tbf_dl: Clarify requirements for DL ACK/NACK ...................................................................... tbf_dl: Clarify requirements for DL ACK/NACK Method is renamed since it clearly relates to getting DL ACK/NACK, no CTRL ACK. use same methods in both scheduler and internal use since they are expectd to be run in the same code path by the scheduler. This way we make sure the same conditions apply and it's clearer when looking at the code. Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 --- M src/gprs_rlcmac_sched.cpp M src/tbf_dl.cpp M src/tbf_dl.h 3 files changed, 11 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index d73e55d..ed81981 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -239,7 +239,7 @@ int age_thresh1 = msecs_to_frames(200); int age_thresh2 = msecs_to_frames(OSMO_MIN(msecs_t3190/2, dl_tbf_idle_msec)); - if (tbf->is_control_ts(ts) && tbf->need_control_ts()) + if (tbf->is_control_ts(ts) && tbf->need_poll_for_dl_ack_nack()) return DL_PRIO_CONTROL; if (tbf->is_control_ts(ts) && age > age_thresh2 && age_thresh2 > 0) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index bed7a08..34c5630 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -779,7 +779,6 @@ uint8_t *msg_data; struct msgb *dl_msg; unsigned msg_len; - bool need_poll; /* TODO: support MCS-7 - MCS-9, where data_block_idx can be 1 */ uint8_t data_block_idx = 0; unsigned int rrbp; @@ -940,23 +939,20 @@ if (m_last_dl_poll_fn < 0) m_last_dl_poll_fn = fn; - need_poll = state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK); - - /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx. - */ - if (m_tx_counter >= POLL_ACK_AFTER_FRAMES || m_dl_ack_requested || - need_poll) { + /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx or + * when last polled DL ACK/NACK was lost. */ + if (need_poll_for_dl_ack_nack()) { if (m_dl_ack_requested) { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because it was requested explicitly " "(e.g. first final block sent).\n"); - } else if (need_poll) { + } else if (state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK)) { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because polling timed out.\n"); } else { LOGPTBFDL(this, LOGL_DEBUG, "Scheduling Ack/Nack polling, because %d blocks sent.\n", - POLL_ACK_AFTER_FRAMES); + POLL_ACK_AFTER_FRAMES); } rc = check_polling(fn, ts, &new_poll_fn, &rrbp); @@ -1211,8 +1207,11 @@ m_dl_ack_requested = true; } -bool gprs_rlcmac_dl_tbf::need_control_ts() const +/* Does this DL TBF require to poll the MS for DL ACK/NACK? */ +bool gprs_rlcmac_dl_tbf::need_poll_for_dl_ack_nack() const { + /* poll after POLL_ACK_AFTER_FRAMES frames, or when final block is tx or + * when last polled DL ACK/NACK was lost. */ return state_fsm.state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK) || m_tx_counter >= POLL_ACK_AFTER_FRAMES || m_dl_ack_requested; diff --git a/src/tbf_dl.h b/src/tbf_dl.h index ad1469a..27b6a2c 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -53,7 +53,7 @@ void trigger_ass(struct gprs_rlcmac_tbf *old_tbf); void request_dl_ack(); - bool need_control_ts() const; + bool need_poll_for_dl_ack_nack() const; bool have_data() const; int frames_since_last_poll(unsigned fn) const; int frames_since_last_drain(unsigned fn) const; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25105 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib0e9b9547f5292b95064bab2dc182fdf659f0518 Gerrit-Change-Number: 25105 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:31 +0000 Subject: Change in osmo-pcu[master]: tbf.h: Improve documentation on several flags In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25106 ) Change subject: tbf.h: Improve documentation on several flags ...................................................................... tbf.h: Improve documentation on several flags Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a --- M src/tbf.h 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.h b/src/tbf.h index 84c3d39..358a7ad 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -124,9 +124,9 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ -#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* downlink acknowledge received */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 +#define GPRS_RLCMAC_FLAG_DL_ACK 2 /* DL TBF: At least one DL ACK/NACK was recieved since it was assigned */ +#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 /* UL TBF: Failed to receive last polled CTRL ACK confirming our UL ACK/NACK */ +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 /* DL TBF: Failed to receive last polled DL ACK/NACK */ #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25106 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ice2c164ced039fb4ab621d8f7c2fb85f8348788a Gerrit-Change-Number: 25106 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:31 +0000 Subject: Change in osmo-pcu[master]: Move tbf ul_ack_state to osmocom FSM In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25108 ) Change subject: Move tbf ul_ack_state to osmocom FSM ...................................................................... Move tbf ul_ack_state to osmocom FSM Related: OS#2709 Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 --- M src/Makefile.am M src/encoding.cpp M src/encoding.h M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h A src/tbf_ul_ack_fsm.c A src/tbf_ul_ack_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err M tests/types/TypesTest.cpp M tests/types/TypesTest.err 16 files changed, 489 insertions(+), 173 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/Makefile.am b/src/Makefile.am index 1a2ea97..08b3309 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -60,6 +60,7 @@ tbf.cpp \ tbf_fsm.c \ tbf_ul.cpp \ + tbf_ul_ack_fsm.c \ tbf_ul_ass_fsm.c \ tbf_dl.cpp \ tbf_dl_ass_fsm.c \ @@ -102,6 +103,7 @@ tbf.h \ tbf_fsm.h \ tbf_ul.h \ + tbf_ul_ack_fsm.h \ tbf_ul_ass_fsm.h \ tbf_dl.h \ tbf_dl_ass_fsm.h \ diff --git a/src/encoding.cpp b/src/encoding.cpp index f945161..30b0ee1 100644 --- a/src/encoding.cpp +++ b/src/encoding.cpp @@ -1106,9 +1106,8 @@ bitvec_write_field(dest, &wp, 0, 1); // 0: don't have REL 5 }; -void Encoding::write_packet_uplink_ack( - bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, - uint8_t rrbp) +void write_packet_uplink_ack(struct bitvec *dest, struct gprs_rlcmac_ul_tbf *tbf, + bool is_final, uint8_t rrbp) { unsigned wp = 0; diff --git a/src/encoding.h b/src/encoding.h index 298a937..998e69a 100644 --- a/src/encoding.h +++ b/src/encoding.h @@ -65,10 +65,6 @@ static void encode_rbb(const char *show_rbb, bitvec *rbb); - static void write_packet_uplink_ack( - bitvec * dest, struct gprs_rlcmac_ul_tbf *tbf, bool is_final, - uint8_t rrbp); - static int write_paging_request(bitvec * dest, const struct osmo_mobile_identity *mi); static unsigned write_repeated_page_info(bitvec * dest, unsigned& wp, uint8_t len, @@ -119,6 +115,9 @@ int8_t ta_idx, uint8_t ta_ts, bool use_egprs, uint8_t control_ack); +void write_packet_uplink_ack(struct bitvec *dest, struct gprs_rlcmac_ul_tbf *tbf, + bool is_final, uint8_t rrbp); + void write_packet_neighbour_cell_data(RlcMacDownlink_t *block, bool tfi_is_dl, uint8_t tfi, uint8_t container_id, uint8_t container_idx, PNCDContainer_t *container); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index ed81981..eb163a7 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -54,7 +54,7 @@ /* this trx, this ts */ if (!ul_tbf->is_control_ts(pdch->ts_no)) continue; - if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) + if (tbf_ul_ack_rts(ul_tbf)) tbf_cand->ul_ack = ul_tbf; if (tbf_dl_ass_rts(ul_tbf)) tbf_cand->dl_ass = ul_tbf; @@ -173,7 +173,7 @@ else if (tbf == tbfs->dl_ass && tbf->direction == GPRS_RLCMAC_UL_TBF) msg = tbf_dl_ass_create_rlcmac_msg(tbfs->dl_ass, fn, ts); else if (tbf == tbfs->ul_ack) - msg = tbfs->ul_ack->create_ul_ack(fn, ts); + msg = tbf_ul_ack_create_rlcmac_msg(tbfs->ul_ack, fn, ts); else if (tbf == tbfs->nacc) { msg = ms_nacc_create_rlcmac_msg(tbf->ms(), tbf, fn, ts); } diff --git a/src/pdch.cpp b/src/pdch.cpp index 439759f..da43bdf 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -344,11 +344,10 @@ /* check if this control ack belongs to packet uplink ack */ ul_tbf = as_ul_tbf(tbf); - if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { + if (ul_tbf && reason == PDCH_ULC_POLL_UL_ACK && tbf_ul_ack_exp_ctrl_ack(ul_tbf, fn, ts_no)) { + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_RX_CTRL_ACK, NULL); + /* We can free since we only set polling on final UL ACK/NACK */ LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] END\n"); - if (ul_tbf->ctrl_ack_to_toggle()) - LOGPTBF(tbf, LOGL_NOTICE, "Recovered uplink ack for UL\n"); - tbf_free(tbf); return; } diff --git a/src/tbf.cpp b/src/tbf.cpp index 5efbe7f..b43ffde 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -59,13 +59,6 @@ unsigned int next_tbf_ctr_group_id = 0; /* Incrementing group id */ -const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[] = { - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_NONE), - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_SEND_ACK), /* send acknowledge on next RTS */ - OSMO_VALUE_STRING(GPRS_RLCMAC_UL_ACK_WAIT_ACK), /* wait for PACKET CONTROL ACK */ - { 0, NULL } -}; - static const struct value_string tbf_counters_names[] = { OSMO_VALUE_STRING(N3101), OSMO_VALUE_STRING(N3103), @@ -113,7 +106,6 @@ m_created_ts(0), m_ctrs(NULL), m_ms(ms), - ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE), m_egprs_enabled(false) { /* The classes of these members do not have proper constructors yet. @@ -568,8 +560,6 @@ chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_UL_ACK: - ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; - LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, new_poll_fn, ts); break; @@ -591,12 +581,7 @@ LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, pdch->ts_no, bts_current_frame_number(bts)); - if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { - if (!ul_tbf->ctrl_ack_to_toggle()) { - LOGPTBF(this, LOGL_NOTICE, - "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", - tbf_rlcmac_diag(this)); - } + if (ul_tbf && reason == PDCH_ULC_POLL_UL_ACK && tbf_ul_ack_exp_ctrl_ack(ul_tbf, poll_fn, pdch->ts_no)) { bts_do_rate_ctr_inc(bts, CTR_RLC_ACK_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUAN_POLL_TIMEDOUT); if (state_is(TBF_ST_FINISHED)) { @@ -605,10 +590,8 @@ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_MAX_N3103, NULL); return; } - /* reschedule UL ack */ - ul_tbf->ul_ack_state = GPRS_RLCMAC_UL_ACK_SEND_ACK; } - + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_POLL_TIMEOUT, NULL); } else if (ul_ass_state_is(TBF_UL_ASS_WAIT_ACK)) { bts_do_rate_ctr_inc(bts, CTR_RLC_ASS_TIMEDOUT); bts_do_rate_ctr_inc(bts, CTR_PUA_POLL_TIMEDOUT); @@ -761,6 +744,12 @@ osmo_fsm_inst_update_id(tbf->state_fsm.fi, buf); osmo_fsm_inst_update_id(tbf->ul_ass_fsm.fi, buf); osmo_fsm_inst_update_id(tbf->dl_ass_fsm.fi, buf); + + if (tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF) { + struct gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(tbf); + osmo_fsm_inst_update_id(ul_tbf->ul_ack_fsm.fi, buf); + } + } void gprs_rlcmac_tbf::rotate_in_list() diff --git a/src/tbf.h b/src/tbf.h index 358a7ad..ffd6cc2 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -58,14 +58,6 @@ * TBF instance */ -enum gprs_rlcmac_tbf_ul_ack_state { - GPRS_RLCMAC_UL_ACK_NONE = 0, - GPRS_RLCMAC_UL_ACK_SEND_ACK, /* send acknowledge on next RTS */ - GPRS_RLCMAC_UL_ACK_WAIT_ACK, /* wait for PACKET CONTROL ACK */ -}; - -extern const struct value_string gprs_rlcmac_tbf_ul_ack_state_names[]; - enum gprs_rlcmac_tbf_direction { GPRS_RLCMAC_DL_TBF, GPRS_RLCMAC_UL_TBF @@ -125,12 +117,10 @@ #define GPRS_RLCMAC_FLAG_CCCH 0 /* assignment on CCCH */ #define GPRS_RLCMAC_FLAG_PACCH 1 /* assignment on PACCH */ #define GPRS_RLCMAC_FLAG_DL_ACK 2 /* DL TBF: At least one DL ACK/NACK was recieved since it was assigned */ -#define GPRS_RLCMAC_FLAG_TO_UL_ACK 3 /* UL TBF: Failed to receive last polled CTRL ACK confirming our UL ACK/NACK */ -#define GPRS_RLCMAC_FLAG_TO_DL_ACK 4 /* DL TBF: Failed to receive last polled DL ACK/NACK */ +#define GPRS_RLCMAC_FLAG_TO_DL_ACK 3 /* DL TBF: Failed to receive last polled DL ACK/NACK */ #define GPRS_RLCMAC_FLAG_TO_MASK 0xf0 /* timeout bits */ #define T_START(tbf, t, T, r, f) tbf->t_start(t, T, r, f, __FILE__, __LINE__) -#define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) #ifdef __cplusplus extern "C" { @@ -180,8 +170,6 @@ bool state_is_not(enum tbf_fsm_states rhs) const; bool dl_ass_state_is(enum tbf_dl_ass_fsm_states rhs) const; bool ul_ass_state_is(enum tbf_ul_ass_fsm_states rhs) const; - bool ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const; - void set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line); void poll_sched_set(const char *file, int line); void poll_sched_unset(const char *file, int line); bool check_n_clear(uint8_t state_flag); @@ -293,7 +281,6 @@ struct GprsMs *m_ms; private: void enable_egprs(); - enum gprs_rlcmac_tbf_ul_ack_state ul_ack_state; bool m_egprs_enabled; struct osmo_timer_list Tarr[T_MAX]; uint8_t Narr[N_MAX]; @@ -315,11 +302,6 @@ return tbf_ul_ass_fi(this)->state == rhs; } -inline bool gprs_rlcmac_tbf::ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const -{ - return ul_ack_state == rhs; -} - inline bool gprs_rlcmac_tbf::state_is_not(enum tbf_fsm_states rhs) const { return tbf_state(this) != rhs; @@ -331,15 +313,6 @@ return osmo_fsm_inst_state_name(state_fsm.fi); } -inline void gprs_rlcmac_tbf::set_ack_state(enum gprs_rlcmac_tbf_ul_ack_state new_state, const char *file, int line) -{ - LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes UL ACK state from %s to %s\n", - tbf_name(this), - get_value_string(gprs_rlcmac_tbf_ul_ack_state_names, ul_ack_state), - get_value_string(gprs_rlcmac_tbf_ul_ack_state_names, new_state)); - ul_ack_state = new_state; -} - inline bool gprs_rlcmac_tbf::check_n_clear(uint8_t state_flag) { if ((state_fsm.state_flags & (1 << state_flag))) { diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 34c5630..905bf05 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -249,7 +249,7 @@ * or MULTIPLE TBF DOWNLINK ASSIGNMENT messages before contention resolution is * completed on the mobile station side." */ if (ul_tbf && ul_tbf->m_contention_resolution_done - && !ul_tbf->m_final_ack_sent) { + && !tbf_ul_ack_waiting_cnf_final_ack(ul_tbf)) { use_trx = ul_tbf->trx->trx_no; ss = false; old_ul_tbf = ul_tbf; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index c84f373..d4f2093 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -93,6 +93,9 @@ gprs_rlcmac_ul_tbf::~gprs_rlcmac_ul_tbf() { + osmo_fsm_inst_free(ul_ack_fsm.fi); + ul_ack_fsm.fi = NULL; + rate_ctr_group_free(m_ul_egprs_ctrs); rate_ctr_group_free(m_ul_gprs_ctrs); /* ~gprs_rlcmac_tbf() is called automatically upon return */ @@ -231,11 +234,15 @@ gprs_rlcmac_tbf(bts_, ms, GPRS_RLCMAC_UL_TBF), m_rx_counter(0), m_contention_resolution_done(0), - m_final_ack_sent(0), m_ul_gprs_ctrs(NULL), m_ul_egprs_ctrs(NULL) { memset(&m_usf, USF_INVALID, sizeof(m_usf)); + + memset(&ul_ack_fsm, 0, sizeof(ul_ack_fsm)); + ul_ack_fsm.tbf = this; + ul_ack_fsm.fi = osmo_fsm_inst_alloc(&tbf_ul_ack_fsm, this, &ul_ack_fsm, LOGL_INFO, NULL); + } /* @@ -288,26 +295,6 @@ return 0; } -bool gprs_rlcmac_ul_tbf::ctrl_ack_to_toggle() -{ - if (check_n_clear(GPRS_RLCMAC_FLAG_TO_UL_ACK)) - return true; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was set, now cleared */ - - state_fsm.state_flags |= (1 << GPRS_RLCMAC_FLAG_TO_UL_ACK); - return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */ -} - -bool gprs_rlcmac_ul_tbf::handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason) -{ - /* check if this control ack belongs to packet uplink ack */ - if (reason == PDCH_ULC_POLL_UL_ACK && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); - return true; - } - - return false; -} - void gprs_rlcmac_ul_tbf::contention_resolution_start() { /* 3GPP TS 44.018 sec 11.1.2 Timers on the network side: "This timer is @@ -339,59 +326,6 @@ m_contention_resolution_done = 1; } -struct msgb *gprs_rlcmac_ul_tbf::create_ul_ack(uint32_t fn, uint8_t ts) -{ - int final = (state_is(TBF_ST_FINISHED)); - struct msgb *msg; - int rc; - unsigned int rrbp = 0; - uint32_t new_poll_fn = 0; - - if (final) { - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { - LOGPTBFUL(this, LOGL_DEBUG, - "Polling is already scheduled, so we must wait for the final uplink ack...\n"); - return NULL; - } - - rc = check_polling(fn, ts, &new_poll_fn, &rrbp); - if (rc < 0) - return NULL; - } - - msg = msgb_alloc(23, "rlcmac_ul_ack"); - if (!msg) - return NULL; - bitvec *ack_vec = bitvec_alloc(23, tall_pcu_ctx); - if (!ack_vec) { - msgb_free(msg); - return NULL; - } - bitvec_unhex(ack_vec, DUMMY_VEC); - Encoding::write_packet_uplink_ack(ack_vec, this, final, rrbp); - bitvec_pack(ack_vec, msgb_put(msg, 23)); - bitvec_free(ack_vec); - - /* TS 44.060 7a.2.1.1: "The contention resolution is completed on - * the network side when the network receives an RLC data block that - * comprises the TLLI value that identifies the mobile station and the - * TFI value associated with the TBF." - * However, it's handier for us to mark contention resolution success - * here since according to spec upon rx UL ACK is the time at which MS - * realizes contention resolution succeeds. */ - if (is_tlli_valid()) - contention_resolution_success(); - - if (final) { - set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); - /* waiting for final acknowledge */ - m_final_ack_sent = 1; - } else - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); - - return msg; -} - /*! \brief receive data from PDCH/L1 */ int gprs_rlcmac_ul_tbf::rcv_data_block_acknowledged( const struct gprs_rlc_data_info *rlc, @@ -590,14 +524,7 @@ if (!require_ack) return; - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)) { - /* trigger sending at next RTS */ - TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_SEND_ACK); - } else { - /* already triggered */ - LOGPTBFUL(this, LOGL_DEBUG, - "Sending Ack/Nack already scheduled, no need to re-schedule\n"); - } + osmo_fsm_inst_dispatch(this->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); } /* Send Uplink unit-data to SGSN. */ @@ -843,3 +770,13 @@ { return tbf->m_contention_resolution_done; } + +struct osmo_fsm_inst *tbf_ul_ack_fi(const struct gprs_rlcmac_ul_tbf *tbf) +{ + return tbf->ul_ack_fsm.fi; +} + +void ul_tbf_contention_resolution_success(struct gprs_rlcmac_ul_tbf *tbf) +{ + return tbf->contention_resolution_success(); +} diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 826062f..defdfba 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -24,6 +24,15 @@ #include #include "tbf.h" + +#ifdef __cplusplus +extern "C" { +#endif +#include +#ifdef __cplusplus +} +#endif + /* * TBF instance */ @@ -54,9 +63,6 @@ gprs_rlcmac_ul_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); ~gprs_rlcmac_ul_tbf(); gprs_rlc_window *window(); - struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); - bool ctrl_ack_to_toggle(); - bool handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason); /* blocks were acked */ int rcv_data_block_acknowledged( const struct gprs_rlc_data_info *rlc, @@ -97,11 +103,12 @@ int32_t m_rx_counter; /* count all received blocks */ uint8_t m_usf[8]; /* list USFs per PDCH (timeslot), initialized to USF_INVALID */ uint8_t m_contention_resolution_done; /* set after done */ - uint8_t m_final_ack_sent; /* set if we sent final ack */ struct rate_ctr_group *m_ul_gprs_ctrs; struct rate_ctr_group *m_ul_egprs_ctrs; + struct tbf_ul_ass_fsm_ctx ul_ack_fsm; + protected: void maybe_schedule_uplink_acknack(const gprs_rlc_data_info *rlc, bool countdown_finished); @@ -138,6 +145,8 @@ struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf); void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf); bool ul_tbf_contention_resolution_done(const struct gprs_rlcmac_ul_tbf *tbf); +struct osmo_fsm_inst *tbf_ul_ack_fi(const struct gprs_rlcmac_ul_tbf *tbf); +void ul_tbf_contention_resolution_success(struct gprs_rlcmac_ul_tbf *tbf); #define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) #ifdef __cplusplus diff --git a/src/tbf_ul_ack_fsm.c b/src/tbf_ul_ack_fsm.c new file mode 100644 index 0000000..16ca22b --- /dev/null +++ b/src/tbf_ul_ack_fsm.c @@ -0,0 +1,254 @@ +/* tbf_ul_ack_fsm.c + * + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#define X(s) (1 << (s)) + +const struct osmo_tdef_state_timeout tbf_ul_ack_fsm_timeouts[32] = { + [TBF_UL_ACK_ST_NONE] = {}, + [TBF_UL_ACK_ST_SCHED_UL_ACK] = {}, + [TBF_UL_ACK_ST_WAIT_ACK] = {}, +}; + +const struct value_string tbf_ul_ack_fsm_event_names[] = { + { TBF_UL_ACK_EV_SCHED_ACK, "SCHED_ACK" }, + { TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, "CREATE_RLCMAC_MSG" }, + { TBF_UL_ACK_EV_RX_CTRL_ACK, "RX_CTRL_ACK" }, + { TBF_UL_ACK_EV_POLL_TIMEOUT, "POLL_TIMEOUT" }, + { 0, NULL } +}; + +static struct msgb *create_ul_ack_nack(const struct tbf_ul_ack_fsm_ctx *ctx, + const struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *d, + bool final) +{ + struct msgb *msg; + int rc; + unsigned int rrbp = 0; + uint32_t new_poll_fn = 0; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + struct GprsMs *ms = tbf_ms(tbf); + + if (final) { + rc = tbf_check_polling(tbf, d->fn, d->ts, &new_poll_fn, &rrbp); + if (rc < 0) + return NULL; + } + + msg = msgb_alloc(23, "rlcmac_ul_ack"); + if (!msg) + return NULL; + struct bitvec *ack_vec = bitvec_alloc(23, tbf); + if (!ack_vec) { + msgb_free(msg); + return NULL; + } + bitvec_unhex(ack_vec, DUMMY_VEC); + write_packet_uplink_ack(ack_vec, ctx->tbf, final, rrbp); + bitvec_pack(ack_vec, msgb_put(msg, 23)); + bitvec_free(ack_vec); + + /* TS 44.060 7a.2.1.1: "The contention resolution is completed on + * the network side when the network receives an RLC data block that + * comprises the TLLI value that identifies the mobile station and the + * TFI value associated with the TBF." + * However, it's handier for us to mark contention resolution success + * here since according to spec upon rx UL ACK is the time at which MS + * realizes contention resolution succeeds. */ + if (ms_tlli(ms) != GSM_RESERVED_TMSI) + ul_tbf_contention_resolution_success(ctx->tbf); + + if (final) + tbf_set_polling(tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK); + + return msg; +} + +static void st_none(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + switch (event) { + case TBF_UL_ACK_EV_SCHED_ACK: + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_SCHED_UL_ACK); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_sched_ul_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ack_fsm_ctx *ctx = (struct tbf_ul_ack_fsm_ctx *)fi->priv; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *data_ctx; + bool final; + + switch (event) { + case TBF_UL_ACK_EV_SCHED_ACK: + LOGPTBFUL(tbf, LOGL_DEBUG, + "Sending Ack/Nack already scheduled, no need to re-schedule\n"); + break; + case TBF_UL_ACK_EV_CREATE_RLCMAC_MSG: + data_ctx = (struct tbf_ul_ack_ev_create_rlcmac_msg_ctx *)data; + final = tbf_state(tbf) == TBF_ST_FINISHED; + data_ctx->msg = create_ul_ack_nack(ctx, data_ctx, final); + if (!data_ctx->msg) + return; + if (final) /* poll set */ + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_WAIT_ACK); + else + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_NONE); + break; + default: + OSMO_ASSERT(0); + } +} + +static void st_wait_ctrl_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct tbf_ul_ack_fsm_ctx *ctx = (struct tbf_ul_ack_fsm_ctx *)fi->priv; + struct gprs_rlcmac_tbf *tbf = (struct gprs_rlcmac_tbf *)ctx->tbf; + + switch (event) { + case TBF_UL_ACK_EV_SCHED_ACK: + /* ignore, we are in the middle of waiting for a response */ + break; + case TBF_UL_ACK_EV_RX_CTRL_ACK: + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_NONE); + break; + case TBF_UL_ACK_EV_POLL_TIMEOUT: + LOGPTBF(tbf, LOGL_NOTICE, + "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", + tbf_rlcmac_diag(tbf)); + /* Reschedule Ul Ack/NAck */ + tbf_ul_ack_fsm_state_chg(fi, TBF_UL_ACK_ST_SCHED_UL_ACK); + break; + default: + OSMO_ASSERT(0); + } +} + +static int tbf_ul_ack_fsm_timer_cb(struct osmo_fsm_inst *fi) +{ + switch (fi->T) { + default: + OSMO_ASSERT(0); + } + return 0; +} + +static struct osmo_fsm_state tbf_ul_ack_fsm_states[] = { + [TBF_UL_ACK_ST_NONE] = { + .in_event_mask = + X(TBF_UL_ACK_EV_SCHED_ACK), + .out_state_mask = + X(TBF_UL_ACK_ST_SCHED_UL_ACK), + .name = "NONE", + .action = st_none, + }, + [TBF_UL_ACK_ST_SCHED_UL_ACK] = { + .in_event_mask = + X(TBF_UL_ACK_EV_SCHED_ACK) | + X(TBF_UL_ACK_EV_CREATE_RLCMAC_MSG), + .out_state_mask = + X(TBF_UL_ACK_ST_NONE) | + X(TBF_UL_ACK_ST_WAIT_ACK), + .name = "SCHED_UL_ACK", + .action = st_sched_ul_ack, + }, + [TBF_UL_ACK_ST_WAIT_ACK] = { + .in_event_mask = + X(TBF_UL_ACK_EV_SCHED_ACK) | + X(TBF_UL_ACK_EV_RX_CTRL_ACK) | + X(TBF_UL_ACK_EV_POLL_TIMEOUT), + .out_state_mask = + X(TBF_UL_ACK_ST_NONE) | + X(TBF_UL_ACK_ST_SCHED_UL_ACK), + .name = "WAIT_ACK", + .action = st_wait_ctrl_ack, + }, +}; + +struct osmo_fsm tbf_ul_ack_fsm = { + .name = "UL_ACK_TBF", + .states = tbf_ul_ack_fsm_states, + .num_states = ARRAY_SIZE(tbf_ul_ack_fsm_states), + .timer_cb = tbf_ul_ack_fsm_timer_cb, + .log_subsys = DTBFUL, + .event_names = tbf_ul_ack_fsm_event_names, +}; + +static __attribute__((constructor)) void tbf_ul_ack_fsm_init(void) +{ + OSMO_ASSERT(osmo_fsm_register(&tbf_ul_ack_fsm) == 0); +} + + +struct msgb *tbf_ul_ack_create_rlcmac_msg(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts) +{ + int rc; + struct tbf_ul_ack_ev_create_rlcmac_msg_ctx data_ctx = { + .fn = fn, + .ts = ts, + .msg = NULL, + }; + OSMO_ASSERT(tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF); + + rc = osmo_fsm_inst_dispatch(tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf), TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, &data_ctx); + if (rc != 0 || !data_ctx.msg) + return NULL; + return data_ctx.msg; +} + +bool tbf_ul_ack_rts(const struct gprs_rlcmac_tbf *tbf) +{ + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_SCHED_UL_ACK; +} + +/* Did we already send the Final ACK and we are waiting for its confirmation (CTRL ACK) ? */ +bool tbf_ul_ack_waiting_cnf_final_ack(const struct gprs_rlcmac_tbf* tbf) +{ + OSMO_ASSERT(tbf_direction(tbf) == GPRS_RLCMAC_UL_TBF); + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_WAIT_ACK; +} + +bool tbf_ul_ack_exp_ctrl_ack(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts) +{ + struct osmo_fsm_inst *fi = tbf_ul_ack_fi((const struct gprs_rlcmac_ul_tbf *)tbf); + return fi->state == TBF_UL_ACK_ST_WAIT_ACK; + /* FIXME: validate FN and TS match: && ctx->poll_fn = fn && ctx->poll_ts == ts */ +} diff --git a/src/tbf_ul_ack_fsm.h b/src/tbf_ul_ack_fsm.h new file mode 100644 index 0000000..aaee5a3 --- /dev/null +++ b/src/tbf_ul_ack_fsm.h @@ -0,0 +1,72 @@ +/* tbf_ul_ack_fsm.h + * + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#pragma once + +#include +#include + +#include + +struct gprs_rlcmac_tbf; +struct gprs_rlcmac_ul_tbf; + +enum tbf_ul_ack_fsm_event { + TBF_UL_ACK_EV_SCHED_ACK, /* Tx UL ACK/NACK is pending */ + TBF_UL_ACK_EV_CREATE_RLCMAC_MSG, /* Scheduler wants to gen+Tx the Ass (rej): data=tbf_ul_ack_ev_create_rlcmac_msg_ctx */ + TBF_UL_ACK_EV_RX_CTRL_ACK, /* Received CTRL ACK answering poll set on UL ACK/NACK */ + TBF_UL_ACK_EV_POLL_TIMEOUT, /* Pdch Ul Controller signals timeout for poll set on UL ACK/NACK */ +}; + +enum tbf_ul_ack_fsm_states { + TBF_UL_ACK_ST_NONE = 0, + TBF_UL_ACK_ST_SCHED_UL_ACK, /* send UL ACK/NACK on next RTS */ + TBF_UL_ACK_ST_WAIT_ACK, /* wait for PACKET CONTROL ACK */ +}; + +struct tbf_ul_ack_fsm_ctx { + struct osmo_fsm_inst *fi; + struct gprs_rlcmac_ul_tbf *tbf; /* back pointer */ +}; + +extern const struct osmo_tdef_state_timeout tbf_ul_ack_fsm_timeouts[32]; +/* Transition to a state, using the T timer defined in tbf_ul_ack_fsm_timeouts. + * The actual timeout value is in turn obtained from conn->T_defs. + * Assumes local variable fi exists. */ +#define tbf_ul_ack_fsm_state_chg(fi, NEXT_STATE) \ + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ + tbf_ul_ack_fsm_timeouts, \ + the_pcu->T_defs, \ + -1) + +extern struct osmo_fsm tbf_ul_ack_fsm; + + +/* passed as data in TBF_UL_ACK_EV_CREATE_RLCMAC_MSG */ +struct tbf_ul_ack_ev_create_rlcmac_msg_ctx { + uint32_t fn; /* FN where the created DL ctrl block is to be sent */ + uint8_t ts; /* TS where the created DL ctrl block is to be sent */ + struct msgb *msg; /* to be filled by FSM during event processing */ +}; + + +struct msgb *tbf_ul_ack_create_rlcmac_msg(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts); +bool tbf_ul_ack_rts(const struct gprs_rlcmac_tbf *tbf); +bool tbf_ul_ack_waiting_cnf_final_ack(const struct gprs_rlcmac_tbf *tbf); +bool tbf_ul_ack_exp_ctrl_ack(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 19611a7..62a2582 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -831,7 +831,8 @@ pdch->rcv_block(data_msg, 42, *fn, &meas); - struct msgb *msg1 = ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + struct msgb *msg1 = tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); static uint8_t exp1[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x87, 0xb0, 0x06, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b @@ -858,7 +859,8 @@ pdch->rcv_block(data_msg, 42, *fn, &meas); - msg1 = ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + msg1 = tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); static uint8_t exp2[] = { 0x40, 0x24, 0x01, 0x0b, 0x3e, 0x24, 0x46, 0x68, 0x9c, 0x70, 0x88, 0xb0, 0x06, 0x8b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b @@ -1412,7 +1414,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1440,7 +1443,7 @@ request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); @@ -1494,7 +1497,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1518,12 +1522,13 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); @@ -1580,7 +1585,8 @@ pdch = &bts->trx[trx_no].pdch[ts_no]; pdch->rcv_block(&data[0], sizeof(data), *fn, &meas); } - ul_tbf->create_ul_ack(*fn, ts_no); + osmo_fsm_inst_dispatch(ul_tbf->ul_ack_fsm.fi, TBF_UL_ACK_EV_SCHED_ACK, NULL); + tbf_ul_ack_create_rlcmac_msg(ul_tbf, *fn, ts_no); memset(data, 0x2b, sizeof(data)); hdr3 = (struct gprs_rlc_ul_header_egprs_3 *)data; hdr3->r = 0; @@ -1608,7 +1614,7 @@ request_dl_rlc_block(ul_tbf, fn); check_tbf(ul_tbf); - OSMO_ASSERT(ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_NONE)); + OSMO_ASSERT(tbf_ul_ack_fi(ul_tbf)->state == TBF_UL_ACK_ST_NONE); ms = bts_ms_by_tlli(bts, tlli, GSM_RESERVED_TMSI); OSMO_ASSERT(ms != NULL); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e5664ef..afc5a8f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -27,6 +27,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1730,6 +1731,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1769,7 +1771,8 @@ TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -1820,6 +1823,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -1918,6 +1922,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2082,6 +2087,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2151,6 +2157,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 1 TBFs, USFs = 02, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){NONE}: Deallocated @@ -2179,6 +2186,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2264,6 +2272,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Deallocated @@ -2281,6 +2290,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2349,6 +2359,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2434,6 +2445,7 @@ PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** +UL_ACK_TBF(UL-TFI_0){NONE}: Deallocated TBF(UL-TFI_0){FLOW}: Deallocated UL_ASS_TBF(UL-TFI_0){NONE}: Deallocated DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Deallocated @@ -2445,6 +2457,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -2494,7 +2507,8 @@ TBF(UL-TFI_0){FLOW}: state_chg to FINISHED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling Ack/Nack, because TLLI is included. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) Scheduling final Ack/Nack, because all data was received and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FINISHED) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK New MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 === end test_tbf_dl_flow_and_rach_single_phase === === start test_tbf_dl_reuse === @@ -2516,6 +2530,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3691,6 +3706,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3797,6 +3813,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -3868,7 +3885,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) @@ -3889,6 +3907,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=2 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3917,6 +3936,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=3 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3944,6 +3964,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=4 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -3965,6 +3986,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=74, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=5 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 @@ -6784,6 +6806,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -6844,14 +6867,20 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Assembling frames: (len=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=37, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 Modifying MS object, TLLI = 0xf1223344, IMSI '' -> '0011223344' @@ -6966,6 +6995,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7123,6 +7153,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7149,6 +7180,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7175,6 +7207,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7201,6 +7234,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7227,6 +7261,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7253,6 +7288,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7279,6 +7315,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7305,6 +7342,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: -1): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7316,6 +7354,7 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: -1): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 +UL_ACK_TBF{NONE}: Deallocated TBF{NULL}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated @@ -7351,6 +7390,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -7517,7 +7557,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) @@ -7639,6 +7680,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -7761,6 +7803,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -7883,8 +7926,12 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) @@ -8041,14 +8088,18 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) @@ -8056,8 +8107,12 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because some data is missing and last block has CV==0. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS), expect answer on UL FN=2654283 DL_ASS_TBF(UL-TFI_0){SEND_ASS}: Received Event CREATE_RLCMAC_MSG PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 @@ -8178,7 +8233,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 97 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: Received Event SCHED_ACK +UL_ACK_TBF(UL-TFI_0){NONE}: state_chg to SCHED_UL_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) @@ -8300,6 +8356,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 117 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8422,6 +8479,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 137 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8544,6 +8602,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 157 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) @@ -8557,7 +8616,10 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 159 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event SCHED_ACK +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: Received Event CREATE_RLCMAC_MSG +UL_ACK_TBF(UL-TFI_0){SCHED_UL_ACK}: state_chg to NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) @@ -8662,6 +8724,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8707,6 +8770,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8759,6 +8823,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8811,6 +8876,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8863,6 +8929,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8915,6 +8982,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -8967,6 +9035,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -9019,6 +9088,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated [UL] algo A (suggested TRX: 0): Alloc start - Skipping TS 0, because not enabled - Skipping TS 1, because not enabled @@ -9030,6 +9100,7 @@ - Skipping TS 7, because no USF available [UL] algo A (suggested TRX: 0): failed to allocate a TS, no USF available TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0 +UL_ACK_TBF{NONE}: Deallocated TBF{NULL}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated @@ -9037,6 +9108,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated MS(TLLI=0xffeeddd3, IMSI=, TA=7, 11/11,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddd3 DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] @@ -9066,6 +9138,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) TBF{NULL}: Received Event ASSIGN_ADD_PACCH TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) set ass. type PACCH [prev CCCH:0, PACCH:0] @@ -9082,6 +9155,7 @@ MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object ********** UL-TBF ends here ********** +UL_ACK_TBF{NONE}: Deallocated TBF{ASSIGN}: Deallocated UL_ASS_TBF{NONE}: Deallocated DL_ASS_TBF{NONE}: Deallocated diff --git a/tests/types/TypesTest.cpp b/tests/types/TypesTest.cpp index a975761..3834acb 100644 --- a/tests/types/TypesTest.cpp +++ b/tests/types/TypesTest.cpp @@ -698,7 +698,7 @@ win->reset_state(); win->set_ws(256); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -709,7 +709,7 @@ win->set_ws(256); win->receive_bsn(1); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -720,7 +720,7 @@ win->set_ws(128); win->receive_bsn(127); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); @@ -731,7 +731,7 @@ for (uint16_t i=1; i<384/2; i++) win->receive_bsn(i*2); - Encoding::write_packet_uplink_ack(dest, tbf, false, 0); + write_packet_uplink_ack(dest, tbf, false, 0); extract_egprs_ul_ack_nack(tbf, dest, &ssn, &crbb_test, &rbb, false); check_egprs_bitmap(tbf, ssn, &crbb_test, rbb, &rbb_size); free_egprs_ul_ack_nack(&rbb, &crbb_test); diff --git a/tests/types/TypesTest.err b/tests/types/TypesTest.err index 9cd3c7c..8c8ba94 100644 --- a/tests/types/TypesTest.err +++ b/tests/types/TypesTest.err @@ -8,12 +8,14 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 MS(TLLI=0xffffffff, IMSI=, TA=220, 1/1,) Allocating UL TBF TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Setting Control TS 1 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 02, dl_slots = 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) @@ -22,6 +24,7 @@ TBF{NULL}: Allocated UL_ASS_TBF{NONE}: Allocated DL_ASS_TBF{NONE}: Allocated +UL_ACK_TBF{NONE}: Allocated TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 00 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25108 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf23bf5a4b85fbcbf1542cebceb76b9ba7185d30 Gerrit-Change-Number: 25108 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:31 +0000 Subject: Change in osmo-pcu[master]: Simplify tbf::set_polling() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25111 ) Change subject: Simplify tbf::set_polling() ...................................................................... Simplify tbf::set_polling() When setting a POLL, it will always happen on PACCH, so all the CCCH part makes no sense there. Let's drop it and move the logging of each case to the caller, where logging file+line is more useful. Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 --- M src/nacc_fsm.c M src/tbf.cpp M src/tbf_dl.cpp M src/tbf_dl.h M src/tbf_dl_ass_fsm.c M src/tbf_ul_ack_fsm.c M src/tbf_ul_ass_fsm.c 7 files changed, 20 insertions(+), 46 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index 9a5f5b5..738b2c5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -207,6 +207,8 @@ rate_ctr_inc(rate_ctr_group_get_ctr(bts_rate_counters(ms->bts), CTR_PKT_CELL_CHG_CONTINUE)); talloc_free(mac_control_block); tbf_set_polling(tbf, *new_poll_fn, data->ts, PDCH_ULC_POLL_CELL_CHG_CONTINUE); + LOGPTBFDL(tbf, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on PACCH (FN=%d, TS=%d)\n", + *new_poll_fn, data->ts); return msg; free_ret: diff --git a/src/tbf.cpp b/src/tbf.cpp index b43ffde..acd191b 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -529,49 +529,10 @@ void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason) { - const char *chan = "UNKNOWN"; - - if (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH))) - chan = "CCCH"; - - if (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) - chan = "PACCH"; - - if ((state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) && - (state_fsm.state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH)))) - LOGPTBFDL(this, LOGL_ERROR, - "Attempt to schedule polling on %s (FN=%d, TS=%d) with both CCCH and PACCH flags set - FIXME!\n", - chan, new_poll_fn, ts); - /* schedule polling */ - if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) { - LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - return; - } - - switch (reason) { - case PDCH_ULC_POLL_UL_ASS: - LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_DL_ASS: - LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_UL_ACK: - LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_DL_ACK: - LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - case PDCH_ULC_POLL_CELL_CHG_CONTINUE: - LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, ts); - break; - } + if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) + LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, ts); } void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 905bf05..65785f2 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -958,6 +958,9 @@ rc = check_polling(fn, ts, &new_poll_fn, &rrbp); if (rc >= 0) { set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ACK); + LOGPTBFDL(this, LOGL_DEBUG, + "Scheduled DL Acknowledgement polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, ts); m_tx_counter = 0; /* start timer whenever we send the final block */ diff --git a/src/tbf_dl.h b/src/tbf_dl.h index 27b6a2c..d20ad75 100644 --- a/src/tbf_dl.h +++ b/src/tbf_dl.h @@ -38,8 +38,6 @@ DL_PRIO_CONTROL, /* a control block needs to be sent */ }; -#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) - struct gprs_rlcmac_dl_tbf : public gprs_rlcmac_tbf { gprs_rlcmac_dl_tbf(struct gprs_rlcmac_bts *bts, GprsMs *ms); ~gprs_rlcmac_dl_tbf(); @@ -153,6 +151,8 @@ const uint8_t *data, const uint16_t len); void tbf_dl_trigger_ass(struct gprs_rlcmac_dl_tbf *tbf, struct gprs_rlcmac_tbf *old_tbf); + +#define LOGPTBFDL(tbf, level, fmt, args...) LOGP(DTBFDL, level, "%s " fmt, tbf_name(tbf), ## args) #ifdef __cplusplus } #endif diff --git a/src/tbf_dl_ass_fsm.c b/src/tbf_dl_ass_fsm.c index cf09588..5ac1c1a 100644 --- a/src/tbf_dl_ass_fsm.c +++ b/src/tbf_dl_ass_fsm.c @@ -31,7 +31,7 @@ #include #include #include -#include +#include #define X(s) (1 << (s)) @@ -137,6 +137,8 @@ bts_do_rate_ctr_inc(ms->bts, CTR_PKT_DL_ASSIGNMENT); tbf_set_polling(ctx->tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_DL_ASS); + LOGPTBFDL(ctx->tbf, LOGL_INFO, "Scheduled DL Assignment polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); talloc_free(mac_control_block); return msg; diff --git a/src/tbf_ul_ack_fsm.c b/src/tbf_ul_ack_fsm.c index 16ca22b..32e3533 100644 --- a/src/tbf_ul_ack_fsm.c +++ b/src/tbf_ul_ack_fsm.c @@ -91,8 +91,12 @@ if (ms_tlli(ms) != GSM_RESERVED_TMSI) ul_tbf_contention_resolution_success(ctx->tbf); - if (final) + if (final) { tbf_set_polling(tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ACK); + LOGPTBFUL(tbf, LOGL_DEBUG, + "Scheduled UL Acknowledgement polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); + } return msg; } diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c index 00f4bfd..eab34ee 100644 --- a/src/tbf_ul_ass_fsm.c +++ b/src/tbf_ul_ass_fsm.c @@ -127,6 +127,8 @@ bts_do_rate_ctr_inc(ms->bts, CTR_PKT_UL_ASSIGNMENT); tbf_set_polling(ctx->tbf, new_poll_fn, d->ts, PDCH_ULC_POLL_UL_ASS); + LOGPTBFDL(ctx->tbf, LOGL_INFO, "Scheduled UL Assignment polling on PACCH (FN=%d, TS=%d)\n", + new_poll_fn, d->ts); talloc_free(mac_control_block); return msg; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25111 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I242f97fd6f927131ac64c1a7c9c3812b6389de04 Gerrit-Change-Number: 25111 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:32 +0000 Subject: Change in osmo-pcu[master]: tbf: Move T3193 to tbf_state FSM In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25112 ) Change subject: tbf: Move T3193 to tbf_state FSM ...................................................................... tbf: Move T3193 to tbf_state FSM Related: OS#2709 Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 --- M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_fsm.c M src/tbf_fsm.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 7 files changed, 53 insertions(+), 129 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/src/tbf.cpp b/src/tbf.cpp index acd191b..4154d50 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -69,7 +69,6 @@ static const struct value_string tbf_timers_names[] = { OSMO_VALUE_STRING(T3141), OSMO_VALUE_STRING(T3191), - OSMO_VALUE_STRING(T3193), { 0, NULL } }; @@ -446,7 +445,6 @@ * the packet access is forgotten.*/ T_CBACK(T3141, true) T_CBACK(T3191, true) -T_CBACK(T3193, false) void gprs_rlcmac_tbf::t_start(enum tbf_timers t, int T, const char *reason, bool force, const char *file, unsigned line) @@ -495,9 +493,6 @@ case T3191: Tarr[t].cb = cb_T3191; break; - case T3193: - Tarr[t].cb = cb_T3193; - break; default: LOGPSRC(DTBF, LOGL_ERROR, file, line, "%s attempting to set callback for unknown timer %s [%s], cur_fn=%d\n", tbf_name(this), get_value_string(tbf_timers_names, t), reason, current_fn); diff --git a/src/tbf.h b/src/tbf.h index ffd6cc2..0932933 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -99,10 +99,6 @@ Wait for reuse of TFI(s) after sending the PACKET TBF RELEASE for an MBMS radio bearer. */ T3191, - /* Wait for reuse of TFI(s) after reception of the final PACKET DOWNLINK ACK/NACK from the - MS for this TBF. */ - T3193, - T_MAX }; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 65785f2..885f0d4 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1141,8 +1141,16 @@ int gprs_rlcmac_dl_tbf::rcvd_dl_final_ack() { + uint16_t received; + osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_FINAL_ACK_RECVD, NULL); - release(); + + /* range V(A)..V(S)-1 */ + received = m_window.count_unacked(); + /* report all outstanding packets as received */ + gprs_rlcmac_received_lost(this, received, 0); + m_tx_counter = 0; + m_window.reset(); /* check for LLC PDU in the LLC Queue */ if (llc_queue_size(llc_queue()) > 0) @@ -1152,28 +1160,6 @@ return 0; } -int gprs_rlcmac_dl_tbf::release() -{ - uint16_t received; - - /* range V(A)..V(S)-1 */ - received = m_window.count_unacked(); - - /* report all outstanding packets as received */ - gprs_rlcmac_received_lost(this, received, 0); - - /* start T3193 */ - T_START(this, T3193, 3193, "release (DL-TBF)", true); - - /* reset rlc states */ - m_tx_counter = 0; - m_window.reset(); - - osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_DEL_CCCH, NULL); - - return 0; -} - int gprs_rlcmac_dl_tbf::rcvd_dl_ack(bool final_ack, unsigned first_bsn, struct bitvec *rbb) { diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 42c5118..1641f4d 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -43,7 +43,6 @@ const struct value_string tbf_fsm_event_names[] = { { TBF_EV_ASSIGN_ADD_CCCH, "ASSIGN_ADD_CCCH" }, { TBF_EV_ASSIGN_ADD_PACCH, "ASSIGN_ADD_PACCH" }, - { TBF_EV_ASSIGN_DEL_CCCH, "ASSIGN_DEL_CCCH" }, { TBF_EV_ASSIGN_ACK_PACCH, "ASSIGN_ACK_PACCH" }, { TBF_EV_ASSIGN_READY_CCCH, "ASSIGN_READY_CCCH" }, { TBF_EV_ASSIGN_PCUIF_CNF, "ASSIGN_PCUIF_CNF" }, @@ -267,6 +266,23 @@ } } +static void st_wait_release_on_enter(struct osmo_fsm_inst *fi, uint32_t prev_state) +{ + struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; + unsigned long val_s, val_ms, val_us; + OSMO_ASSERT(tbf_direction(ctx->tbf) == GPRS_RLCMAC_DL_TBF); + + fi->T = 3193; + val_ms = osmo_tdef_get(tbf_ms(ctx->tbf)->bts->T_defs_bts, fi->T, OSMO_TDEF_MS, -1); + val_s = val_ms / 1000; + val_us = (val_ms % 1000) * 1000; + LOGPTBF(ctx->tbf, LOGL_DEBUG, "starting timer T%u with %lu sec. %lu microsec\n", + fi->T, val_s, val_us); + osmo_timer_schedule(&fi->timer, val_s, val_us); + + mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); +} + static void st_wait_release(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; @@ -307,13 +323,6 @@ osmo_timer_schedule(&fi->timer, val, 0); } -static void tbf_fsm_cleanup(struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) -{ - /* TODO: needed ? - * struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; - */ -} - static void handle_timeout_X2002(struct tbf_fsm_ctx *ctx) { struct gprs_rlcmac_dl_tbf *dl_tbf = as_dl_tbf(ctx->tbf); @@ -354,6 +363,7 @@ LOGPTBF(ctx->tbf, LOGL_NOTICE, "releasing due to PACCH assignment timeout.\n"); /* fall-through */ case 3169: + case 3193: case 3195: tbf_free(ctx->tbf); break; @@ -427,6 +437,7 @@ X(TBF_ST_RELEASING), .name = "WAIT_RELEASE", .action = st_wait_release, + .onenter = st_wait_release_on_enter, }, [TBF_ST_RELEASING] = { .in_event_mask = @@ -438,28 +449,13 @@ }, }; -void tbf_fsm_allstate_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - struct tbf_fsm_ctx *ctx = (struct tbf_fsm_ctx *)fi->priv; - switch (event) { - case TBF_EV_ASSIGN_DEL_CCCH: - mod_ass_type(ctx, GPRS_RLCMAC_FLAG_CCCH, false); - break; - default: - OSMO_ASSERT(0); - } -} - struct osmo_fsm tbf_fsm = { .name = "TBF", .states = tbf_fsm_states, .num_states = ARRAY_SIZE(tbf_fsm_states), .timer_cb = tbf_fsm_timer_cb, - .cleanup = tbf_fsm_cleanup, .log_subsys = DTBF, .event_names = tbf_fsm_event_names, - .allstate_action = tbf_fsm_allstate_action, - .allstate_event_mask = X(TBF_EV_ASSIGN_DEL_CCCH), }; static __attribute__((constructor)) void tbf_fsm_init(void) diff --git a/src/tbf_fsm.h b/src/tbf_fsm.h index 2f63eef..d6fe41f 100644 --- a/src/tbf_fsm.h +++ b/src/tbf_fsm.h @@ -29,7 +29,6 @@ enum tbf_fsm_event { TBF_EV_ASSIGN_ADD_CCCH, /* An assignment is sent over CCCH and confirmation from MS is pending */ TBF_EV_ASSIGN_ADD_PACCH, /* An assignment is sent over PACCH and confirmation from MS is pending */ - TBF_EV_ASSIGN_DEL_CCCH, /* An assignment previously sent over CCCH has been confirmed by MS */ TBF_EV_ASSIGN_ACK_PACCH, /* We received a CTRL ACK confirming assignment started on PACCH */ TBF_EV_ASSIGN_READY_CCCH, /* TBF Start Time timer triggered */ TBF_EV_ASSIGN_PCUIF_CNF, /* Transmission of IMM.ASS for DL TBF to the MS confirmed by BTS over PCUIF */ diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 62a2582..ae12f1e 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -89,7 +89,7 @@ { OSMO_ASSERT(tbf); if (tbf->state_is(TBF_ST_WAIT_RELEASE)) - OSMO_ASSERT(tbf->timers_pending(T3191) || tbf->timers_pending(T3193)); + OSMO_ASSERT(tbf->timers_pending(T3191) || osmo_timer_pending(&tbf->state_fsm.fi->timer)); if (tbf->state_is(TBF_ST_RELEASING)) OSMO_ASSERT(tbf->timers_pending(T_MAX)); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index afc5a8f..a211d22 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -116,8 +116,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here ********** MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF TBF{NULL}: Allocated @@ -145,7 +144,6 @@ TBF(DL-TFI_1){NULL}: state_chg to ASSIGN TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) Starting timer X2001 [assignment (PACCH)] with 2 sec. 0 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 00, TFIs = 00000002. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -231,8 +229,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) ********** DL-TBF starts here ********** MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Allocating DL TBF TBF{NULL}: Allocated @@ -267,7 +264,6 @@ UL_ASS_TBF(DL-TFI_1){NONE}: Deallocated DL_ASS_TBF(DL-TFI_1){NONE}: Deallocated TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -534,10 +530,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object @@ -3233,8 +3227,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(DL-TFI_0){FINISHED}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FINISHED}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) starting timer T3193 with 0 sec. 100000 microsec MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) ********** DL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Allocating DL TBF TBF{NULL}: Allocated @@ -3346,7 +3339,6 @@ DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event RX_ASS_CTRL_ACK DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: state_chg to NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) free -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE), 1 TBFs, USFs = 01, TFIs = 00000002. MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) ********** DL-TBF ends here ********** @@ -4322,10 +4314,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -4582,10 +4572,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -4802,10 +4790,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5006,10 +4992,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5194,10 +5178,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5358,10 +5340,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5531,10 +5511,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5695,10 +5673,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5848,10 +5824,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5923,10 +5897,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -5995,10 +5967,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6067,10 +6037,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6163,10 +6131,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6258,10 +6224,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6353,10 +6317,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6448,10 +6410,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6529,10 +6489,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6608,10 +6566,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6687,10 +6643,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object @@ -6773,10 +6727,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(DL-TFI_0){FLOW}: Received Event FINAL_ACK_RECVD TBF(DL-TFI_0){FLOW}: state_chg to WAIT_RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(DL-TFI_0){WAIT_RELEASE}: Received Event ASSIGN_DEL_CCCH +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) starting timer T3193 with 0 sec. 100000 microsec TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) free -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE EGPRS) MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25112 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Icf8249651e34132eb7ba99188a23662dec6f8653 Gerrit-Change-Number: 25112 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 16:28:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 16:28:32 +0000 Subject: Change in osmo-pcu[master]: fix typo 's/dowlink/downlink/g' In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25113 ) Change subject: fix typo 's/dowlink/downlink/g' ...................................................................... fix typo 's/dowlink/downlink/g' Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 --- M doc/tbf.txt M src/tbf_dl.cpp M src/tbf_fsm.c M tests/tbf/TbfTest.err 4 files changed, 53 insertions(+), 53 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/doc/tbf.txt b/doc/tbf.txt index 6abcb0b..caddf63 100644 --- a/doc/tbf.txt +++ b/doc/tbf.txt @@ -52,7 +52,7 @@ Attach PDU to LLC Frame of TBF. Put TBF back into FLOW state. Done. - If dowlink TBF does not exists for given TLLI, or in RELEASING state: + If downlink TBF does not exists for given TLLI, or in RELEASING state: Create new downlink TBF. Attach PDU to LLC Frame of TBF. If uplink TBF exists for given TLLI, but not in RELEASING state: diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 885f0d4..05d5ad3 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -605,13 +605,13 @@ /* check for downlink tbf: */ if (old_tbf) { - LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PACCH, because %s exists\n", old_tbf->name()); + LOGPTBFDL(this, LOGL_DEBUG, "Send downlink assignment on PACCH, because %s exists\n", old_tbf->name()); osmo_fsm_inst_dispatch(old_tbf->dl_ass_fsm.fi, TBF_DL_ASS_EV_SCHED_ASS, NULL); /* change state */ osmo_fsm_inst_dispatch(this->state_fsm.fi, TBF_EV_ASSIGN_ADD_PACCH, NULL); } else { - LOGPTBFDL(this, LOGL_DEBUG, "Send dowlink assignment on PCH, no TBF exist (IMSI=%s)\n", + LOGPTBFDL(this, LOGL_DEBUG, "Send downlink assignment on PCH, no TBF exist (IMSI=%s)\n", imsi()); /* change state */ diff --git a/src/tbf_fsm.c b/src/tbf_fsm.c index 1641f4d..be3c3ef 100644 --- a/src/tbf_fsm.c +++ b/src/tbf_fsm.c @@ -208,7 +208,7 @@ struct GprsMs *ms = tbf_ms(ctx->tbf); const char *imsi = ms_imsi(ms); uint16_t pgroup; - LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send dowlink assignment on PCH (IMSI=%s)\n", + LOGPTBF(ctx->tbf, LOGL_DEBUG, "Re-send downlink assignment on PCH (IMSI=%s)\n", imsi); tbf_fsm_state_chg(fi, TBF_ST_ASSIGN); /* send immediate assignment */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a211d22..9ba9dea 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -136,7 +136,7 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Event SCHED_ASS not permitted TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -249,7 +249,7 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){WAIT_ACK}: Event SCHED_ASS not permitted TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -653,7 +653,7 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000000, IMSI=001001000000000, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000000) +TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000000) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -683,7 +683,7 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000001, IMSI=001001000000001, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000001) +TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000001) TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_1){NULL}: state_chg to ASSIGN @@ -713,7 +713,7 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000002, IMSI=001001000000002, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000002) +TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000002) TBF(DL-TFI_2){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_2){NULL}: state_chg to ASSIGN @@ -743,7 +743,7 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000003, IMSI=001001000000003, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000003) +TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000003) TBF(DL-TFI_3){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_3){NULL}: state_chg to ASSIGN @@ -773,7 +773,7 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000004, IMSI=001001000000004, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000004) +TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000004) TBF(DL-TFI_4){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_4){NULL}: state_chg to ASSIGN @@ -803,7 +803,7 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000005, IMSI=001001000000005, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000005) +TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000005) TBF(DL-TFI_5){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_5){NULL}: state_chg to ASSIGN @@ -833,7 +833,7 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000006, IMSI=001001000000006, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000006) +TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000006) TBF(DL-TFI_6){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_6){NULL}: state_chg to ASSIGN @@ -863,7 +863,7 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000007, IMSI=001001000000007, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000007) +TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000007) TBF(DL-TFI_7){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_7){NULL}: state_chg to ASSIGN @@ -893,7 +893,7 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000008, IMSI=001001000000008, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000008) +TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000008) TBF(DL-TFI_8){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_8){NULL}: state_chg to ASSIGN @@ -923,7 +923,7 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000009, IMSI=001001000000009, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000009) +TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000009) TBF(DL-TFI_9){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_9){NULL}: state_chg to ASSIGN @@ -953,7 +953,7 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000a, IMSI=001001000000010, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000010) +TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000010) TBF(DL-TFI_10){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_10){NULL}: state_chg to ASSIGN @@ -983,7 +983,7 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000b, IMSI=001001000000011, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000011) +TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000011) TBF(DL-TFI_11){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_11){NULL}: state_chg to ASSIGN @@ -1013,7 +1013,7 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000c, IMSI=001001000000012, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000012) +TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000012) TBF(DL-TFI_12){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_12){NULL}: state_chg to ASSIGN @@ -1043,7 +1043,7 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000d, IMSI=001001000000013, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000013) +TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000013) TBF(DL-TFI_13){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_13){NULL}: state_chg to ASSIGN @@ -1073,7 +1073,7 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000e, IMSI=001001000000014, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000014) +TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000014) TBF(DL-TFI_14){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_14){NULL}: state_chg to ASSIGN @@ -1103,7 +1103,7 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000000f, IMSI=001001000000015, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000015) +TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000015) TBF(DL-TFI_15){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_15){NULL}: state_chg to ASSIGN @@ -1133,7 +1133,7 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000010, IMSI=001001000000016, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000016) +TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000016) TBF(DL-TFI_16){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_16){NULL}: state_chg to ASSIGN @@ -1163,7 +1163,7 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000011, IMSI=001001000000017, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000017) +TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000017) TBF(DL-TFI_17){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_17){NULL}: state_chg to ASSIGN @@ -1193,7 +1193,7 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000012, IMSI=001001000000018, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000018) +TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000018) TBF(DL-TFI_18){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_18){NULL}: state_chg to ASSIGN @@ -1223,7 +1223,7 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000013, IMSI=001001000000019, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000019) +TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000019) TBF(DL-TFI_19){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_19){NULL}: state_chg to ASSIGN @@ -1253,7 +1253,7 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000014, IMSI=001001000000020, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000020) +TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000020) TBF(DL-TFI_20){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_20){NULL}: state_chg to ASSIGN @@ -1283,7 +1283,7 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000015, IMSI=001001000000021, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000021) +TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000021) TBF(DL-TFI_21){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_21){NULL}: state_chg to ASSIGN @@ -1313,7 +1313,7 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000016, IMSI=001001000000022, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000022) +TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000022) TBF(DL-TFI_22){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_22){NULL}: state_chg to ASSIGN @@ -1343,7 +1343,7 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000017, IMSI=001001000000023, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000023) +TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000023) TBF(DL-TFI_23){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_23){NULL}: state_chg to ASSIGN @@ -1373,7 +1373,7 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000018, IMSI=001001000000024, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000024) +TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000024) TBF(DL-TFI_24){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_24){NULL}: state_chg to ASSIGN @@ -1403,7 +1403,7 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0000019, IMSI=001001000000025, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000025) +TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000025) TBF(DL-TFI_25){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_25){NULL}: state_chg to ASSIGN @@ -1433,7 +1433,7 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001a, IMSI=001001000000026, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000026) +TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000026) TBF(DL-TFI_26){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_26){NULL}: state_chg to ASSIGN @@ -1463,7 +1463,7 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001b, IMSI=001001000000027, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000027) +TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000027) TBF(DL-TFI_27){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_27){NULL}: state_chg to ASSIGN @@ -1493,7 +1493,7 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001c, IMSI=001001000000028, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000028) +TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000028) TBF(DL-TFI_28){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_28){NULL}: state_chg to ASSIGN @@ -1523,7 +1523,7 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001d, IMSI=001001000000029, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000029) +TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000029) TBF(DL-TFI_29){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_29){NULL}: state_chg to ASSIGN @@ -1553,7 +1553,7 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001e, IMSI=001001000000030, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000030) +TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000030) TBF(DL-TFI_30){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_30){NULL}: state_chg to ASSIGN @@ -1583,7 +1583,7 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc000001f, IMSI=001001000000031, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000031) +TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000000031) TBF(DL-TFI_31){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_31){NULL}: state_chg to ASSIGN @@ -1632,7 +1632,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0123456, IMSI=001001000123456, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1669,7 +1669,7 @@ MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) +TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1790,7 +1790,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=0011223344) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=0011223344) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -1888,7 +1888,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -1986,7 +1986,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2252,7 +2252,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2425,7 +2425,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -2596,7 +2596,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -3247,7 +3247,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) Trigger downlink assignment on PACCH -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) exists +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT_RELEASE) exists DL_ASS_TBF(DL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(DL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_1){NULL}: Received Event ASSIGN_ADD_PACCH @@ -3579,7 +3579,7 @@ TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 MS(TLLI=0xc0006789, IMSI=001001123456789, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) [DOWNLINK] START -TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789) +TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send downlink assignment on PCH, no TBF exist (IMSI=001001123456789) TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_CCCH TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(DL-TFI_0){NULL}: state_chg to ASSIGN @@ -3775,7 +3775,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -4005,7 +4005,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -6858,7 +6858,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -7036,7 +7036,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH @@ -7915,7 +7915,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Send downlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) exists DL_ASS_TBF(UL-TFI_0){NONE}: Received Event SCHED_ASS DL_ASS_TBF(UL-TFI_0){NONE}: state_chg to SEND_ASS TBF(DL-TFI_0){NULL}: Received Event ASSIGN_ADD_PACCH -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25113 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iae66aff9eed3856f09e58116ee26ec061733b076 Gerrit-Change-Number: 25113 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 17:37:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 23 Aug 2021 17:37:52 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/24854/2/src/gprs_rlcmac_sched.cpp at 503 PS2, Line 503: if (num_tbfs == 0 && usf_tbf == NULL) AFAIU usf_tbf will always be NULL if num_tbfs==0, so that part of the condition can be dropped. I'll do so when sending a new version of the patch soon. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 17:37:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:12:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:12:45 +0000 Subject: Change in libosmocore[master]: codec: add missing osmo_amr_type_name function. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25220 ) Change subject: codec: add missing osmo_amr_type_name function. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 Gerrit-Change-Number: 25220 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 19:12:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:12:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:12:46 +0000 Subject: Change in libosmocore[master]: codec: add missing osmo_amr_type_name function. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25220 ) Change subject: codec: add missing osmo_amr_type_name function. ...................................................................... codec: add missing osmo_amr_type_name function. We have value strings for osmo_amr_type, but we do not have a function that returns us the strings. Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 --- M include/osmocom/codec/codec.h 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/include/osmocom/codec/codec.h b/include/osmocom/codec/codec.h index cbdad75..58e3a29 100644 --- a/include/osmocom/codec/codec.h +++ b/include/osmocom/codec/codec.h @@ -47,6 +47,9 @@ AMR_NO_DATA = 15, }; +static inline const char *osmo_amr_type_name(enum osmo_amr_type type) +{ return get_value_string(osmo_amr_type_names, type); } + enum osmo_amr_quality { AMR_BAD = 0, AMR_GOOD = 1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694f56b032537440db6264df5e6a6aa3a2992175 Gerrit-Change-Number: 25220 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:13:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:13:18 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 19:13:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:14:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:14:30 +0000 Subject: Change in osmo-bts[master]: early IA: change default X15 timer to 0 ms In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25215 ) Change subject: early IA: change default X15 timer to 0 ms ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 Gerrit-Change-Number: 25215 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 19:14:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:14:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:14:44 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 19:14:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:15:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:15:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts: add TC_early_immediate_assignment_pre_chan_ack In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 ) Change subject: bts: add TC_early_immediate_assignment_pre_chan_ack ...................................................................... bts: add TC_early_immediate_assignment_pre_chan_ack Related: SYS#5559 Related: Ie52765b238b01f22fb327fe12327fbf10abcad4c (osmo-bts) Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 --- M bts/BTS_Tests.ttcn 1 file changed, 71 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 61c40d4..616ca34 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -7691,6 +7691,75 @@ Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } +private function f_TC_early_immediate_assignment(charstring id) runs on ConnHdlr { + var GsmFrameNumber fn; + var ChannelDescription ch_desc; + var integer ra := 23; + + f_l1_tune(L1CTL); + RSL.clear; + + /* Send RACH request and wait for ChanReq */ + fn := f_rach_req_wait_chan_rqd(ra); + + /* The BSC already sends the Immediate Assignment, before the channel is active. + * (Also before the Channel Activation, even. I tried to write this test so that we first send the Chan Act and then the IMM + * ASS, but osmo-bts-trx responds so fast that the Chan Activ ACK comes back even before titan dispatches the + * IMM ASS. So move the IMM ASS even before the Chan Activ.) */ + if (g_pars.fhp.enabled) { + ch_desc := valueof(ts_ChanDescH1(g_pars.chan_nr, g_pars.fhp.maio_hsn, g_pars.tsc)); + } else { + ch_desc := valueof(ts_ChanDescH0(g_pars.chan_nr, mp_trx_pars[0].arfcn, g_pars.tsc)); + } + var GsmRrMessage rr_msg := valueof(ts_IMM_ASS(ra, fn, 0, ch_desc, g_pars.fhp.ma_map)); + RSL.send(ts_RSL_IMM_ASSIGN(enc_GsmRrMessage(rr_msg))); + + /* Do not expect the Immediate Assignment to show up on MS side yet. Even give it one second before the BSC + * requests Chan Activ, to make sure the RR IMM ASS is held back. */ + var L1ctlDlMessage dl; + var GsmRrMessage rr; + + var template GsmRrMessage rr_imm_ass := tr_IMM_ASS(ra, fn); + rr_imm_ass.payload.imm_ass.ded_or_tbf := ?; + rr_imm_ass.payload.imm_ass.pkt_chan_desc := *; + rr_imm_ass.payload.imm_ass.chan_desc := *; + + timer T := 1.0; + T.start; + alt { + [] L1CTL.receive(tr_L1CTL_DATA_IND(t_RslChanNr_PCH_AGCH(0))) -> value dl { + rr := dec_GsmRrMessage(dl.payload.data_ind.payload); + if (match(rr, rr_imm_ass)) { + setverdict(fail, "Expected IMM ASS to be delayed until Chan Act ACK, but it was passed to the MS immediately"); + mtc.stop; + } else { + repeat; + } + } + [] L1CTL.receive { repeat; } + [] T.timeout; + } + RSL.send(ts_RSL_CHAN_ACT(g_chan_nr, g_pars.chan_mode, t_RSL_IE_ActType_IA)); + RSL.receive(tr_RSL_CHAN_ACT_ACK(g_chan_nr)); + + /* Now expect the IMM ASS on Um */ + f_L1CTL_WAIT_IMM_ASS(L1CTL, ra, fn); + setverdict(pass); + + /* Release the channel */ + f_rsl_chan_deact(); + f_L1CTL_DM_REL_REQ(L1CTL, g_chan_nr); +} + +testcase TC_early_immediate_assignment() runs on test_CT { + var ConnHdlr vc_conn; + var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); + f_init(); + vc_conn := f_start_handler(refers(f_TC_early_immediate_assignment), pars); + vc_conn.done; + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); +} + /* test generation of RLL ERR IND based on Um errors (TS 48.058 3.9) */ /* protocol error as per 44.006 */ /* link layer failure (repetition of I-frame N200 times without ACK */ @@ -7889,6 +7958,8 @@ execute( TC_speech_no_rtp_tchh() ); execute( TC_speech_rtp_tchf() ); execute( TC_speech_rtp_tchh() ); + + execute( TC_early_immediate_assignment() ); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 Gerrit-Change-Number: 25196 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 23 Aug 2021 19:18:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... Patch Set 3: > I guess you did check back that this does not interfere with DTX somehow but I am also not sure what happens on the RTP side during a DTX silence period. I just wanted to make sure that you are aware of this. As far as I remember: On the downlink RTP side you would get AMR frames with a longer duration than the normal 20ms (IIRC 160ms or so?) and the content of the frames are SID_UPDATE frames, which just update the comfort noise generation in the MS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 19:18:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 19:22:39 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25214 to look at the new patch set (#3). Change subject: vty 'stats reset': do not reset stat_items ...................................................................... vty 'stats reset': do not reset stat_items Exempt all stat_item statistics from 'stats reset'. Only reset rate_ctr statistics to zero. The rate_ctr statistics have an implicit time scale, counting occurences per time unit. For them it makes sense to reset all ratings and start from zero, for example in a test suite (e.g. our TTCN3 BSC_Tests). In contrast, stat_item statistics count number of objects or nr of specific object stati at any given time, and they do not deteriorate over time. Many stat items depend on increment/decrement to be sane. For example, in osmo-bsc, if the nr of connected BTS is 3, that does not make sense to be reset to zero. There are still 3 BTS connected, only the stat_item would suddenly reflect zero. From then on, it'd be wrong. All stat_items are by definition wrong after a 'stats reset'. - Those that depend on increment/decrement will be wrong until the program exits, and - those that are set to absolute values will be wrong up until the next value is set. That could be seconds or hours later, depending. Related: SYS#5542 Change-Id: If2134768b1076e7af189276c45f2a09a4944303e --- M src/vty/stats_vty.c 1 file changed, 1 insertion(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/25214/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 19:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 19:23:14 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... Patch Set 3: Code-Review+2 Re-add previous votes after trivial apply of CR -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 23 Aug 2021 19:23:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:34:39 +0000 Subject: Change in libosmocore[master]: vty 'stats reset': do not reset stat_items In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25214 ) Change subject: vty 'stats reset': do not reset stat_items ...................................................................... vty 'stats reset': do not reset stat_items Exempt all stat_item statistics from 'stats reset'. Only reset rate_ctr statistics to zero. The rate_ctr statistics have an implicit time scale, counting occurences per time unit. For them it makes sense to reset all ratings and start from zero, for example in a test suite (e.g. our TTCN3 BSC_Tests). In contrast, stat_item statistics count number of objects or nr of specific object stati at any given time, and they do not deteriorate over time. Many stat items depend on increment/decrement to be sane. For example, in osmo-bsc, if the nr of connected BTS is 3, that does not make sense to be reset to zero. There are still 3 BTS connected, only the stat_item would suddenly reflect zero. >From then on, it'd be wrong. All stat_items are by definition wrong after a 'stats reset'. - Those that depend on increment/decrement will be wrong until the program exits, and - those that are set to absolute values will be wrong up until the next value is set. That could be seconds or hours later, depending. Related: SYS#5542 Change-Id: If2134768b1076e7af189276c45f2a09a4944303e --- M src/vty/stats_vty.c 1 file changed, 1 insertion(+), 8 deletions(-) Approvals: neels: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c index ba45e1e..c9ae0fb 100644 --- a/src/vty/stats_vty.c +++ b/src/vty/stats_vty.c @@ -586,19 +586,12 @@ return 0; } -static int reset_osmo_stat_item_group_handler(struct osmo_stat_item_group *statg, void *sctx_) -{ - osmo_stat_item_group_reset(statg); - return 0; -} - DEFUN(stats_reset, stats_reset_cmd, "stats reset", - STATS_STR "Reset all stats\n") + STATS_STR "Reset all rate counter stats\n") { rate_ctr_for_each_group(reset_rate_ctr_group_handler, NULL); - osmo_stat_item_for_each_group(reset_osmo_stat_item_group_handler, NULL); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If2134768b1076e7af189276c45f2a09a4944303e Gerrit-Change-Number: 25214 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-CC: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:37:28 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:37:28 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... Patch Set 4: > Patch Set 4: Code-Review+1 > > Nice, I wasn't aware about those "tdef groups" appearing automatically for vty. you do need osmo_tdef_vty_groups_init(), but from then on it's implicitly all there -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 23 Aug 2021 20:37:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:37:53 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:37:53 +0000 Subject: Change in osmo-bts[master]: enable Early Immediate Assignment In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25195 ) Change subject: enable Early Immediate Assignment ...................................................................... enable Early Immediate Assignment When an Immediate Assignment comes in targeting an lchan that is not yet active, then hold back the RR Immediate Assignment until the channel becomes active. This allows the BSC to send the Immediate Assignment before first waiting for the Channel Activation ACK, saving one Abis roundtrip, and helping avoid double allocation on high latency Abis links. Related: SYS#5559 Related: I56c25cde152040fb66bdba44399bd37671ae3df2 (osmo-bsc) Related: Ifb2c62431a91dafa6116b5d6b9410930f00a6e18 (osmo-ttcn3-hacks) Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c --- M include/osmo-bts/gsm_data.h M src/common/lchan.c M src/common/rsl.c 3 files changed, 59 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 2e3eaa4..55c3bdf 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -412,6 +412,11 @@ /* Message buffer to store DL-SACCH repeation candidate */ struct msgb *rep_sacch; + + /* Cached early Immediate Assignment message: if the Immediate Assignment arrives before the channel is + * confirmed active, then cache it here and send it once the channel is confirmed to be active. This is related + * to the Early IA feature, see OsmoBSC config option 'immediate-assignment pre-chan-ack'. */ + struct msgb *early_rr_ia; }; extern const struct value_string lchan_ciph_state_names[]; diff --git a/src/common/lchan.c b/src/common/lchan.c index 5a3f539..987f78a 100644 --- a/src/common/lchan.c +++ b/src/common/lchan.c @@ -22,6 +22,8 @@ #include #include #include +#include +#include void lchan_set_state(struct gsm_lchan *lchan, enum gsm_lchan_state state) { @@ -30,6 +32,34 @@ gsm_lchans_name(lchan->state), gsm_lchans_name(state)); lchan->state = state; + + /* Early Immediate Assignment: if we have a cached early IA pending, send it upon becoming active, or discard it + * when releasing. */ + if (lchan->early_rr_ia) { + struct gsm_bts *bts = lchan->ts->trx->bts; + switch (lchan->state) { + case LCHAN_S_ACT_REQ: + /* Activation is requested, keep the early IA until active. This allows the BSC to send the IA + * even before a dynamic timeslot is done switching to a different pchan kind (experimental). */ + break; + case LCHAN_S_ACTIVE: + /* Activation is done, send the RR IA now. Put RR IA msg into the AGCH queue of the BTS. */ + if (bts_agch_enqueue(bts, lchan->early_rr_ia) < 0) { + /* if there is no space in the queue: send DELETE IND */ + rsl_tx_delete_ind(bts, lchan->early_rr_ia->data, lchan->early_rr_ia->len); + rate_ctr_inc2(bts->ctrs, BTS_CTR_AGCH_DELETED); + msgb_free(lchan->early_rr_ia); + } + lchan->early_rr_ia = NULL; + break; + default: + /* Transition to any other state means whatever IA the BSC has sent shall now not be relevant + * anymore. */ + msgb_free(lchan->early_rr_ia); + lchan->early_rr_ia = NULL; + break; + } + } } bool ts_is_pdch(const struct gsm_bts_trx_ts *ts) diff --git a/src/common/rsl.c b/src/common/rsl.c index 18c0349..f5a963c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1085,6 +1085,30 @@ msg->l2h = NULL; msg->len = TLVP_LEN(&tp, RSL_IE_FULL_IMM_ASS_INFO); + /* Early Immediate Assignment: when there is a lot of latency on Abis, the Abis roundtrip of Chan Activ -> Chan + * Activ ACK -> Immediate Assignment may take so long that each MS sends a second RACH for Chan Rqd, reserving + * two SDCCH for each request but using only one. To help with that, the Early IA feature in osmo-bsc sends the + * Immediate Assignment without waiting for the Channel Activation ACK. This may then be too early, and the MS + * may not be able to establish a channel. So to help with Early IA, look up whether the target lchan is already + * active. If not, then hold back the RR Immediate Assignment message, and send it once L1 has confirmed that + * the channel is active. Hence we still wait for the activation, but don't need the Abis roundtrip of Activ ACK + * -> Immediate Assignment via the BSC. + * If anything is wrong with the sizes or the lchan lookup, behave normally, i.e. do not do the RR IA caching, + * but just send the RR message to the MS as-is. */ + if (msg->len >= sizeof(struct gsm48_imm_ass)) { + struct gsm48_imm_ass *rr_ia = (void*)msg->data; + struct gsm_lchan *ia_target_lchan = lchan_lookup(trx, rr_ia->chan_desc.chan_nr, "Early IA check: "); + if (ia_target_lchan && ia_target_lchan->state != LCHAN_S_ACTIVE) { + /* Target lchan is not yet active. Cache the IA. + * If a previous IA is still lingering, free it. */ + msgb_free(ia_target_lchan->early_rr_ia); + ia_target_lchan->early_rr_ia = msg; + + /* return 1 means: don't msgb_free() the msg */ + return 1; + } + } + /* put into the AGCH queue of the BTS */ if (bts_agch_enqueue(trx->bts, msg) < 0) { /* if there is no space in the queue: send DELETE IND */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie52765b238b01f22fb327fe12327fbf10abcad4c Gerrit-Change-Number: 25195 Gerrit-PatchSet: 5 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:37:54 +0000 Subject: Change in osmo-bts[master]: add VTY transcript testing In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25198 ) Change subject: add VTY transcript testing ...................................................................... add VTY transcript testing This is not as trivial as with OsmoBSC or OsmoMSC, because normally the osmo-bts process exits right away when there is no BSC. Hence add --vty-test option to main. Use 'osmo-bts-virtual --vty-test' for testing. The other BTS models require dependencies / configure switches to be built. Essentially copied from osmo-bsc.git: configure.ac: add --enable-external-tests tests/Makefile.am: add 'vty-test' target Add osmo-bts.vty, some trivial VTY node testing. This prepares for adding VTY tests for T timer configuration added in a subsequent patch. Related: SYS#5559 Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f --- M configure.ac M src/common/main.c M tests/Makefile.am A tests/osmo-bts.vty 4 files changed, 303 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/configure.ac b/configure.ac index 2b5a316..1b4c6e7 100644 --- a/configure.ac +++ b/configure.ac @@ -349,6 +349,24 @@ AC_SUBST([OSMO_GSM_MANUALS_DIR]) fi +AC_ARG_ENABLE([external_tests], + AC_HELP_STRING([--enable-external-tests], + [Include the VTY/CTRL tests in make check [default=no]]), + [enable_ext_tests="$enableval"],[enable_ext_tests="no"]) +if test "x$enable_ext_tests" = "xyes" ; then + AC_CHECK_PROG(PYTHON3_AVAIL,python3,yes) + if test "x$PYTHON3_AVAIL" != "xyes" ; then + AC_MSG_ERROR([Please install python3 to run the VTY/CTRL tests.]) + fi + AC_CHECK_PROG(OSMOTESTEXT_CHECK,osmotestvty.py,yes) + if test "x$OSMOTESTEXT_CHECK" != "xyes" ; then + AC_MSG_ERROR([Please install git://osmocom.org/python/osmo-python-tests to run the VTY/CTRL tests.]) + fi +fi +AC_MSG_CHECKING([whether to enable VTY/CTRL tests]) +AC_MSG_RESULT([$enable_ext_tests]) +AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes") + # https://www.freedesktop.org/software/systemd/man/daemon.html AC_ARG_WITH([systemdsystemunitdir], [AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],, diff --git a/src/common/main.c b/src/common/main.c index bc5cf3b..b5ba21b 100644 --- a/src/common/main.c +++ b/src/common/main.c @@ -65,6 +65,7 @@ static int rt_prio = -1; static char *gsmtap_ip = 0; extern int g_vty_port_num; +static bool vty_test_mode = false; static void print_help() { @@ -80,6 +81,8 @@ "\nVTY reference generation:\n" " --vty-ref-mode MODE VTY reference generation mode (e.g. 'expert').\n" " --vty-ref-xml Generate the VTY reference XML output and exit.\n" + "\nRegression testing:\n" + " --vty-test VTY test mode. Do not connect to BSC, do not exit.\n" ); bts_model_print_help(); } @@ -103,6 +106,9 @@ get_value_string(vty_ref_gen_mode_desc, vty_ref_mode)); vty_dump_xml_ref_mode(stdout, (enum vty_ref_gen_mode) vty_ref_mode); exit(0); + case 3: + vty_test_mode = true; + break; default: fprintf(stderr, "%s: error parsing cmdline options\n", prog_name); exit(2); @@ -140,6 +146,7 @@ { "realtime", 1, 0, 'r' }, { "vty-ref-mode", 1, &long_option, 1 }, { "vty-ref-xml", 0, &long_option, 2 }, + { "vty-test", 0, &long_option, 3 }, { 0, 0, 0, 0 } }; @@ -299,6 +306,8 @@ handle_options(argc, argv); fprintf(stderr, "((*))\n |\n / \\ OsmoBTS\n"); + if (vty_test_mode) + fprintf(stderr, "--- VTY test mode: not connecting to BSC, not exiting ---\n"); g_bts = gsm_bts_alloc(tall_bts_ctx, 0); if (!g_bts) { @@ -396,6 +405,16 @@ signal(SIGUSR2, &signal_handler); osmo_init_ignore_signals(); + if (vty_test_mode) { + /* Just select-loop without connecting to the BSC, don't exit. This allows running tests on the VTY + * telnet port. */ + while (!quit) { + log_reset_context(); + osmo_select_main(0); + } + return EXIT_SUCCESS; + } + if (abis_open(g_bts, "osmo-bts") != 0) exit(1); diff --git a/tests/Makefile.am b/tests/Makefile.am index 57687ee..8d19e6e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -22,12 +22,38 @@ echo ' [$(PACKAGE_URL)])'; \ } >'$(srcdir)/package.m4' -EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) +EXTRA_DIST = \ + testsuite.at \ + $(srcdir)/package.m4 \ + $(TESTSUITE) \ + osmo-bts.vty \ + $(NULL) TESTSUITE = $(srcdir)/testsuite DISTCLEANFILES = atconfig +if ENABLE_EXT_TESTS +python-tests: $(BUILT_SOURCES) + $(MAKE) vty-test +else +python-tests: $(BUILT_SOURCES) + echo "Not running python-based tests (determined at configure-time)" +endif + +# Run a specific test with: 'make vty-test VTY_TEST=foo.vty' +VTY_TEST ?= *.vty + +# To update the VTY script from current application behavior, +# pass -u to vty_script_runner.py by doing: +# make vty-test U=-u +vty-test: + osmo_verify_transcript_vty.py -v \ + -n OsmoBTS -p 4241 \ + -r "$(top_builddir)/src/osmo-bts-virtual/osmo-bts-virtual --vty-test -c $(top_srcdir)/doc/examples/virtual/osmo-bts-virtual.cfg" \ + $(U) $(srcdir)/$(VTY_TEST) + check-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) + $(MAKE) $(AM_MAKEFLAGS) python-tests installcheck-local: atconfig $(TESTSUITE) $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \ diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty new file mode 100644 index 0000000..4983967 --- /dev/null +++ b/tests/osmo-bts.vty @@ -0,0 +1,239 @@ +OsmoBTS> list +... + show bts [<0-255>] + show trx [<0-255>] [<0-255>] + show timeslot [<0-255>] [<0-255>] [<0-7>] + show lchan [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show bts <0-255> gprs +... + show e1_driver + show e1_line [<0-255>] [stats] + show e1_timeslot [<0-255>] [<0-31>] +... +OsmoBTS> ? +... + show Show running system information +... + +OsmoBTS> show ? +... + bts Display information about a BTS + trx Display information about a TRX + timeslot Display information about a TS + lchan Display information about a logical channel + e1_driver Display information about available E1 drivers + e1_line Display information about a E1 line + e1_timeslot Display information about a E1 timeslot +... +OsmoBTS> show bts ? + [<0-255>] BTS Number + <0-255> BTS Number +OsmoBTS> show bts 0 ? + gprs GPRS/EGPRS configuration + +OsmoBTS> show trx ? + [<0-255>] BTS Number +OsmoBTS> show trx 0 ? + [<0-255>] TRX Number +OsmoBTS> show timeslot ? + [<0-255>] BTS Number +OsmoBTS> show timeslot 0 ? + [<0-255>] TRX Number +OsmoBTS> show timeslot 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan ? + [<0-255>] BTS Number + summary Short summary +OsmoBTS> show lchan 0 ? + [<0-255>] TRX Number +OsmoBTS> show lchan 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS> show lchan summary ? + [<0-255>] BTS Number +OsmoBTS> show lchan summary 0 ? + [<0-255>] TRX Number +OsmoBTS> show lchan summary 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS> show lchan summary 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS> show e1_driver ? + +OsmoBTS> show e1_line ? + [<0-255>] E1 Line Number +OsmoBTS> show e1_line 0 ? + [stats] Include statistics +OsmoBTS> show e1_timeslot ? + [<0-255>] E1 Line Number +OsmoBTS> show e1_timeslot 0 ? + [<0-31>] E1 Timeslot Number + +OsmoBTS> enable +OsmoBTS# list +... + show bts [<0-255>] + show trx [<0-255>] [<0-255>] + show timeslot [<0-255>] [<0-255>] [<0-7>] + show lchan [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] + show bts <0-255> gprs +... + bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000> + test send-failure-event-report <0-255> + bts <0-255> c0-power-red <0-6> + show e1_driver + show e1_line [<0-255>] [stats] + show e1_timeslot [<0-255>] [<0-31>] +... + +OsmoBTS# ? +... + show Show running system information +... + +OsmoBTS# show ? +... + bts Display information about a BTS + trx Display information about a TRX + timeslot Display information about a TS + lchan Display information about a logical channel + e1_driver Display information about available E1 drivers + e1_line Display information about a E1 line + e1_timeslot Display information about a E1 timeslot +... +OsmoBTS# show bts ? + [<0-255>] BTS Number + <0-255> BTS Number +OsmoBTS# show bts 0 ? + gprs GPRS/EGPRS configuration + +OsmoBTS# show trx ? + [<0-255>] BTS Number +OsmoBTS# show trx 0 ? + [<0-255>] TRX Number +OsmoBTS# show timeslot ? + [<0-255>] BTS Number +OsmoBTS# show timeslot 0 ? + [<0-255>] TRX Number +OsmoBTS# show timeslot 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan ? + [<0-255>] BTS Number + summary Short summary +OsmoBTS# show lchan 0 ? + [<0-255>] TRX Number +OsmoBTS# show lchan 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS# show lchan summary ? + [<0-255>] BTS Number +OsmoBTS# show lchan summary 0 ? + [<0-255>] TRX Number +OsmoBTS# show lchan summary 0 0 ? + [<0-7>] Timeslot Number +OsmoBTS# show lchan summary 0 0 0 ? + [<0-7>] Logical Channel Number +OsmoBTS# show e1_driver ? + +OsmoBTS# show e1_line ? + [<0-255>] E1 Line Number +OsmoBTS# show e1_line 0 ? + [stats] Include statistics +OsmoBTS# show e1_timeslot ? + [<0-255>] E1 Line Number +OsmoBTS# show e1_timeslot 0 ? + [<0-31>] E1 Timeslot Number + +OsmoBTS# configure terminal +OsmoBTS(config)# list +... + bts BTS_NR +... + phy <0-255> + e1_input +... +OsmoBTS(config)# ? +... + bts Select a BTS to configure +... + phy Select a PHY to configure + e1_input Configure E1/T1/J1 TDM input +... +OsmoBTS(config)# bts ? + BTS_NR BTS Number +OsmoBTS(config)# phy ? + <0-255> PHY number + +OsmoBTS(config)# bts 0 +OsmoBTS(bts)# list +... + ipa unit-id <0-65534> <0-255> + oml remote-ip A.B.C.D + no oml remote-ip A.B.C.D + rtp jitter-buffer <0-10000> [adaptive] + rtp port-range <1-65534> <1-65534> + rtp ip-dscp <0-63> + rtp socket-priority <0-255> + band (450|GSM450|480|GSM480|750|GSM750|810|GSM810|850|GSM850|900|GSM900|1800|DCS1800|1900|PCS1900) + description .TEXT + no description + paging queue-size <1-1024> + paging lifetime <0-60> + agch-queue-mgmt default + agch-queue-mgmt threshold <0-100> low <0-100> high <0-100000> + min-qual-rach <-100-100> + min-qual-norm <-100-100> + max-ber10k-rach <0-10000> + pcu-socket PATH + supp-meas-info toa256 + no supp-meas-info toa256 + smscb queue-max-length <1-60> + smscb queue-target-length <1-30> + smscb queue-hysteresis <0-30> + gsmtap-remote-host [HOSTNAME] + no gsmtap-remote-host + gsmtap-sapi (enable-all|disable-all) + gsmtap-sapi (bcch|ccch|rach|agch|pch|sdcch|tch/f|tch/h|pacch|pdtch|ptcch|cbch|sacch) + no gsmtap-sapi (bcch|ccch|rach|agch|pch|sdcch|tch/f|tch/h|pacch|pdtch|ptcch|cbch|sacch) + trx <0-254> +... +OsmoBTS(bts)# ? +... + ipa ip.access RSL commands + oml OML Parameters + no Negate a command or set its defaults + rtp RTP parameters + band Set the frequency band of this BTS + description Save human-readable description of the object + paging Paging related parameters + agch-queue-mgmt AGCH queue mgmt + min-qual-rach Set the minimum link quality level of Access Bursts to be accepted + min-qual-norm Set the minimum link quality level of Normal Bursts to be accepted + max-ber10k-rach Set the maximum BER for valid RACH requests + pcu-socket Configure the PCU socket file/path name + supp-meas-info Configure the RSL Supplementary Measurement Info + smscb SMSCB (SMS Cell Broadcast) / CBCH configuration + gsmtap-remote-host Enable GSMTAP Um logging (see also 'gsmtap-sapi') + gsmtap-sapi Enable/disable sending of UL/DL messages over GSMTAP + trx Select a TRX to configure +... +OsmoBTS(bts)# trx 0 +OsmoBTS(trx)# list +... + user-gain <-100000-100000> (dB|mdB) + power-ramp max-initial <-10000-100000> (dBm|mdBm) + power-ramp step-size <1-100000> (dB|mdB) + power-ramp step-interval <1-100> + ms-power-control (dsp|osmo) + phy <0-255> instance <0-255> +... +OsmoBTS(trx)# ? +... + user-gain Inform BTS about additional, user-provided gain or attenuation at TRX output + power-ramp Power-Ramp settings + ms-power-control Mobile Station Power Level Control + phy Configure PHY Link+Instance for this TRX +... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I730daf548a3a9bb116aa8b6d5772ca9af0ada08f Gerrit-Change-Number: 25198 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:37:54 +0000 Subject: Change in osmo-bts[master]: jenkins: enable new flag --enable-external-tests In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25199 ) Change subject: jenkins: enable new flag --enable-external-tests ...................................................................... jenkins: enable new flag --enable-external-tests Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca --- M contrib/jenkins_bts_trx.sh M contrib/jenkins_oct_and_bts_trx.sh M contrib/jenkins_sysmobts.sh 3 files changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/contrib/jenkins_bts_trx.sh b/contrib/jenkins_bts_trx.sh index 54efa56..cb041a5 100755 --- a/contrib/jenkins_bts_trx.sh +++ b/contrib/jenkins_bts_trx.sh @@ -17,6 +17,7 @@ --enable-sanitize \ --enable-werror \ --enable-trx \ + --enable-external-tests \ " build_bts "osmo-bts-trx" "$configure_flags" diff --git a/contrib/jenkins_oct_and_bts_trx.sh b/contrib/jenkins_oct_and_bts_trx.sh index 67f67aa..ead2f56 100755 --- a/contrib/jenkins_oct_and_bts_trx.sh +++ b/contrib/jenkins_oct_and_bts_trx.sh @@ -20,6 +20,7 @@ --with-octsdr-2g=$deps/layer1-headers/ \ --enable-octphy \ --enable-trx \ + --enable-external-tests \ " build_bts "osmo-bts-octphy+trx" "$configure_flags" diff --git a/contrib/jenkins_sysmobts.sh b/contrib/jenkins_sysmobts.sh index d0d05ae..6376e92 100755 --- a/contrib/jenkins_sysmobts.sh +++ b/contrib/jenkins_sysmobts.sh @@ -21,6 +21,7 @@ --enable-werror \ --enable-sysmocom-bts \ --with-sysmobts=$inst/include/ \ + --enable-external-tests \ " # This will not work for the femtobts -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iac47ce865c833d892c84425b49e9420838e100ca Gerrit-Change-Number: 25199 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 20:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 20:37:55 +0000 Subject: Change in osmo-bts[master]: add osmo_tdef groups, exposing T timers on VTY config In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25200 ) Change subject: add osmo_tdef groups, exposing T timers on VTY config ...................................................................... add osmo_tdef groups, exposing T timers on VTY config We have two osmocom specific timers used in the BTS, X1 and X2. Expose those on the VTY configuration, as timer group 'bts'. This prepares for a subsequent patch, where I would like to add another configurable timer. This provides the basic infrastructure for that. Related: SYS#5559 Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 --- M include/osmo-bts/gsm_data.h M src/common/bts.c M src/common/gsm_data.c M src/common/vty.c M tests/osmo-bts.vty 5 files changed, 54 insertions(+), 1 deletion(-) Approvals: neels: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 55c3bdf..80f1833 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -521,6 +522,8 @@ * OML connection will cause a special warning to be logged. */ #define OSMO_BTS_OML_CONN_EARLY_DISCONNECT 10 /* in seconds */ +extern struct osmo_tdef_group bts_tdef_groups[]; +extern struct osmo_tdef bts_T_defs[]; extern const struct value_string gsm_pchant_names[13]; extern const struct value_string gsm_pchant_descs[13]; diff --git a/src/common/bts.c b/src/common/bts.c index 48adf42..b6af4c6 100644 --- a/src/common/bts.c +++ b/src/common/bts.c @@ -128,7 +128,7 @@ cbch_ctr_desc }; -static struct osmo_tdef bts_T_defs[] = { +struct osmo_tdef bts_T_defs[] = { /* T-1: FIXME: Ideally should be dynamically calculated per trx at * shutdown start based on params below, and highest trx value taken: * + VTY's power-ramp step-interval. diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index 7eb6ff1..b1f695b 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -40,6 +40,11 @@ #include #include +struct osmo_tdef_group bts_tdef_groups[] = { + { .name = "bts", .tdefs = bts_T_defs, .desc = "BTS process timers" }, + {} +}; + const struct value_string gsm_pchant_names[13] = { { GSM_PCHAN_NONE, "NONE" }, { GSM_PCHAN_CCCH, "CCCH" }, diff --git a/src/common/vty.c b/src/common/vty.c index fe506a5..4f618d0 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -384,6 +385,7 @@ llist_for_each_entry(bts, &net->bts_list, list) config_write_bts_single(vty, bts); + osmo_tdef_vty_groups_write(vty, ""); return CMD_SUCCESS; } @@ -2418,6 +2420,9 @@ install_node(&bts_node, config_write_bts); install_element(CONFIG_NODE, &cfg_bts_cmd); install_element(CONFIG_NODE, &cfg_vty_telnet_port_cmd); + + osmo_tdef_vty_groups_init(CONFIG_NODE, bts_tdef_groups); + install_element(BTS_NODE, &cfg_bts_unit_id_cmd); install_element(BTS_NODE, &cfg_bts_oml_ip_cmd); install_element(BTS_NODE, &cfg_bts_no_oml_ip_cmd); diff --git a/tests/osmo-bts.vty b/tests/osmo-bts.vty index 4983967..12a0c77 100644 --- a/tests/osmo-bts.vty +++ b/tests/osmo-bts.vty @@ -7,6 +7,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... + show timer [(bts)] [TNNNN] show e1_driver show e1_line [<0-255>] [stats] show e1_timeslot [<0-255>] [<0-31>] @@ -22,6 +23,7 @@ trx Display information about a TRX timeslot Display information about a TS lchan Display information about a logical channel + timer Show timers e1_driver Display information about available E1 drivers e1_line Display information about a E1 line e1_timeslot Display information about a E1 timeslot @@ -59,6 +61,22 @@ [<0-7>] Timeslot Number OsmoBTS> show lchan summary 0 0 0 ? [<0-7>] Logical Channel Number + +OsmoBTS> show timer ? + [bts] BTS process timers +OsmoBTS> show timer +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS> show timer bts ? + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. +OsmoBTS> show timer bts +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS> show timer bts X1 +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +OsmoBTS> show timer bts X2 +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) + OsmoBTS> show e1_driver ? OsmoBTS> show e1_line ? @@ -80,6 +98,7 @@ show lchan summary [<0-255>] [<0-255>] [<0-7>] [<0-7>] show bts <0-255> gprs ... + show timer [(bts)] [TNNNN] bts <0-0> trx <0-255> ts <0-7> (lchan|shadow-lchan) <0-7> rtp jitter-buffer <0-10000> test send-failure-event-report <0-255> bts <0-255> c0-power-red <0-6> @@ -99,6 +118,7 @@ trx Display information about a TRX timeslot Display information about a TS lchan Display information about a logical channel + timer Show timers e1_driver Display information about available E1 drivers e1_line Display information about a E1 line e1_timeslot Display information about a E1 timeslot @@ -152,6 +172,7 @@ ... bts BTS_NR ... + timer [(bts)] [TNNNN] [(<0-2147483647>|default)] phy <0-255> e1_input ... @@ -159,6 +180,7 @@ ... bts Select a BTS to configure ... + timer Configure or show timers phy Select a PHY to configure e1_input Configure E1/T1/J1 TDM input ... @@ -167,6 +189,24 @@ OsmoBTS(config)# phy ? <0-255> PHY number +OsmoBTS(config)# timer ? + [bts] BTS process timers +OsmoBTS(config)# timer bts ? + [TNNNN] T- or X-timer-number -- 3GPP compliant timer number of the format '1234' or 'T1234' or 't1234'; Osmocom-specific timer number of the format: 'X1234' or 'x1234'. +OsmoBTS(config)# timer bts X1 +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +OsmoBTS(config)# timer bts X2 +bts: X2 = 3 s Time after which osmo-bts exits if requesting transceivers to stop during shut down process does not finish (s) (default: 3 s) +OsmoBTS(config)# timer bts X1 ? + [<0-2147483647>] New timer value + [default] Set to default timer value +OsmoBTS(config)# timer bts X1 123 +OsmoBTS(config)# timer bts X1 +bts: X1 = 123 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) +OsmoBTS(config)# timer bts X1 default +OsmoBTS(config)# timer bts X1 +bts: X1 = 300 s Time after which osmo-bts exits if regular ramp down during shut down process does not finish (s) (default: 300 s) + OsmoBTS(config)# bts 0 OsmoBTS(bts)# list ... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0f56f9425134679219884b0c3c2f29e77aff5e64 Gerrit-Change-Number: 25200 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 22:03:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 22:03:22 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... CTRL: expose stat_item groups on CTRL Expose all stat items as RO variables of the form stat_item.last.group_name.N.item_name Include the 'last' token to ease future extension, like 'max'. Put this token in the beginning, similarly to rate_ctr variables, which begin with 'per_sec', 'per_hour', ... Related: SYS#5542 Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c --- M src/ctrl/control_if.c 1 file changed, 100 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/25224/1 diff --git a/src/ctrl/control_if.c b/src/ctrl/control_if.c index 0a893ba..782f369 100644 --- a/src/ctrl/control_if.c +++ b/src/ctrl/control_if.c @@ -53,6 +53,7 @@ #include #include +#include #include #include #include @@ -729,6 +730,102 @@ return 0; } +/* Expose all stat_item groups on CTRL, as read-only variables of the form: + * stat_item.(last|...).group_name.N.item_name + */ +CTRL_CMD_DEFINE(stat_item, "stat_item *"); +static int get_stat_item(struct ctrl_cmd *cmd, void *data) +{ + char *dup; + char *saveptr; + char *value_type; + char *group_name; + char *group_idx_str; + int idx; + char *item_name; + char *tmp; + int32_t val; + struct osmo_stat_item_group *statg; + const struct osmo_stat_item *stat_item; + + /* cmd will be freed in control_if.c after handling here, so no need to free the dup string. */ + dup = talloc_strdup(cmd, cmd->variable); + if (!dup) { + cmd->reply = "OOM"; + return CTRL_CMD_ERROR; + } + + /* Split off the first "stat_item." part */ + tmp = strtok_r(dup, ".", &saveptr); + if (!tmp || strcmp(tmp, "stat_item") != 0) + goto format_error; + + /* Split off the "last." part (validated further below) */ + value_type = strtok_r(NULL, ".", &saveptr); + if (!value_type) + goto format_error; + + /* Split off the "group_name." part */ + group_name = strtok_r(NULL, ".", &saveptr); + group_idx_str = strtok_r(NULL, ".", &saveptr); + if (!group_name || !group_idx_str) + goto format_error; + + /* Split off the "N." part */ + idx = atoi(group_idx_str); + statg = osmo_stat_item_get_group_by_name_idx(group_name, idx); + if (!statg) { + cmd->reply = "Stat group with given name and index not found"; + return CTRL_CMD_ERROR; + } + + /* Split off the "item_name" part */ + item_name = strtok_r(NULL, ".", &saveptr); + if (!item_name) + goto format_error; + stat_item = osmo_stat_item_get_by_name(statg, item_name); + if (!stat_item) { + cmd->reply = "No such stat item found"; + return CTRL_CMD_ERROR; + } + + tmp = strtok_r(NULL, "", &saveptr); + if (tmp) { + cmd->reply = "Garbage after stat item name"; + return CTRL_CMD_ERROR; + } + + if (!strcmp(value_type, "last")) { + val = osmo_stat_item_get_last(stat_item); + } else { + goto format_error; + } + + cmd->reply = talloc_asprintf(cmd, "%"PRIu32, val); + if (!cmd->reply) { + cmd->reply = "OOM"; + return CTRL_CMD_ERROR; + } + + return CTRL_CMD_REPLY; + +format_error: + cmd->reply = "Stat item must be of form stat_item.type.group_name.N.item_name," + " e.g. 'stat_item.last.bsc.0.msc_num:connected'"; + return CTRL_CMD_ERROR; +} + +static int set_stat_item(struct ctrl_cmd *cmd, void *data) +{ + cmd->reply = "Stat items are read-only"; + return CTRL_CMD_ERROR; +} + +static int verify_stat_item(struct ctrl_cmd *cmd, const char *value, void *data) +{ + return 0; +} + /* counter */ CTRL_CMD_DEFINE(counter, "counter *"); static int get_counter(struct ctrl_cmd *cmd, void *data) @@ -816,6 +913,9 @@ ret = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_rate_ctr); if (ret) goto err_vec; + ret = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_stat_item); + if (ret) + goto err_vec; ret = ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_counter); if (ret) goto err_vec; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 22:08:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 22:08:00 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... vty: add "msc N bssmap reset" command Allow resetting the BSSMAP link from VTY, for BSC_Tests.ttcn. In the field, detecting that an MSC is lost is done by getting three connection failures in a row. For the BSC_Tests, it is easier to just provide a VTY command to reset an MSC's link status. I want to add tests that verify the stat items reflecting the MSC connection status. To be able to run a test expecting fewer connected MSC after a test that launched more MSCs requires the links to be reset. Related: SYS#5542 Related: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 (osmo-ttcn3-hacks) Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff --- M include/osmocom/bsc/bssmap_reset.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bssmap_reset.c M tests/handover/handover_test.c 4 files changed, 31 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/25/25225/1 diff --git a/include/osmocom/bsc/bssmap_reset.h b/include/osmocom/bsc/bssmap_reset.h index f90f5ec..fcd850b 100644 --- a/include/osmocom/bsc/bssmap_reset.h +++ b/include/osmocom/bsc/bssmap_reset.h @@ -27,4 +27,5 @@ struct bssmap_reset *bssmap_reset_alloc(void *ctx, const char *label, const struct bssmap_reset_cfg *cfg); bool bssmap_reset_is_conn_ready(const struct bssmap_reset *bssmap_reset); +void bssmap_reset_resend_reset(struct bssmap_reset *bssmap_reset); void bssmap_reset_term_and_free(struct bssmap_reset *bssmap_reset); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6d10426..5ce1d69 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -62,6 +62,7 @@ #include #include #include +#include #include @@ -3324,6 +3325,28 @@ return CMD_SUCCESS; } +DEFUN(msc_bssmap_reset, msc_bssmap_reset_cmd, + "msc " MSC_NR_RANGE " bssmap reset", + "Query or manipulate a specific A-interface link\n" + "MSC nr\n" + "Query or manipulate BSSMAP layer of A-interface\n" + "Flip this MSC to disconnected state and re-send BSSMAP RESET\n") +{ + int msc_nr = atoi(argv[0]); + struct bsc_msc_data *msc; + + msc = osmo_msc_data_find(bsc_gsmnet, msc_nr); + + if (!msc) { + vty_out(vty, "%% No such MSC: nr %d\n", msc_nr); + return CMD_WARNING; + } + + LOGP(DMSC, LOGL_NOTICE, "(msc%d) VTY requests BSSMAP RESET\n", msc_nr); + bssmap_reset_resend_reset(msc->a.bssmap_reset); + return CMD_SUCCESS; +} + int bsc_vty_init(struct gsm_network *network) { OSMO_ASSERT(vty_global_gsm_network == NULL); @@ -3477,6 +3500,7 @@ install_element(ENABLE_NODE, &gen_position_trap_cmd); install_element(ENABLE_NODE, &mscpool_roundrobin_next_cmd); + install_element(ENABLE_NODE, &msc_bssmap_reset_cmd); install_element(CFG_LOG_NODE, &logging_fltr_imsi_cmd); diff --git a/src/osmo-bsc/bssmap_reset.c b/src/osmo-bsc/bssmap_reset.c index 6c54560..beb8968 100644 --- a/src/osmo-bsc/bssmap_reset.c +++ b/src/osmo-bsc/bssmap_reset.c @@ -243,6 +243,12 @@ return bssmap_reset->fi->state == BSSMAP_RESET_ST_CONN; } +void bssmap_reset_resend_reset(struct bssmap_reset *bssmap_reset) +{ + /* Immediately (1ms) kick off reset sending mechanism */ + osmo_fsm_inst_state_chg_ms(bssmap_reset->fi, BSSMAP_RESET_ST_DISC, 1, 0); +} + static __attribute__((constructor)) void bssmap_reset_fsm_init() { OSMO_ASSERT(osmo_fsm_register(&bssmap_reset_fsm) == 0); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 315fc10..f76a700 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1703,9 +1703,6 @@ void osmo_bsc_sigtran_tx_reset(void) {} void osmo_bsc_sigtran_tx_reset_ack(void) {} void osmo_bsc_sigtran_reset(void) {} -void bssmap_reset_alloc(void) {} -void bssmap_reset_is_conn_ready(void) {} -void bssmap_reset_term_and_free(void) {} const char *osmo_mgcpc_ep_name(const struct osmo_mgcpc_ep *ep) { return "fake-ep"; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 22:08:00 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 22:08:00 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... add stat items bsc.0.num_msc:connected, .num_msc:total We already have MSC connection stat items, but for hysterical raisins there are separate such stats for each MSC. Hence we have N connection counters, each being either 0 or 1, for a single MSC. Add a new stat counting the *overall* MSCs that are connected, and one indicating the total number of configured MSCs. Related: SYS#5542 Related: I178dcf4516606aa561d47b06061b8a416d3c40cf (osmo-ttcn3-hacks) Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae --- M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_init.c 3 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/25226/1 diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d6c06de..3b9d489 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1260,6 +1260,8 @@ /* Constants for the BSC stats */ enum { BSC_STAT_NUM_BTS_TOTAL, + BSC_STAT_NUM_MSC_CONNECTED, + BSC_STAT_NUM_MSC_TOTAL, }; /* BTS counter index if a BTS could not be found diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 0befd72..d0ca3d1 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -43,6 +43,7 @@ struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is up\n", msc->nr); osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); } @@ -51,6 +52,7 @@ struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is down\n", msc->nr); osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); osmo_bsc_sigtran_reset(msc); } @@ -76,6 +78,7 @@ } msc->a.bssmap_reset = bssmap_reset_alloc(msc, name, &cfg); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_TOTAL), 1); } /* Confirm that we successfully received a reset acknowledge message */ diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 42acbbc..bd1724f 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -48,6 +48,8 @@ static const struct osmo_stat_item_desc bsc_stat_desc[] = { [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_MSC_CONNECTED] = { "num_msc:connected", "Number of actively connected MSCs", "", 16, 0 }, + [BSC_STAT_NUM_MSC_TOTAL] = { "num_msc:total", "Number of configured MSCs, not necessarily connected", "", 1, 0 }, }; static const struct osmo_stat_item_group_desc bsc_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 22:23:58 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 22:23:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reset MSC link stati in f_init() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 ) Change subject: bsc: reset MSC link stati in f_init() ...................................................................... bsc: reset MSC link stati in f_init() I want to add tests that verify the stat items reflecting the MSC connection status. To be able to run a test expecting fewer connected MSC after a test that launched more MSCs requires the links to be reset. Related: SYS#5542 Depends: I1975941b790d2b30d0904d41e456220cba26ecff (osmo-bsc) Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 --- M bsc/BSC_Tests.ttcn 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/25227/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2471a50..75a9d93 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1121,6 +1121,11 @@ var my_BooleanList allow_attach := { false, false, false }; f_init_statsd("VirtMSC", vc_STATSD, mp_test_ip, mp_bsc_statsd_port); + /* Make sure each MSC's internal state is "DISCONNECTED" at first */ + for (bssap_idx := 0; bssap_idx < NUM_MSC; bssap_idx := bssap_idx+1) { + f_vty_transceive(BSCVTY, "msc " & int2str(bssap_idx) & " bssmap reset", strict := false); + } + for (bssap_idx := 0; bssap_idx < nr_msc; bssap_idx := bssap_idx+1) { allow_attach[bssap_idx] := true; /* Call a function of our 'parent component' RAN_Adapter_CT to start the -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 Gerrit-Change-Number: 25227 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 23 22:23:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 23 Aug 2021 22:23:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_msc_connected* tests References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 ) Change subject: bsc: add TC_stat_num_msc_connected* tests ...................................................................... bsc: add TC_stat_num_msc_connected* tests Verify MSC connection count stats. Related: SYS#5542 Change-Id: I178dcf4516606aa561d47b06061b8a416d3c40cf --- M bsc/BSC_Tests.ttcn 1 file changed, 70 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/28/25228/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 75a9d93..fb9d4e2 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -2728,6 +2728,73 @@ f_shutdown_helper(); } +/* Verify correct stats on the number of configured and connected MSCs */ +private function f_tc_stat_num_msc_connected(integer expect_num_msc_connected) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + var StatsDExpects expect := { + { name := "TTCN3.bsc.0.num_msc.connected", mtype := "g", min := expect_num_msc_connected, max := expect_num_msc_connected }, + { name := "TTCN3.bsc.0.num_msc.total", mtype := "g", min := NUM_MSC, max := NUM_MSC } + }; + f_statsd_expect(expect); +} + +/* Verify that when 1 MSC is active, that num_msc:connected reports 1. */ +private function f_tc_stat_num_msc_connected_1(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_msc_connected(1); +} +testcase TC_stat_num_msc_connected_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 1, handler_mode := true, nr_msc := 1); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_msc_connected_1)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:connected", "1"); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:total", int2str(NUM_MSC)); + + f_shutdown_helper(); +} + +/* Verify that when 2 MSCs are active, that num_msc:connected reports 2. */ +private function f_tc_stat_num_msc_connected_2(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_msc_connected(2); +} +testcase TC_stat_num_msc_connected_2() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 1, handler_mode := true, nr_msc := 2); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_msc_connected_2)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:connected", "2"); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:total", int2str(NUM_MSC)); + + f_shutdown_helper(); +} + +/* Verify that when 3 MSCs are active, that num_msc:connected reports 3. */ +private function f_tc_stat_num_msc_connected_3(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_msc_connected(3); +} +testcase TC_stat_num_msc_connected_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 1, handler_mode := true, nr_msc := 3); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_msc_connected_3)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:connected", "3"); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_msc:total", int2str(NUM_MSC)); + + f_shutdown_helper(); +} + testcase TC_ctrl() runs on test_CT { var charstring ctrl_resp; @@ -9846,6 +9913,9 @@ /* CTRL interface testing */ execute( TC_ctrl_msc_connection_status() ); execute( TC_ctrl_msc0_connection_status() ); + execute( TC_stat_num_msc_connected_1() ); + execute( TC_stat_num_msc_connected_2() ); + execute( TC_stat_num_msc_connected_3() ); execute( TC_ctrl() ); if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { execute( TC_ctrl_location() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I178dcf4516606aa561d47b06061b8a416d3c40cf Gerrit-Change-Number: 25228 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Tue Aug 24 08:42:02 2021 From: noreply at opensuse.org (OBS Notification) Date: Tue, 24 Aug 2021 08:42:02 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6124b0e4c25cc_68f62af0cd8ce5f4298245@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/osmo-mgw failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: [ 168s] [432/478] installing python3-docutils-0.16+dfsg-3 [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst-buildhtml to provide /usr/bin/rst-buildhtml (rst-buildhtml) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2html to provide /usr/bin/rst2html (rst2html) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2html4 to provide /usr/bin/rst2html4 (rst2html4) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2html5 to provide /usr/bin/rst2html5 (rst2html5) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2latex to provide /usr/bin/rst2latex (rst2latex) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2man to provide /usr/bin/rst2man (rst2man) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2odt to provide /usr/bin/rst2odt (rst2odt) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2odt_prepstyles to provide /usr/bin/rst2odt_prepstyles (rst2odt_prepstyles) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2pseudoxml to provide /usr/bin/rst2pseudoxml (rst2pseudoxml) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2s5 to provide /usr/bin/rst2s5 (rst2s5) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2xetex to provide /usr/bin/rst2xetex (rst2xetex) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rst2xml to provide /usr/bin/rst2xml (rst2xml) in auto mode [ 168s] update-alternatives: using /usr/share/docutils/scripts/python3/rstpep2html to provide /usr/bin/rstpep2html (rstpep2html) in auto mode [ 169s] [433/478] installing python3-reportlab-3.5.47-1 [ 170s] [434/478] installing texlive-plain-generic-2020.20200804-3 [ 173s] Processing triggers for tex-common (6.15) ... [ 173s] Running mktexlsr. This may take some time... done. [ 173s] Processing triggers for install-info (6.7.0.dfsg.2-5) ... [ 173s] install-info: warning: no info dir entry in `/usr/share/info/automake-history.info.gz' [ 173s] [435/478] installing libosmo-netif-dev-1.1.0.202108240027 [ 173s] [436/478] installing texlive-latex-base-2020.20200804-2 [28982s] qemu-kvm: terminating on signal 15 from pid 9505 () Job seems to be stuck here, killed. (after 28800 seconds of inactivity) [28982s] ### VM INTERACTION END ### [28982s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [28982s] or the build host has a kernel or hardware problem... -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Tue Aug 24 08:57:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 08:57:11 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: (1 comment) Other than the comment regarding the macro, everything LGTM. https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 736 PS1, Line 736: CTRL_CMD_DEFINE(stat_item, "stat_item *"); IIRC there's a specific macro to define readonly commands, so you don't need to specify dummy get functions and so on. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 08:57:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 08:59:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 08:59:43 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 734 PS1, Line 734: * stat_item.(last|...).group_name.N.item_name stat_item groups can also be identified by a name since recently. It may be worth adding a way to fetch them by name instead of by index too: stat_item.(last|...)..by_name.. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 08:59:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:04:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:04:02 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c at 3328 PS1, Line 3328: DEFUN(msc_bssmap_reset, msc_bssmap_reset_cmd, Shouldn't this have attributes like hidden or expert or whatever? https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c File src/osmo-bsc/bssmap_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c at 248 PS1, Line 248: /* Immediately (1ms) kick off reset sending mechanism */ why 1ms and not 0? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 09:04:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:08:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:08:13 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/bsc_init.c at 50 PS1, Line 50: [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, Please better align the counter name strings so they appear at same position in line. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 09:08:13 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:09:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:09:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reset MSC link stati in f_init() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 ) Change subject: bsc: reset MSC link stati in f_init() ...................................................................... Patch Set 1: (1 comment) Do we really need this for all tests? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227/1//COMMIT_MSG at 7 PS1, Line 7: bsc: reset MSC link stati in f_init() stati? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 Gerrit-Change-Number: 25227 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 09:09:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:12:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:12:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_msc_connected* tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 ) Change subject: bsc: add TC_stat_num_msc_connected* tests ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228/1/bsc/BSC_Tests.ttcn File bsc/BSC_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228/1/bsc/BSC_Tests.ttcn at 2786 PS1, Line 2786: f_init(nr_bts := 1, handler_mode := true, nr_msc := 3); You can put all this into 1 function where you pass parameters: foobar(3, f_tc_stat_num_msc_connected_3) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I178dcf4516606aa561d47b06061b8a416d3c40cf Gerrit-Change-Number: 25228 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 09:12:34 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:34:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:34:11 +0000 Subject: Change in osmo-msc[master]: cosmetic: fix duplicated word in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25229 ) Change subject: cosmetic: fix duplicated word in comment ...................................................................... cosmetic: fix duplicated word in comment Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 --- M src/libmsc/sgs_iface.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/29/25229/1 diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 1dfbace..8ea39d0 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -364,7 +364,7 @@ return 0; } -/* Called by VLR via callback, transmits the the location update response or +/* Called by VLR via callback, transmits the location update response or * reject, depending on the outcome of the location update. */ static void sgs_tx_loc_upd_resp_cb(struct sgs_lu_response *response) { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 Gerrit-Change-Number: 25229 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:42:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:42:30 +0000 Subject: Change in osmo-msc[master]: cosmetic: fix typos in comments In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 to look at the new patch set (#2). Change subject: cosmetic: fix typos in comments ...................................................................... cosmetic: fix typos in comments Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 --- M src/libmsc/sgs_iface.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/29/25229/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 Gerrit-Change-Number: 25229 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 09:51:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 09:51:05 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25230 ) Change subject: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state ...................................................................... vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state Set order of states in the same order as they appear in the specs (see chapter 4.2.2 mentioned above the enum). Furthermore, from FSM state transition point of view it also makes sense to put them in this new order, since one should pass through SGS_UE_ST_LA_UPD_PRES to get to SGS_UE_ST_ASSOCIATED. Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e --- M include/osmocom/msc/vlr_sgs.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/30/25230/1 diff --git a/include/osmocom/msc/vlr_sgs.h b/include/osmocom/msc/vlr_sgs.h index 1a4984d..05e062b 100644 --- a/include/osmocom/msc/vlr_sgs.h +++ b/include/osmocom/msc/vlr_sgs.h @@ -32,8 +32,8 @@ /* See also 3GPP TS 29.118, chapter 4.2.2 States at the VLR */ enum sgs_ue_fsm_state { SGS_UE_ST_NULL, - SGS_UE_ST_ASSOCIATED, SGS_UE_ST_LA_UPD_PRES, + SGS_UE_ST_ASSOCIATED, }; enum vlr_sgs_state_tmr { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e Gerrit-Change-Number: 25230 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:25:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 10:25:48 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25231 ) Change subject: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync ...................................................................... vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a --- M src/libvlr/vlr_auth_fsm.c 1 file changed, 3 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/31/25231/1 diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c index 1cacbce..a6b5cd2 100644 --- a/src/libvlr/vlr_auth_fsm.c +++ b/src/libvlr/vlr_auth_fsm.c @@ -438,7 +438,9 @@ switch (event) { case VLR_AUTH_E_HLR_SAI_ACK: vlr_subscr_update_tuples(vsub, gsup); - goto pass; + osmo_fsm_inst_state_chg(fi, VLR_SUB_AS_WAIT_RESP_RESYNC, + vlr_timer(vsub->vlr, 3260), 3260); + _vlr_subscr_authenticate(fi); break; case VLR_AUTH_E_HLR_SAI_NACK: auth_fsm_term(fi, @@ -447,12 +449,6 @@ : GSM48_REJECT_NETWORK_FAILURE); break; } - - return; -pass: - osmo_fsm_inst_state_chg(fi, VLR_SUB_AS_WAIT_RESP_RESYNC, - vlr_timer(vsub->vlr, 3260), 3260); - _vlr_subscr_authenticate(fi); } /* Waiting for AUTH RESP from MS (re-sync case) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a Gerrit-Change-Number: 25231 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:50:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:50:01 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run gen_makefile.py with --no-make-check References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25232 ) Change subject: ttcn3.sh: run gen_makefile.py with --no-make-check ...................................................................... ttcn3.sh: run gen_makefile.py with --no-make-check On my system, when building all components in docker, some of the C tests don't pass (but they do pass on jenkins.osmocom.org, which runs a similar setup). Do the easy workaround and just disable C tests, the point of ttcn3.sh is to have fast ttcn-3 test iterations anyway, running the C tests additionally slow each iteration down. One can run the C tests before submitting changes, e.g. by building with osmo-dev without ttcn3.sh. Change-Id: I946635f1ec09f23428965f3db514027f64921fe4 --- M ttcn3/ttcn3.sh 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/32/25232/1 diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 20d6184..72a258c 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -118,7 +118,8 @@ ttcn3/ttcn3.opts \ --docker-cmd "$docker_cmd" \ --make-dir "$DIR_MAKE" \ - --no-ldconfig + --no-ldconfig \ + --no-make-check } # $1: name of repository (e.g. osmo-ttcn3-hacks) -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I946635f1ec09f23428965f3db514027f64921fe4 Gerrit-Change-Number: 25232 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:50:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:50:02 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: drop argument for deps file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25233 ) Change subject: gen_makefile.py: drop argument for deps file ...................................................................... gen_makefile.py: drop argument for deps file Rename 3G+2G.deps to all.deps and remove the parameter from gen_makefile.py. Create new Makefile targets for the various use cases, usually we build either 'cn-bsc' or 'usrp'. The next patch will add more projects to all.deps. This change brings the Makefile logic closer to how it is actually used, one build directory that is building most Osmocom projects. New projects can be added to all.deps on demand, but then we have it in the repository and not just a local change that we add temporarily to the 3G+2G.deps file when we need to build a specific project. Extend all.deps with projects needed by ttcn3.sh, so it doesn't need to write its custom .deps file anymore. Change-Id: I6394882f67eecda3d2c03a97d3119657f7d3873f --- D 2G.deps M README R all.deps M gen_makefile.py M ttcn3/ttcn3.sh 5 files changed, 73 insertions(+), 62 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/33/25233/1 diff --git a/2G.deps b/2G.deps deleted file mode 100644 index c090b6e..0000000 --- a/2G.deps +++ /dev/null @@ -1,18 +0,0 @@ -# project build these first -libosmocore -libosmo-abis libosmocore -libosmo-netif libosmo-abis -libosmo-sccp libosmo-netif -libsmpp34 -osmo-ggsn libosmocore -osmo-hlr libosmo-abis -osmo-mgw libosmo-netif -osmo-msc libosmo-sccp osmo-mgw libsmpp34 osmo-hlr -osmo-bsc libosmo-sccp osmo-mgw -osmo-sgsn libosmo-sccp osmo-ggsn osmo-hlr -osmo-sip-connector libosmocore -osmo-smlc libosmo-sccp -# osmo-trx can build with --enable-sanitize, but then won't work reliably. -# When omitting --enable-sanitize from osmo-trx only, its 'make check' will fail. -# So if you want osmo-trx, uncomment and use no sanitize.opts, or use LD_PRELOAD for osmo-trx binaries. -#osmo-trx libosmocore diff --git a/README b/README index 7e34680..ac77424 100644 --- a/README +++ b/README @@ -15,7 +15,7 @@ libdbd-sqlite3 libsqlite3-dev libpcap-dev libc-ares-dev libgnutls28-dev \ libsctp-dev sqlite3 -./gen_makefile.py 3G+2G.deps default.opts iu.opts -I -m make +./gen_makefile.py default.opts iu.opts -I -m make cd make make @@ -40,29 +40,39 @@ The idea is to have all your Osmocom git clones in ./src, while keeping one or more separate build trees in ./make-*. -Run ./gen_makefile.py with a choice of projects (2G only or also 3G?) -and a choice of configure options. +Run ./gen_makefile.py with a choice of choice of configure options. Examples: -Full 2G and 3G support: +CN with full 2G and 3G support: - ./gen_makefile.py 3G+2G.deps default.opts iu.opts -m make + ./gen_makefile.py default.opts iu.opts -m make cd make - make + make cn -2G only, and a custom dir name of 'make-2G': +Other make targets exist for specific use cases: - ./gen_makefile.py 2G.deps default.opts -m make-2G - cd make-2G - make + - 'usrp': + Build the CN, OsmoBSC, OsmoBTS and OsmoTRX (default, e.g. when connecting + to an USRP) + + - 'cn-bsc': + Build the CN and OsmoBSC (e.g. when connecting to an external sysmoBTS) + + - 'osmo-msc': + Build only the OsmoMSC project and its dependencies (this can be used for + any project in all.deps). + + - '.make.osmo-ttcn3-hacks.clone' + Clone the osmo-ttcn3-hacks git repository (it cannot be built by osmo-dev, + but cloning it is still useful.) If you make modifications in one of the source trees, this Makefile will pick -it up, rebuild the project and also rebuild all dependencies (according to the -*.deps file the Makefile was generated from). +it up, rebuild the project and also rebuild all dependencies (according to +all.deps). -If you modify the *.deps or *.opts file, you can easily run 'make regen' in a +If you modify the all.deps or *.opts file, you can easily run 'make regen' in a make-* subdir to regenerate the Makefile from the same files. In your make-* subdir there are empty status files that are touched for every @@ -72,7 +82,7 @@ For example, if you 'rm .make.libosmocore.autoconf', libosmocore and all projects depending on libosmocore will be rebuilt from scratch. -For more details on the *.opts and *.deps syntax, read the docs at the top of +For more details on the *.opts and all.deps syntax, read the docs at the top of ./gen_makefile.py. It is also easily possible to keep sources and build trees in various diff --git a/3G+2G.deps b/all.deps similarity index 75% rename from 3G+2G.deps rename to all.deps index b4372fd..26e0cf4 100644 --- a/3G+2G.deps +++ b/all.deps @@ -17,5 +17,10 @@ osmo-smlc libosmo-sccp # osmo-trx can build with --enable-sanitize, but then won't work reliably. # When omitting --enable-sanitize from osmo-trx only, its 'make check' will fail. -# So if you want osmo-trx, uncomment and use no sanitize.opts, or use LD_PRELOAD for osmo-trx binaries. -#osmo-trx libosmocore +# So if you want osmo-trx, use no sanitize.opts, or use LD_PRELOAD for osmo-trx binaries. +osmo-trx libosmocore +osmo-pcu libosmocore + +# can only clone these +docker-playground +osmo-ttcn3-hacks diff --git a/gen_makefile.py b/gen_makefile.py index 81d41e7..8ed44f2 100755 --- a/gen_makefile.py +++ b/gen_makefile.py @@ -2,20 +2,19 @@ ''' Generate a top-level makefile that builds the Osmocom 2G + 3G network components. - ./gen_makefile.py projects.deps [configure.opts [more.opts]] [-o Makefile.output] + ./gen_makefile.py [configure.opts [more.opts]] [-o Makefile.output] Configured by text files: - *.deps: whitespace-separated listing of + all.deps: whitespace-separated listing of project_name depends_on_project_1 depends_on_project_2 ... *.opts: whitespace-separated listing of project_name --config-opt-1 --config-opt-2 ... Thus it is possible to choose between e.g. -- 2G+3G or 2G-only by picking a different projects_and_deps.conf, -- and between building each of those with or without mgcp transcoding support - by picking a different configure_opts.conf. +- building each of those with or without mgcp transcoding support by adding or + removing "transcoding.opts" from the command line From the Makefile nature, the dependencies extend, no need to repeat common deps. @@ -41,7 +40,7 @@ EXAMPLE: - ./gen_makefile.py 3G+2G.deps default.opts iu.opts -I -m build + ./gen_makefile.py default.opts iu.opts -I -m build cd build make @@ -51,12 +50,10 @@ import os import argparse +topdir = os.path.dirname(os.path.realpath(__file__)) +all_deps_file = os.path.join(topdir, "all.deps") parser = argparse.ArgumentParser(epilog=__doc__, formatter_class=argparse.RawTextHelpFormatter) -parser.add_argument('projects_and_deps_file', - help='''Config file containing projects to build and -dependencies between those''') - parser.add_argument('configure_opts_files', help='''Config file containing project name and ./configure options''', @@ -64,7 +61,7 @@ parser.add_argument('-m', '--make-dir', dest='make_dir', help='''Place Makefile in this dir (default: create -a new dir named after deps and opts files).''') +a new dir named after opts files).''') parser.add_argument('-s', '--src-dir', dest='src_dir', default='./src', help='Parent dir for all git clones.') @@ -242,18 +239,20 @@ ) -projects_deps = read_projects_deps(args.projects_and_deps_file) +projects_deps = read_projects_deps(all_deps_file) configure_opts = listdict() configure_opts_files = sorted(args.configure_opts_files or []) for configure_opts_file in configure_opts_files: + if configure_opts_file.endswith(".deps"): + print(f"WARNING: using {all_deps_file} instead of {configure_opts_file}") + continue r = read_configure_opts(configure_opts_file) configure_opts.extend_dict(read_configure_opts(configure_opts_file)) make_dir = args.make_dir if not make_dir: - deps_name = args.projects_and_deps_file.replace('.deps', '') opts_names = '+'.join([f.replace('.opts', '') for f in configure_opts_files]) - make_dir = 'make-%s-%s' % (deps_name, opts_names) + make_dir = 'make-3G+2G-%s' % opts_names if not os.path.isdir(make_dir): os.makedirs(make_dir) @@ -268,9 +267,36 @@ with open(output, 'w') as out: out.write('# This Makefile was generated by %s\n' % os.path.basename(sys.argv[0])) + configure_opts_args = "" + for f in configure_opts_files: + if not f.endswith(".deps"): + configure_opts_args += f' \\\n\t\t{os.path.relpath(f, make_dir)}' + # convenience: add a regen target that updates the generated makefile itself out.write(r''' -default: all +default: usrp + +cn: \ + osmo-ggsn \ + osmo-hlr \ + osmo-iuh \ + osmo-mgw \ + osmo-msc \ + osmo-sgsn \ + osmo-sip-connector \ + osmo-smlc \ + $(NULL) + +cn-bsc: \ + cn \ + osmo-bsc \ + $(NULL) + +usrp: \ + cn-bsc \ + osmo-bts \ + osmo-trx \ + $(NULL) .PHONY: all_debug all_debug: @@ -281,7 +307,6 @@ .PHONY: regen regen: {script} \ - {projects_and_deps} \ {configure_opts} \ -m {make_dir} \ -o {makefile} \ @@ -291,8 +316,7 @@ '''.format( script=os.path.relpath(sys.argv[0], make_dir), - projects_and_deps=os.path.relpath(args.projects_and_deps_file, make_dir), - configure_opts=' \\\n\t\t'.join([os.path.relpath(f, make_dir) for f in configure_opts_files]), + configure_opts=configure_opts_args, make_dir='.', makefile=args.output, src_dir=os.path.relpath(args.src_dir, make_dir), diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 72a258c..657c8dc 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -95,20 +95,10 @@ setup_dir_make() { cd "$DIR_OSMODEV" - ( echo "# Generated by ttcn3.sh, do not edit" - cat ./3G+2G.deps - echo - echo "osmo-bts libosmocore libosmo-abis" - echo "osmo-pcu libosmocore" - # just clone these, building is handled by ttcn3.sh - echo "docker-playground" - echo "osmo-ttcn3-hacks" ) > ttcn3/3G+2G_ttcn3.deps - local docker_cmd="$DIR_OSMODEV/ttcn3/scripts/docker_configure_make.sh" docker_cmd="$docker_cmd $USER/$DOCKER_IMG_BUILD" ./gen_makefile.py \ - ttcn3/3G+2G_ttcn3.deps \ default.opts \ iu.opts \ no_systemd.opts \ -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I6394882f67eecda3d2c03a97d3119657f7d3873f Gerrit-Change-Number: 25233 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:50:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:50:02 +0000 Subject: Change in osmo-dev[master]: all.deps: add asn1c, osmo-gbproxy, osmo-pcap References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/25234 ) Change subject: all.deps: add asn1c, osmo-gbproxy, osmo-pcap ...................................................................... all.deps: add asn1c, osmo-gbproxy, osmo-pcap Change-Id: Ic9f57d454d245631b24c9c8c14a8ea806587b33b --- M all.deps 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/34/25234/1 diff --git a/all.deps b/all.deps index 26e0cf4..65bdf27 100644 --- a/all.deps +++ b/all.deps @@ -20,6 +20,9 @@ # So if you want osmo-trx, use no sanitize.opts, or use LD_PRELOAD for osmo-trx binaries. osmo-trx libosmocore osmo-pcu libosmocore +asn1c libasn1c +osmo-gbproxy libosmocore +osmo-pcap libosmocore # can only clone these docker-playground -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ic9f57d454d245631b24c9c8c14a8ea806587b33b Gerrit-Change-Number: 25234 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:50:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:50:46 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run gen_makefile.py with --no-make-check In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25232 ) Change subject: ttcn3.sh: run gen_makefile.py with --no-make-check ...................................................................... Patch Set 1: Verified+1 Code-Review+2 as discussed with Neels, since I'm the only user of ttcn3.sh, merging directly. -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I946635f1ec09f23428965f3db514027f64921fe4 Gerrit-Change-Number: 25232 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 24 Aug 2021 10:50:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:50:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:50:52 +0000 Subject: Change in osmo-dev[master]: ttcn3.sh: run gen_makefile.py with --no-make-check In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25232 ) Change subject: ttcn3.sh: run gen_makefile.py with --no-make-check ...................................................................... ttcn3.sh: run gen_makefile.py with --no-make-check On my system, when building all components in docker, some of the C tests don't pass (but they do pass on jenkins.osmocom.org, which runs a similar setup). Do the easy workaround and just disable C tests, the point of ttcn3.sh is to have fast ttcn-3 test iterations anyway, running the C tests additionally slow each iteration down. One can run the C tests before submitting changes, e.g. by building with osmo-dev without ttcn3.sh. Change-Id: I946635f1ec09f23428965f3db514027f64921fe4 --- M ttcn3/ttcn3.sh 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/ttcn3/ttcn3.sh b/ttcn3/ttcn3.sh index 20d6184..72a258c 100755 --- a/ttcn3/ttcn3.sh +++ b/ttcn3/ttcn3.sh @@ -118,7 +118,8 @@ ttcn3/ttcn3.opts \ --docker-cmd "$docker_cmd" \ --make-dir "$DIR_MAKE" \ - --no-ldconfig + --no-ldconfig \ + --no-make-check } # $1: name of repository (e.g. osmo-ttcn3-hacks) -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: I946635f1ec09f23428965f3db514027f64921fe4 Gerrit-Change-Number: 25232 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 10:56:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 10:56:56 +0000 Subject: Change in osmo-dev[master]: gen_makefile.py: add make rules for all projects In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25098 ) Change subject: gen_makefile.py: add make rules for all projects ...................................................................... Patch Set 2: new version: https://gerrit.osmocom.org/c/osmo-dev/+/25233/1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25098 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ibb932f36a9f97d6e9f3d69f4ce63b738fbb640fe Gerrit-Change-Number: 25098 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Assignee: neels Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 10:56:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 11:11:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 11:11:39 +0000 Subject: Change in osmo-dev[master]: all.deps: add asn1c, osmo-gbproxy, osmo-pcap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/25234 ) Change subject: all.deps: add asn1c, osmo-gbproxy, osmo-pcap ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/25234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ic9f57d454d245631b24c9c8c14a8ea806587b33b Gerrit-Change-Number: 25234 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 11:11:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 12:17:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 12:17:15 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25235 ) Change subject: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach ...................................................................... vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach it was recently observed in a pcap trace with gsmtap_log that the use_count contained a "vlr_sgs_imsi_detach" item despite no related message was seen near by. Further investigation shows that there's an unbalanced get+put code path, introduced by an early return added to fix another issue. Fixes: 0803d88d9aa6ff36896fbde218018db3bea61dc7 Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 --- M src/libvlr/vlr_sgs.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/35/25235/1 diff --git a/src/libvlr/vlr_sgs.c b/src/libvlr/vlr_sgs.c index 5659886..6421581 100644 --- a/src/libvlr/vlr_sgs.c +++ b/src/libvlr/vlr_sgs.c @@ -148,8 +148,10 @@ /* See also: 3GPP TS 29.118, 5.6.3 Procedures in the VLR: In case of * an implicit detach, we are supposed to check if the state of the * SGs-association, and only when it is not SGs-NULL, we may proceed. */ - if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS) + if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS) { + vlr_subscr_put(vsub, __func__); return; + } switch (type) { case SGSAP_ID_NONEPS_T_EXPLICIT_UE_NONEPS: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 Gerrit-Change-Number: 25235 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 12:59:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 12:59:34 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach In-Reply-To: References: Message-ID: Hello Jenkins Builder, neels, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 to look at the new patch set (#2). Change subject: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach ...................................................................... vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach it was recently observed in a pcap trace with gsmtap_log that the use_count contained a "vlr_sgs_imsi_detach" item despite no related message was seen near by. Further investigation shows that there's an unbalanced get+put code path, introduced by an early return added to fix another issue. related: SYS#5337 Fixes: 0803d88d9aa6ff36896fbde218018db3bea61dc7 Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 --- M src/libvlr/vlr_sgs.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/35/25235/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 Gerrit-Change-Number: 25235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 12:59:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 12:59:35 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25236 ) Change subject: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update ...................................................................... vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update During a recent pcap trace, it was spotted that subscriber coming from SGs had a use count with 16 "SGs" items, and later it incremented to 17. Further investigation shows that the related use_count item was never decreased, meaning every time an SGs-LU was sent by the MME, the item was incremented further and never decremented. Let's rename the item to be referenced while in LU, and then decremented when LU is done. At that time, either the LU was accepted and the subscriber object has a use_count item "attached", or it was rejected and we already sent the reject messages, so we are fine deleting it if needed. Related: SYS#5337 Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 --- M include/osmocom/msc/vlr_sgs.h M src/libvlr/vlr_sgs.c 2 files changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/36/25236/1 diff --git a/include/osmocom/msc/vlr_sgs.h b/include/osmocom/msc/vlr_sgs.h index 05e062b..7231449 100644 --- a/include/osmocom/msc/vlr_sgs.h +++ b/include/osmocom/msc/vlr_sgs.h @@ -26,7 +26,7 @@ struct vlr_subscr; struct vlr_instance; -#define VSUB_USE_SGS "SGs" +#define VSUB_USE_SGS_LU "SGs-lu" #define VSUB_USE_SGS_PAGING_REQ "SGs-paging-req" /* See also 3GPP TS 29.118, chapter 4.2.2 States at the VLR */ diff --git a/src/libvlr/vlr_sgs.c b/src/libvlr/vlr_sgs.c index 6421581..61db585 100644 --- a/src/libvlr/vlr_sgs.c +++ b/src/libvlr/vlr_sgs.c @@ -83,7 +83,7 @@ OSMO_ASSERT(cfg); OSMO_ASSERT(imsi); - vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, VSUB_USE_SGS, NULL); + vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, VSUB_USE_SGS_LU, NULL); if (!vsub) { LOGP(DSGS, LOGL_ERROR, "VLR subscriber allocation failed\n"); return -EINVAL; @@ -119,6 +119,9 @@ { osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_TX_LU_ACCEPT, NULL); + /* Balance vlr_subscr_find_or_create_by_imsi() in vlr_sgs_loc_update() */ + vlr_subscr_put(vsub, VSUB_USE_SGS_LU); + /* FIXME: At this point we need to check the status of Ts5 and if * it is still running this means the LU has interrupted the paging, * and we need to start paging again. 3GPP TS 29.118, @@ -130,6 +133,8 @@ void vlr_sgs_loc_update_rej_sent(struct vlr_subscr *vsub) { osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_TX_LU_REJECT, NULL); + /* Balance vlr_subscr_find_or_create_by_imsi() in vlr_sgs_loc_update() */ + vlr_subscr_put(vsub, VSUB_USE_SGS_LU); } /*! Perform an SGs IMSI detach. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 Gerrit-Change-Number: 25236 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:26:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:26:58 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25236 ) Change subject: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 Gerrit-Change-Number: 25236 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 24 Aug 2021 13:26:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:27:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:27:39 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25235 ) Change subject: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 Gerrit-Change-Number: 25235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Comment-Date: Tue, 24 Aug 2021 13:27:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:38:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:38:20 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c at 3328 PS1, Line 3328: DEFUN(msc_bssmap_reset, msc_bssmap_reset_cmd, > Shouldn't this have attributes like hidden or expert or whatever? I do not see any problem with this. If someone wants to use this to test something - fine. https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c File src/osmo-bsc/bssmap_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c at 248 PS1, Line 248: /* Immediately (1ms) kick off reset sending mechanism */ > why 1ms and not 0? Maybe because I did it the same way in bssmap_reset_alloc(). I don't remember what the reason for this was, probably just a random choice. I think it would work with 0ms just as well. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 13:38:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:44:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:44:11 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25231 ) Change subject: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a Gerrit-Change-Number: 25231 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 24 Aug 2021 13:44:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:53:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:53:47 +0000 Subject: Change in osmo-msc[master]: cosmetic: fix typos in comments In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25229 ) Change subject: cosmetic: fix typos in comments ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 Gerrit-Change-Number: 25229 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 24 Aug 2021 13:53:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 13:55:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 24 Aug 2021 13:55:22 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25230 ) Change subject: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e Gerrit-Change-Number: 25230 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 24 Aug 2021 13:55:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:25:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 14:25:07 +0000 Subject: Change in osmo-msc[master]: cosmetic: fix typos in comments In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25229 ) Change subject: cosmetic: fix typos in comments ...................................................................... cosmetic: fix typos in comments Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 --- M src/libmsc/sgs_iface.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/src/libmsc/sgs_iface.c b/src/libmsc/sgs_iface.c index 1dfbace..ad73289 100644 --- a/src/libmsc/sgs_iface.c +++ b/src/libmsc/sgs_iface.c @@ -364,7 +364,7 @@ return 0; } -/* Called by VLR via callback, transmits the the location update response or +/* Called by VLR via callback, transmits the location update response or * reject, depending on the outcome of the location update. */ static void sgs_tx_loc_upd_resp_cb(struct sgs_lu_response *response) { @@ -1022,8 +1022,8 @@ OSMO_STRLCPY_ARRAY(imsi, mi.imsi); } - /* Some messages contain an MME-NAME as mandatore IE, parse it right here. The - * MME-NAME is als immediately registered with the sgc, so it will be implicitly + /* Some messages contain an MME-NAME as mandatory IE, parse it right here. The + * MME-NAME is also immediately registered with the sgc, so it will be implicitly * known to all functions that have access to the sgc context. */ if (!TLVP_PRESENT(&tp, SGSAP_IE_MME_NAME) && (msg_type == SGSAP_MSGT_RESET_IND || msg_type == SGSAP_MSGT_RESET_ACK -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 Gerrit-Change-Number: 25229 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:25:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:25:13 +0000 Subject: Change in osmo-msc[master]: cosmetic: fix typos in comments In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25229 ) Change subject: cosmetic: fix typos in comments ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I89e8eba379f83bcf3061601b02af9f10dbca0f22 Gerrit-Change-Number: 25229 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 14:25:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:26:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:26:44 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25230 ) Change subject: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e Gerrit-Change-Number: 25230 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 24 Aug 2021 14:26:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:27:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:27:38 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25231 ) Change subject: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a Gerrit-Change-Number: 25231 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 24 Aug 2021 14:27:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:29:35 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25235 ) Change subject: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 Gerrit-Change-Number: 25235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 24 Aug 2021 14:29:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:36:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:36:38 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25236 ) Change subject: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 Gerrit-Change-Number: 25236 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 24 Aug 2021 14:36:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 14:57:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 24 Aug 2021 14:57:28 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: LGTM besides what Pau noted -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 14:57:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 15:50:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 24 Aug 2021 15:50:49 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... l1sap/gsmtap: Don't log UI fill frames [zero information field] When generating GSMTAP, we are already suppressing generation for fill frames on PCH and AGCH. Let's expand that also to dedicated channels SDCCH, TCH/F and TCH/H. The fill frames just clog up the logs without providing much benefit. SACCH is still being logged, as it contains SI or MEAS REP, so every active channel still sees GSMTAP traffic every 480ms (SACCH interval). Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/37/25237/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c028a2c..3b225c2 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -474,6 +474,9 @@ switch (chan_type) { case GSMTAP_CHANNEL_AGCH: + case GSMTAP_CHANNEL_SDCCH: + case GSMTAP_CHANNEL_TCH_F: + case GSMTAP_CHANNEL_TCH_H: if (!memcmp(data, fill_frame, GSM_MACBLOCK_LEN)) return true; break; @@ -481,6 +484,7 @@ if (!memcmp(data, paging_fill, GSM_MACBLOCK_LEN)) return true; break; + /* FIXME: implement the same for GSMTAP_CHANNEL_PDTCH from/to PCU */ /* don't use 'default' case here as the above only conditionally return true */ } return false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 16:08:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 24 Aug 2021 16:08:43 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 16:08:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 24 16:19:04 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Tue, 24 Aug 2021 16:19:04 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 24 Aug 2021 16:19:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 08:23:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 08:23:48 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 734 PS1, Line 734: * stat_item.(last|...).group_name.N.item_name > stat_item groups can also be identified by a name since recently. [?] The code below does not allow to fetch the stat items by name? https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 736 PS1, Line 736: CTRL_CMD_DEFINE(stat_item, "stat_item *"); > IIRC there's a specific macro to define readonly commands, so you don't need to specify dummy get fu [?] That should be CTRL_CMD_DEFINE_RO(), it is also used in osmo-bsc bsc_ctrl_commands.c -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 08:23:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 08:25:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 08:25:06 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 08:25:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 08:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 08:30:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reset MSC link stati in f_init() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 ) Change subject: bsc: reset MSC link stati in f_init() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 Gerrit-Change-Number: 25227 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 08:30:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:06:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:06:20 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 734 PS1, Line 734: * stat_item.(last|...).group_name.N.item_name > The code below does not allow to fetch the stat items by name? The counter itself yes of course, but not the counter group. See my example above. Right now, an index for the counter group is expected, as looked up by osmo_stat_item_get_group_by_name_idx(). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 10:06:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:14:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:14:37 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25230 ) Change subject: vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state ...................................................................... vlr_sgs.h: Set proper logic order of items in enum sgs_ue_fsm_state Set order of states in the same order as they appear in the specs (see chapter 4.2.2 mentioned above the enum). Furthermore, from FSM state transition point of view it also makes sense to put them in this new order, since one should pass through SGS_UE_ST_LA_UPD_PRES to get to SGS_UE_ST_ASSOCIATED. Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e --- M include/osmocom/msc/vlr_sgs.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/include/osmocom/msc/vlr_sgs.h b/include/osmocom/msc/vlr_sgs.h index 1a4984d..05e062b 100644 --- a/include/osmocom/msc/vlr_sgs.h +++ b/include/osmocom/msc/vlr_sgs.h @@ -32,8 +32,8 @@ /* See also 3GPP TS 29.118, chapter 4.2.2 States at the VLR */ enum sgs_ue_fsm_state { SGS_UE_ST_NULL, - SGS_UE_ST_ASSOCIATED, SGS_UE_ST_LA_UPD_PRES, + SGS_UE_ST_ASSOCIATED, }; enum vlr_sgs_state_tmr { -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia9216965e9f30caedffa3cb53d14da7f7fd37b4e Gerrit-Change-Number: 25230 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:14:38 +0000 Subject: Change in osmo-msc[master]: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25231 ) Change subject: vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync ...................................................................... vlr_auth_fsm.c: Simplify function auth_fsm_wait_ai_resync Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a --- M src/libvlr/vlr_auth_fsm.c 1 file changed, 3 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c index 1cacbce..a6b5cd2 100644 --- a/src/libvlr/vlr_auth_fsm.c +++ b/src/libvlr/vlr_auth_fsm.c @@ -438,7 +438,9 @@ switch (event) { case VLR_AUTH_E_HLR_SAI_ACK: vlr_subscr_update_tuples(vsub, gsup); - goto pass; + osmo_fsm_inst_state_chg(fi, VLR_SUB_AS_WAIT_RESP_RESYNC, + vlr_timer(vsub->vlr, 3260), 3260); + _vlr_subscr_authenticate(fi); break; case VLR_AUTH_E_HLR_SAI_NACK: auth_fsm_term(fi, @@ -447,12 +449,6 @@ : GSM48_REJECT_NETWORK_FAILURE); break; } - - return; -pass: - osmo_fsm_inst_state_chg(fi, VLR_SUB_AS_WAIT_RESP_RESYNC, - vlr_timer(vsub->vlr, 3260), 3260); - _vlr_subscr_authenticate(fi); } /* Waiting for AUTH RESP from MS (re-sync case) */ -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I2070002dea18b728deef5547b4deb6166cfcab6a Gerrit-Change-Number: 25231 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:14:38 +0000 Subject: Change in osmo-msc[master]: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25235 ) Change subject: vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach ...................................................................... vlr_sgs.c: Fix missing use_count decrease in vlr_sgs_imsi_detach it was recently observed in a pcap trace with gsmtap_log that the use_count contained a "vlr_sgs_imsi_detach" item despite no related message was seen near by. Further investigation shows that there's an unbalanced get+put code path, introduced by an early return added to fix another issue. related: SYS#5337 Fixes: 0803d88d9aa6ff36896fbde218018db3bea61dc7 Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 --- M src/libvlr/vlr_sgs.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libvlr/vlr_sgs.c b/src/libvlr/vlr_sgs.c index 5659886..6421581 100644 --- a/src/libvlr/vlr_sgs.c +++ b/src/libvlr/vlr_sgs.c @@ -148,8 +148,10 @@ /* See also: 3GPP TS 29.118, 5.6.3 Procedures in the VLR: In case of * an implicit detach, we are supposed to check if the state of the * SGs-association, and only when it is not SGs-NULL, we may proceed. */ - if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS) + if (vsub->sgs_fsm->state == SGS_UE_ST_NULL && type == SGSAP_ID_NONEPS_T_IMPLICIT_UE_EPS_NONEPS) { + vlr_subscr_put(vsub, __func__); return; + } switch (type) { case SGSAP_ID_NONEPS_T_EXPLICIT_UE_NONEPS: -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I91ae956e50fca2f4d0e1d145d60ccb0ebfb409e9 Gerrit-Change-Number: 25235 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:14:38 +0000 Subject: Change in osmo-msc[master]: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25236 ) Change subject: vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update ...................................................................... vlr_sgs: Balance use_count incremented in vlr_sgs_loc_update During a recent pcap trace, it was spotted that subscriber coming from SGs had a use count with 16 "SGs" items, and later it incremented to 17. Further investigation shows that the related use_count item was never decreased, meaning every time an SGs-LU was sent by the MME, the item was incremented further and never decremented. Let's rename the item to be referenced while in LU, and then decremented when LU is done. At that time, either the LU was accepted and the subscriber object has a use_count item "attached", or it was rejected and we already sent the reject messages, so we are fine deleting it if needed. Related: SYS#5337 Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 --- M include/osmocom/msc/vlr_sgs.h M src/libvlr/vlr_sgs.c 2 files changed, 7 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve osmith: Looks good to me, approved diff --git a/include/osmocom/msc/vlr_sgs.h b/include/osmocom/msc/vlr_sgs.h index 05e062b..7231449 100644 --- a/include/osmocom/msc/vlr_sgs.h +++ b/include/osmocom/msc/vlr_sgs.h @@ -26,7 +26,7 @@ struct vlr_subscr; struct vlr_instance; -#define VSUB_USE_SGS "SGs" +#define VSUB_USE_SGS_LU "SGs-lu" #define VSUB_USE_SGS_PAGING_REQ "SGs-paging-req" /* See also 3GPP TS 29.118, chapter 4.2.2 States at the VLR */ diff --git a/src/libvlr/vlr_sgs.c b/src/libvlr/vlr_sgs.c index 6421581..61db585 100644 --- a/src/libvlr/vlr_sgs.c +++ b/src/libvlr/vlr_sgs.c @@ -83,7 +83,7 @@ OSMO_ASSERT(cfg); OSMO_ASSERT(imsi); - vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, VSUB_USE_SGS, NULL); + vsub = vlr_subscr_find_or_create_by_imsi(vlr, imsi, VSUB_USE_SGS_LU, NULL); if (!vsub) { LOGP(DSGS, LOGL_ERROR, "VLR subscriber allocation failed\n"); return -EINVAL; @@ -119,6 +119,9 @@ { osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_TX_LU_ACCEPT, NULL); + /* Balance vlr_subscr_find_or_create_by_imsi() in vlr_sgs_loc_update() */ + vlr_subscr_put(vsub, VSUB_USE_SGS_LU); + /* FIXME: At this point we need to check the status of Ts5 and if * it is still running this means the LU has interrupted the paging, * and we need to start paging again. 3GPP TS 29.118, @@ -130,6 +133,8 @@ void vlr_sgs_loc_update_rej_sent(struct vlr_subscr *vsub) { osmo_fsm_inst_dispatch(vsub->sgs_fsm, SGS_UE_E_TX_LU_REJECT, NULL); + /* Balance vlr_subscr_find_or_create_by_imsi() in vlr_sgs_loc_update() */ + vlr_subscr_put(vsub, VSUB_USE_SGS_LU); } /*! Perform an SGs IMSI detach. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: I22c386f02ffa57428f700b003cc2cf23133598d0 Gerrit-Change-Number: 25236 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 10:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 10:40:41 +0000 Subject: Change in osmo-msc[master]: cosmetic: Fix typo in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/25238 ) Change subject: cosmetic: Fix typo in comment ...................................................................... cosmetic: Fix typo in comment Change-Id: Ic167bb4e12c657f917ad4f76ef65f46753c5f7a5 --- M src/libvlr/vlr_sgs_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/38/25238/1 diff --git a/src/libvlr/vlr_sgs_fsm.c b/src/libvlr/vlr_sgs_fsm.c index af26ca4..2771cf5 100644 --- a/src/libvlr/vlr_sgs_fsm.c +++ b/src/libvlr/vlr_sgs_fsm.c @@ -226,7 +226,7 @@ /* Note: We are already in SGS_UE_ST_ASSOCIATED but the * transition that lead us here had is guarded with Ts6-1, - * wo we change the state now once more without timeout + * so we change the state now once more without timeout * to ensure the timer is stopped */ osmo_fsm_inst_state_chg(fi, SGS_UE_ST_ASSOCIATED, 0, 0); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic167bb4e12c657f917ad4f76ef65f46753c5f7a5 Gerrit-Change-Number: 25238 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:06:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 12:06:14 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 to look at the new patch set (#11). Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... osmo_bsc_main: integrate MGW pooling into osmo-bsc Since the libosmo-mgcp-client now supports MGW pooling, lets use this feature in osmo-bsc. Large RAN installations may benefit from distributing the RTP voice stream load on multiple media gateways. Depends: osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Related: SYS#5091 --- A doc/manuals/chapters/mgwpool.adoc M doc/manuals/chapters/running.adoc M doc/manuals/osmobsc-usermanual.adoc M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/vty.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/osmo_bsc_main.c M tests/handover/handover_test.c 9 files changed, 329 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/23/25123/11 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:10:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 12:10:18 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 11: (11 comments) I have fixed the manual. Unfortunately it is not possible to give the single mgcp client (MSC node) the same "rights" as the mgcp_client members in the pool would have. The single mgcp client is a fixed mgcp client that cannot be restarted/freed etc. It also has its very own VTY node. The fact that one can add a single mgcp client as fallback to the pool does not mean that it becomes a real pool member. This is only to maintain backward compatibility. While the application internally always accesses the pool the user has the impression that he can configure either an MGW under the MSC node or if necessary a pool of MGWs under the network node. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc File doc/manuals/chapters/mgwpool.adoc: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: machnies. Until osmo-mgw includes multithreading support, it may also be used ot > to Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: machnies > machines Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 7 PS10, Line 7: ot > to Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 8 PS10, Line 8: scale-out to multiple cores on a single host." > Remove character: " Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 11 PS10, Line 11: the pool will automatically assign the call to the MGW with the lowest load. > hint/idea: It may make sense to defie some "maximum call load" config or similar to vty, so one can [?] I don't know if this is possible here. In fact osmo-bsc does not know anything about the MGW capabilities. It assumes that all MGWs in the pool have the same number of endpoints and it just distrubutes the load evenly as it counts the number of active calls for each MGW. This is simple but effective. In theory it would be possible to audit the MGW capabilities via MGCP but that would require a lot of effort. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 41 PS10, Line 41: local host ip-addresses or different ports. When OsmoMGW is installed from > IP addresses Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 64 PS10, Line 64: each MGW must be different. Otherwise it won't be possible to distinguish the > should be Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 72 PS10, Line 72: calls. > do we have a vty command to avoid establishing new calls on a mgw node? (EDIT) Self-answer: yes. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/doc/manuals/chapters/mgwpool.adoc at 76 PS10, Line 76: The VTY implenets a 'show mgw-pool' command that lists the currently configured > implements Done https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/include/osmocom/bsc/gsm_data.h File include/osmocom/bsc/gsm_data.h: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/include/osmocom/bsc/gsm_data.h at 1363 PS10, Line 1363: /* Single MGCP client configuration under msc node (also required for > I would avoid maintaining different structs from previous versions. [?] I thought about doing this, but it would not work. That is due to the need for compatibility with legacy configuration. Even though the mgcp_client_conf for the single mgcp client can be registered to the pool as backup in case no members are in the pool it has not the same properties as a real pool member would have. https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25123/10/src/osmo-bsc/osmo_bsc_main.c at 890 PS10, Line 890: mgcp_client_single = mgcp_client_init(bsc_gsmnet, bsc_gsmnet->mgw.conf); > AS I said, let's rather fill the pool always from the VTY? [?] This is technically not possible due to legacy compatibility (see other comment). The pool is indeed filled from the VTY, but the normal osmo_mgcp_client does not support this. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 12:10:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:13:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 12:13:42 +0000 Subject: Change in osmo-msc[master]: cosmetic: Fix typo in comment In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25238 ) Change subject: cosmetic: Fix typo in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic167bb4e12c657f917ad4f76ef65f46753c5f7a5 Gerrit-Change-Number: 25238 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 25 Aug 2021 12:13:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:16:27 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 25 Aug 2021 12:16:27 +0000 Subject: Change in osmo-bts[master]: early IA: change default X15 timer to 0 ms In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25215 ) Change subject: early IA: change default X15 timer to 0 ms ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I95365649edd51114bcf6028f0dc3bbe4186f96d2 Gerrit-Change-Number: 25215 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 25 Aug 2021 12:16:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:25:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 12:25:17 +0000 Subject: Change in osmo-bts[master]: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24855 ) Change subject: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers ...................................................................... Patch Set 1: I have the feeling this patch can be dropped completely, and simply avoid sending DATA.req from the PCU when the PCU sees there's no need to send a block because there's no one listening on the TS. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2bf5271c4f1eaf5a975129f73091eb51cee50e57 Gerrit-Change-Number: 24855 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 12:25:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:35:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 12:35:29 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25239 ) Change subject: cosmetic: Fix typo in comment ...................................................................... cosmetic: Fix typo in comment Change-Id: I423410416e572141fc2b44c81215b8f41c13f2c6 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/39/25239/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index eb163a7..5427e52 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -470,7 +470,7 @@ pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be - * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ + * able to read USF if dl block uses GMSK (CS1-4, MCS1-4) */ if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I423410416e572141fc2b44c81215b8f41c13f2c6 Gerrit-Change-Number: 25239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:46:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 25 Aug 2021 12:46:19 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 11: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 12:46:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 12:47:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 25 Aug 2021 12:47:08 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo in comment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25239 ) Change subject: cosmetic: Fix typo in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I423410416e572141fc2b44c81215b8f41c13f2c6 Gerrit-Change-Number: 25239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 25 Aug 2021 12:47:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 13:50:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 13:50:05 +0000 Subject: Change in osmo-pcu[master]: cosmetic: Fix typo in comment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25239 ) Change subject: cosmetic: Fix typo in comment ...................................................................... cosmetic: Fix typo in comment Change-Id: I423410416e572141fc2b44c81215b8f41c13f2c6 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index eb163a7..5427e52 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -470,7 +470,7 @@ pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be - * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ + * able to read USF if dl block uses GMSK (CS1-4, MCS1-4) */ if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I423410416e572141fc2b44c81215b8f41c13f2c6 Gerrit-Change-Number: 25239 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 14:51:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 14:51:11 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS Related: SYS#4919 Related: OS#4772 Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 23 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/42/25242/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 5427e52..ff5e6bb 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -485,12 +485,29 @@ gsmtap_cat = tx_is_egprs ? PCU_GSMTAP_C_DL_DATA_EGPRS : PCU_GSMTAP_C_DL_DATA_GPRS; } - /* Prio 3: send dummy contol message */ - else if ((msg = sched_dummy())) { - /* increase counter */ - gsmtap_cat = PCU_GSMTAP_C_DL_DUMMY; - } else { - return -ENOMEM; + /* Prio 3: send dummy control message if need to poll or USF */ + else { + /* If there's no TBF attached to this PDCH, we can early skip since + * there's nothing to transmit nor to poll/USF. This way we help BTS + * energy saving (on TRX!=C0) by sending nothing instead of a + * dummy block. The early return is done here and not at the + * start of the function because the condition below + * (num_tbfs==0) may not be enough in general, for instance + * because temporary tbfs created to send Imm Ass Rej (see + * handle_tbf_reject()) don't have a TFI assigned and hence are + * not attached to the PDCH TS, so they don't show up in the + * count below. + */ + const unsigned num_tbfs = pdch->num_tbfs(GPRS_RLCMAC_DL_TBF) + + pdch->num_tbfs(GPRS_RLCMAC_UL_TBF); + if (trx != 0 && num_tbfs == 0) + return 0; + if ((msg = sched_dummy())) { + /* increase counter */ + gsmtap_cat = PCU_GSMTAP_C_DL_DUMMY; + } else { + return -ENOMEM; + } } if (tx_is_egprs && pdch->has_gprs_only_tbf_attached()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 14:52:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 14:52:00 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... Patch Set 1: Superseeds: https://gerrit.osmocom.org/c/osmo-bts/+/24855 https://gerrit.osmocom.org/c/osmo-pcu/+/24854 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 25 Aug 2021 14:52:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 14:52:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 14:52:16 +0000 Subject: Change in osmo-bts[master]: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24855 ) Change subject: Do not transmit dummy RLC/MAC blocks on non-BCCH carriers ...................................................................... Patch Set 1: Code-Review-2 Superseeded by https://gerrit.osmocom.org/c/osmo-pcu/+/25242 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24855 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I2bf5271c4f1eaf5a975129f73091eb51cee50e57 Gerrit-Change-Number: 24855 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 14:52:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 14:52:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 14:52:22 +0000 Subject: Change in osmo-pcu[master]: Indicate to the BTS whether DATA.req contains a dummy block In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/24854 ) Change subject: Indicate to the BTS whether DATA.req contains a dummy block ...................................................................... Patch Set 2: Code-Review-2 Superseeded by https://gerrit.osmocom.org/c/osmo-pcu/+/25242 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/24854 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I72c7f0f0853f2bda77c20e3ec1bcd0c7c815c750 Gerrit-Change-Number: 24854 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Assignee: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 25 Aug 2021 14:52:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 15:58:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 15:58:26 +0000 Subject: Change in osmo-msc[master]: cosmetic: Fix typo in comment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/25238 ) Change subject: cosmetic: Fix typo in comment ...................................................................... cosmetic: Fix typo in comment Change-Id: Ic167bb4e12c657f917ad4f76ef65f46753c5f7a5 --- M src/libvlr/vlr_sgs_fsm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, approved diff --git a/src/libvlr/vlr_sgs_fsm.c b/src/libvlr/vlr_sgs_fsm.c index af26ca4..2771cf5 100644 --- a/src/libvlr/vlr_sgs_fsm.c +++ b/src/libvlr/vlr_sgs_fsm.c @@ -226,7 +226,7 @@ /* Note: We are already in SGS_UE_ST_ASSOCIATED but the * transition that lead us here had is guarded with Ts6-1, - * wo we change the state now once more without timeout + * so we change the state now once more without timeout * to ensure the timer is stopped */ osmo_fsm_inst_state_chg(fi, SGS_UE_ST_ASSOCIATED, 0, 0); break; -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/25238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ic167bb4e12c657f917ad4f76ef65f46753c5f7a5 Gerrit-Change-Number: 25238 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Aug 25 17:24:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 25 Aug 2021 17:24:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... pcu: Introduce test TC_pdch_energy_saving Related: SYS#4919 Related: OS#4772 Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 51 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/25262/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 2297fb6..4446b63 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -559,7 +559,7 @@ } } -altstep as_ms_rx_fail_dummy(inout GprsMS ms, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) +altstep as_rx_fail_dummy(template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { var BTS_PDTCH_Block data_msg; [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, @@ -961,7 +961,7 @@ block_nr := nr.blk_nr)); alt { [exp_container_idx == 0] as_ms_rx_ignore_dummy(ms, nr); - [exp_container_idx > 0] as_ms_rx_fail_dummy(ms, nr); + [exp_container_idx > 0] as_rx_fail_dummy(nr); [] as_ms_rx_pkt_neighbor_cell_data(ms, exp_si, exp_container_idx, si_offset, nr, single_step); [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), tr_RLCMAC_DL_CTRL(?, ?) diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ada9ae3..6f0df06 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5945,6 +5945,53 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify TRX!=C0 don't schedule rlcmac blocks if no TBF attached to it. See OS#4772, SYS#4919 */ +testcase TC_pdch_energy_saving() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var RlcmacDlBlock dl_block; + var BTS_PDTCH_Block data_msg; + timer T; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* The 2 first TRX are enabled. */ + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (2 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 1); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + /* Verify C0 gets always dummy blocks: */ + nr := ts_TsTrxBtsNum(ts_nr := 7, trx_nr := 0, bts_nr := 0, blk_nr := 0); + f_rx_rlcmac_dl_block_exp_dummy(dl_block, nr := nr); + + /* TRX1 doesn't send dummy blocks when not needed, in order to honour energy saving: */ + nr.trx_nr := 1; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), block_nr := nr.blk_nr)); + T.start(0.5); + alt { + [] as_rx_fail_dummy(nr); + [] BTS.receive { + setverdict(fail, "Unexpected block from BTS"); + f_shutdown(__BFILE__, __LINE__); + } + [] T.timeout { + setverdict(pass); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_pcuif_suspend_active_tbf() ); @@ -6049,6 +6096,8 @@ execute( TC_rim_ran_info_req_single_rep() ); execute( TC_rim_ran_info_req_single_rep_eutran() ); execute( TC_rim_ran_info_req_single_rep_no_si() ); + + execute (TC_pdch_energy_saving() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 08:14:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 08:14:14 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... Patch Set 1: Code-Review+1 (2 comments) change makes sense, just some nitpicks regarding the comment block https://gerrit.osmocom.org/c/osmo-pcu/+/25242/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/25242/1/src/gprs_rlcmac_sched.cpp at 496 PS1, Line 496: * because temporary tbfs created to send Imm Ass Rej (see is the reason described here the only reason, or are there more? if it's the only reason, maybe shorten "in general, for instance because" to "if" to make it easier to read. https://gerrit.osmocom.org/c/osmo-pcu/+/25242/1/src/gprs_rlcmac_sched.cpp at 496 PS1, Line 496: temporary tbfs temporary temporary block flows? :) maybe "dummy TBFs" instead? handle_tbf_reject speaks of "temporary dummy TBF" -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 08:14:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 08:21:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 08:21:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... Patch Set 1: (1 comment) LGTM, but I'd split it into two patches. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262/1/pcu/GPRS_Components.ttcn File pcu/GPRS_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262/1/pcu/GPRS_Components.ttcn at 562 PS1, Line 562: altstep as_rx_fail_dummy(template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) separate logical change, I'd put this in its own commit -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 08:21:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 08:33:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 08:33:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_msc_connected* tests In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 ) Change subject: bsc: add TC_stat_num_msc_connected* tests ...................................................................... Patch Set 1: Agreed with Pau, it would be good to make this less redundant. Otherwise looks good. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I178dcf4516606aa561d47b06061b8a416d3c40cf Gerrit-Change-Number: 25228 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 08:33:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 08:40:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 08:40:53 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/a_reset.c at 81 PS1, Line 81: osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_TOTAL), 1); So this never gets decreased? But seems intentional, I guess configuration only allows to add MSCs, not to dynamically remove them? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Aug 2021 08:40:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 08:42:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 26 Aug 2021 08:42:45 +0000 Subject: Change in libosmocore[master]: CTRL: expose stat_item groups on CTRL In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25224 ) Change subject: CTRL: expose stat_item groups on CTRL ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c File src/ctrl/control_if.c: https://gerrit.osmocom.org/c/libosmocore/+/25224/1/src/ctrl/control_if.c at 734 PS1, Line 734: * stat_item.(last|...).group_name.N.item_name > The counter itself yes of course, but not the counter group. See my example above. [?] So I would be able to use trunk.0.endpoints.used, but not trunk.virtual-0.common.endpoints.used, like I did it via the normal control interface recently: http://git.osmocom.org/osmo-ttcn3-hacks/tree/mgw/MGCP_Test.ttcn#n1101 I thin it would be very useful if we could also address by the group index name. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idace66b37492fe96b2f2e133a69cac7960ca279c Gerrit-Change-Number: 25224 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 26 Aug 2021 08:42:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 10:51:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 10:51:31 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 to look at the new patch set (#2). Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS Related: SYS#4919 Related: OS#4772 Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 22 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/42/25242/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 10:55:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 10:55:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 ) Change subject: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param ...................................................................... pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param The parameter is not used, so let's drop it and rename it to make it usable without ms. Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da --- M pcu/GPRS_Components.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/25263/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 2297fb6..4446b63 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -559,7 +559,7 @@ } } -altstep as_ms_rx_fail_dummy(inout GprsMS ms, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) +altstep as_rx_fail_dummy(template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { var BTS_PDTCH_Block data_msg; [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, @@ -961,7 +961,7 @@ block_nr := nr.blk_nr)); alt { [exp_container_idx == 0] as_ms_rx_ignore_dummy(ms, nr); - [exp_container_idx > 0] as_ms_rx_fail_dummy(ms, nr); + [exp_container_idx > 0] as_rx_fail_dummy(nr); [] as_ms_rx_pkt_neighbor_cell_data(ms, exp_si, exp_container_idx, si_offset, nr, single_step); [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), tr_RLCMAC_DL_CTRL(?, ?) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da Gerrit-Change-Number: 25263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 10:57:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 10:57:44 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 10:57:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 11:19:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 11:19:37 +0000 Subject: Change in osmo-bsc[master]: doc: manual: Fix typo in text References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25264 ) Change subject: doc: manual: Fix typo in text ...................................................................... doc: manual: Fix typo in text Change-Id: I1dfe298ad9a416ea15976527463a55873db56f22 --- M doc/manuals/chapters/power_control.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/64/25264/1 diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index d456484..4d212f1 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -139,7 +139,7 @@ ==== Power control interval Having requested a transmit power level, the MS/BS power control loop may optionally -by suspended for a certain number of SACCH multiframes defined by VTY parameter +be suspended for a certain number of SACCH multiframes defined by VTY parameter `ctrl-interval`. Given that SACCH is relatively slow and transmission of a data block takes 480 ms, suspension allows an observation of the effect of one power control decision before initiating the next one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1dfe298ad9a416ea15976527463a55873db56f22 Gerrit-Change-Number: 25264 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:25:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 13:25:19 +0000 Subject: Change in libosmocore[master]: cosmetic: Fix missing space in comment References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25265 ) Change subject: cosmetic: Fix missing space in comment ...................................................................... cosmetic: Fix missing space in comment Change-Id: If0940a2e1c66c3498f5e3d6ac641029290955175 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/65/25265/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index a03b199..9f80816 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -416,7 +416,7 @@ IPAC_OSMO_EWMA_AVE, }; -/* IPAC MEAS_PREPROC AVERAGING PARAMID */ +/* IPAC MEAS_PREPROC AVERAGING PARAM ID */ enum { IPAC_RXLEV_AVE = 0, IPAC_RXQUAL_AVE, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0940a2e1c66c3498f5e3d6ac641029290955175 Gerrit-Change-Number: 25265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:43:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:43:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stats_conn_fail References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 ) Change subject: bsc: add TC_stats_conn_fail ...................................................................... bsc: add TC_stats_conn_fail Verify that stat bts.N.chan.rf_fail_sdcch works correctly. Related: SYS#4878 Change-Id: I310ea1609168bc26790875767943e0545ed05177 --- M bsc/BSC_Tests.ttcn M bsc/README.txt 2 files changed, 44 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/25266/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2471a50..6befa69 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1782,6 +1782,48 @@ f_shutdown_helper(); } +private function f_TC_stats_conn_fail(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + f_statsd_reset(); + + /* Establish SDCCH */ + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD); + f_establish_fully(ass_cmd, exp_fail); + + /* Expect stats to be 0 */ + var StatsDExpects expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 0, max := 0}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 0, max := 0} + }; + f_statsd_expect(expect); + + /* Simulate CONN FAIL IND on SDCCH */ + RSL.send(ts_ASP_RSL_UD( + ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_RADIO_LINK_FAIL), + IPAC_PROTO_RSL_TRX0)); + + /* Expect stats to be 1 */ + expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 1, max := 1}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 1, max := 1} + }; + f_statsd_expect(expect); +} +testcase TC_stats_conn_fail() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_stats_conn_fail), pars); + vc_conn.done; + + f_shutdown_helper(); +} + function f_expect_chan_rel(integer bts_nr, RslChannelNr rsl_chan_nr, boolean expect_deact_sacch := true, boolean expect_rr_chan_rel := true, @@ -10092,6 +10134,7 @@ /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); + execute( TC_stats_conn_fail() ); /* Emergency call handling (deny / allow) */ execute( TC_assignment_emerg_setup_allow() ); diff --git a/bsc/README.txt b/bsc/README.txt index aa785ad..e992dba 100644 --- a/bsc/README.txt +++ b/bsc/README.txt @@ -62,7 +62,7 @@ x no response to CHAN ACT x CONN FAIL IND from BTS -** verify counter increment of BTS_CTR_CHAN_RF_FAIL +xx verify counter increment of BTS_CTR_CHAN_RF_FAIL * no (or late?) response to RF CHAN REL * no (or late?) response to RLL RELEASE REQ x RLL messages on not-activated channels -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I310ea1609168bc26790875767943e0545ed05177 Gerrit-Change-Number: 25266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:43:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:43:56 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Cosmetic: bsc: remove outdated comment References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 ) Change subject: Cosmetic: bsc: remove outdated comment ...................................................................... Cosmetic: bsc: remove outdated comment The mentioned bug was fixed 3 years ago, and there are already lots of tests below so remove the comment. Related: OS#3182 Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f --- M bsc/BSC_Tests.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/25267/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6befa69..2b90a6e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -10131,7 +10131,6 @@ execute( TC_mscpool_no_allow_attach_valid_nri() ); } - /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); execute( TC_stats_conn_fail() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f Gerrit-Change-Number: 25267 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:46:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:46:58 +0000 Subject: Change in libosmocore[master]: cosmetic: Fix missing space in comment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25265 ) Change subject: cosmetic: Fix missing space in comment ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0940a2e1c66c3498f5e3d6ac641029290955175 Gerrit-Change-Number: 25265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 13:46:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:47:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:47:18 +0000 Subject: Change in osmo-bsc[master]: doc: manual: Fix typo in text In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25264 ) Change subject: doc: manual: Fix typo in text ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1dfe298ad9a416ea15976527463a55873db56f22 Gerrit-Change-Number: 25264 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 13:47:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:47:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:47:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 ) Change subject: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da Gerrit-Change-Number: 25263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 13:47:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 13:48:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 26 Aug 2021 13:48:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 26 Aug 2021 13:48:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 14:03:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 14:03:17 +0000 Subject: Change in libosmocore[master]: cosmetic: Fix missing space in comment In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25265 ) Change subject: cosmetic: Fix missing space in comment ...................................................................... cosmetic: Fix missing space in comment Change-Id: If0940a2e1c66c3498f5e3d6ac641029290955175 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index a03b199..9f80816 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -416,7 +416,7 @@ IPAC_OSMO_EWMA_AVE, }; -/* IPAC MEAS_PREPROC AVERAGING PARAMID */ +/* IPAC MEAS_PREPROC AVERAGING PARAM ID */ enum { IPAC_RXLEV_AVE = 0, IPAC_RXQUAL_AVE, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0940a2e1c66c3498f5e3d6ac641029290955175 Gerrit-Change-Number: 25265 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 14:03:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 14:03:20 +0000 Subject: Change in osmo-bsc[master]: doc: manual: Fix typo in text In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25264 ) Change subject: doc: manual: Fix typo in text ...................................................................... doc: manual: Fix typo in text Change-Id: I1dfe298ad9a416ea15976527463a55873db56f22 --- M doc/manuals/chapters/power_control.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index d456484..4d212f1 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -139,7 +139,7 @@ ==== Power control interval Having requested a transmit power level, the MS/BS power control loop may optionally -by suspended for a certain number of SACCH multiframes defined by VTY parameter +be suspended for a certain number of SACCH multiframes defined by VTY parameter `ctrl-interval`. Given that SACCH is relatively slow and transmission of a data block takes 480 ms, suspension allows an observation of the effect of one power control decision before initiating the next one. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1dfe298ad9a416ea15976527463a55873db56f22 Gerrit-Change-Number: 25264 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 14:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 14:05:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stats_conn_fail In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 ) Change subject: bsc: add TC_stats_conn_fail ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I310ea1609168bc26790875767943e0545ed05177 Gerrit-Change-Number: 25266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Aug 2021 14:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 14:05:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 14:05:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Cosmetic: bsc: remove outdated comment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 ) Change subject: Cosmetic: bsc: remove outdated comment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f Gerrit-Change-Number: 25267 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Aug 2021 14:05:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 14:35:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 26 Aug 2021 14:35:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stats_conn_fail In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 ) Change subject: bsc: add TC_stats_conn_fail ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I310ea1609168bc26790875767943e0545ed05177 Gerrit-Change-Number: 25266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 26 Aug 2021 14:35:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Aug 26 17:45:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 26 Aug 2021 17:45:14 +0000 Subject: Change in osmo-bts[master]: WIP: MS power loop: Take C/I into account References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25268 ) Change subject: WIP: MS power loop: Take C/I into account ...................................................................... WIP: MS power loop: Take C/I into account Related: SYS#4917 Change-Id: I5dfd8ff9ab6b499646498b507624758dcc160fb6 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/power_control.h M src/common/gsm_data.c M src/common/l1sap.c M src/common/power_control.c M tests/power/ms_power_loop_test.c M tests/power/ms_power_loop_test.err M tests/power/ms_power_loop_test.ok 8 files changed, 313 insertions(+), 128 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/25268/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 80f1833..979e6d9 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -211,6 +211,14 @@ /* Measurement averaging parameters for RxLev & RxQual */ struct gsm_power_ctrl_meas_params rxqual_meas; struct gsm_power_ctrl_meas_params rxlev_meas; + + /* Measurement averaging parameters for C/I, per chan type */ + struct gsm_power_ctrl_meas_params ci_fr_meas; + struct gsm_power_ctrl_meas_params ci_hr_meas; + struct gsm_power_ctrl_meas_params ci_amr_fr_meas; + struct gsm_power_ctrl_meas_params ci_amr_hr_meas; + struct gsm_power_ctrl_meas_params ci_sdcch_meas; + struct gsm_power_ctrl_meas_params ci_gprs_meas; }; /* Default MS/BS Power Control parameters */ diff --git a/include/osmo-bts/power_control.h b/include/osmo-bts/power_control.h index f2e14cf..ed9f891 100644 --- a/include/osmo-bts/power_control.h +++ b/include/osmo-bts/power_control.h @@ -5,7 +5,8 @@ int lchan_ms_pwr_ctrl(struct gsm_lchan *lchan, const uint8_t ms_power_lvl, - const int8_t ul_rssi_dbm); + const int8_t ul_rssi_dbm, + const int16_t ul_lqual_cb); int lchan_bs_pwr_ctrl(struct gsm_lchan *lchan, const struct gsm48_hdr *gh); diff --git a/src/common/gsm_data.c b/src/common/gsm_data.c index b1f695b..e5a4d38 100644 --- a/src/common/gsm_data.c +++ b/src/common/gsm_data.c @@ -527,4 +527,46 @@ /* FIXME: RxQual averaging is not yet implemented */ .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, }, + + /* C/I measurement parameters. //TODO: Add ci_*meas here, based on + * Target C/I retrieved from "GSM/EDGE: Evolution and Performance" Table 10.3. + * Set lower and upper so that (lower + upper) / 2 is equal or slightly + * above the target. + */ + .ci_fr_meas = { /* Target C/I = 15 dB, Soft blocking threshold = 10 dB */ + .lower_thresh = 13, + .upper_thresh = 17, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, + .ci_hr_meas = { /* Target C/I = 18 dB, Soft blocking threshold = 13 dB */ + .lower_thresh = 16, + .upper_thresh = 21, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, + .ci_amr_fr_meas = { /* Target C/I = 9 dB, Soft blocking threshold = 4 dB */ + .lower_thresh = 7, + .upper_thresh = 11, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, + .ci_amr_hr_meas = { /* Target C/I = 15 dB, Soft blocking threshold = 10 dB */ + .lower_thresh = 13, + .upper_thresh = 17, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, + .ci_sdcch_meas = { /* Target C/I = 14 dB, Soft blocking threshold = 9 dB */ + .lower_thresh = 12, + .upper_thresh = 16, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, + .ci_gprs_meas = { /* Target C/I = 20 dB, Soft blocking threshold = 15 dB */ + .lower_thresh = 18, + .upper_thresh = 24, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + }, }; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c028a2c..189a814 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1600,7 +1600,7 @@ rsl_tx_meas_res(lchan, NULL, 0, le); radio_link_timeout(lchan, true); - lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi); + lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, data_ind->rssi, data_ind->lqual_cb); } return -EINVAL; } @@ -1628,7 +1628,7 @@ lchan->meas.l1_info.ta = l1_hdr->ta; lchan->meas.flags |= LC_UL_M_F_L1_VALID; - lchan_ms_pwr_ctrl(lchan, data[0] & 0x1f, data_ind->rssi); + lchan_ms_pwr_ctrl(lchan, data[0] & 0x1f, data_ind->rssi, data_ind->lqual_cb); lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); } else le = &lchan->lapdm_ch.lapdm_dcch; diff --git a/src/common/power_control.c b/src/common/power_control.c index 4f5d15e..1a08fcb 100644 --- a/src/common/power_control.c +++ b/src/common/power_control.c @@ -139,14 +139,36 @@ return delta; } +static const struct gsm_power_ctrl_meas_params *lchan_get_ci_thresholds(const struct gsm_lchan *lchan) +{ + const struct gsm_power_ctrl_params *params = lchan->ms_power_ctrl.dpc_params; + + switch (lchan->type) { + case GSM_LCHAN_SDCCH: + return ¶ms->ci_sdcch_meas; + case GSM_LCHAN_PDTCH: + return ¶ms->ci_gprs_meas; + case GSM_LCHAN_TCH_F: + /* FIXME: check if need to return ci_amr_fr_meas */ + return ¶ms->ci_fr_meas; + case GSM_LCHAN_TCH_H: + /* FIXME: check if need to return ci_amr_hr_meas */ + return ¶ms->ci_hr_meas; + default: + OSMO_ASSERT(0); + } +} + /*! compute the new MS POWER LEVEL communicated to the MS and store it in lchan. * \param lchan logical channel for which to compute (and in which to store) new power value. * \param[in] ms_power_lvl MS Power Level received from Uplink L1 SACCH Header in SACCH block. * \param[in] ul_rssi_dbm Signal level of the received SACCH block, in dBm. + * \param[in] ul_lqual_cb C/I of the received SACCH block, in dB. */ int lchan_ms_pwr_ctrl(struct gsm_lchan *lchan, const uint8_t ms_power_lvl, - const int8_t ul_rssi_dbm) + const int8_t ul_rssi_dbm, + const int16_t ul_lqual_cb) { struct lchan_power_ctrl_state *state = &lchan->ms_power_ctrl; const struct gsm_power_ctrl_params *params = state->dpc_params; @@ -155,6 +177,7 @@ enum gsm_band band = bts->band; int8_t new_power_lvl; /* TS 05.05 power level */ int8_t ms_dbm, new_dbm, current_dbm, bsc_max_dbm; + const struct gsm_power_ctrl_meas_params *ci_meas; if (!trx_ms_pwr_ctrl_is_osmo(trx)) return 0; @@ -187,8 +210,24 @@ return 0; } - /* Calculate the new Tx power value (in dBm) */ - new_dbm = ms_dbm + calc_delta(params, state, ul_rssi_dbm); + /* If computed C/I is out of acceptable thresholds: */ + ci_meas = lchan_get_ci_thresholds(lchan); + if (ul_lqual_cb < ci_meas->lower_thresh * 10) { + new_dbm = ms_dbm + params->inc_step_size_db; + LOGPLCHAN(lchan, DLOOP, LOGL_ERROR, "Increasing MS Tx power: " + "%d -> %d dB due to C/I %d cB worse than %u cB on %s\n", + ms_dbm, new_dbm, ul_lqual_cb, ci_meas->lower_thresh * 10, + gsm_lchant_name(lchan->type)); + } else if (ul_lqual_cb > ci_meas->upper_thresh * 10) { + new_dbm = ms_dbm - params->red_step_size_db; + LOGPLCHAN(lchan, DLOOP, LOGL_ERROR, "Decreasing MS Tx power: " + "%d -> %d dB due to C/I %d cB better than %u cB on %s\n", + ms_dbm, new_dbm, ul_lqual_cb, ci_meas->upper_thresh * 10, + gsm_lchant_name(lchan->type)); + } else { + /* Calculate the new Tx power value (in dBm) */ + new_dbm = ms_dbm + calc_delta(params, state, ul_rssi_dbm); + } /* Make sure new_dbm is never negative. ms_pwr_ctl_lvl() can later on cope with any unsigned dbm value, regardless of band minimal value. */ @@ -212,18 +251,18 @@ if (state->current == new_power_lvl) { LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "Keeping MS power at control level %d, %d dBm " - "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm)\n", + "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm, C/I %d cB)\n", new_power_lvl, new_dbm, ms_power_lvl, state->max, - ul_rssi_dbm, target_dbm); + ul_rssi_dbm, target_dbm, ul_lqual_cb); return 0; } current_dbm = ms_pwr_dbm(band, state->current); LOGPLCHAN(lchan, DLOOP, LOGL_INFO, "%s MS power from control level %d (%d dBm) to %d, %d dBm " - "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm)\n", + "(rx-ms-pwr-lvl %" PRIu8 ", max-ms-pwr-lvl %" PRIu8 ", rx-current %d dBm, rx-target %d dBm, C/I %d cB)\n", (new_dbm > current_dbm) ? "Raising" : "Lowering", state->current, current_dbm, new_power_lvl, new_dbm, - ms_power_lvl, state->max, ul_rssi_dbm, target_dbm); + ms_power_lvl, state->max, ul_rssi_dbm, target_dbm, ul_lqual_cb); /* store the resulting new MS power level in the lchan */ state->current = new_power_lvl; diff --git a/tests/power/ms_power_loop_test.c b/tests/power/ms_power_loop_test.c index 0d86310..f0c0250 100644 --- a/tests/power/ms_power_loop_test.c +++ b/tests/power/ms_power_loop_test.c @@ -67,13 +67,13 @@ printf("\nStarting test case '%s'\n", name); } -static inline void apply_power_test(struct gsm_lchan *lchan, int rxlev, int exp_ret, uint8_t exp_current) +static inline void apply_power_test(struct gsm_lchan *lchan, int rxlev, int lqual_cb, int exp_ret, uint8_t exp_current) { uint8_t old; int ret; old = lchan->ms_power_ctrl.current; - ret = lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, rxlev); + ret = lchan_ms_pwr_ctrl(lchan, lchan->ms_power_ctrl.current, rxlev, lqual_cb); /* Keep the measurement counter updated */ lchan->meas.res_nr++; @@ -87,9 +87,14 @@ static void test_power_loop(void) { struct gsm_lchan *lchan; + const struct gsm_power_ctrl_params *params; + int16_t good_lqual; init_test(__func__); lchan = &g_trx->ts[0].lchan[0]; + params = lchan->ms_power_ctrl.dpc_params; + lchan->type = GSM_LCHAN_SDCCH; + good_lqual = (params->ci_sdcch_meas.lower_thresh + 2) * 10; lchan->ms_power_ctrl.current = ms_pwr_ctl_lvl(GSM_BAND_1800, 0); OSMO_ASSERT(lchan->ms_power_ctrl.current == 15); @@ -97,73 +102,78 @@ OSMO_ASSERT(lchan->ms_power_ctrl.max == 2); /* Simply clamping */ - apply_power_test(lchan, -60, 0, 15); + apply_power_test(lchan, -60, good_lqual, 0, 15); /* * Now 15 dB too little and we should power it up. Could be a * power level of 7 or 8 for 15 dBm. However, since we limit peace at * which we change values, expect several steps of MS_RAISE_MAX_DB/2 levels: */ - apply_power_test(lchan, -90, 1, 13); - apply_power_test(lchan, -90, 1, 11); - apply_power_test(lchan, -90, 1, 9); - apply_power_test(lchan, -90, 1, 7); - apply_power_test(lchan, -90, 1, 5); + apply_power_test(lchan, -90, good_lqual, 1, 13); + apply_power_test(lchan, -90, good_lqual, 1, 11); + apply_power_test(lchan, -90, good_lqual, 1, 9); + apply_power_test(lchan, -90, good_lqual, 1, 7); + apply_power_test(lchan, -90, good_lqual, 1, 5); /* Check good RSSI value keeps it at same power level: */ - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, 0, 5); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, good_lqual, 0, 5); - apply_power_test(lchan, -90, 1, 3); - apply_power_test(lchan, -90, 1, 2); /* .max is pwr lvl 2 */ - apply_power_test(lchan, -90, 0, 2); /* .max is pwr lvl 2 */ + apply_power_test(lchan, -90, good_lqual, 1, 3); + apply_power_test(lchan, -90, good_lqual, 1, 2); /* .max is pwr lvl 2 */ + apply_power_test(lchan, -90, good_lqual, 0, 2); /* .max is pwr lvl 2 */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 30); OSMO_ASSERT(lchan->ms_power_ctrl.max == 0); - apply_power_test(lchan, -90, 1, 0); /* .max is pwr lvl 0 */ - apply_power_test(lchan, -90, 0, 0); /* .max is pwr lvl 0 */ + apply_power_test(lchan, -90, good_lqual, 1, 0); /* .max is pwr lvl 0 */ + apply_power_test(lchan, -90, good_lqual, 0, 0); /* .max is pwr lvl 0 */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 36); OSMO_ASSERT(lchan->ms_power_ctrl.max == 29); - apply_power_test(lchan, -90, 1, 30); - apply_power_test(lchan, -90, 1, 29); - apply_power_test(lchan, -90, 0, 29); + apply_power_test(lchan, -90, good_lqual, 1, 30); + apply_power_test(lchan, -90, good_lqual, 1, 29); + apply_power_test(lchan, -90, good_lqual, 0, 29); /* Check good RSSI value keeps it at same power level: */ - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, 0, 29); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, good_lqual, 0, 29); /* Now go down, steps are double size in this direction: */ - apply_power_test(lchan, -45, 1, 1); - apply_power_test(lchan, -45, 1, 5); - apply_power_test(lchan, -45, 1, 9); + apply_power_test(lchan, -45, good_lqual, 1, 1); + apply_power_test(lchan, -45, good_lqual, 1, 5); + apply_power_test(lchan, -45, good_lqual, 1, 9); /* Go down only one level down and up: */ - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 2, 1, 10); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 2, 1, 9); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 2, good_lqual, 1, 10); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 2, good_lqual, 1, 9); /* Check if BSC requesting a low max power is applied after loop calculation: */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 2); OSMO_ASSERT(lchan->ms_power_ctrl.max == 14); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 2, 1, 14); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 2, good_lqual, 1, 14); /* Set back a more normal max: */ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 30); OSMO_ASSERT(lchan->ms_power_ctrl.max == 0); /* Disable dynamic power control and jump down */ lchan->ms_power_ctrl.dpc_params = NULL; - apply_power_test(lchan, -60, 0, 14); + apply_power_test(lchan, -60, good_lqual, 0, 14); /* Enable and leave it again */ lchan->ms_power_ctrl.dpc_params = &lchan->ms_dpc_params; - apply_power_test(lchan, -40, 1, 15); + apply_power_test(lchan, -40, good_lqual, 1, 15); } static void test_pf_algo_ewma(void) { struct gsm_lchan *lchan; + const struct gsm_power_ctrl_params *params; + int16_t good_lqual; const int *avg100; init_test(__func__); lchan = &g_trx->ts[0].lchan[0]; + lchan->type = GSM_LCHAN_SDCCH; + params = lchan->ms_power_ctrl.dpc_params; + good_lqual = (params->ci_sdcch_meas.lower_thresh + 2) * 10; avg100 = &lchan->ms_power_ctrl.rxlev_meas_proc.ewma.Avg100; struct gsm_power_ctrl_meas_params *mp = &lchan->ms_dpc_params.rxlev_meas; @@ -180,15 +190,15 @@ ((float) *avg100) / 100, exp); /* UL RSSI remains constant => no UL power change */ - apply_power_test(lchan, -75, 0, 15); + apply_power_test(lchan, -75, good_lqual, 0, 15); CHECK_UL_RSSI_AVG100(-75.00); /* Avg[t] = (0.2 * -90) + (0.8 * -75) = -78.0 dBm */ - apply_power_test(lchan, -90, 1, 13); + apply_power_test(lchan, -90, good_lqual, 1, 13); CHECK_UL_RSSI_AVG100(-78.00); /* Avg[t] = (0.2 * -90) + (0.8 * -78) = -80.4 dBm */ - apply_power_test(lchan, -90, 1, 11); + apply_power_test(lchan, -90, good_lqual, 1, 11); CHECK_UL_RSSI_AVG100(-80.40); /* Avg[t] = (0.2 * -70) + (0.8 * -80.4) = -78.32 dBm, @@ -199,7 +209,7 @@ * Avg100[t] = -8040 + 20 * (-70 + 80) * Avg100[t] = -8040 + 200 = -7840 * Avg[t] = -7840 / 100 = -78.4 */ - apply_power_test(lchan, -70, 1, 9); + apply_power_test(lchan, -70, good_lqual, 1, 9); CHECK_UL_RSSI_AVG100(-78.40); mp->ewma.alpha = 70; /* 30% smoothing */ @@ -208,25 +218,30 @@ (struct gsm_power_ctrl_meas_proc_state) { 0 }; /* This is the first sample, the filter outputs it as-is */ - apply_power_test(lchan, -50, 0, 15); + apply_power_test(lchan, -50, good_lqual, 0, 15); CHECK_UL_RSSI_AVG100(-50.00); /* Avg[t] = (0.7 * -50) + (0.3 * -50) = -50.0 dBm */ - apply_power_test(lchan, -50, 0, 15); + apply_power_test(lchan, -50, good_lqual, 0, 15); CHECK_UL_RSSI_AVG100(-50.0); /* Simulate SACCH block loss (-110 dBm): * Avg[t] = (0.7 * -110) + (0.3 * -50) = -92.0 dBm */ - apply_power_test(lchan, -110, 1, 13); + apply_power_test(lchan, -110, good_lqual, 1, 13); CHECK_UL_RSSI_AVG100(-92.0); } static void test_power_hysteresis(void) { struct gsm_lchan *lchan; + const struct gsm_power_ctrl_params *params; + int16_t good_lqual; init_test(__func__); lchan = &g_trx->ts[0].lchan[0]; + lchan->type = GSM_LCHAN_SDCCH; + params = lchan->ms_power_ctrl.dpc_params; + good_lqual = (params->ci_sdcch_meas.lower_thresh + 2) * 10; /* Tolerate power deviations in range -80 .. -70 */ lchan->ms_dpc_params.rxlev_meas.lower_thresh = 30; @@ -237,61 +252,66 @@ lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 26); OSMO_ASSERT(lchan->ms_power_ctrl.max == 2); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 3, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 3, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, good_lqual, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 3, good_lqual, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 3, good_lqual, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 5, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 5, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM, good_lqual, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM + 5, good_lqual, 0, 15); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 5, good_lqual, 0, 15); - apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 10, 1, 13); + apply_power_test(lchan, PWR_TEST_RXLEV_TARGET_DBM - 10, good_lqual, 1, 13); } static void test_power_ctrl_interval(void) { struct gsm_lchan *lchan; + const struct gsm_power_ctrl_params *params; + int16_t good_lqual; unsigned int i, j; init_test(__func__); lchan = &g_trx->ts[0].lchan[0]; + lchan->type = GSM_LCHAN_SDCCH; + params = lchan->ms_power_ctrl.dpc_params; + good_lqual = (params->ci_sdcch_meas.lower_thresh + 2) * 10; lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 26); OSMO_ASSERT(lchan->ms_power_ctrl.max == 2); - static const int script[][8][3] = { + const int script[][8][4] = { { /* P_Con_INTERVAL=0 (480 ms) */ /* { UL RxLev, expected rc, expected Tx power level } */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 13 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 11 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 9 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 7 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 5 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 3 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 2 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 2 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 13 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 11 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 9 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 7 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 5 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 3 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 2 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 2 }, }, { /* P_Con_INTERVAL=1 (960 ms) */ /* { UL RxLev, expected rc, expected Tx power level } */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 13 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 13 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 11 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 11 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 9 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 9 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 7 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 7 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 13 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 13 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 11 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 11 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 9 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 9 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 7 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 7 }, /* skipped */ }, { /* P_Con_INTERVAL=2 (1920 ms) */ /* { UL RxLev, expected rc, expected Tx power level } */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 13 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 13 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 13 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 13 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 1, 11 }, - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 11 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 11 }, /* skipped */ - { PWR_TEST_RXLEV_TARGET_DBM - 15, 0, 11 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 13 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 13 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 13 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 13 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 1, 11 }, + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 11 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 11 }, /* skipped */ + { PWR_TEST_RXLEV_TARGET_DBM - 15, good_lqual, 0, 11 }, /* skipped */ }, }; @@ -305,14 +325,54 @@ for (j = 0; j < ARRAY_SIZE(script[i]); j++) { apply_power_test(lchan, script[i][j][0], /* UL RxLev */ - script[i][j][1], /* expected rc */ - script[i][j][2]); /* expected Tx power level */ + script[i][j][1], /* UL C/I */ + script[i][j][2], /* expected rc */ + script[i][j][3]); /* expected Tx power level */ } printf("\n"); } } +static void test_power_loop_ci(void) +{ + struct gsm_lchan *lchan; + const struct gsm_power_ctrl_params *params; + int16_t good_lqual, too_low_lqual, too_high_lqual; + + init_test(__func__); + lchan = &g_trx->ts[0].lchan[0]; + params = lchan->ms_power_ctrl.dpc_params; + lchan->type = GSM_LCHAN_SDCCH; + good_lqual = (params->ci_sdcch_meas.lower_thresh + 2) * 10; + too_low_lqual = (params->ci_sdcch_meas.lower_thresh - 1) * 10; + too_high_lqual = (params->ci_sdcch_meas.upper_thresh + 1) * 10; + + lchan->ms_power_ctrl.current = ms_pwr_ctl_lvl(GSM_BAND_1800, 0); + OSMO_ASSERT(lchan->ms_power_ctrl.current == 15); + lchan->ms_power_ctrl.max = ms_pwr_ctl_lvl(GSM_BAND_1800, 26); + OSMO_ASSERT(lchan->ms_power_ctrl.max == 2); + + /* Simply clamping */ + apply_power_test(lchan, -60, good_lqual, 0, 15); + + /* Now UL C/I is too bad as well as RSSI: */ + apply_power_test(lchan, -100, too_low_lqual, 1, 13); + apply_power_test(lchan, -100, too_low_lqual, 1, 11); + + /* Now UL C/I is good again while RSSI is good: */ + apply_power_test(lchan, -60, good_lqual, 1, 12); + apply_power_test(lchan, -60, too_high_lqual, 1, 13); + + /* Now UL C/I is good while RSSI is bad, C/I mandates: */ + apply_power_test(lchan, -100, good_lqual, 1, 11); + apply_power_test(lchan, -100, too_high_lqual, 1, 12); + + /* Now UL C/I is bad again while RSSI is good, C/I mandates: */ + apply_power_test(lchan, -60, good_lqual, 1, 13); + apply_power_test(lchan, -60, too_high_lqual, 1, 14); +} + int main(int argc, char **argv) { printf("Testing power loop...\n"); @@ -332,6 +392,7 @@ test_pf_algo_ewma(); test_power_hysteresis(); test_power_ctrl_interval(); + test_power_loop_ci(); printf("Power loop test OK\n"); diff --git a/tests/power/ms_power_loop_test.err b/tests/power/ms_power_loop_test.err index ae8ad03..f7ebaed 100644 --- a/tests/power/ms_power_loop_test.err +++ b/tests/power/ms_power_loop_test.err @@ -1,51 +1,65 @@ -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 7 (16 dBm) to 5, 20 dBm (rx-ms-pwr-lvl 7, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 5, 20 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 5 (20 dBm) to 3, 24 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 3 (24 dBm) to 2, 26 dBm (rx-ms-pwr-lvl 3, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 2, 26 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 2 (26 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 0, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 0, 30 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 0, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 0 (30 dBm) to 30, 34 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 30 (34 dBm) to 29, 36 dBm (rx-ms-pwr-lvl 30, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 29, 36 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 29, 36 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -75 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 29 (36 dBm) to 30, 34 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 30 (34 dBm) to 31, 32 dBm (rx-ms-pwr-lvl 30, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 31 (32 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 31, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 0 (30 dBm) to 1, 28 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 29, rx-current -73 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 1 (28 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 1, max-ms-pwr-lvl 29, rx-current -77 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 0 (30 dBm) to 14, 2 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 14, rx-current -73 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 14 (2 dBm) to 15, 0 dBm (rx-ms-pwr-lvl 14, max-ms-pwr-lvl 0, rx-current -40 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 3 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 11 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -70 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -50 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -50 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -110 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -72 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -78 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -70 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -80 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -85 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 7 (16 dBm) to 5, 20 dBm (rx-ms-pwr-lvl 7, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 5 (20 dBm) to 3, 24 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 3 (24 dBm) to 2, 26 dBm (rx-ms-pwr-lvl 3, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 2, 26 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) -(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 7 (16 dBm) to 5, 20 dBm (rx-ms-pwr-lvl 7, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 5, 20 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 5 (20 dBm) to 3, 24 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 3 (24 dBm) to 2, 26 dBm (rx-ms-pwr-lvl 3, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 2, 26 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 2 (26 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 0, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 0, 30 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 0, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 0 (30 dBm) to 30, 34 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 30 (34 dBm) to 29, 36 dBm (rx-ms-pwr-lvl 30, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 29, 36 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 29, 36 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -75 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 29 (36 dBm) to 30, 34 dBm (rx-ms-pwr-lvl 29, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 30 (34 dBm) to 31, 32 dBm (rx-ms-pwr-lvl 30, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 31 (32 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 31, max-ms-pwr-lvl 29, rx-current -45 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 0 (30 dBm) to 1, 28 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 29, rx-current -73 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 1 (28 dBm) to 0, 30 dBm (rx-ms-pwr-lvl 1, max-ms-pwr-lvl 29, rx-current -77 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 0 (30 dBm) to 14, 2 dBm (rx-ms-pwr-lvl 0, max-ms-pwr-lvl 14, rx-current -73 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 14 (2 dBm) to 15, 0 dBm (rx-ms-pwr-lvl 14, max-ms-pwr-lvl 0, rx-current -40 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 3 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 11 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -70 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -50 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -50 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -110 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -72 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -78 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -75 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -70 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -80 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -85 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 7 (16 dBm) to 5, 20 dBm (rx-ms-pwr-lvl 7, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 5 (20 dBm) to 3, 24 dBm (rx-ms-pwr-lvl 5, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 3 (24 dBm) to 2, 26 dBm (rx-ms-pwr-lvl 3, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 2, 26 dBm (rx-ms-pwr-lvl 2, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 11 (8 dBm) to 9, 12 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 9 (12 dBm) to 7, 16 dBm (rx-ms-pwr-lvl 9, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -90 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Keeping MS power at control level 15, 0 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Increasing MS Tx power: 0 -> 4 dB due to C/I 110 cB worse than 120 cB on SDCCH +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 15 (0 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 15, max-ms-pwr-lvl 2, rx-current -100 dBm, rx-target -75 dBm, C/I 110 cB) +(bts=0,trx=0,ts=0,ss=0) Increasing MS Tx power: 4 -> 8 dB due to C/I 110 cB worse than 120 cB on SDCCH +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -100 dBm, rx-target -75 dBm, C/I 110 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 11 (8 dBm) to 12, 6 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Decreasing MS Tx power: 6 -> 4 dB due to C/I 170 cB better than 160 cB on SDCCH +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 12 (6 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 12, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 170 cB) +(bts=0,trx=0,ts=0,ss=0) Raising MS power from control level 13 (4 dBm) to 11, 8 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -100 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Decreasing MS Tx power: 8 -> 6 dB due to C/I 170 cB better than 160 cB on SDCCH +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 11 (8 dBm) to 12, 6 dBm (rx-ms-pwr-lvl 11, max-ms-pwr-lvl 2, rx-current -100 dBm, rx-target -75 dBm, C/I 170 cB) +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 12 (6 dBm) to 13, 4 dBm (rx-ms-pwr-lvl 12, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 140 cB) +(bts=0,trx=0,ts=0,ss=0) Decreasing MS Tx power: 4 -> 2 dB due to C/I 170 cB better than 160 cB on SDCCH +(bts=0,trx=0,ts=0,ss=0) Lowering MS power from control level 13 (4 dBm) to 14, 2 dBm (rx-ms-pwr-lvl 13, max-ms-pwr-lvl 2, rx-current -60 dBm, rx-target -75 dBm, C/I 170 cB) diff --git a/tests/power/ms_power_loop_test.ok b/tests/power/ms_power_loop_test.ok index 5fea474..ccf2ddc 100644 --- a/tests/power/ms_power_loop_test.ok +++ b/tests/power/ms_power_loop_test.ok @@ -144,4 +144,24 @@ lchan_ms_pwr_ctrl(RxLvl=-90 dBm) returns 0 (expected 0) MS current power 11 -> 11 (expected 11) + +Starting test case 'test_power_loop_ci' +lchan_ms_pwr_ctrl(RxLvl=-60 dBm) returns 0 (expected 0) + MS current power 15 -> 15 (expected 15) +lchan_ms_pwr_ctrl(RxLvl=-100 dBm) returns 1 (expected 1) + MS current power 15 -> 13 (expected 13) +lchan_ms_pwr_ctrl(RxLvl=-100 dBm) returns 1 (expected 1) + MS current power 13 -> 11 (expected 11) +lchan_ms_pwr_ctrl(RxLvl=-60 dBm) returns 1 (expected 1) + MS current power 11 -> 12 (expected 12) +lchan_ms_pwr_ctrl(RxLvl=-60 dBm) returns 1 (expected 1) + MS current power 12 -> 13 (expected 13) +lchan_ms_pwr_ctrl(RxLvl=-100 dBm) returns 1 (expected 1) + MS current power 13 -> 11 (expected 11) +lchan_ms_pwr_ctrl(RxLvl=-100 dBm) returns 1 (expected 1) + MS current power 11 -> 12 (expected 12) +lchan_ms_pwr_ctrl(RxLvl=-60 dBm) returns 1 (expected 1) + MS current power 12 -> 13 (expected 13) +lchan_ms_pwr_ctrl(RxLvl=-60 dBm) returns 1 (expected 1) + MS current power 13 -> 14 (expected 14) Power loop test OK -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I5dfd8ff9ab6b499646498b507624758dcc160fb6 Gerrit-Change-Number: 25268 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Fri Aug 27 00:35:07 2021 From: noreply at opensuse.org (OBS Notification) Date: Fri, 27 Aug 2021 00:35:07 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6128334fdbd16_2eda2adc3542a5f49932f3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/open5gs failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: [ 206s] gtp-message-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\SUCCESS [ 206s] ngap-message-test : /-|\-|/-|\-|/SUCCESS [ 206s] sbi-message-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-|SUCCESS [ 206s] security-test : /-|\-|/-|\-|/-|\-|/-|\-|/-|\-|/-|\-SUCCESS [ 206s] crash-test : /-|\-|/-|\-|/-SUCCESS [ 206s] All tests passed. [ 206s] core time out (After 30 seconds) [ 206s] 1/3 open5gs:unit / core TIMEOUT 30.01 s [ 206s] 2/3 open5gs:unit / crypt OK 0.08 s [ 206s] 3/3 open5gs:unit / unit OK 0.04 s [ 206s] [ 206s] Ok: 2 [ 206s] Expected Fail: 0 [ 206s] Fail: 0 [ 206s] Unexpected Pass: 0 [ 206s] Skipped: 0 [ 206s] Timeout: 1 [ 206s] [ 206s] make[1]: *** [debian/rules:17: override_dh_auto_test] Error 1 [ 206s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 206s] make: *** [debian/rules:11: binary] Error 2 [ 206s] dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 [ 206s] ### VM INTERACTION START ### [ 209s] [ 202.011734] sysrq: Power Off [ 209s] [ 202.065371] reboot: Power down [ 209s] ### VM INTERACTION END ### [ 209s] [ 209s] goat15 failed "build open5gs_2.3.3.202108270027.dsc" at Fri Aug 27 00:34:58 UTC 2021. [ 209s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Fri Aug 27 06:51:42 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 27 Aug 2021 06:51:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stats_conn_fail In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 ) Change subject: bsc: add TC_stats_conn_fail ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I310ea1609168bc26790875767943e0545ed05177 Gerrit-Change-Number: 25266 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 06:51:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 07:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 27 Aug 2021 07:02:47 +0000 Subject: Change in osmo-bsc[master]: stat_item desc: add explicit indexes for clarity In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25213 ) Change subject: stat_item desc: add explicit indexes for clarity ...................................................................... stat_item desc: add explicit indexes for clarity Add explicit indexes like [BSC_STAT_NUM_BTS_TOTAL] = { ... BSC_STAT_NUM_BTS_TOTAL == 0 and the first item of bsc_stat_desc of course has index 0, but when grepping the code, it looks like BSC_STAT_NUM_BTS_TOTAL is missing a name definition. Same for MSC_STAT_MSC_LINKS_ACTIVE and MSC_STAT_MSC_LINKS_TOTAL. Related: SYS#5542 Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d --- M src/osmo-bsc/bsc_init.c M src/osmo-bsc/osmo_bsc_msc.c 2 files changed, 3 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 24596f4..42acbbc 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -47,7 +47,7 @@ #include static const struct osmo_stat_item_desc bsc_stat_desc[] = { - { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc bsc_statg_desc = { diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index 772bea5..a80ee64 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -147,8 +147,8 @@ }; static const struct osmo_stat_item_desc msc_stat_desc[] = { - { "msc_links:active", "Number of active MSC links", "", 16, 0 }, - { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, + [MSC_STAT_MSC_LINKS_ACTIVE] = { "msc_links:active", "Number of active MSC links", "", 16, 0 }, + [MSC_STAT_MSC_LINKS_TOTAL] = { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, }; static const struct osmo_stat_item_group_desc msc_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ie47e0857c41d517a9b37be96f6669d1825d24a6d Gerrit-Change-Number: 25213 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 07:04:01 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 27 Aug 2021 07:04:01 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c File src/osmo-bsc/bssmap_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bssmap_reset.c at 248 PS1, Line 248: /* Immediately (1ms) kick off reset sending mechanism */ > Maybe because I did it the same way in bssmap_reset_alloc(). [?] I just copied the code without changing it -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 07:04:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 07:04:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Fri, 27 Aug 2021 07:04:31 +0000 Subject: Change in osmo-bsc[master]: osmo_bsc_main: integrate MGW pooling into osmo-bsc In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25123 ) Change subject: osmo_bsc_main: integrate MGW pooling into osmo-bsc ...................................................................... Patch Set 11: Code-Review+1 I like Harald's idea of adding a name to the mgw node (which could just default to the domain if unset. In any case that would be a follow-up patch to osmo-mgw Icaaba0e470e916eefddfee750b83f5f65291a6b0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25123 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8f33ab2cea04b545c403a6fe479aa963a0fc0d0d Gerrit-Change-Number: 25123 Gerrit-PatchSet: 11 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 07:04:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 07:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 27 Aug 2021 07:05:30 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25225/1/src/osmo-bsc/bsc_vty.c at 3328 PS1, Line 3328: DEFUN(msc_bssmap_reset, msc_bssmap_reset_cmd, > I do not see any problem with this. If someone wants to use this to test something - fine. it can take a while for a disconnected MSC to register as being disconnected in the BSC, so it can be useful to do this during maintenance maybe -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 07:05:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 07:22:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Fri, 27 Aug 2021 07:22:07 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 2: Code-Review+2 (1 comment) combine votes https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/bsc_init.c File src/osmo-bsc/bsc_init.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/1/src/osmo-bsc/bsc_init.c at 50 PS1, Line 50: [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, > Please better align the counter name strings so they appear at same position in line. i see that as unnecessary overhead, also causing non-atomic patches in the future if a longer name shows up -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 07:22:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 08:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Aug 2021 08:24:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stats_conn_fail In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 ) Change subject: bsc: add TC_stats_conn_fail ...................................................................... bsc: add TC_stats_conn_fail Verify that stat bts.N.chan.rf_fail_sdcch works correctly. Related: SYS#4878 Change-Id: I310ea1609168bc26790875767943e0545ed05177 --- M bsc/BSC_Tests.ttcn M bsc/README.txt 2 files changed, 44 insertions(+), 1 deletion(-) Approvals: daniel: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 2471a50..6befa69 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1782,6 +1782,48 @@ f_shutdown_helper(); } +private function f_TC_stats_conn_fail(charstring id) runs on MSC_ConnHdlr { + var template PDU_BSSAP exp_fail := tr_BSSMAP_AssignmentFail; + var PDU_BSSAP ass_cmd := f_gen_ass_req(); + + f_statsd_reset(); + + /* Establish SDCCH */ + ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelTypeCSD); + f_establish_fully(ass_cmd, exp_fail); + + /* Expect stats to be 0 */ + var StatsDExpects expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 0, max := 0}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 0, max := 0} + }; + f_statsd_expect(expect); + + /* Simulate CONN FAIL IND on SDCCH */ + RSL.send(ts_ASP_RSL_UD( + ts_RSL_CONN_FAIL_IND(g_chan_nr, RSL_ERR_RADIO_LINK_FAIL), + IPAC_PROTO_RSL_TRX0)); + + /* Expect stats to be 1 */ + expect := { + {name := "TTCN3.bts.0.chan.rf_fail", mtype := "c", min := 1, max := 1}, + {name := "TTCN3.bts.0.chan.rf_fail_sdcch", mtype := "c", min := 1, max := 1} + }; + f_statsd_expect(expect); +} +testcase TC_stats_conn_fail() runs on test_CT { + var TestHdlrParams pars := f_gen_test_hdlr_pars(); + var MSC_ConnHdlr vc_conn; + + f_init(1, true); + f_sleep(1.0); + + vc_conn := f_start_handler(refers(f_TC_stats_conn_fail), pars); + vc_conn.done; + + f_shutdown_helper(); +} + function f_expect_chan_rel(integer bts_nr, RslChannelNr rsl_chan_nr, boolean expect_deact_sacch := true, boolean expect_rr_chan_rel := true, @@ -10092,6 +10134,7 @@ /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); + execute( TC_stats_conn_fail() ); /* Emergency call handling (deny / allow) */ execute( TC_assignment_emerg_setup_allow() ); diff --git a/bsc/README.txt b/bsc/README.txt index aa785ad..e992dba 100644 --- a/bsc/README.txt +++ b/bsc/README.txt @@ -62,7 +62,7 @@ x no response to CHAN ACT x CONN FAIL IND from BTS -** verify counter increment of BTS_CTR_CHAN_RF_FAIL +xx verify counter increment of BTS_CTR_CHAN_RF_FAIL * no (or late?) response to RF CHAN REL * no (or late?) response to RLL RELEASE REQ x RLL messages on not-activated channels -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I310ea1609168bc26790875767943e0545ed05177 Gerrit-Change-Number: 25266 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 08:26:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Aug 2021 08:26:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Cosmetic: bsc: remove outdated comment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 ) Change subject: Cosmetic: bsc: remove outdated comment ...................................................................... Patch Set 1: Code-Review+2 pretty sure this is safe to merge -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f Gerrit-Change-Number: 25267 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 08:26:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 08:26:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Aug 2021 08:26:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Cosmetic: bsc: remove outdated comment In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 ) Change subject: Cosmetic: bsc: remove outdated comment ...................................................................... Cosmetic: bsc: remove outdated comment The mentioned bug was fixed 3 years ago, and there are already lots of tests below so remove the comment. Related: OS#3182 Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f --- M bsc/BSC_Tests.ttcn 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 6befa69..2b90a6e 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -10131,7 +10131,6 @@ execute( TC_mscpool_no_allow_attach_valid_nri() ); } - /* at bottom as they might crash OsmoBSC before OS#3182 is fixed */ execute( TC_early_conn_fail() ); execute( TC_late_conn_fail() ); execute( TC_stats_conn_fail() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f Gerrit-Change-Number: 25267 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 09:21:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 27 Aug 2021 09:21:03 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 27 Aug 2021 09:21:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 15:15:46 2021 From: gerrit-no-reply at lists.osmocom.org (roh) Date: Fri, 27 Aug 2021 15:15:46 +0000 Subject: Change in pysim[master]: update readme detail about cmd2 - make sure people get 1.5 from pip i... References: Message-ID: roh has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/25269 ) Change subject: update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ...................................................................... update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 --- M README.md 1 file changed, 1 insertion(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/69/25269/1 diff --git a/README.md b/README.md index a45934c..7f46085 100644 --- a/README.md +++ b/README.md @@ -45,12 +45,7 @@ Example for Debian: ``` -apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml -pip3 install pytlv jsonpath-ng construct bidict gsm0338 -``` - -Alternatively, everything can be installed using pip: -``` +apt-get install python3-pyscard python3-serial python3-pip python3-yaml pip3 install -r requirements.txt ``` -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 Gerrit-Change-Number: 25269 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 15:17:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 27 Aug 2021 15:17:06 +0000 Subject: Change in pysim[master]: update readme detail about cmd2 - make sure people get 1.5 from pip i... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25269 ) Change subject: update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 Gerrit-Change-Number: 25269 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 27 Aug 2021 15:17:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Aug 27 15:41:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 27 Aug 2021 15:41:16 +0000 Subject: Change in pysim[master]: update readme detail about cmd2 - make sure people get 1.5 from pip i... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25269 ) Change subject: update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 Gerrit-Change-Number: 25269 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 27 Aug 2021 15:41:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 28 17:55:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Aug 2021 17:55:16 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... osmo-bts-trx: add rate counter for Uplink block decoding errors During the channel activation, allocate a counter group for each logical channel (struct l1sched_chan_state). Deallocate it on deactivation. The rate counter API requires a unique group index, which unfortunately cannot be determined for dedicated channels. As a quick hack, use monolitically increasing numbers for that. Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Related: OS#4771 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 6 files changed, 42 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/25270/1 diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 80a260f..b526db0 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -148,6 +148,14 @@ /* handover */ bool ho_rach_detect; /* if rach detection is on */ + + /* Rate counters (see L1SCHED_LCHAN_CTR_*) */ + struct rate_ctr_group *ctrs; +}; + +/* Rate counters for struct l1sched_chan_state */ +enum { + L1SCHED_LCHAN_CTR_UL_BAD_BLOCK, }; struct l1sched_ts { diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 6e1e4fb..81cebf4 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -597,6 +597,20 @@ l1sched_ts_ctr_desc }; +static const struct rate_ctr_desc l1sched_lchan_ctr_desc[] = { + [L1SCHED_LCHAN_CTR_UL_BAD_BLOCK] = { + "l1sched_lchan:ul_bad_block", + "Uplink blocks which could not be decoded (Viterbi errors)" + }, +}; +static const struct rate_ctr_group_desc l1sched_lchan_ctrg_desc = { + "l1sched_lchan", + "L1 scheduler logical channel", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(l1sched_lchan_ctr_desc), + l1sched_lchan_ctr_desc, +}; + /* * init / exit */ @@ -677,6 +691,7 @@ talloc_free(chan_state->ul_bursts); chan_state->ul_bursts = NULL; } + rate_ctr_group_free(chan_state->ctrs); } /* clear lchan channel states */ for (i = 0; i < ARRAY_SIZE(ts->lchan); i++) @@ -1065,6 +1080,8 @@ struct l1sched_ts *l1ts = lchan->ts->priv; uint8_t tn = L1SAP_CHAN2TS(chan_nr); uint8_t ss = l1sap_chan2ss(chan_nr); + static unsigned int ctrg_idx = 0; + char ctrg_name[256]; bool found = false; int i; @@ -1104,11 +1121,22 @@ /* Bind to generic 'struct gsm_lchan' */ chan_state->lchan = lchan; + + /* Allocate per-l1cs rate counters with unique index */ + chan_state->ctrs = rate_ctr_group_alloc(l1ts, + &l1sched_lchan_ctrg_desc, + ctrg_idx++); + snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", + lchan->name, trx_chan_desc[i].name); + rate_ctr_group_set_name(chan_state->ctrs, ctrg_name); } else { chan_state->ho_rach_detect = 0; /* Remove pending Tx prims belonging to this lchan */ trx_sched_queue_filter(&l1ts->dl_prims, chan_nr, link_id); + + /* De-allocate per-l1cs rate counters */ + rate_ctr_group_free(chan_state->ctrs); } chan_state->active = active; diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 335ba6f..4bfccf3 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -130,6 +130,7 @@ } else { LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); rc = 0; presence_info = PRES_INFO_INVALID; } diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 689925f..ead68b7 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -212,11 +212,13 @@ if (rc < 0) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } else if (rc < 4) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 4f03bd1..aec38c3 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -240,11 +240,13 @@ if (rc < 0) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } else if (rc < 4) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index 4bfc101..f994c1d 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -131,6 +131,7 @@ if (rc) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); + rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); l2_len = 0; /* When SACCH Repetition is active, we may try to decode the -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Aug 28 17:55:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 28 Aug 2021 17:55:18 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25271 ) Change subject: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors ...................................................................... osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors Change-Id: I8cb3c054fe6d750d44bbb4ecf7ccd1788fcdc66c Closes: OS#4771 --- M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 3 files changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/71/25271/1 diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index ead68b7..536b9d1 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -210,12 +210,12 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index aec38c3..ed1c36c 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -238,12 +238,12 @@ /* Check if the frame is bad */ if (rc < 0) { - LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); bfi_flag = true; } else if (rc < 4) { - LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad data (%u/%u) with invalid codec mode %d\n", bi->fn % l1ts->mf_period, l1ts->mf_period, rc); rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); diff --git a/src/osmo-bts-trx/sched_lchan_xcch.c b/src/osmo-bts-trx/sched_lchan_xcch.c index f994c1d..3205a5b 100644 --- a/src/osmo-bts-trx/sched_lchan_xcch.c +++ b/src/osmo-bts-trx/sched_lchan_xcch.c @@ -129,7 +129,7 @@ /* decode */ rc = gsm0503_xcch_decode(l2, *bursts_p, &n_errors, &n_bits_total); if (rc) { - LOGL1SB(DL1P, LOGL_NOTICE, l1ts, bi, "Received bad data (%u/%u)\n", + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, bi, "Received bad data (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); rate_ctr_inc2(chan_state->ctrs, L1SCHED_LCHAN_CTR_UL_BAD_BLOCK); l2_len = 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8cb3c054fe6d750d44bbb4ecf7ccd1788fcdc66c Gerrit-Change-Number: 25271 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 08:21:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 29 Aug 2021 08:21:33 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: send dummy FACCH in the absense of RTP frames In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24846 ) Change subject: osmo-bts-trx: send dummy FACCH in the absense of RTP frames ...................................................................... osmo-bts-trx: send dummy FACCH in the absense of RTP frames If for whatever reason the transmit queue of a TCH/{F,H} contains neither speech frames nor signalling blocks, osmo-bts-trx would currently transmit garbage. Of course, this causes decoding errors at the MS side. Ideally, we should employ an ECU (Error Concealment Unit) for the given codec in use. However, a simpler solution is to transmit dummy LAPDm frames over FACCH. This is what e.g. nanoBTS does. Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Related: OS#4823 --- M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c 2 files changed, 16 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 689925f..8e6298c 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -530,9 +530,16 @@ memset(*bursts_p + 464, 0, 464); } - /* no message at all */ + /* no message at all, send a dummy L2 frame on FACCH */ if (!msg_tch && !msg_facch) { + static const uint8_t dummy[GSM_MACBLOCK_LEN] = { + 0x03, 0x03, 0x01, /* TODO: use randomized padding */ + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + }; + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); + gsm0503_tch_fr_encode(*bursts_p, dummy, sizeof(dummy), 1); goto send_burst; } diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 4f03bd1..bfebb66 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -417,9 +417,16 @@ } } - /* no message at all */ + /* no message at all, send a dummy L2 frame on FACCH */ if (!msg_tch && !msg_facch && !chan_state->dl_ongoing_facch) { + static const uint8_t dummy[GSM_MACBLOCK_LEN] = { + 0x03, 0x03, 0x01, /* TODO: use randomized padding */ + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, 0x2b, + }; + LOGL1SB(DL1P, LOGL_INFO, l1ts, br, "No TCH or FACCH prim for transmit.\n"); + gsm0503_tch_hr_encode(*bursts_p, dummy, sizeof(dummy)); goto send_burst; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24846 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I868afecbcb6890f40c8f146e3ce00e836b794dd3 Gerrit-Change-Number: 24846 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_bts_connected_* tests References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 ) Change subject: bsc: add TC_stat_num_bts_connected_* tests ...................................................................... bsc: add TC_stat_num_bts_connected_* tests Related: SYS#5542 Related: I2057a798e681a169cc03243a09b3d6449734c010 (osmo-bsc) Change-Id: Ic1b35b7406547f92818afe399a2383d154576409 --- M bsc/BSC_Tests.ttcn 1 file changed, 78 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/72/25272/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index c8cc3de..e820a22 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -76,6 +76,7 @@ import from TCCConversion_Functions all; const integer NUM_BTS := 3; +const integer NUM_BTS_CFG := 4; /* we have 4 BTS in the osmo-bsc.cfg (for inter-BSC HO tests) but use only 3 */ const integer NUM_MSC := 3; const float T3101_MAX := 12.0; @@ -2837,6 +2838,80 @@ f_shutdown_helper(); } +/* Verify correct stats on the number of configured and connected MSCs */ +private function f_tc_stat_num_bts_connected(integer expect_num_bts_connected) runs on MSC_ConnHdlr { + g_pars := f_gen_test_hdlr_pars(); + var StatsDExpects expect := { + { name := "TTCN3.bsc.0.num_bts.oml_connected", mtype := "g", min := expect_num_bts_connected, max := NUM_BTS_CFG }, + { name := "TTCN3.bsc.0.num_bts.all_trx_rsl_connected", mtype := "g", min := expect_num_bts_connected, max := expect_num_bts_connected }, + { name := "TTCN3.bsc.0.num_bts.total", mtype := "g", min := NUM_BTS_CFG, max := NUM_BTS_CFG }, + { name := "TTCN3.bsc.0.num_trx.rsl_connected", mtype := "g", min := expect_num_bts_connected, max := expect_num_bts_connected }, + { name := "TTCN3.bsc.0.num_trx.total", mtype := "g", min := NUM_BTS_CFG, max := NUM_BTS_CFG } + }; + f_statsd_expect(expect); +} + +private function f_tc_stat_num_bts_connected_ctrl(integer expect_num_bts_connected) runs on test_CT { + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_bts:all_trx_rsl_connected", int2str(expect_num_bts_connected)); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_bts:total", int2str(NUM_BTS_CFG)); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_trx:rsl_connected", int2str(expect_num_bts_connected)); + f_ctrl_get_exp(IPA_CTRL, "stat_item.last.bsc.0.num_trx:total", int2str(NUM_BTS_CFG)); +} + +/* Verify that when 1 MSC is active, that num_bts:connected reports 1. */ +private function f_tc_stat_num_bts_connected_1(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_bts_connected(1); +} +testcase TC_stat_num_bts_connected_1() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 1, handler_mode := true, nr_msc := 1); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_1)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_tc_stat_num_bts_connected_ctrl(1); + + f_shutdown_helper(); +} + +/* Verify that when 2 MSCs are active, that num_bts:connected reports 2. */ +private function f_tc_stat_num_bts_connected_2(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_bts_connected(2); +} +testcase TC_stat_num_bts_connected_2() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 2, handler_mode := true, nr_msc := 1); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_2)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_tc_stat_num_bts_connected_ctrl(2); + + f_shutdown_helper(); +} + +/* Verify that when 3 MSCs are active, that num_bts:connected reports 3. */ +private function f_tc_stat_num_bts_connected_3(charstring id) runs on MSC_ConnHdlr { + f_tc_stat_num_bts_connected(3); +} +testcase TC_stat_num_bts_connected_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + + f_init(nr_bts := 3, handler_mode := true, nr_msc := 1); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_stat_num_bts_connected_3)); + vc_conn.done; + + /* Also verify stat exposed on CTRL interface */ + f_tc_stat_num_bts_connected_ctrl(3); + + f_shutdown_helper(); +} + testcase TC_ctrl() runs on test_CT { var charstring ctrl_resp; @@ -9958,6 +10033,9 @@ execute( TC_stat_num_msc_connected_1() ); execute( TC_stat_num_msc_connected_2() ); execute( TC_stat_num_msc_connected_3() ); + execute( TC_stat_num_bts_connected_1() ); + execute( TC_stat_num_bts_connected_2() ); + execute( TC_stat_num_bts_connected_3() ); execute( TC_ctrl() ); if (mp_bssap_cfg[0].transport == BSSAP_TRANSPORT_SCCPlite_SERVER) { execute( TC_ctrl_location() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic1b35b7406547f92818afe399a2383d154576409 Gerrit-Change-Number: 25272 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:42 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, pespin, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 to look at the new patch set (#3). Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... add stat items bsc.0.num_msc:connected, .num_msc:total We already have MSC connection stat items, but for hysterical raisins there are separate such stats for each MSC. Hence we have N connection counters, each being either 0 or 1, for a single MSC. Add a new stat counting the *overall* MSCs that are connected, and one indicating the total number of configured MSCs. Related: SYS#5542 Related: I178dcf4516606aa561d47b06061b8a416d3c40cf (osmo-ttcn3-hacks) Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae --- M include/osmocom/bsc/bsc_stats.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_stats.c 3 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/25226/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:42 +0000 Subject: Change in osmo-bsc[master]: move BSC level stats and rate counters to new bsc_stats.[hc] References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25273 ) Change subject: move BSC level stats and rate counters to new bsc_stats.[hc] ...................................................................... move BSC level stats and rate counters to new bsc_stats.[hc] Instead of having static const structs in header files (which end up duplicated in each and every compile unit!), have one .c file with the rate_ctr and stat_item descriptions. Related: SYS#5542 Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 --- M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/bsc_stats.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_init.c A src/osmo-bsc/bsc_stats.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/paging.c 14 files changed, 231 insertions(+), 169 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/73/25273/1 diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index dde08a1..3accc74 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -7,6 +7,7 @@ acc.h \ assignment_fsm.h \ bsc_rll.h \ + bsc_stats.h \ bsc_subscriber.h \ bsc_subscr_conn_fsm.h \ bss.h \ diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h new file mode 100644 index 0000000..8fcd5a0 --- /dev/null +++ b/include/osmocom/bsc/bsc_stats.h @@ -0,0 +1,98 @@ +/* osmo-bsc statistics */ +/* (C) 2021 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include + +struct osmo_stat_item_group_desc; + +/* OsmoBSC rate_ctr indexes */ +enum { + BSC_CTR_ASSIGNMENT_ATTEMPTED, + BSC_CTR_ASSIGNMENT_COMPLETED, + BSC_CTR_ASSIGNMENT_STOPPED, + BSC_CTR_ASSIGNMENT_NO_CHANNEL, + BSC_CTR_ASSIGNMENT_TIMEOUT, + BSC_CTR_ASSIGNMENT_FAILED, + BSC_CTR_ASSIGNMENT_ERROR, + BSC_CTR_HANDOVER_ATTEMPTED, + BSC_CTR_HANDOVER_COMPLETED, + BSC_CTR_HANDOVER_STOPPED, + BSC_CTR_HANDOVER_NO_CHANNEL, + BSC_CTR_HANDOVER_TIMEOUT, + BSC_CTR_HANDOVER_FAILED, + BSC_CTR_HANDOVER_ERROR, + BSC_CTR_INTRA_CELL_HO_ATTEMPTED, + BSC_CTR_INTRA_CELL_HO_COMPLETED, + BSC_CTR_INTRA_CELL_HO_STOPPED, + BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, + BSC_CTR_INTRA_CELL_HO_TIMEOUT, + BSC_CTR_INTRA_CELL_HO_FAILED, + BSC_CTR_INTRA_CELL_HO_ERROR, + BSC_CTR_INTRA_BSC_HO_ATTEMPTED, + BSC_CTR_INTRA_BSC_HO_COMPLETED, + BSC_CTR_INTRA_BSC_HO_STOPPED, + BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, + BSC_CTR_INTRA_BSC_HO_TIMEOUT, + BSC_CTR_INTRA_BSC_HO_FAILED, + BSC_CTR_INTRA_BSC_HO_ERROR, + BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, + BSC_CTR_INTER_BSC_HO_OUT_STOPPED, + BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BSC_CTR_INTER_BSC_HO_OUT_FAILED, + BSC_CTR_INTER_BSC_HO_OUT_ERROR, + BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BSC_CTR_INTER_BSC_HO_IN_COMPLETED, + BSC_CTR_INTER_BSC_HO_IN_STOPPED, + BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BSC_CTR_INTER_BSC_HO_IN_FAILED, + BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, + BSC_CTR_INTER_BSC_HO_IN_ERROR, + BSC_CTR_SRVCC_ATTEMPTED, + BSC_CTR_SRVCC_COMPLETED, + BSC_CTR_SRVCC_STOPPED, + BSC_CTR_SRVCC_NO_CHANNEL, + BSC_CTR_SRVCC_TIMEOUT, + BSC_CTR_SRVCC_FAILED, + BSC_CTR_SRVCC_ERROR, + BSC_CTR_PAGING_ATTEMPTED, + BSC_CTR_PAGING_DETACHED, + BSC_CTR_PAGING_RESPONDED, + BSC_CTR_PAGING_NO_ACTIVE_PAGING, + BSC_CTR_UNKNOWN_UNIT_ID, + BSC_CTR_MSCPOOL_SUBSCR_NO_MSC, + BSC_CTR_MSCPOOL_EMERG_FORWARDED, + BSC_CTR_MSCPOOL_EMERG_LOST, +}; + +extern const struct rate_ctr_desc bsc_ctr_description[]; +extern const struct rate_ctr_group_desc bsc_ctrg_desc; + +/* OsmoBSC stat_item indexes */ +enum { + BSC_STAT_NUM_BTS_TOTAL, +}; + +/* BTS counter index if a BTS could not be found + * Currently we are limited to bts 0 - 255 in the VTY, but that might change in + * the future so use 2**16 */ +#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) + +extern const struct osmo_stat_item_group_desc bsc_statg_desc; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d6c06de..db0f249 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1110,163 +1110,6 @@ void conn_update_ms_power_class(struct gsm_subscriber_connection *conn, uint8_t power_class); void lchan_update_ms_power_ctrl_level(struct gsm_lchan *lchan, int ms_power_dbm); -enum { - BSC_CTR_ASSIGNMENT_ATTEMPTED, - BSC_CTR_ASSIGNMENT_COMPLETED, - BSC_CTR_ASSIGNMENT_STOPPED, - BSC_CTR_ASSIGNMENT_NO_CHANNEL, - BSC_CTR_ASSIGNMENT_TIMEOUT, - BSC_CTR_ASSIGNMENT_FAILED, - BSC_CTR_ASSIGNMENT_ERROR, - BSC_CTR_HANDOVER_ATTEMPTED, - BSC_CTR_HANDOVER_COMPLETED, - BSC_CTR_HANDOVER_STOPPED, - BSC_CTR_HANDOVER_NO_CHANNEL, - BSC_CTR_HANDOVER_TIMEOUT, - BSC_CTR_HANDOVER_FAILED, - BSC_CTR_HANDOVER_ERROR, - BSC_CTR_INTRA_CELL_HO_ATTEMPTED, - BSC_CTR_INTRA_CELL_HO_COMPLETED, - BSC_CTR_INTRA_CELL_HO_STOPPED, - BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, - BSC_CTR_INTRA_CELL_HO_TIMEOUT, - BSC_CTR_INTRA_CELL_HO_FAILED, - BSC_CTR_INTRA_CELL_HO_ERROR, - BSC_CTR_INTRA_BSC_HO_ATTEMPTED, - BSC_CTR_INTRA_BSC_HO_COMPLETED, - BSC_CTR_INTRA_BSC_HO_STOPPED, - BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, - BSC_CTR_INTRA_BSC_HO_TIMEOUT, - BSC_CTR_INTRA_BSC_HO_FAILED, - BSC_CTR_INTRA_BSC_HO_ERROR, - BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, - BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, - BSC_CTR_INTER_BSC_HO_OUT_STOPPED, - BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, - BSC_CTR_INTER_BSC_HO_OUT_FAILED, - BSC_CTR_INTER_BSC_HO_OUT_ERROR, - BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, - BSC_CTR_INTER_BSC_HO_IN_COMPLETED, - BSC_CTR_INTER_BSC_HO_IN_STOPPED, - BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL, - BSC_CTR_INTER_BSC_HO_IN_FAILED, - BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, - BSC_CTR_INTER_BSC_HO_IN_ERROR, - BSC_CTR_SRVCC_ATTEMPTED, - BSC_CTR_SRVCC_COMPLETED, - BSC_CTR_SRVCC_STOPPED, - BSC_CTR_SRVCC_NO_CHANNEL, - BSC_CTR_SRVCC_TIMEOUT, - BSC_CTR_SRVCC_FAILED, - BSC_CTR_SRVCC_ERROR, - BSC_CTR_PAGING_ATTEMPTED, - BSC_CTR_PAGING_DETACHED, - BSC_CTR_PAGING_RESPONDED, - BSC_CTR_PAGING_NO_ACTIVE_PAGING, - BSC_CTR_UNKNOWN_UNIT_ID, - BSC_CTR_MSCPOOL_SUBSCR_NO_MSC, - BSC_CTR_MSCPOOL_EMERG_FORWARDED, - BSC_CTR_MSCPOOL_EMERG_LOST, -}; - -static const struct rate_ctr_desc bsc_ctr_description[] = { - [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, - [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, - [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, - [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, - [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, - [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, - [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, - - [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, - [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, - [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, - [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, - [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, - [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, - [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, - [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, - [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, - [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, - [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, - [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, - [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, - [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, - [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, - [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", - "Attempts to handover to remote BSS"}, - [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", - "Handover to remote BSS completed"}, - [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, - [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, - [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, - [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", - "Handover to remote BSS failed for other reason"}, - - [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", - "Attempts to handover from remote BSS"}, - [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", - "Handover from remote BSS completed"}, - [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, - [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", - "Failure to allocate lchan for HO"}, - [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, - [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, - [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", - "Handover from remote BSS failed for other reason"}, - - [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, - [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, - [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, - [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, - [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, - [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, - [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, - [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, - [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, - - [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, - - [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", - "Complete Layer 3 requests lost because no connected MSC is found available"}, - [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", - "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, - [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", - "Emergency call requests lost because no MSC was found available"}, -}; - - - -static const struct rate_ctr_group_desc bsc_ctrg_desc = { - "bsc", - "base station controller", - OSMO_STATS_CLASS_GLOBAL, - ARRAY_SIZE(bsc_ctr_description), - bsc_ctr_description, -}; - -/* Constants for the BSC stats */ -enum { - BSC_STAT_NUM_BTS_TOTAL, -}; - -/* BTS counter index if a BTS could not be found - * Currently we are limited to bts 0 - 255 in the VTY, but that might change in - * the future so use 2**16 */ -#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) - struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index c149f47..8991697 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -39,6 +39,7 @@ bsc_rf_ctrl.c \ bsc_rll.c \ bsc_sccp.c \ + bsc_stats.c \ bsc_subscr_conn_fsm.c \ bsc_subscriber.c \ bsc_vty.c \ diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 2c52d22..3c1f13b 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -36,6 +36,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 42acbbc..a85e76f 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -46,18 +47,6 @@ #include #include -static const struct osmo_stat_item_desc bsc_stat_desc[] = { - [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, -}; - -static const struct osmo_stat_item_group_desc bsc_statg_desc = { - .group_name_prefix = "bsc", - .group_description = "base station controller", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(bsc_stat_desc), - .item_desc = bsc_stat_desc, -}; - int bsc_shutdown_net(struct gsm_network *net) { struct gsm_bts *bts; diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c new file mode 100644 index 0000000..8fc4c38 --- /dev/null +++ b/src/osmo-bsc/bsc_stats.c @@ -0,0 +1,122 @@ +/* osmo-bsc statistics */ +/* (C) 2021 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include + +const struct rate_ctr_desc bsc_ctr_description[] = { + [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, + [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, + [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, + [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, + [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, + [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, + [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, + + [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, + [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, + [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, + [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, + [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, + [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, + [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, + [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", + "Attempts to handover to remote BSS"}, + [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", + "Handover to remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, + [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", + "Handover to remote BSS failed for other reason"}, + + [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", + "Attempts to handover from remote BSS"}, + [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", + "Handover from remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO"}, + [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, + [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, + [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", + "Handover from remote BSS failed for other reason"}, + + [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, + [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, + [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, + [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, + [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, + [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, + [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, + [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, + [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, + + [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, + + [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", + "Complete Layer 3 requests lost because no connected MSC is found available"}, + [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", + "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, + [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", + "Emergency call requests lost because no MSC was found available"}, +}; + +const struct rate_ctr_group_desc bsc_ctrg_desc = { + "bsc", + "base station controller", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(bsc_ctr_description), + bsc_ctr_description, +}; + +static const struct osmo_stat_item_desc bsc_stat_desc[] = { + [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, +}; + +const struct osmo_stat_item_group_desc bsc_statg_desc = { + .group_name_prefix = "bsc", + .group_description = "base station controller", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bsc_stat_desc), + .item_desc = bsc_stat_desc, +}; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 27f6aee..8d2908f 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -51,6 +51,7 @@ #include #include #include +#include static int bts_model_nanobts_start(struct gsm_network *net); static void bts_model_nanobts_e1line_bind_ops(struct e1inp_line *line); diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 577feec..2b7b42b 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -49,6 +49,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 1f6b38e..91c90fe 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 797a336..255478f 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -45,6 +45,7 @@ #include #include #include +#include #define LOG_FMT_BTS "bts %u lac-ci %u-%u arfcn-bsic %d-%d" #define LOG_ARGS_BTS(bts) \ diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f0caa7..d786ec6 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index b97c7a1..b3bd365 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -67,6 +67,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index d2dd5ea..04512be 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -54,6 +54,7 @@ #include #include #include +#include void *tall_paging_ctx = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 Gerrit-Change-Number: 25273 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:43 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... add stat_items for BTS and TRX connection stati So far we have stat items per BTS. Add stat items summing overall BTS status. Add stat items: - num_bts:oml_connected - num_bts:all_trx_rsl_connected - num_bts:total - num_trx:rsl_connected - num_trx:total Related: SYS#5542 Related: Ic1b35b7406547f92818afe399a2383d154576409 (osmo-ttcn3-hacks) Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 --- M include/osmocom/bsc/bsc_stats.h M src/osmo-bsc/bsc_stats.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/osmo_bsc_main.c 4 files changed, 80 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/74/25274/1 diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h index 639f87f..4250079 100644 --- a/include/osmocom/bsc/bsc_stats.h +++ b/include/osmocom/bsc/bsc_stats.h @@ -21,6 +21,7 @@ #include struct osmo_stat_item_group_desc; +struct gsm_network; /* OsmoBSC rate_ctr indexes */ enum { @@ -87,7 +88,11 @@ /* OsmoBSC stat_item indexes */ enum { + BSC_STAT_NUM_BTS_OML_CONNECTED, + BSC_STAT_NUM_BTS_ALL_TRX_RSL_CONNECTED, BSC_STAT_NUM_BTS_TOTAL, + BSC_STAT_NUM_TRX_RSL_CONNECTED, + BSC_STAT_NUM_TRX_TOTAL, BSC_STAT_NUM_MSC_CONNECTED, BSC_STAT_NUM_MSC_TOTAL, }; @@ -98,3 +103,5 @@ #define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) extern const struct osmo_stat_item_group_desc bsc_statg_desc; + +void bsc_update_connection_stats(struct gsm_network *net); diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c index 36d38c2..f33e6c8 100644 --- a/src/osmo-bsc/bsc_stats.c +++ b/src/osmo-bsc/bsc_stats.c @@ -23,6 +23,9 @@ #include #include +#include +#include + const struct rate_ctr_desc bsc_ctr_description[] = { [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, @@ -110,7 +113,11 @@ }; static const struct osmo_stat_item_desc bsc_stat_desc[] = { + [BSC_STAT_NUM_BTS_OML_CONNECTED] = { "num_bts:oml_connected", "Number of BTS for this BSC where OML is up", "", 16, 0 }, + [BSC_STAT_NUM_BTS_ALL_TRX_RSL_CONNECTED] = { "num_bts:all_trx_rsl_connected", "Number of BTS for this BSC where RSL is up for all TRX", "", 16, 0 }, [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_TRX_RSL_CONNECTED] = { "num_trx:rsl_connected", "Number of TRX where RSL is up, total sum across all BTS", "", 16, 0 }, + [BSC_STAT_NUM_TRX_TOTAL] = { "num_trx:total", "Number of configured TRX, total sum across all BTS", "", 1, 0 }, [BSC_STAT_NUM_MSC_CONNECTED] = { "num_msc:connected", "Number of actively connected MSCs", "", 16, 0 }, [BSC_STAT_NUM_MSC_TOTAL] = { "num_msc:total", "Number of configured MSCs, not necessarily connected", "", 1, 0 }, }; @@ -122,3 +129,55 @@ .num_items = ARRAY_SIZE(bsc_stat_desc), .item_desc = bsc_stat_desc, }; + +/* Count all BTS and TRX OML and RSL stati and update stat items */ +void bsc_update_connection_stats(struct gsm_network *net) +{ + struct gsm_bts *bts; + struct gsm_bts_trx *trx; + + /* Nr of configured BTS and total sum of configured TRX across all BTS */ + int num_bts = 0; + int num_trx_total = 0; + /* Nr of BTS where OML is up */ + int bts_oml_connected = 0; + /* Nr of TRX across all BTS where RSL is up */ + int trx_rsl_connected_total = 0; + /* Nr of BTS that have all TRX RSL up */ + int bts_rsl_all_trx_connected = 0; + + llist_for_each_entry(bts, &net->bts_list, list) { + bool oml_connected = false; + int num_trx = 0; + int trx_rsl_connected = 0; + + llist_for_each_entry(trx, &bts->trx_list, list) { + /* If any one trx is usable, it means OML for this BTS is connected */ + if (trx_is_usable(trx)) + oml_connected = true; + + /* Count nr of TRX for this BTS */ + num_trx++; + if (trx->ts[0].is_rsl_ready) + trx_rsl_connected++; + } + + num_trx_total += num_trx; + trx_rsl_connected_total += trx_rsl_connected; + + num_bts++; + if (oml_connected) + bts_oml_connected++; + if (trx_rsl_connected == num_trx) + bts_rsl_all_trx_connected++; + } + + osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_BTS_OML_CONNECTED), + bts_oml_connected); + osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_BTS_ALL_TRX_RSL_CONNECTED), + bts_rsl_all_trx_connected); + osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_BTS_TOTAL), num_bts); + osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_TRX_RSL_CONNECTED), + trx_rsl_connected_total); + osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_TRX_TOTAL), num_trx_total); +} diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 2b7b42b..fe1add3 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -123,7 +123,6 @@ /* allocate a new one */ bts = bsc_bts_alloc_register(gsmnet, GSM_BTS_TYPE_UNKNOWN, HARDCODED_BSIC); - osmo_stat_item_inc(osmo_stat_item_group_get_item(gsmnet->bsc_statg, BSC_STAT_NUM_BTS_TOTAL), 1); } else bts = gsm_bts_num(gsmnet, bts_nr); diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index b3bd365..2fe4058 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -378,6 +378,18 @@ } } +struct osmo_timer_list update_connection_stats_timer; + +/* Periodically call bsc_update_connection_stats() to keep stat items updated. + * It would be nicer to trigger this only when OML or RSL state is seen to flip. I tried hard to find all code paths + * that should call this and failed to get accurate results; this trivial timer covers all of them. */ +static void update_connection_stats_cb(void *data) +{ + bsc_update_connection_stats(bsc_gsmnet); + osmo_timer_setup(&update_connection_stats_timer, update_connection_stats_cb, NULL); + osmo_timer_schedule(&update_connection_stats_timer, 1, 0); +} + /* Callback function to be called every time we receive a signal from INPUT */ static int inp_sig_cb(unsigned int subsys, unsigned int signal, void *handler_data, void *signal_data) @@ -1026,6 +1038,8 @@ signal(SIGUSR2, &signal_handler); osmo_init_ignore_signals(); + update_connection_stats_cb(NULL); + if (daemonize) { rc = osmo_daemonize(); if (rc < 0) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:43 +0000 Subject: Change in osmo-bsc[master]: move BTS level stats and counters to bsc_stats.[hc] References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25275 ) Change subject: move BTS level stats and counters to bsc_stats.[hc] ...................................................................... move BTS level stats and counters to bsc_stats.[hc] After adding bsc_stats.c, I figured it would make sense to also move the BTS level statistics definitions to this file, so that we have one place to find statistics for any reporting level. Related: SYS#5542 Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c --- M include/osmocom/bsc/bsc_stats.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bsc_stats.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/chan_alloc.c M src/osmo-bsc/lchan_fsm.c M src/osmo-bsc/osmo_bsc_filter.c M src/osmo-bsc/timeslot_fsm.c 10 files changed, 678 insertions(+), 670 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/75/25275/1 diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h index 4250079..8d2f77f 100644 --- a/include/osmocom/bsc/bsc_stats.h +++ b/include/osmocom/bsc/bsc_stats.h @@ -97,7 +97,7 @@ BSC_STAT_NUM_MSC_TOTAL, }; -/* BTS counter index if a BTS could not be found +/* BTS counter index if a BTS could not be found, for both rate_ctr and stat_item. * Currently we are limited to bts 0 - 255 in the VTY, but that might change in * the future so use 2**16 */ #define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) @@ -105,3 +105,167 @@ extern const struct osmo_stat_item_group_desc bsc_statg_desc; void bsc_update_connection_stats(struct gsm_network *net); + +/* per BTS rate counters */ +enum bts_counter_id { + BTS_CTR_CHREQ_TOTAL, + BTS_CTR_CHREQ_ATTEMPTED_EMERG, + BTS_CTR_CHREQ_ATTEMPTED_CALL, + BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD, + BTS_CTR_CHREQ_ATTEMPTED_PAG, + BTS_CTR_CHREQ_ATTEMPTED_PDCH, + BTS_CTR_CHREQ_ATTEMPTED_OTHER, + BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN, + BTS_CTR_CHREQ_SUCCESSFUL, + BTS_CTR_CHREQ_NO_CHANNEL, + BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED, + BTS_CTR_CHAN_RF_FAIL, + BTS_CTR_CHAN_RF_FAIL_TCH, + BTS_CTR_CHAN_RF_FAIL_SDCCH, + BTS_CTR_CHAN_RLL_ERR, + BTS_CTR_BTS_OML_FAIL, + BTS_CTR_BTS_RSL_FAIL, + BTS_CTR_CODEC_AMR_F, + BTS_CTR_CODEC_AMR_H, + BTS_CTR_CODEC_EFR, + BTS_CTR_CODEC_V1_FR, + BTS_CTR_CODEC_V1_HR, + BTS_CTR_PAGING_ATTEMPTED, + BTS_CTR_PAGING_ALREADY, + BTS_CTR_PAGING_RESPONDED, + BTS_CTR_PAGING_EXPIRED, + BTS_CTR_PAGING_NO_ACTIVE_PAGING, + BTS_CTR_PAGING_MSC_FLUSH, + BTS_CTR_CHAN_ACT_TOTAL, + BTS_CTR_CHAN_ACT_SDCCH, + BTS_CTR_CHAN_ACT_TCH, + BTS_CTR_CHAN_ACT_NACK, + BTS_CTR_RSL_UNKNOWN, + BTS_CTR_RSL_IPA_NACK, + BTS_CTR_RSL_DELETE_IND, + BTS_CTR_MODE_MODIFY_NACK, + BTS_CTR_LCHAN_BORKEN_FROM_UNUSED, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_BORKEN, + BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK, + BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK, + BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK, + BTS_CTR_LCHAN_BORKEN_EV_VTY, + BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN, + BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RR_CHAN_MODE_MODIFY_ACK, + BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RSL_CHAN_MODE_MODIFY_ACK, + BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED, + BTS_CTR_TS_BORKEN_FROM_UNUSED, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT, + BTS_CTR_TS_BORKEN_FROM_PDCH, + BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT, + BTS_CTR_TS_BORKEN_FROM_IN_USE, + BTS_CTR_TS_BORKEN_FROM_BORKEN, + BTS_CTR_TS_BORKEN_FROM_UNKNOWN, + BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK, + BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK, + BTS_CTR_TS_BORKEN_EV_TEARDOWN, + BTS_CTR_ASSIGNMENT_ATTEMPTED, + BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN, + BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH, + BTS_CTR_ASSIGNMENT_COMPLETED, + BTS_CTR_ASSIGNMENT_COMPLETED_SIGN, + BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH, + BTS_CTR_ASSIGNMENT_STOPPED, + BTS_CTR_ASSIGNMENT_STOPPED_SIGN, + BTS_CTR_ASSIGNMENT_STOPPED_SPEECH, + BTS_CTR_ASSIGNMENT_NO_CHANNEL, + BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN, + BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH, + BTS_CTR_ASSIGNMENT_TIMEOUT, + BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN, + BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH, + BTS_CTR_ASSIGNMENT_FAILED, + BTS_CTR_ASSIGNMENT_FAILED_SIGN, + BTS_CTR_ASSIGNMENT_FAILED_SPEECH, + BTS_CTR_ASSIGNMENT_ERROR, + BTS_CTR_ASSIGNMENT_ERROR_SIGN, + BTS_CTR_ASSIGNMENT_ERROR_SPEECH, + BTS_CTR_LOCATION_UPDATE_ACCEPT, + BTS_CTR_LOCATION_UPDATE_REJECT, + BTS_CTR_LOCATION_UPDATE_DETACH, + BTS_CTR_LOCATION_UPDATE_UNKNOWN, + BTS_CTR_HANDOVER_ATTEMPTED, + BTS_CTR_HANDOVER_COMPLETED, + BTS_CTR_HANDOVER_STOPPED, + BTS_CTR_HANDOVER_NO_CHANNEL, + BTS_CTR_HANDOVER_TIMEOUT, + BTS_CTR_HANDOVER_FAILED, + BTS_CTR_HANDOVER_ERROR, + BTS_CTR_INTRA_CELL_HO_ATTEMPTED, + BTS_CTR_INTRA_CELL_HO_COMPLETED, + BTS_CTR_INTRA_CELL_HO_STOPPED, + BTS_CTR_INTRA_CELL_HO_NO_CHANNEL, + BTS_CTR_INTRA_CELL_HO_TIMEOUT, + BTS_CTR_INTRA_CELL_HO_FAILED, + BTS_CTR_INTRA_CELL_HO_ERROR, + BTS_CTR_INTRA_BSC_HO_ATTEMPTED, + BTS_CTR_INTRA_BSC_HO_COMPLETED, + BTS_CTR_INTRA_BSC_HO_STOPPED, + BTS_CTR_INTRA_BSC_HO_NO_CHANNEL, + BTS_CTR_INTRA_BSC_HO_TIMEOUT, + BTS_CTR_INTRA_BSC_HO_FAILED, + BTS_CTR_INTRA_BSC_HO_ERROR, + BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, + BTS_CTR_INTER_BSC_HO_OUT_STOPPED, + BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BTS_CTR_INTER_BSC_HO_OUT_FAILED, + BTS_CTR_INTER_BSC_HO_OUT_ERROR, + BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BTS_CTR_INTER_BSC_HO_IN_COMPLETED, + BTS_CTR_INTER_BSC_HO_IN_STOPPED, + BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BTS_CTR_INTER_BSC_HO_IN_FAILED, + BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, + BTS_CTR_INTER_BSC_HO_IN_ERROR, + BTS_CTR_SRVCC_ATTEMPTED, + BTS_CTR_SRVCC_COMPLETED, + BTS_CTR_SRVCC_STOPPED, + BTS_CTR_SRVCC_NO_CHANNEL, + BTS_CTR_SRVCC_TIMEOUT, + BTS_CTR_SRVCC_FAILED, + BTS_CTR_SRVCC_ERROR, +}; + +extern const struct rate_ctr_desc bts_ctr_description[]; +extern const struct rate_ctr_group_desc bts_ctrg_desc; + +/* per BTS stat items */ +enum { + BTS_STAT_UPTIME_SECONDS, + BTS_STAT_CHAN_LOAD_AVERAGE, + BTS_STAT_CHAN_CCCH_SDCCH4_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL, + BTS_STAT_CHAN_TCH_F_USED, + BTS_STAT_CHAN_TCH_F_TOTAL, + BTS_STAT_CHAN_TCH_H_USED, + BTS_STAT_CHAN_TCH_H_TOTAL, + BTS_STAT_CHAN_SDCCH8_USED, + BTS_STAT_CHAN_SDCCH8_TOTAL, + BTS_STAT_CHAN_TCH_F_PDCH_USED, + BTS_STAT_CHAN_TCH_F_PDCH_TOTAL, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED, + BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL, + BTS_STAT_CHAN_SDCCH8_CBCH_USED, + BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL, + BTS_STAT_CHAN_OSMO_DYN_USED, + BTS_STAT_CHAN_OSMO_DYN_TOTAL, + BTS_STAT_T3122, + BTS_STAT_RACH_BUSY, + BTS_STAT_RACH_ACCESS, + BTS_STAT_OML_CONNECTED, + BTS_STAT_RSL_CONNECTED, + BTS_STAT_LCHAN_BORKEN, + BTS_STAT_TS_BORKEN, +}; + +extern const struct osmo_stat_item_group_desc bts_statg_desc; diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 291ec10..841c92e 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -17,169 +17,6 @@ #include "osmocom/bsc/bts_sm.h" #include "osmocom/bsc/abis_om2000.h" -enum bts_counter_id { - BTS_CTR_CHREQ_TOTAL, - BTS_CTR_CHREQ_ATTEMPTED_EMERG, - BTS_CTR_CHREQ_ATTEMPTED_CALL, - BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD, - BTS_CTR_CHREQ_ATTEMPTED_PAG, - BTS_CTR_CHREQ_ATTEMPTED_PDCH, - BTS_CTR_CHREQ_ATTEMPTED_OTHER, - BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN, - BTS_CTR_CHREQ_SUCCESSFUL, - BTS_CTR_CHREQ_NO_CHANNEL, - BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED, - BTS_CTR_CHAN_RF_FAIL, - BTS_CTR_CHAN_RF_FAIL_TCH, - BTS_CTR_CHAN_RF_FAIL_SDCCH, - BTS_CTR_CHAN_RLL_ERR, - BTS_CTR_BTS_OML_FAIL, - BTS_CTR_BTS_RSL_FAIL, - BTS_CTR_CODEC_AMR_F, - BTS_CTR_CODEC_AMR_H, - BTS_CTR_CODEC_EFR, - BTS_CTR_CODEC_V1_FR, - BTS_CTR_CODEC_V1_HR, - BTS_CTR_PAGING_ATTEMPTED, - BTS_CTR_PAGING_ALREADY, - BTS_CTR_PAGING_RESPONDED, - BTS_CTR_PAGING_EXPIRED, - BTS_CTR_PAGING_NO_ACTIVE_PAGING, - BTS_CTR_PAGING_MSC_FLUSH, - BTS_CTR_CHAN_ACT_TOTAL, - BTS_CTR_CHAN_ACT_SDCCH, - BTS_CTR_CHAN_ACT_TCH, - BTS_CTR_CHAN_ACT_NACK, - BTS_CTR_RSL_UNKNOWN, - BTS_CTR_RSL_IPA_NACK, - BTS_CTR_RSL_DELETE_IND, - BTS_CTR_MODE_MODIFY_NACK, - BTS_CTR_LCHAN_BORKEN_FROM_UNUSED, - BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK, - BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK, - BTS_CTR_LCHAN_BORKEN_FROM_BORKEN, - BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN, - BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK, - BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK, - BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK, - BTS_CTR_LCHAN_BORKEN_EV_VTY, - BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN, - BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR, - BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RR_CHAN_MODE_MODIFY_ACK, - BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RSL_CHAN_MODE_MODIFY_ACK, - BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED, - BTS_CTR_TS_BORKEN_FROM_UNUSED, - BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT, - BTS_CTR_TS_BORKEN_FROM_PDCH, - BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT, - BTS_CTR_TS_BORKEN_FROM_IN_USE, - BTS_CTR_TS_BORKEN_FROM_BORKEN, - BTS_CTR_TS_BORKEN_FROM_UNKNOWN, - BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK, - BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK, - BTS_CTR_TS_BORKEN_EV_TEARDOWN, - BTS_CTR_ASSIGNMENT_ATTEMPTED, - BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN, - BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH, - BTS_CTR_ASSIGNMENT_COMPLETED, - BTS_CTR_ASSIGNMENT_COMPLETED_SIGN, - BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH, - BTS_CTR_ASSIGNMENT_STOPPED, - BTS_CTR_ASSIGNMENT_STOPPED_SIGN, - BTS_CTR_ASSIGNMENT_STOPPED_SPEECH, - BTS_CTR_ASSIGNMENT_NO_CHANNEL, - BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN, - BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH, - BTS_CTR_ASSIGNMENT_TIMEOUT, - BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN, - BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH, - BTS_CTR_ASSIGNMENT_FAILED, - BTS_CTR_ASSIGNMENT_FAILED_SIGN, - BTS_CTR_ASSIGNMENT_FAILED_SPEECH, - BTS_CTR_ASSIGNMENT_ERROR, - BTS_CTR_ASSIGNMENT_ERROR_SIGN, - BTS_CTR_ASSIGNMENT_ERROR_SPEECH, - BTS_CTR_LOCATION_UPDATE_ACCEPT, - BTS_CTR_LOCATION_UPDATE_REJECT, - BTS_CTR_LOCATION_UPDATE_DETACH, - BTS_CTR_LOCATION_UPDATE_UNKNOWN, - BTS_CTR_HANDOVER_ATTEMPTED, - BTS_CTR_HANDOVER_COMPLETED, - BTS_CTR_HANDOVER_STOPPED, - BTS_CTR_HANDOVER_NO_CHANNEL, - BTS_CTR_HANDOVER_TIMEOUT, - BTS_CTR_HANDOVER_FAILED, - BTS_CTR_HANDOVER_ERROR, - BTS_CTR_INTRA_CELL_HO_ATTEMPTED, - BTS_CTR_INTRA_CELL_HO_COMPLETED, - BTS_CTR_INTRA_CELL_HO_STOPPED, - BTS_CTR_INTRA_CELL_HO_NO_CHANNEL, - BTS_CTR_INTRA_CELL_HO_TIMEOUT, - BTS_CTR_INTRA_CELL_HO_FAILED, - BTS_CTR_INTRA_CELL_HO_ERROR, - BTS_CTR_INTRA_BSC_HO_ATTEMPTED, - BTS_CTR_INTRA_BSC_HO_COMPLETED, - BTS_CTR_INTRA_BSC_HO_STOPPED, - BTS_CTR_INTRA_BSC_HO_NO_CHANNEL, - BTS_CTR_INTRA_BSC_HO_TIMEOUT, - BTS_CTR_INTRA_BSC_HO_FAILED, - BTS_CTR_INTRA_BSC_HO_ERROR, - BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED, - BTS_CTR_INTER_BSC_HO_OUT_COMPLETED, - BTS_CTR_INTER_BSC_HO_OUT_STOPPED, - BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT, - BTS_CTR_INTER_BSC_HO_OUT_FAILED, - BTS_CTR_INTER_BSC_HO_OUT_ERROR, - BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED, - BTS_CTR_INTER_BSC_HO_IN_COMPLETED, - BTS_CTR_INTER_BSC_HO_IN_STOPPED, - BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL, - BTS_CTR_INTER_BSC_HO_IN_FAILED, - BTS_CTR_INTER_BSC_HO_IN_TIMEOUT, - BTS_CTR_INTER_BSC_HO_IN_ERROR, - BTS_CTR_SRVCC_ATTEMPTED, - BTS_CTR_SRVCC_COMPLETED, - BTS_CTR_SRVCC_STOPPED, - BTS_CTR_SRVCC_NO_CHANNEL, - BTS_CTR_SRVCC_TIMEOUT, - BTS_CTR_SRVCC_FAILED, - BTS_CTR_SRVCC_ERROR, -}; - -extern const struct rate_ctr_desc bts_ctr_description[]; -extern const struct rate_ctr_group_desc bts_ctrg_desc; - -enum { - BTS_STAT_UPTIME_SECONDS, - BTS_STAT_CHAN_LOAD_AVERAGE, - BTS_STAT_CHAN_CCCH_SDCCH4_USED, - BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL, - BTS_STAT_CHAN_TCH_F_USED, - BTS_STAT_CHAN_TCH_F_TOTAL, - BTS_STAT_CHAN_TCH_H_USED, - BTS_STAT_CHAN_TCH_H_TOTAL, - BTS_STAT_CHAN_SDCCH8_USED, - BTS_STAT_CHAN_SDCCH8_TOTAL, - BTS_STAT_CHAN_TCH_F_PDCH_USED, - BTS_STAT_CHAN_TCH_F_PDCH_TOTAL, - BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED, - BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL, - BTS_STAT_CHAN_SDCCH8_CBCH_USED, - BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL, - BTS_STAT_CHAN_OSMO_DYN_USED, - BTS_STAT_CHAN_OSMO_DYN_TOTAL, - BTS_STAT_T3122, - BTS_STAT_RACH_BUSY, - BTS_STAT_RACH_ACCESS, - BTS_STAT_OML_CONNECTED, - BTS_STAT_RSL_CONNECTED, - BTS_STAT_LCHAN_BORKEN, - BTS_STAT_TS_BORKEN, -}; - -extern const struct osmo_stat_item_desc bts_stat_desc[]; -extern const struct osmo_stat_item_group_desc bts_statg_desc; - enum gsm_bts_type { GSM_BTS_TYPE_UNKNOWN, GSM_BTS_TYPE_BS11, diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 26231ac..879e5b4 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -55,6 +55,7 @@ #include #include #include +#include static void send_lchan_signal(int sig_no, struct gsm_lchan *lchan, struct gsm_meas_rep *resp) diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c index f33e6c8..e12426a 100644 --- a/src/osmo-bsc/bsc_stats.c +++ b/src/osmo-bsc/bsc_stats.c @@ -181,3 +181,509 @@ trx_rsl_connected_total); osmo_stat_item_set(osmo_stat_item_group_get_item(net->bsc_statg, BSC_STAT_NUM_TRX_TOTAL), num_trx_total); } + +const struct rate_ctr_desc bts_ctr_description[] = { + [BTS_CTR_CHREQ_TOTAL] = \ + { "chreq:total", + "Received channel requests" }, + [BTS_CTR_CHREQ_ATTEMPTED_EMERG] = \ + { "chreq:attempted_emerg", + "Received channel requests EMERG" }, + [BTS_CTR_CHREQ_ATTEMPTED_CALL] = \ + { "chreq:attempted_call", + "Received channel requests CALL" }, + [BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD] = \ + { "chreq:attempted_location_upd", + "Received channel requests LOCATION_UPD" }, + [BTS_CTR_CHREQ_ATTEMPTED_PAG] = \ + { "chreq:attempted_pag", + "Received channel requests PAG" }, + [BTS_CTR_CHREQ_ATTEMPTED_PDCH] = \ + { "chreq:attempted_pdch", + "Received channel requests PDCH" }, + [BTS_CTR_CHREQ_ATTEMPTED_OTHER] = \ + { "chreq:attempted_other", + "Received channel requests OTHER" }, + [BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN] = \ + { "chreq:attempted_unknown", + "Received channel requests UNKNOWN" }, + [BTS_CTR_CHREQ_SUCCESSFUL] = \ + { "chreq:successful", + "Successful channel requests (immediate assign sent)" }, + [BTS_CTR_CHREQ_NO_CHANNEL] = \ + { "chreq:no_channel", + "Sent to MS no channel available" }, + [BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED] = \ + { "chreq:max_delay_exceeded", + "Received channel requests with greater than permitted access delay" }, + [BTS_CTR_CHAN_RF_FAIL] = \ + { "chan:rf_fail", + "Received a RF failure indication from BTS" }, + [BTS_CTR_CHAN_RF_FAIL_TCH] = \ + { "chan:rf_fail_tch", + "Received a RF failure indication from BTS on a TCH channel" }, + [BTS_CTR_CHAN_RF_FAIL_SDCCH] = \ + { "chan:rf_fail_sdcch", + "Received a RF failure indication from BTS on an SDCCH channel" }, + [BTS_CTR_CHAN_RLL_ERR] = \ + { "chan:rll_err", + "Received a RLL failure with T200 cause from BTS" }, + [BTS_CTR_BTS_OML_FAIL] = \ + { "oml_fail", + "Received a TEI down on a OML link" }, + [BTS_CTR_BTS_RSL_FAIL] = \ + { "rsl_fail", + "Received a TEI down on a OML link" }, + [BTS_CTR_CODEC_AMR_F] = \ + { "codec:amr_f", + "Count the usage of AMR/F codec by channel mode requested" }, + [BTS_CTR_CODEC_AMR_H] = \ + { "codec:amr_h", + "Count the usage of AMR/H codec by channel mode requested" }, + [BTS_CTR_CODEC_EFR] = \ + { "codec:efr", + "Count the usage of EFR codec by channel mode requested" }, + [BTS_CTR_CODEC_V1_FR] = \ + { "codec:fr", + "Count the usage of FR codec by channel mode requested" }, + [BTS_CTR_CODEC_V1_HR] = \ + { "codec:hr", + "Count the usage of HR codec by channel mode requested" }, + [BTS_CTR_PAGING_ATTEMPTED] = \ + { "paging:attempted", + "Paging attempts for a subscriber" }, + [BTS_CTR_PAGING_ALREADY] = \ + { "paging:already", + "Paging attempts ignored as subscriber was already being paged" }, + [BTS_CTR_PAGING_RESPONDED] = \ + { "paging:responded", + "Paging attempts with successful paging response" }, + [BTS_CTR_PAGING_EXPIRED] = \ + { "paging:expired", + "Paging Request expired because of timeout T3113" }, + [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = \ + { "paging:no_active_paging", + "Paging response without an active paging request (arrived after paging expiration?)" }, + [BTS_CTR_PAGING_MSC_FLUSH] = \ + { "paging:msc_flush", + "Paging flushed due to MSC Reset BSSMAP message" }, + [BTS_CTR_CHAN_ACT_TOTAL] = \ + { "chan_act:total", + "Total number of Channel Activations" }, + [BTS_CTR_CHAN_ACT_SDCCH] = \ + { "chan_act:sdcch", + "Number of SDCCH Channel Activations" }, + [BTS_CTR_CHAN_ACT_TCH] = \ + { "chan_act:tch", + "Number of TCH Channel Activations" }, + [BTS_CTR_CHAN_ACT_NACK] = \ + { "chan_act:nack", + "Number of Channel Activations that the BTS NACKed" }, + [BTS_CTR_RSL_UNKNOWN] = \ + { "rsl:unknown", + "Number of unknown/unsupported RSL messages received from BTS" }, + [BTS_CTR_RSL_IPA_NACK] = \ + { "rsl:ipa_nack", + "Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS" }, + [BTS_CTR_RSL_DELETE_IND] = \ + { "rsl:delete_ind", + "Number of RSL DELETE INDICATION (DL CCCH overload)" }, + [BTS_CTR_MODE_MODIFY_NACK] = \ + { "chan:mode_modify_nack", + "Number of Channel Mode Modify NACKs received from BTS" }, + + /* lchan/TS BORKEN state counters */ + [BTS_CTR_LCHAN_BORKEN_FROM_UNUSED] = \ + { "lchan_borken:from_state:unused", + "Transitions from lchan UNUSED state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK] = \ + { "lchan_borken:from_state:wait_activ_ack", + "Transitions from lchan WAIT_ACTIV_ACK state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK] = \ + { "lchan_borken:from_state:wait_rf_release_ack", + "Transitions from lchan WAIT_RF_RELEASE_ACK state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_BORKEN] = \ + { "lchan_borken:from_state:borken", + "Transitions from lchan BORKEN state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RR_CHAN_MODE_MODIFY_ACK] = \ + { "lchan_borken:from_state:wait_rr_chan_mode_modify_ack", + "Transitions from lchan WAIT_RR_CHAN_MODE_MODIFY_ACK state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = \ + { "lchan_borken:from_state:wait_rsl_chan_mode_modify_ack", + "Transitions from lchan RSL_CHAN_MODE_MODIFY_ACK state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN] = \ + { "lchan_borken:from_state:unknown", + "Transitions from an unknown lchan state to BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK] = \ + { "lchan_borken:event:chan_activ_ack", + "CHAN_ACTIV_ACK received in the lchan BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK] = \ + { "lchan_borken:event:chan_activ_nack", + "CHAN_ACTIV_NACK received in the lchan BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK] = \ + { "lchan_borken:event:rf_chan_rel_ack", + "RF_CHAN_REL_ACK received in the lchan BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_EV_VTY] = \ + { "lchan_borken:event:vty", + "VTY commands received in the lchan BORKEN state" }, + [BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN] = \ + { "lchan_borken:event:teardown", + "lchan in a BORKEN state is shutting down (BTS disconnected?)" }, + [BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR] = \ + { "lchan_borken:event:ts_error", + "LCHAN_EV_TS_ERROR received in a BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED] = \ + { "ts_borken:from_state:not_initialized", + "Transitions from TS NOT_INITIALIZED state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_UNUSED] = \ + { "ts_borken:from_state:unused", + "Transitions from TS UNUSED state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT] = \ + { "ts_borken:from_state:wait_pdch_act", + "Transitions from TS WAIT_PDCH_ACT state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_PDCH] = \ + { "ts_borken:from_state:pdch", + "Transitions from TS PDCH state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT] = \ + { "ts_borken:from_state:wait_pdch_deact", + "Transitions from TS WAIT_PDCH_DEACT state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_IN_USE] = \ + { "ts_borken:from_state:in_use", + "Transitions from TS IN_USE state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_BORKEN] = \ + { "ts_borken:from_state:borken", + "Transitions from TS BORKEN state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_FROM_UNKNOWN] = \ + { "ts_borken:from_state:unknown", + "Transitions from an unknown TS state to BORKEN state" }, + [BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK] = \ + { "ts_borken:event:pdch_act_ack_nack", + "PDCH_ACT_ACK/NACK received in the TS BORKEN state" }, + [BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK] = \ + { "ts_borken:event:pdch_deact_ack_nack", + "PDCH_DEACT_ACK/NACK received in the TS BORKEN state" }, + [BTS_CTR_TS_BORKEN_EV_TEARDOWN] = \ + { "ts_borken:event:teardown", + "TS in a BORKEN state is shutting down (BTS disconnected?)" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED] = \ + { "assignment:attempted", + "Assignment attempts" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN] = \ + { "assignment:attempted_sign", + "Assignment of signaling lchan attempts" }, + [BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH] = \ + { "assignment:attempted_speech", + "Assignment of speech lchan attempts" }, + [BTS_CTR_ASSIGNMENT_COMPLETED] = \ + { "assignment:completed", + "Assignment completed" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_SIGN] = \ + { "assignment:completed_sign", + "Assignment of signaling lchan completed" }, + [BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH] = \ + { "assignment:completed_speech", + "Assignment if speech lchan completed" }, + [BTS_CTR_ASSIGNMENT_STOPPED] = \ + { "assignment:stopped", + "Connection ended during Assignment" }, + [BTS_CTR_ASSIGNMENT_STOPPED_SIGN] = \ + { "assignment:stopped_sign", + "Connection ended during signaling lchan Assignment" }, + [BTS_CTR_ASSIGNMENT_STOPPED_SPEECH] = \ + { "assignment:stopped_speech", + "Connection ended during speech lchan Assignment" }, + [BTS_CTR_ASSIGNMENT_NO_CHANNEL] = \ + { "assignment:no_channel", + "Failure to allocate lchan for Assignment" }, + [BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN] = \ + { "assignment:no_channel_sign", + "Failure to allocate signaling lchan for Assignment" }, + [BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH] = \ + { "assignment:no_channel_speech", + "Failure to allocate speech lchan for Assignment" }, + [BTS_CTR_ASSIGNMENT_TIMEOUT] = \ + { "assignment:timeout", + "Assignment timed out" }, + [BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN] = \ + { "assignment:timeout_sign", + "Assignment of signaling lchan timed out" }, + [BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH] = \ + { "assignment:timeout_speech", + "Assignment of speech lchan timed out" }, + [BTS_CTR_ASSIGNMENT_FAILED] = \ + { "assignment:failed", + "Received Assignment Failure message" }, + [BTS_CTR_ASSIGNMENT_FAILED_SIGN] = \ + { "assignment:failed_sign", + "Received Assignment Failure message on signaling lchan" }, + [BTS_CTR_ASSIGNMENT_FAILED_SPEECH] = \ + { "assignment:failed_speech", + "Received Assignment Failure message on speech lchan" }, + [BTS_CTR_ASSIGNMENT_ERROR] = \ + { "assignment:error", + "Assignment failed for other reason" }, + [BTS_CTR_ASSIGNMENT_ERROR_SIGN] = \ + { "assignment:error_sign", + "Assignment of signaling lchan failed for other reason" }, + [BTS_CTR_ASSIGNMENT_ERROR_SPEECH] = \ + { "assignment:error_speech", + "Assignment of speech lchan failed for other reason" }, + [BTS_CTR_LOCATION_UPDATE_ACCEPT] = \ + { "location_update:accept", + "Location Update Accept" }, + [BTS_CTR_LOCATION_UPDATE_REJECT] = \ + { "location_update:reject", + "Location Update Reject" }, + [BTS_CTR_LOCATION_UPDATE_DETACH] = \ + { "location_update:detach", + "Location Update Detach" }, + [BTS_CTR_LOCATION_UPDATE_UNKNOWN] = \ + { "location_update:unknown", + "Location Update UNKNOWN" }, + [BTS_CTR_HANDOVER_ATTEMPTED] = \ + { "handover:attempted", + "Intra-BSC handover attempts" }, + [BTS_CTR_HANDOVER_COMPLETED] = \ + { "handover:completed", + "Intra-BSC handover completed" }, + [BTS_CTR_HANDOVER_STOPPED] = \ + { "handover:stopped", + "Connection ended during HO" }, + [BTS_CTR_HANDOVER_NO_CHANNEL] = \ + { "handover:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_HANDOVER_TIMEOUT] = \ + { "handover:timeout", + "Handover timed out" }, + [BTS_CTR_HANDOVER_FAILED] = \ + { "handover:failed", + "Received Handover Fail messages" }, + [BTS_CTR_HANDOVER_ERROR] = \ + { "handover:error", + "Re-assignment failed for other reason" }, + + [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = \ + { "intra_cell_ho:attempted", + "Intra-Cell handover attempts" }, + [BTS_CTR_INTRA_CELL_HO_COMPLETED] = \ + { "intra_cell_ho:completed", + "Intra-Cell handover completed" }, + [BTS_CTR_INTRA_CELL_HO_STOPPED] = \ + { "intra_cell_ho:stopped", + "Connection ended during HO" }, + [BTS_CTR_INTRA_CELL_HO_NO_CHANNEL] = \ + { "intra_cell_ho:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_INTRA_CELL_HO_TIMEOUT] = \ + { "intra_cell_ho:timeout", + "Handover timed out" }, + [BTS_CTR_INTRA_CELL_HO_FAILED] = \ + { "intra_cell_ho:failed", + "Received Handover Fail messages" }, + [BTS_CTR_INTRA_CELL_HO_ERROR] = \ + { "intra_cell_ho:error", + "Re-assignment failed for other reason" }, + + [BTS_CTR_INTRA_BSC_HO_ATTEMPTED] = \ + { "intra_bsc_ho:attempted", + "Intra-BSC handover attempts" }, + [BTS_CTR_INTRA_BSC_HO_COMPLETED] = \ + { "intra_bsc_ho:completed", + "Intra-BSC handover completed" }, + [BTS_CTR_INTRA_BSC_HO_STOPPED] = \ + { "intra_bsc_ho:stopped", + "Connection ended during HO" }, + [BTS_CTR_INTRA_BSC_HO_NO_CHANNEL] = \ + { "intra_bsc_ho:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_INTRA_BSC_HO_TIMEOUT] = \ + { "intra_bsc_ho:timeout", + "Handover timed out" }, + [BTS_CTR_INTRA_BSC_HO_FAILED] = \ + { "intra_bsc_ho:failed", + "Received Handover Fail messages" }, + [BTS_CTR_INTRA_BSC_HO_ERROR] = \ + { "intra_bsc_ho:error", + "Re-assignment failed for other reason" }, + + [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = \ + { "interbsc_ho_out:attempted", + "Attempts to handover to remote BSS" }, + [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = \ + { "interbsc_ho_out:completed", + "Handover to remote BSS completed" }, + [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = \ + { "interbsc_ho_out:stopped", + "Connection ended during HO" }, + [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = \ + { "interbsc_ho_out:timeout", + "Handover timed out" }, + [BTS_CTR_INTER_BSC_HO_OUT_FAILED] = \ + { "interbsc_ho_out:failed", + "Received Handover Fail message" }, + [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = \ + { "interbsc_ho_out:error", + "Handover to remote BSS failed for other reason" }, + [BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED] = \ + { "interbsc_ho_in:attempted", + "Attempts to handover from remote BSS" }, + [BTS_CTR_INTER_BSC_HO_IN_COMPLETED] = \ + { "interbsc_ho_in:completed", + "Handover from remote BSS completed" }, + [BTS_CTR_INTER_BSC_HO_IN_STOPPED] = \ + { "interbsc_ho_in:stopped", + "Connection ended during HO" }, + [BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = \ + { "interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_INTER_BSC_HO_IN_TIMEOUT] = \ + { "interbsc_ho_in:timeout", + "Handover from remote BSS timed out" }, + [BTS_CTR_INTER_BSC_HO_IN_FAILED] = \ + { "interbsc_ho_in:failed", + "Received Handover Fail message" }, + [BTS_CTR_INTER_BSC_HO_IN_ERROR] = \ + { "interbsc_ho_in:error", + "Handover from remote BSS failed for other reason" }, + + [BTS_CTR_SRVCC_ATTEMPTED] = \ + { "srvcc:attempted", + "Intra-BSC handover attempts" }, + [BTS_CTR_SRVCC_COMPLETED] = \ + { "srvcc:completed", + "Intra-BSC handover completed" }, + [BTS_CTR_SRVCC_STOPPED] = \ + { "srvcc:stopped", + "Connection ended during HO" }, + [BTS_CTR_SRVCC_NO_CHANNEL] = \ + { "srvcc:no_channel", + "Failure to allocate lchan for HO" }, + [BTS_CTR_SRVCC_TIMEOUT] = \ + { "srvcc:timeout", + "Handover timed out" }, + [BTS_CTR_SRVCC_FAILED] = \ + { "srvcc:failed", + "Received Handover Fail messages" }, + [BTS_CTR_SRVCC_ERROR] = \ + { "srvcc:error", + "Re-assignment failed for other reason" }, +}; + +const struct rate_ctr_group_desc bts_ctrg_desc = { + "bts", + "base transceiver station", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(bts_ctr_description), + bts_ctr_description, +}; + +const struct osmo_stat_item_desc bts_stat_desc[] = { + [BTS_STAT_UPTIME_SECONDS] = \ + { "uptime:seconds", + "Seconds of uptime", + "s", 60, 0 }, + [BTS_STAT_CHAN_LOAD_AVERAGE] = \ + { "chanloadavg", + "Channel load average", + "%", 60, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = \ + { "chan_ccch_sdcch4:used", + "Number of CCCH+SDCCH4 channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = \ + { "chan_ccch_sdcch4:total", + "Number of CCCH+SDCCH4 channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_F_USED] = \ + { "chan_tch_f:used", + "Number of TCH/F channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_F_TOTAL] = \ + { "chan_tch_f:total", + "Number of TCH/F channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_H_USED] = \ + { "chan_tch_h:used", + "Number of TCH/H channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_H_TOTAL] = \ + { "chan_tch_h:total", + "Number of TCH/H channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_SDCCH8_USED] = \ + { "chan_sdcch8:used", + "Number of SDCCH8 channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_SDCCH8_TOTAL] = \ + { "chan_sdcch8:total", + "Number of SDCCH8 channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_USED] = \ + { "chan_tch_f_pdch:used", + "Number of TCH/F_PDCH channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = \ + { "chan_tch_f_pdch:total", + "Number of TCH/F_PDCH channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = \ + { "chan_ccch_sdcch4_cbch:used", + "Number of CCCH+SDCCH4+CBCH channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = \ + { "chan_ccch_sdcch4_cbch:total", + "Number of CCCH+SDCCH4+CBCH channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = \ + { "chan_sdcch8_cbch:used", + "Number of SDCCH8+CBCH channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = \ + { "chan_sdcch8_cbch:total", + "Number of SDCCH8+CBCH channels total", + "", 60, 0 }, + [BTS_STAT_CHAN_OSMO_DYN_USED] = \ + { "chan_osmo_dyn:used", + "Number of TCH/F_TCH/H_SDCCH8_PDCH channels used", + "", 60, 0 }, + [BTS_STAT_CHAN_OSMO_DYN_TOTAL] = \ + { "chan_osmo_dyn:total", + "Number of TCH/F_TCH/H_SDCCH8_PDCH channels total", + "", 60, 0 }, + [BTS_STAT_T3122] = \ + { "T3122", + "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", + "s", 60, GSM_T3122_DEFAULT }, + [BTS_STAT_RACH_BUSY] = \ + { "rach_busy", + "RACH slots with signal above threshold", + "%", 60, 0 }, + [BTS_STAT_RACH_ACCESS] = \ + { "rach_access", + "RACH slots with access bursts in them", + "%", 60, 0 }, + [BTS_STAT_OML_CONNECTED] = \ + { "oml_connected", + "Number of OML links connected", + "", 16, 0 }, + [BTS_STAT_RSL_CONNECTED] = \ + { "rsl_connected", + "Number of RSL links connected", + "", 16, 0 }, + [BTS_STAT_LCHAN_BORKEN] = \ + { "lchan_borken", + "Number of lchans in the BORKEN state", + "", 16, 0 }, + [BTS_STAT_TS_BORKEN] = \ + { "ts_borken", + "Number of timeslots in the BORKEN state", + "", 16, 0 }, +}; + +const struct osmo_stat_item_group_desc bts_statg_desc = { + .group_name_prefix = "bts", + .group_description = "base transceiver station", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bts_stat_desc), + .item_desc = bts_stat_desc, +}; diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 5ce1d69..cb844e0 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -63,6 +63,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index c0d6634..d647a70 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -24,6 +24,7 @@ #include #include #include +#include const struct value_string bts_attribute_names[] = { OSMO_VALUE_STRING(BTS_TYPE_VARIANT), @@ -816,509 +817,3 @@ osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_USED), 0); osmo_stat_item_set(osmo_stat_item_group_get_item(bts->bts_statg, BTS_STAT_CHAN_OSMO_DYN_TOTAL), 0); } - -const struct rate_ctr_desc bts_ctr_description[] = { - [BTS_CTR_CHREQ_TOTAL] = \ - { "chreq:total", - "Received channel requests" }, - [BTS_CTR_CHREQ_ATTEMPTED_EMERG] = \ - { "chreq:attempted_emerg", - "Received channel requests EMERG" }, - [BTS_CTR_CHREQ_ATTEMPTED_CALL] = \ - { "chreq:attempted_call", - "Received channel requests CALL" }, - [BTS_CTR_CHREQ_ATTEMPTED_LOCATION_UPD] = \ - { "chreq:attempted_location_upd", - "Received channel requests LOCATION_UPD" }, - [BTS_CTR_CHREQ_ATTEMPTED_PAG] = \ - { "chreq:attempted_pag", - "Received channel requests PAG" }, - [BTS_CTR_CHREQ_ATTEMPTED_PDCH] = \ - { "chreq:attempted_pdch", - "Received channel requests PDCH" }, - [BTS_CTR_CHREQ_ATTEMPTED_OTHER] = \ - { "chreq:attempted_other", - "Received channel requests OTHER" }, - [BTS_CTR_CHREQ_ATTEMPTED_UNKNOWN] = \ - { "chreq:attempted_unknown", - "Received channel requests UNKNOWN" }, - [BTS_CTR_CHREQ_SUCCESSFUL] = \ - { "chreq:successful", - "Successful channel requests (immediate assign sent)" }, - [BTS_CTR_CHREQ_NO_CHANNEL] = \ - { "chreq:no_channel", - "Sent to MS no channel available" }, - [BTS_CTR_CHREQ_MAX_DELAY_EXCEEDED] = \ - { "chreq:max_delay_exceeded", - "Received channel requests with greater than permitted access delay" }, - [BTS_CTR_CHAN_RF_FAIL] = \ - { "chan:rf_fail", - "Received a RF failure indication from BTS" }, - [BTS_CTR_CHAN_RF_FAIL_TCH] = \ - { "chan:rf_fail_tch", - "Received a RF failure indication from BTS on a TCH channel" }, - [BTS_CTR_CHAN_RF_FAIL_SDCCH] = \ - { "chan:rf_fail_sdcch", - "Received a RF failure indication from BTS on an SDCCH channel" }, - [BTS_CTR_CHAN_RLL_ERR] = \ - { "chan:rll_err", - "Received a RLL failure with T200 cause from BTS" }, - [BTS_CTR_BTS_OML_FAIL] = \ - { "oml_fail", - "Received a TEI down on a OML link" }, - [BTS_CTR_BTS_RSL_FAIL] = \ - { "rsl_fail", - "Received a TEI down on a OML link" }, - [BTS_CTR_CODEC_AMR_F] = \ - { "codec:amr_f", - "Count the usage of AMR/F codec by channel mode requested" }, - [BTS_CTR_CODEC_AMR_H] = \ - { "codec:amr_h", - "Count the usage of AMR/H codec by channel mode requested" }, - [BTS_CTR_CODEC_EFR] = \ - { "codec:efr", - "Count the usage of EFR codec by channel mode requested" }, - [BTS_CTR_CODEC_V1_FR] = \ - { "codec:fr", - "Count the usage of FR codec by channel mode requested" }, - [BTS_CTR_CODEC_V1_HR] = \ - { "codec:hr", - "Count the usage of HR codec by channel mode requested" }, - [BTS_CTR_PAGING_ATTEMPTED] = \ - { "paging:attempted", - "Paging attempts for a subscriber" }, - [BTS_CTR_PAGING_ALREADY] = \ - { "paging:already", - "Paging attempts ignored as subscriber was already being paged" }, - [BTS_CTR_PAGING_RESPONDED] = \ - { "paging:responded", - "Paging attempts with successful paging response" }, - [BTS_CTR_PAGING_EXPIRED] = \ - { "paging:expired", - "Paging Request expired because of timeout T3113" }, - [BTS_CTR_PAGING_NO_ACTIVE_PAGING] = \ - { "paging:no_active_paging", - "Paging response without an active paging request (arrived after paging expiration?)" }, - [BTS_CTR_PAGING_MSC_FLUSH] = \ - { "paging:msc_flush", - "Paging flushed due to MSC Reset BSSMAP message" }, - [BTS_CTR_CHAN_ACT_TOTAL] = \ - { "chan_act:total", - "Total number of Channel Activations" }, - [BTS_CTR_CHAN_ACT_SDCCH] = \ - { "chan_act:sdcch", - "Number of SDCCH Channel Activations" }, - [BTS_CTR_CHAN_ACT_TCH] = \ - { "chan_act:tch", - "Number of TCH Channel Activations" }, - [BTS_CTR_CHAN_ACT_NACK] = \ - { "chan_act:nack", - "Number of Channel Activations that the BTS NACKed" }, - [BTS_CTR_RSL_UNKNOWN] = \ - { "rsl:unknown", - "Number of unknown/unsupported RSL messages received from BTS" }, - [BTS_CTR_RSL_IPA_NACK] = \ - { "rsl:ipa_nack", - "Number of IPA (RTP/dyn-PDCH) related NACKs received from BTS" }, - [BTS_CTR_RSL_DELETE_IND] = \ - { "rsl:delete_ind", - "Number of RSL DELETE INDICATION (DL CCCH overload)" }, - [BTS_CTR_MODE_MODIFY_NACK] = \ - { "chan:mode_modify_nack", - "Number of Channel Mode Modify NACKs received from BTS" }, - - /* lchan/TS BORKEN state counters */ - [BTS_CTR_LCHAN_BORKEN_FROM_UNUSED] = \ - { "lchan_borken:from_state:unused", - "Transitions from lchan UNUSED state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_ACTIV_ACK] = \ - { "lchan_borken:from_state:wait_activ_ack", - "Transitions from lchan WAIT_ACTIV_ACK state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RF_RELEASE_ACK] = \ - { "lchan_borken:from_state:wait_rf_release_ack", - "Transitions from lchan WAIT_RF_RELEASE_ACK state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_BORKEN] = \ - { "lchan_borken:from_state:borken", - "Transitions from lchan BORKEN state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RR_CHAN_MODE_MODIFY_ACK] = \ - { "lchan_borken:from_state:wait_rr_chan_mode_modify_ack", - "Transitions from lchan WAIT_RR_CHAN_MODE_MODIFY_ACK state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_WAIT_RSL_CHAN_MODE_MODIFY_ACK] = \ - { "lchan_borken:from_state:wait_rsl_chan_mode_modify_ack", - "Transitions from lchan RSL_CHAN_MODE_MODIFY_ACK state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_FROM_UNKNOWN] = \ - { "lchan_borken:from_state:unknown", - "Transitions from an unknown lchan state to BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_ACK] = \ - { "lchan_borken:event:chan_activ_ack", - "CHAN_ACTIV_ACK received in the lchan BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_EV_CHAN_ACTIV_NACK] = \ - { "lchan_borken:event:chan_activ_nack", - "CHAN_ACTIV_NACK received in the lchan BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_EV_RF_CHAN_REL_ACK] = \ - { "lchan_borken:event:rf_chan_rel_ack", - "RF_CHAN_REL_ACK received in the lchan BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_EV_VTY] = \ - { "lchan_borken:event:vty", - "VTY commands received in the lchan BORKEN state" }, - [BTS_CTR_LCHAN_BORKEN_EV_TEARDOWN] = \ - { "lchan_borken:event:teardown", - "lchan in a BORKEN state is shutting down (BTS disconnected?)" }, - [BTS_CTR_LCHAN_BORKEN_EV_TS_ERROR] = \ - { "lchan_borken:event:ts_error", - "LCHAN_EV_TS_ERROR received in a BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_NOT_INITIALIZED] = \ - { "ts_borken:from_state:not_initialized", - "Transitions from TS NOT_INITIALIZED state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_UNUSED] = \ - { "ts_borken:from_state:unused", - "Transitions from TS UNUSED state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_ACT] = \ - { "ts_borken:from_state:wait_pdch_act", - "Transitions from TS WAIT_PDCH_ACT state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_PDCH] = \ - { "ts_borken:from_state:pdch", - "Transitions from TS PDCH state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_WAIT_PDCH_DEACT] = \ - { "ts_borken:from_state:wait_pdch_deact", - "Transitions from TS WAIT_PDCH_DEACT state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_IN_USE] = \ - { "ts_borken:from_state:in_use", - "Transitions from TS IN_USE state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_BORKEN] = \ - { "ts_borken:from_state:borken", - "Transitions from TS BORKEN state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_FROM_UNKNOWN] = \ - { "ts_borken:from_state:unknown", - "Transitions from an unknown TS state to BORKEN state" }, - [BTS_CTR_TS_BORKEN_EV_PDCH_ACT_ACK_NACK] = \ - { "ts_borken:event:pdch_act_ack_nack", - "PDCH_ACT_ACK/NACK received in the TS BORKEN state" }, - [BTS_CTR_TS_BORKEN_EV_PDCH_DEACT_ACK_NACK] = \ - { "ts_borken:event:pdch_deact_ack_nack", - "PDCH_DEACT_ACK/NACK received in the TS BORKEN state" }, - [BTS_CTR_TS_BORKEN_EV_TEARDOWN] = \ - { "ts_borken:event:teardown", - "TS in a BORKEN state is shutting down (BTS disconnected?)" }, - [BTS_CTR_ASSIGNMENT_ATTEMPTED] = \ - { "assignment:attempted", - "Assignment attempts" }, - [BTS_CTR_ASSIGNMENT_ATTEMPTED_SIGN] = \ - { "assignment:attempted_sign", - "Assignment of signaling lchan attempts" }, - [BTS_CTR_ASSIGNMENT_ATTEMPTED_SPEECH] = \ - { "assignment:attempted_speech", - "Assignment of speech lchan attempts" }, - [BTS_CTR_ASSIGNMENT_COMPLETED] = \ - { "assignment:completed", - "Assignment completed" }, - [BTS_CTR_ASSIGNMENT_COMPLETED_SIGN] = \ - { "assignment:completed_sign", - "Assignment of signaling lchan completed" }, - [BTS_CTR_ASSIGNMENT_COMPLETED_SPEECH] = \ - { "assignment:completed_speech", - "Assignment if speech lchan completed" }, - [BTS_CTR_ASSIGNMENT_STOPPED] = \ - { "assignment:stopped", - "Connection ended during Assignment" }, - [BTS_CTR_ASSIGNMENT_STOPPED_SIGN] = \ - { "assignment:stopped_sign", - "Connection ended during signaling lchan Assignment" }, - [BTS_CTR_ASSIGNMENT_STOPPED_SPEECH] = \ - { "assignment:stopped_speech", - "Connection ended during speech lchan Assignment" }, - [BTS_CTR_ASSIGNMENT_NO_CHANNEL] = \ - { "assignment:no_channel", - "Failure to allocate lchan for Assignment" }, - [BTS_CTR_ASSIGNMENT_NO_CHANNEL_SIGN] = \ - { "assignment:no_channel_sign", - "Failure to allocate signaling lchan for Assignment" }, - [BTS_CTR_ASSIGNMENT_NO_CHANNEL_SPEECH] = \ - { "assignment:no_channel_speech", - "Failure to allocate speech lchan for Assignment" }, - [BTS_CTR_ASSIGNMENT_TIMEOUT] = \ - { "assignment:timeout", - "Assignment timed out" }, - [BTS_CTR_ASSIGNMENT_TIMEOUT_SIGN] = \ - { "assignment:timeout_sign", - "Assignment of signaling lchan timed out" }, - [BTS_CTR_ASSIGNMENT_TIMEOUT_SPEECH] = \ - { "assignment:timeout_speech", - "Assignment of speech lchan timed out" }, - [BTS_CTR_ASSIGNMENT_FAILED] = \ - { "assignment:failed", - "Received Assignment Failure message" }, - [BTS_CTR_ASSIGNMENT_FAILED_SIGN] = \ - { "assignment:failed_sign", - "Received Assignment Failure message on signaling lchan" }, - [BTS_CTR_ASSIGNMENT_FAILED_SPEECH] = \ - { "assignment:failed_speech", - "Received Assignment Failure message on speech lchan" }, - [BTS_CTR_ASSIGNMENT_ERROR] = \ - { "assignment:error", - "Assignment failed for other reason" }, - [BTS_CTR_ASSIGNMENT_ERROR_SIGN] = \ - { "assignment:error_sign", - "Assignment of signaling lchan failed for other reason" }, - [BTS_CTR_ASSIGNMENT_ERROR_SPEECH] = \ - { "assignment:error_speech", - "Assignment of speech lchan failed for other reason" }, - [BTS_CTR_LOCATION_UPDATE_ACCEPT] = \ - { "location_update:accept", - "Location Update Accept" }, - [BTS_CTR_LOCATION_UPDATE_REJECT] = \ - { "location_update:reject", - "Location Update Reject" }, - [BTS_CTR_LOCATION_UPDATE_DETACH] = \ - { "location_update:detach", - "Location Update Detach" }, - [BTS_CTR_LOCATION_UPDATE_UNKNOWN] = \ - { "location_update:unknown", - "Location Update UNKNOWN" }, - [BTS_CTR_HANDOVER_ATTEMPTED] = \ - { "handover:attempted", - "Intra-BSC handover attempts" }, - [BTS_CTR_HANDOVER_COMPLETED] = \ - { "handover:completed", - "Intra-BSC handover completed" }, - [BTS_CTR_HANDOVER_STOPPED] = \ - { "handover:stopped", - "Connection ended during HO" }, - [BTS_CTR_HANDOVER_NO_CHANNEL] = \ - { "handover:no_channel", - "Failure to allocate lchan for HO" }, - [BTS_CTR_HANDOVER_TIMEOUT] = \ - { "handover:timeout", - "Handover timed out" }, - [BTS_CTR_HANDOVER_FAILED] = \ - { "handover:failed", - "Received Handover Fail messages" }, - [BTS_CTR_HANDOVER_ERROR] = \ - { "handover:error", - "Re-assignment failed for other reason" }, - - [BTS_CTR_INTRA_CELL_HO_ATTEMPTED] = \ - { "intra_cell_ho:attempted", - "Intra-Cell handover attempts" }, - [BTS_CTR_INTRA_CELL_HO_COMPLETED] = \ - { "intra_cell_ho:completed", - "Intra-Cell handover completed" }, - [BTS_CTR_INTRA_CELL_HO_STOPPED] = \ - { "intra_cell_ho:stopped", - "Connection ended during HO" }, - [BTS_CTR_INTRA_CELL_HO_NO_CHANNEL] = \ - { "intra_cell_ho:no_channel", - "Failure to allocate lchan for HO" }, - [BTS_CTR_INTRA_CELL_HO_TIMEOUT] = \ - { "intra_cell_ho:timeout", - "Handover timed out" }, - [BTS_CTR_INTRA_CELL_HO_FAILED] = \ - { "intra_cell_ho:failed", - "Received Handover Fail messages" }, - [BTS_CTR_INTRA_CELL_HO_ERROR] = \ - { "intra_cell_ho:error", - "Re-assignment failed for other reason" }, - - [BTS_CTR_INTRA_BSC_HO_ATTEMPTED] = \ - { "intra_bsc_ho:attempted", - "Intra-BSC handover attempts" }, - [BTS_CTR_INTRA_BSC_HO_COMPLETED] = \ - { "intra_bsc_ho:completed", - "Intra-BSC handover completed" }, - [BTS_CTR_INTRA_BSC_HO_STOPPED] = \ - { "intra_bsc_ho:stopped", - "Connection ended during HO" }, - [BTS_CTR_INTRA_BSC_HO_NO_CHANNEL] = \ - { "intra_bsc_ho:no_channel", - "Failure to allocate lchan for HO" }, - [BTS_CTR_INTRA_BSC_HO_TIMEOUT] = \ - { "intra_bsc_ho:timeout", - "Handover timed out" }, - [BTS_CTR_INTRA_BSC_HO_FAILED] = \ - { "intra_bsc_ho:failed", - "Received Handover Fail messages" }, - [BTS_CTR_INTRA_BSC_HO_ERROR] = \ - { "intra_bsc_ho:error", - "Re-assignment failed for other reason" }, - - [BTS_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = \ - { "interbsc_ho_out:attempted", - "Attempts to handover to remote BSS" }, - [BTS_CTR_INTER_BSC_HO_OUT_COMPLETED] = \ - { "interbsc_ho_out:completed", - "Handover to remote BSS completed" }, - [BTS_CTR_INTER_BSC_HO_OUT_STOPPED] = \ - { "interbsc_ho_out:stopped", - "Connection ended during HO" }, - [BTS_CTR_INTER_BSC_HO_OUT_TIMEOUT] = \ - { "interbsc_ho_out:timeout", - "Handover timed out" }, - [BTS_CTR_INTER_BSC_HO_OUT_FAILED] = \ - { "interbsc_ho_out:failed", - "Received Handover Fail message" }, - [BTS_CTR_INTER_BSC_HO_OUT_ERROR] = \ - { "interbsc_ho_out:error", - "Handover to remote BSS failed for other reason" }, - [BTS_CTR_INTER_BSC_HO_IN_ATTEMPTED] = \ - { "interbsc_ho_in:attempted", - "Attempts to handover from remote BSS" }, - [BTS_CTR_INTER_BSC_HO_IN_COMPLETED] = \ - { "interbsc_ho_in:completed", - "Handover from remote BSS completed" }, - [BTS_CTR_INTER_BSC_HO_IN_STOPPED] = \ - { "interbsc_ho_in:stopped", - "Connection ended during HO" }, - [BTS_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = \ - { "interbsc_ho_in:no_channel", - "Failure to allocate lchan for HO" }, - [BTS_CTR_INTER_BSC_HO_IN_TIMEOUT] = \ - { "interbsc_ho_in:timeout", - "Handover from remote BSS timed out" }, - [BTS_CTR_INTER_BSC_HO_IN_FAILED] = \ - { "interbsc_ho_in:failed", - "Received Handover Fail message" }, - [BTS_CTR_INTER_BSC_HO_IN_ERROR] = \ - { "interbsc_ho_in:error", - "Handover from remote BSS failed for other reason" }, - - [BTS_CTR_SRVCC_ATTEMPTED] = \ - { "srvcc:attempted", - "Intra-BSC handover attempts" }, - [BTS_CTR_SRVCC_COMPLETED] = \ - { "srvcc:completed", - "Intra-BSC handover completed" }, - [BTS_CTR_SRVCC_STOPPED] = \ - { "srvcc:stopped", - "Connection ended during HO" }, - [BTS_CTR_SRVCC_NO_CHANNEL] = \ - { "srvcc:no_channel", - "Failure to allocate lchan for HO" }, - [BTS_CTR_SRVCC_TIMEOUT] = \ - { "srvcc:timeout", - "Handover timed out" }, - [BTS_CTR_SRVCC_FAILED] = \ - { "srvcc:failed", - "Received Handover Fail messages" }, - [BTS_CTR_SRVCC_ERROR] = \ - { "srvcc:error", - "Re-assignment failed for other reason" }, -}; - -const struct rate_ctr_group_desc bts_ctrg_desc = { - "bts", - "base transceiver station", - OSMO_STATS_CLASS_GLOBAL, - ARRAY_SIZE(bts_ctr_description), - bts_ctr_description, -}; - -const struct osmo_stat_item_desc bts_stat_desc[] = { - [BTS_STAT_UPTIME_SECONDS] = \ - { "uptime:seconds", - "Seconds of uptime", - "s", 60, 0 }, - [BTS_STAT_CHAN_LOAD_AVERAGE] = \ - { "chanloadavg", - "Channel load average", - "%", 60, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = \ - { "chan_ccch_sdcch4:used", - "Number of CCCH+SDCCH4 channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = \ - { "chan_ccch_sdcch4:total", - "Number of CCCH+SDCCH4 channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_USED] = \ - { "chan_tch_f:used", - "Number of TCH/F channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_TOTAL] = \ - { "chan_tch_f:total", - "Number of TCH/F channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_H_USED] = \ - { "chan_tch_h:used", - "Number of TCH/H channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_H_TOTAL] = \ - { "chan_tch_h:total", - "Number of TCH/H channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_SDCCH8_USED] = \ - { "chan_sdcch8:used", - "Number of SDCCH8 channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_SDCCH8_TOTAL] = \ - { "chan_sdcch8:total", - "Number of SDCCH8 channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_USED] = \ - { "chan_tch_f_pdch:used", - "Number of TCH/F_PDCH channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = \ - { "chan_tch_f_pdch:total", - "Number of TCH/F_PDCH channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = \ - { "chan_ccch_sdcch4_cbch:used", - "Number of CCCH+SDCCH4+CBCH channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = \ - { "chan_ccch_sdcch4_cbch:total", - "Number of CCCH+SDCCH4+CBCH channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = \ - { "chan_sdcch8_cbch:used", - "Number of SDCCH8+CBCH channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = \ - { "chan_sdcch8_cbch:total", - "Number of SDCCH8+CBCH channels total", - "", 60, 0 }, - [BTS_STAT_CHAN_OSMO_DYN_USED] = \ - { "chan_osmo_dyn:used", - "Number of TCH/F_TCH/H_SDCCH8_PDCH channels used", - "", 60, 0 }, - [BTS_STAT_CHAN_OSMO_DYN_TOTAL] = \ - { "chan_osmo_dyn:total", - "Number of TCH/F_TCH/H_SDCCH8_PDCH channels total", - "", 60, 0 }, - [BTS_STAT_T3122] = \ - { "T3122", - "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", - "s", 60, GSM_T3122_DEFAULT }, - [BTS_STAT_RACH_BUSY] = \ - { "rach_busy", - "RACH slots with signal above threshold", - "%", 60, 0 }, - [BTS_STAT_RACH_ACCESS] = \ - { "rach_access", - "RACH slots with access bursts in them", - "%", 60, 0 }, - [BTS_STAT_OML_CONNECTED] = \ - { "oml_connected", - "Number of OML links connected", - "", 16, 0 }, - [BTS_STAT_RSL_CONNECTED] = \ - { "rsl_connected", - "Number of RSL links connected", - "", 16, 0 }, - [BTS_STAT_LCHAN_BORKEN] = \ - { "lchan_borken", - "Number of lchans in the BORKEN state", - "", 16, 0 }, - [BTS_STAT_TS_BORKEN] = \ - { "ts_borken", - "Number of timeslots in the BORKEN state", - "", 16, 0 }, -}; - -const struct osmo_stat_item_group_desc bts_statg_desc = { - .group_name_prefix = "bts", - .group_description = "base transceiver station", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(bts_stat_desc), - .item_desc = bts_stat_desc, -}; diff --git a/src/osmo-bsc/chan_alloc.c b/src/osmo-bsc/chan_alloc.c index fea4efd..ce648c3 100644 --- a/src/osmo-bsc/chan_alloc.c +++ b/src/osmo-bsc/chan_alloc.c @@ -35,6 +35,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index def70de..0e97869 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -40,6 +40,7 @@ #include #include #include +#include static struct osmo_fsm lchan_fsm; diff --git a/src/osmo-bsc/osmo_bsc_filter.c b/src/osmo-bsc/osmo_bsc_filter.c index 2b58ccf..1ee2625 100644 --- a/src/osmo-bsc/osmo_bsc_filter.c +++ b/src/osmo-bsc/osmo_bsc_filter.c @@ -27,6 +27,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/timeslot_fsm.c b/src/osmo-bsc/timeslot_fsm.c index adca31d..5a00784 100644 --- a/src/osmo-bsc/timeslot_fsm.c +++ b/src/osmo-bsc/timeslot_fsm.c @@ -29,6 +29,7 @@ #include #include #include +#include static struct osmo_fsm ts_fsm; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c Gerrit-Change-Number: 25275 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Aug 29 13:53:43 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sun, 29 Aug 2021 13:53:43 +0000 Subject: Change in osmo-bsc[master]: move MSC level stats and rate counters to bsc_stats.[hc] References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25276 ) Change subject: move MSC level stats and rate counters to bsc_stats.[hc] ...................................................................... move MSC level stats and rate counters to bsc_stats.[hc] After adding bsc_stats.c, I figured it would make sense to also move the MSC level statistics definitions to this file, so that we have one place to find statistics for any reporting level. Related: SYS#5542 Change-Id: I03ab34f1c0511016da5b8c7db33d8d76db99f3af --- M include/osmocom/bsc/bsc_msc_data.h M include/osmocom/bsc/bsc_stats.h M src/osmo-bsc/bsc_stats.c M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/lcs_loc_req.c M src/osmo-bsc/osmo_bsc_msc.c M src/osmo-bsc/osmo_bsc_sigtran.c 7 files changed, 188 insertions(+), 180 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/76/25276/1 diff --git a/include/osmocom/bsc/bsc_msc_data.h b/include/osmocom/bsc/bsc_msc_data.h index e5f48d1..eec1b54 100644 --- a/include/osmocom/bsc/bsc_msc_data.h +++ b/include/osmocom/bsc/bsc_msc_data.h @@ -50,72 +50,6 @@ struct osmo_bsc_rf; struct gsm_network; -/* Constants for the MSC rate counters */ -enum { - /* Rx message counters */ - MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE, - MSC_CTR_BSSMAP_RX_UDT_RESET, - MSC_CTR_BSSMAP_RX_UDT_PAGING, - MSC_CTR_BSSMAP_RX_UDT_UNKNOWN, - MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD, - MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD, - MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST, - MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL, - MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, - MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, - MSC_CTR_BSSMAP_RX_DT1_CONFUSION, - MSC_CTR_BSSMAP_RX_DT1_COMMON_ID, - MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, - MSC_CTR_BSSMAP_RX_DT1_DTAP, - MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, - MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_REQUEST, - MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_ABORT, - - /* Tx message counters (per connection type) */ - MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT, - MSC_CTR_BSSMAP_TX_DTAP, - MSC_CTR_BSSMAP_TX_UNKNOWN, - MSC_CTR_BSSMAP_TX_SHORT, - MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY, - MSC_CTR_BSSMAP_TX_ERR_SEND, - MSC_CTR_BSSMAP_TX_SUCCESS, - - /* Tx message counters (per message type) */ - MSC_CTR_BSSMAP_TX_UDT_RESET, - MSC_CTR_BSSMAP_TX_UDT_RESET_ACK, - MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST, - MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE, - MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE, - MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE, - MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT, - MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE, - MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT, - MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE, - MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE, - MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE, - MSC_CTR_BSSMAP_TX_DT1_DTAP, - MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS, - MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE, - - MSC_CTR_MSCPOOL_SUBSCR_NEW, - MSC_CTR_MSCPOOL_SUBSCR_REATTACH, - MSC_CTR_MSCPOOL_SUBSCR_KNOWN, - MSC_CTR_MSCPOOL_SUBSCR_PAGED, - MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST, - MSC_CTR_MSCPOOL_EMERG_FORWARDED, -}; - -/* Constants for the MSC stats */ -enum { - MSC_STAT_MSC_LINKS_ACTIVE, - MSC_STAT_MSC_LINKS_TOTAL, -}; - /*! /brief Information on a remote MSC for libbsc. */ struct bsc_msc_data { diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h index 8d2f77f..1c8c0bb 100644 --- a/include/osmocom/bsc/bsc_stats.h +++ b/include/osmocom/bsc/bsc_stats.h @@ -269,3 +269,73 @@ }; extern const struct osmo_stat_item_group_desc bts_statg_desc; + +/* per MSC rate counters */ +enum { + /* Rx message counters */ + MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE, + MSC_CTR_BSSMAP_RX_UDT_RESET, + MSC_CTR_BSSMAP_RX_UDT_PAGING, + MSC_CTR_BSSMAP_RX_UDT_UNKNOWN, + MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD, + MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD, + MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST, + MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL, + MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD, + MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST, + MSC_CTR_BSSMAP_RX_DT1_CONFUSION, + MSC_CTR_BSSMAP_RX_DT1_COMMON_ID, + MSC_CTR_BSSMAP_RX_DT1_UNKNOWN, + MSC_CTR_BSSMAP_RX_DT1_DTAP, + MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR, + MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_REQUEST, + MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_ABORT, + + /* Tx message counters (per connection type) */ + MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT, + MSC_CTR_BSSMAP_TX_DTAP, + MSC_CTR_BSSMAP_TX_UNKNOWN, + MSC_CTR_BSSMAP_TX_SHORT, + MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY, + MSC_CTR_BSSMAP_TX_ERR_SEND, + MSC_CTR_BSSMAP_TX_SUCCESS, + + /* Tx message counters (per message type) */ + MSC_CTR_BSSMAP_TX_UDT_RESET, + MSC_CTR_BSSMAP_TX_UDT_RESET_ACK, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST, + MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT, + MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE, + MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE, + MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE, + MSC_CTR_BSSMAP_TX_DT1_DTAP, + MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS, + MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE, + + MSC_CTR_MSCPOOL_SUBSCR_NEW, + MSC_CTR_MSCPOOL_SUBSCR_REATTACH, + MSC_CTR_MSCPOOL_SUBSCR_KNOWN, + MSC_CTR_MSCPOOL_SUBSCR_PAGED, + MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST, + MSC_CTR_MSCPOOL_EMERG_FORWARDED, +}; + +extern const struct rate_ctr_group_desc msc_ctrg_desc; + +/* per MSC stat items */ +enum { + MSC_STAT_MSC_LINKS_ACTIVE, + MSC_STAT_MSC_LINKS_TOTAL, +}; + +extern const struct osmo_stat_item_group_desc msc_statg_desc; diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c index e12426a..ff953a4 100644 --- a/src/osmo-bsc/bsc_stats.c +++ b/src/osmo-bsc/bsc_stats.c @@ -687,3 +687,117 @@ .num_items = ARRAY_SIZE(bts_stat_desc), .item_desc = bts_stat_desc, }; + +static const struct rate_ctr_desc msc_ctr_description[] = { + /* Rx message counters (per specific message) */ + [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx:udt:reset:ack", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx:udt:reset:request", "Number of received BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx:udt:paging", "Number of received BSSMAP UDT PAGING messages"}, + [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx:udt:err_unknown", "Number of received BSSMAP unknown UDT messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx:dt1:clear:cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx:dt1:cipher_mode:cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx:dt1:assignment:rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, + [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, + [MSC_CTR_BSSMAP_RX_DT1_CONFUSION] = {"bssmap:rx:dt1:confusion", "Number of received BSSMAP DT1 CONFUSION messages"}, + [MSC_CTR_BSSMAP_RX_DT1_COMMON_ID] = {"bssmap:rx:dt1:common_id", "Number of received BSSMAP DT1 COMMON ID messages"}, + [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, + [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, + [MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_REQUEST] = {"bssmap:rx:dt1:location:request", "Number of received BSSMAP Perform Location Request messages"}, + [MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_ABORT] = {"bssmap:tx:dt1:location:abort", "Number of received BSSMAP Perform Location Abort messages"}, + + /* Tx message counters (per message type) + * + * The counters here follow the logic of the osmo_bsc_sigtran_send() function + * which receives DT1 messages from the upper layers and actually sends them to the MSC. + * These counters cover all messages passed to the function by the upper layers: */ + [MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT] = {"bssmap:tx:type:bss_management", "Number of transmitted BSS MANAGEMENT messages"}, + [MSC_CTR_BSSMAP_TX_DTAP] = {"bssmap:tx:type:dtap", "Number of transmitted DTAP messages"}, + [MSC_CTR_BSSMAP_TX_UNKNOWN] = {"bssmap:tx:type:err_unknown", "Number of transmitted messages with unknown type (an error in our code?)"}, + [MSC_CTR_BSSMAP_TX_SHORT] = {"bssmap:tx:type:err_short", "Number of transmitted messages which are too short (an error in our code?)"}, + /* The next counters are also counted in the osmo_bsc_sigtran_send() function and + * sum up to the exactly same number as the counters above but instead of message + * classes they split by the result of the sending attempt: */ + [MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY] = {"bssmap:tx:result:err_conn_not_ready", "Number of BSSMAP messages we tried to send when the connection was not ready yet"}, + [MSC_CTR_BSSMAP_TX_ERR_SEND] = {"bssmap:tx:result:err_send", "Number of socket errors while sending BSSMAP messages"}, + [MSC_CTR_BSSMAP_TX_SUCCESS] = {"bssmap:tx:result:success", "Number of successfully sent BSSMAP messages"}, + + /* Tx message counters (per specific message) + * + * Theoretically, the DT1 counters should sum up to the same number as the Tx counters + * above but since these counters are coming from the upper layers, there might be + * some difference if we forget some code path. */ + [MSC_CTR_BSSMAP_TX_UDT_RESET] = {"bssmap:tx:udt:reset:request", "Number of transmitted BSSMAP UDT RESET messages"}, + [MSC_CTR_BSSMAP_TX_UDT_RESET_ACK] = {"bssmap:tx:udt:reset:ack", "Number of transmitted BSSMAP UDT RESET ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST] = {"bssmap:tx:dt1:clear:rqst", "Number of transmitted BSSMAP DT1 CLEAR RQSTtx messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE] = {"bssmap:tx:dt1:clear:complete", "Number of transmitted BSSMAP DT1 CLEAR COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE] = {"bssmap:tx:dt1:assigment:failure", "Number of transmitted BSSMAP DT1 ASSIGMENT FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE] = {"bssmap:tx:dt1:assigment:complete", "Number of transmitted BSSMAP DT1 ASSIGMENT COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT] = {"bssmap:tx:dt1:sapi_n:reject", "Number of transmitted BSSMAP DT1 SAPI N REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE] = {"bssmap:tx:dt1:cipher_mode:complete", "Number of transmitted BSSMAP DT1 CIPHER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT] = {"bssmap:tx:dt1:cipher_mode:reject", "Number of transmitted BSSMAP DT1 CIPHER REJECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE] = {"bssmap:tx:dt1:classmark:update", "Number of transmitted BSSMAP DT1 CLASSMARK UPDATE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK] = {"bssmap:tx:dt1:lcls_connect_ctrl:ack", "Number of transmitted BSSMAP DT1 LCLS CONNECT CTRL ACK messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED] = {"bssmap:tx:dt1:handover:required", "Number of transmitted BSSMAP DT1 HANDOVER REQUIRED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED] = {"bssmap:tx:dt1:handover:performed", "Number of transmitted BSSMAP DT1 HANDOVER PERFORMED messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE] = {"bssmap:tx:dt1:handover:rqst_acknowledge", "Number of transmitted BSSMAP DT1 HANDOVER RQST ACKNOWLEDGE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT] = {"bssmap:tx:dt1:handover:detect", "Number of transmitted BSSMAP DT1 HANDOVER DETECT messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE] = {"bssmap:tx:dt1:handover:complete", "Number of transmitted BSSMAP DT1 HANDOVER COMPLETE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE] = {"bssmap:tx:dt1:handover:failure", "Number of transmitted BSSMAP DT1 HANDOVER FAILURE messages"}, + [MSC_CTR_BSSMAP_TX_DT1_DTAP] = {"bssmap:tx:dt1:dtap", "Number of transmitted BSSMAP DT1 DTAP messages"}, + [MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS] = {"bssmap:tx:dt1:location:response_success", + "Number of transmitted BSSMAP Perform Location Response messages containing a location estimate"}, + [MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE] = {"bssmap:tx:dt1:location:response_failure", + "Number of transmitted BSSMAP Perform Location Response messages containing a failure cause"}, + + /* Indicators for MSC pool usage */ + [MSC_CTR_MSCPOOL_SUBSCR_NEW] = { + "mscpool:subscr:new", + "Complete Layer 3 requests assigned to this MSC by round-robin (no NRI was assigned yet).", + }, + [MSC_CTR_MSCPOOL_SUBSCR_REATTACH] = { + "mscpool:subscr:reattach", + "Complete Layer 3 requests assigned to this MSC by round-robin because the subscriber indicates a" + " NULL-NRI (previously assigned by another MSC).", + }, + [MSC_CTR_MSCPOOL_SUBSCR_KNOWN] = { + "mscpool:subscr:known", + "Complete Layer 3 requests directed to this MSC because the subscriber indicates an NRI of this MSC.", + }, + [MSC_CTR_MSCPOOL_SUBSCR_PAGED] = { + "mscpool:subscr:paged", + "Paging Response directed to this MSC because the subscriber was recently paged by this MSC.", + }, + [MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST] = { + "mscpool:subscr:attach_lost", + "A subscriber indicates an NRI value matching this MSC, but the MSC is not connected:" + " a re-attach to another MSC (if available) was forced, with possible service failure.", + }, + [MSC_CTR_MSCPOOL_EMERG_FORWARDED] = { + "mscpool:emerg:forwarded", + "Emergency call requests forwarded to this MSC.", + }, +}; + +const struct rate_ctr_group_desc msc_ctrg_desc = { + "msc", + "mobile switching center", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(msc_ctr_description), + msc_ctr_description, +}; + +static const struct osmo_stat_item_desc msc_stat_desc[] = { + [MSC_STAT_MSC_LINKS_ACTIVE] = { "msc_links:active", "Number of active MSC links", "", 16, 0 }, + [MSC_STAT_MSC_LINKS_TOTAL] = { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, +}; + +const struct osmo_stat_item_group_desc msc_statg_desc = { + .group_name_prefix = "msc", + .group_description = "mobile switching center", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(msc_stat_desc), + .item_desc = msc_stat_desc, +}; diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index afb633d..6943f1f 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -48,6 +48,7 @@ #include #include #include +#include #define S(x) (1 << (x)) diff --git a/src/osmo-bsc/lcs_loc_req.c b/src/osmo-bsc/lcs_loc_req.c index 7153ce6..8b76bc9 100644 --- a/src/osmo-bsc/lcs_loc_req.c +++ b/src/osmo-bsc/lcs_loc_req.c @@ -39,6 +39,7 @@ #include #include #include +#include enum lcs_loc_req_fsm_state { LCS_LOC_REQ_ST_INIT, diff --git a/src/osmo-bsc/osmo_bsc_msc.c b/src/osmo-bsc/osmo_bsc_msc.c index a80ee64..49fd32d 100644 --- a/src/osmo-bsc/osmo_bsc_msc.c +++ b/src/osmo-bsc/osmo_bsc_msc.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -45,120 +46,6 @@ #include #include -static const struct rate_ctr_desc msc_ctr_description[] = { - /* Rx message counters (per specific message) */ - [MSC_CTR_BSSMAP_RX_UDT_RESET_ACKNOWLEDGE] = {"bssmap:rx:udt:reset:ack", "Number of received BSSMAP UDT RESET ACKNOWLEDGE messages"}, - [MSC_CTR_BSSMAP_RX_UDT_RESET] = {"bssmap:rx:udt:reset:request", "Number of received BSSMAP UDT RESET messages"}, - [MSC_CTR_BSSMAP_RX_UDT_PAGING] = {"bssmap:rx:udt:paging", "Number of received BSSMAP UDT PAGING messages"}, - [MSC_CTR_BSSMAP_RX_UDT_UNKNOWN] = {"bssmap:rx:udt:err_unknown", "Number of received BSSMAP unknown UDT messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLEAR_CMD] = {"bssmap:rx:dt1:clear:cmd", "Number of received BSSMAP DT1 CLEAR CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CIPHER_MODE_CMD] = {"bssmap:rx:dt1:cipher_mode:cmd", "Number of received BSSMAP DT1 CIPHER MODE CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_ASSIGMENT_RQST] = {"bssmap:rx:dt1:assignment:rqst", "Number of received BSSMAP DT1 ASSIGMENT RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_LCLS_CONNECT_CTRL] = {"bssmap:rx:dt1:lcls_connect_ctrl:cmd", "Number of received BSSMAP DT1 LCLS CONNECT CTRL messages"}, - [MSC_CTR_BSSMAP_RX_DT1_HANDOVER_CMD] = {"bssmap:rx:dt1:handover:cmd", "Number of received BSSMAP DT1 HANDOVER CMD messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CLASSMARK_RQST] = {"bssmap:rx:dt1:classmark:rqst", "Number of received BSSMAP DT1 CLASSMARK RQST messages"}, - [MSC_CTR_BSSMAP_RX_DT1_CONFUSION] = {"bssmap:rx:dt1:confusion", "Number of received BSSMAP DT1 CONFUSION messages"}, - [MSC_CTR_BSSMAP_RX_DT1_COMMON_ID] = {"bssmap:rx:dt1:common_id", "Number of received BSSMAP DT1 COMMON ID messages"}, - [MSC_CTR_BSSMAP_RX_DT1_UNKNOWN] = {"bssmap:rx:dt1:err_unknown", "Number of received BSSMAP unknown DT1 messages"}, - [MSC_CTR_BSSMAP_RX_DT1_DTAP] = {"bssmap:rx:dt1:dtap:good", "Number of received BSSMAP DTAP messages"}, - [MSC_CTR_BSSMAP_RX_DT1_DTAP_ERROR] = {"bssmap:rx:dt1:dtap:error", "Number of received BSSMAP DTAP messages with errors"}, - [MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_REQUEST] = {"bssmap:rx:dt1:location:request", "Number of received BSSMAP Perform Location Request messages"}, - [MSC_CTR_BSSMAP_RX_DT1_PERFORM_LOCATION_ABORT] = {"bssmap:tx:dt1:location:abort", "Number of received BSSMAP Perform Location Abort messages"}, - - /* Tx message counters (per message type) - * - * The counters here follow the logic of the osmo_bsc_sigtran_send() function - * which receives DT1 messages from the upper layers and actually sends them to the MSC. - * These counters cover all messages passed to the function by the upper layers: */ - [MSC_CTR_BSSMAP_TX_BSS_MANAGEMENT] = {"bssmap:tx:type:bss_management", "Number of transmitted BSS MANAGEMENT messages"}, - [MSC_CTR_BSSMAP_TX_DTAP] = {"bssmap:tx:type:dtap", "Number of transmitted DTAP messages"}, - [MSC_CTR_BSSMAP_TX_UNKNOWN] = {"bssmap:tx:type:err_unknown", "Number of transmitted messages with unknown type (an error in our code?)"}, - [MSC_CTR_BSSMAP_TX_SHORT] = {"bssmap:tx:type:err_short", "Number of transmitted messages which are too short (an error in our code?)"}, - /* The next counters are also counted in the osmo_bsc_sigtran_send() function and - * sum up to the exactly same number as the counters above but instead of message - * classes they split by the result of the sending attempt: */ - [MSC_CTR_BSSMAP_TX_ERR_CONN_NOT_READY] = {"bssmap:tx:result:err_conn_not_ready", "Number of BSSMAP messages we tried to send when the connection was not ready yet"}, - [MSC_CTR_BSSMAP_TX_ERR_SEND] = {"bssmap:tx:result:err_send", "Number of socket errors while sending BSSMAP messages"}, - [MSC_CTR_BSSMAP_TX_SUCCESS] = {"bssmap:tx:result:success", "Number of successfully sent BSSMAP messages"}, - - /* Tx message counters (per specific message) - * - * Theoretically, the DT1 counters should sum up to the same number as the Tx counters - * above but since these counters are coming from the upper layers, there might be - * some difference if we forget some code path. */ - [MSC_CTR_BSSMAP_TX_UDT_RESET] = {"bssmap:tx:udt:reset:request", "Number of transmitted BSSMAP UDT RESET messages"}, - [MSC_CTR_BSSMAP_TX_UDT_RESET_ACK] = {"bssmap:tx:udt:reset:ack", "Number of transmitted BSSMAP UDT RESET ACK messages"}, - [MSC_CTR_BSSMAP_TX_DT1_CLEAR_RQST] = {"bssmap:tx:dt1:clear:rqst", "Number of transmitted BSSMAP DT1 CLEAR RQSTtx messages"}, - [MSC_CTR_BSSMAP_TX_DT1_CLEAR_COMPLETE] = {"bssmap:tx:dt1:clear:complete", "Number of transmitted BSSMAP DT1 CLEAR COMPLETE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_FAILURE] = {"bssmap:tx:dt1:assigment:failure", "Number of transmitted BSSMAP DT1 ASSIGMENT FAILURE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_ASSIGMENT_COMPLETE] = {"bssmap:tx:dt1:assigment:complete", "Number of transmitted BSSMAP DT1 ASSIGMENT COMPLETE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_SAPI_N_REJECT] = {"bssmap:tx:dt1:sapi_n:reject", "Number of transmitted BSSMAP DT1 SAPI N REJECT messages"}, - [MSC_CTR_BSSMAP_TX_DT1_CIPHER_COMPLETE] = {"bssmap:tx:dt1:cipher_mode:complete", "Number of transmitted BSSMAP DT1 CIPHER COMPLETE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_CIPHER_REJECT] = {"bssmap:tx:dt1:cipher_mode:reject", "Number of transmitted BSSMAP DT1 CIPHER REJECT messages"}, - [MSC_CTR_BSSMAP_TX_DT1_CLASSMARK_UPDATE] = {"bssmap:tx:dt1:classmark:update", "Number of transmitted BSSMAP DT1 CLASSMARK UPDATE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_LCLS_CONNECT_CTRL_ACK] = {"bssmap:tx:dt1:lcls_connect_ctrl:ack", "Number of transmitted BSSMAP DT1 LCLS CONNECT CTRL ACK messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_REQUIRED] = {"bssmap:tx:dt1:handover:required", "Number of transmitted BSSMAP DT1 HANDOVER REQUIRED messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_PERFORMED] = {"bssmap:tx:dt1:handover:performed", "Number of transmitted BSSMAP DT1 HANDOVER PERFORMED messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_RQST_ACKNOWLEDGE] = {"bssmap:tx:dt1:handover:rqst_acknowledge", "Number of transmitted BSSMAP DT1 HANDOVER RQST ACKNOWLEDGE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_DETECT] = {"bssmap:tx:dt1:handover:detect", "Number of transmitted BSSMAP DT1 HANDOVER DETECT messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_COMPLETE] = {"bssmap:tx:dt1:handover:complete", "Number of transmitted BSSMAP DT1 HANDOVER COMPLETE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_HANDOVER_FAILURE] = {"bssmap:tx:dt1:handover:failure", "Number of transmitted BSSMAP DT1 HANDOVER FAILURE messages"}, - [MSC_CTR_BSSMAP_TX_DT1_DTAP] = {"bssmap:tx:dt1:dtap", "Number of transmitted BSSMAP DT1 DTAP messages"}, - [MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_SUCCESS] = {"bssmap:tx:dt1:location:response_success", - "Number of transmitted BSSMAP Perform Location Response messages containing a location estimate"}, - [MSC_CTR_BSSMAP_TX_DT1_PERFORM_LOCATION_RESPONSE_FAILURE] = {"bssmap:tx:dt1:location:response_failure", - "Number of transmitted BSSMAP Perform Location Response messages containing a failure cause"}, - - /* Indicators for MSC pool usage */ - [MSC_CTR_MSCPOOL_SUBSCR_NEW] = { - "mscpool:subscr:new", - "Complete Layer 3 requests assigned to this MSC by round-robin (no NRI was assigned yet).", - }, - [MSC_CTR_MSCPOOL_SUBSCR_REATTACH] = { - "mscpool:subscr:reattach", - "Complete Layer 3 requests assigned to this MSC by round-robin because the subscriber indicates a" - " NULL-NRI (previously assigned by another MSC).", - }, - [MSC_CTR_MSCPOOL_SUBSCR_KNOWN] = { - "mscpool:subscr:known", - "Complete Layer 3 requests directed to this MSC because the subscriber indicates an NRI of this MSC.", - }, - [MSC_CTR_MSCPOOL_SUBSCR_PAGED] = { - "mscpool:subscr:paged", - "Paging Response directed to this MSC because the subscriber was recently paged by this MSC.", - }, - [MSC_CTR_MSCPOOL_SUBSCR_ATTACH_LOST] = { - "mscpool:subscr:attach_lost", - "A subscriber indicates an NRI value matching this MSC, but the MSC is not connected:" - " a re-attach to another MSC (if available) was forced, with possible service failure.", - }, - [MSC_CTR_MSCPOOL_EMERG_FORWARDED] = { - "mscpool:emerg:forwarded", - "Emergency call requests forwarded to this MSC.", - }, -}; - -static const struct rate_ctr_group_desc msc_ctrg_desc = { - "msc", - "mobile switching center", - OSMO_STATS_CLASS_GLOBAL, - ARRAY_SIZE(msc_ctr_description), - msc_ctr_description, -}; - -static const struct osmo_stat_item_desc msc_stat_desc[] = { - [MSC_STAT_MSC_LINKS_ACTIVE] = { "msc_links:active", "Number of active MSC links", "", 16, 0 }, - [MSC_STAT_MSC_LINKS_TOTAL] = { "msc_links:total", "Number of configured MSC links", "", 16, 0 }, -}; - -static const struct osmo_stat_item_group_desc msc_statg_desc = { - .group_name_prefix = "msc", - .group_description = "mobile switching center", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(msc_stat_desc), - .item_desc = msc_stat_desc, -}; - int osmo_bsc_msc_init(struct bsc_msc_data *msc) { struct gsm_network *net = msc->network; diff --git a/src/osmo-bsc/osmo_bsc_sigtran.c b/src/osmo-bsc/osmo_bsc_sigtran.c index d3c636d..8c0fb13 100644 --- a/src/osmo-bsc/osmo_bsc_sigtran.c +++ b/src/osmo-bsc/osmo_bsc_sigtran.c @@ -36,6 +36,7 @@ #include #include #include +#include #include /* A pointer to a list with all involved MSCs -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03ab34f1c0511016da5b8c7db33d8d76db99f3af Gerrit-Change-Number: 25276 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 07:31:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 07:31:55 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 07:31:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 07:35:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 07:35:24 +0000 Subject: Change in osmo-bsc[master]: move BSC level stats and rate counters to new bsc_stats.[hc] In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25273 ) Change subject: move BSC level stats and rate counters to new bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 Gerrit-Change-Number: 25273 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 07:35:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 07:39:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 07:39:08 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c at 47 PS3, Line 47: osmo_stat_item_inc(osmo_stat_item_group_get_item( unrelated, but I wonder why we don't add a macro for this -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 07:39:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 07:57:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 07:57:50 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c File src/osmo-bsc/bsc_stats.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c at 156 PS1, Line 156: if (trx_is_usable(trx)) how about: if (!oml_connected && trx_is_usable(trx)) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 07:57:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:00:11 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 08:00:11 +0000 Subject: Change in osmo-bsc[master]: move BTS level stats and counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25275 ) Change subject: move BTS level stats and counters to bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c Gerrit-Change-Number: 25275 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 08:00:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:01:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 08:01:49 +0000 Subject: Change in osmo-bsc[master]: move MSC level stats and rate counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25276 ) Change subject: move MSC level stats and rate counters to bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03ab34f1c0511016da5b8c7db33d8d76db99f3af Gerrit-Change-Number: 25276 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 08:01:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:42:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:42:22 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 1: Code-Review-1 (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 694 PS1, Line 694: rate_ctr_group_free(chan_state->ctrs); what about NULLing the pointer? I see it being done for other fields here. https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1126 PS1, Line 1126: chan_state->ctrs = rate_ctr_group_alloc(l1ts, no need to free previous field, like done withdl/ul_bursts above? https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1129 PS1, Line 1129: snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", space in the name? are you sure this is correct? I doubt so. https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1139 PS1, Line 1139: rate_ctr_group_free(chan_state->ctrs); set the pointer to null? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:42:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:44:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:44:12 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25271 ) Change subject: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors ...................................................................... Patch Set 1: Code-Review+1 Perhaps INFO would make more sense? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8cb3c054fe6d750d44bbb4ecf7ccd1788fcdc66c Gerrit-Change-Number: 25271 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:44:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:45:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:45:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_bts_connected_* tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 ) Change subject: bsc: add TC_stat_num_bts_connected_* tests ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic1b35b7406547f92818afe399a2383d154576409 Gerrit-Change-Number: 25272 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:45:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:48:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:48:15 +0000 Subject: Change in osmo-bsc[master]: move BSC level stats and rate counters to new bsc_stats.[hc] In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25273 ) Change subject: move BSC level stats and rate counters to new bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 Gerrit-Change-Number: 25273 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:48:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:49:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:49:18 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c at 47 PS3, Line 47: osmo_stat_item_inc(osmo_stat_item_group_get_item( > unrelated, but I wonder why we don't add a macro for this Because the osmo_stat_item_group_get_item() API is failry new, before that the struct members were accessed directly. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:49:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:49:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:49:48 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:49:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:54:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:54:57 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 1: Code-Review-1 (1 comment) I'm not really liking your approach to re-count all stuff every while. This should be done only when needed. https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c File src/osmo-bsc/bsc_stats.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c at 156 PS1, Line 156: if (trx_is_usable(trx)) > how about: [?] I don't see the point in your suggestion. The result is going to be the same. You add some reads in favor of potentially dropping some writes, that's it. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:54:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:56:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:56:41 +0000 Subject: Change in osmo-bsc[master]: move BTS level stats and counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25275 ) Change subject: move BTS level stats and counters to bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review-1 Those are per bts, so let's keep stuff per-object rather than putting stuff back together with bsc related stuff. If at all, move them to a new bts_stats.c/h -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c Gerrit-Change-Number: 25275 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:56:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 08:58:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 08:58:52 +0000 Subject: Change in osmo-bsc[master]: move MSC level stats and rate counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25276 ) Change subject: move MSC level stats and rate counters to bsc_stats.[hc] ...................................................................... Patch Set 1: Code-Review-1 As in previous commit, imho this is mangling different objects into same file. Let's keep it in the bsc_msc related files as if was before, or rather create a new bsc_msc_stats.c/h. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03ab34f1c0511016da5b8c7db33d8d76db99f3af Gerrit-Change-Number: 25276 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 08:58:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:03:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 09:03:54 +0000 Subject: Change in osmo-bsc[master]: move BTS level stats and counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25275 ) Change subject: move BTS level stats and counters to bsc_stats.[hc] ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > Those are per bts, so let's keep stuff per-object rather than putting stuff back together with bsc related stuff. If at all, move them to a new bts_stats.c/h I have checked this through as well. I also think that a bts_stats.c/h module makes sense. In any case btc./.h have already a lot of stuff in them, so in general it is a good idea to separate the stats somehow. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c Gerrit-Change-Number: 25275 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 30 Aug 2021 09:03:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:05:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 09:05:07 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c File src/osmo-bsc/bsc_stats.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c at 156 PS1, Line 156: if (trx_is_usable(trx)) > I don't see the point in your suggestion. The result is going to be the same. [?] it's a small optimization, avoiding the trx_is_usable call (which calls other functions) if oml_connected is already set to true. But it's not really important. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:05:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 09:07:47 +0000 Subject: Change in osmo-bsc[master]: move MSC level stats and rate counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25276 ) Change subject: move MSC level stats and rate counters to bsc_stats.[hc] ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > As in previous commit, imho this is mangling different objects into same file. Let's keep it in the bsc_msc related files as if was before, or rather create a new bsc_msc_stats.c/h. As with the bsc_stats I think a separate module makes sense. The stats code is very length and I think having the stats aggregated in xxxx_stats.c/.h modules makes sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I03ab34f1c0511016da5b8c7db33d8d76db99f3af Gerrit-Change-Number: 25276 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 30 Aug 2021 09:07:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:12:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 09:12:18 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 1: -Code-Review (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c File src/osmo-bsc/bsc_stats.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c at 156 PS1, Line 156: if (trx_is_usable(trx)) > it's a small optimization, avoiding the trx_is_usable call (which calls other functions) if oml_conn [?] Ah good point, I didn't think about trx_is_usable being a complex function :) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:12:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:17:03 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 09:17:03 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25271 ) Change subject: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8cb3c054fe6d750d44bbb4ecf7ccd1788fcdc66c Gerrit-Change-Number: 25271 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:17:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:17:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 09:17:51 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25277 ) Change subject: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change ...................................................................... gsm_04_08_rr: silently ignore RR UTRAN Classmark Change Some UMTS capable phones (such as SE K800i) send this message together with the 'normal' RR Classmark Change, what makes osmo-bsc log the following warning: DCHAN NOTICE gsm_04_08_rr.c:1037 lchan(0-0-1-SDCCH8-0)[0x562ea76d3ab0]{ESTABLISHED}: (type=SDCCH) Unknown RR message: UTRAN Classmark Change We don't handle it, so just ignore without logging anything. Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/77/25277/1 diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 16fe999..6c0615e 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -1027,6 +1027,9 @@ case GSM48_MT_RR_CLSM_CHG: handle_classmark_chg(conn, msg); break; + case GSM48_MT_RR_UTRAN_CLSM_CHG: + /* TODO: forward to the MSC? */ + break; case GSM48_MT_RR_APP_INFO: /* Passing RR APP INFO to MSC, not quite * according to spec */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 Gerrit-Change-Number: 25277 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:20:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 09:20:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 694 PS1, Line 694: rate_ctr_group_free(chan_state->ctrs); > what about NULLing the pointer? I see it being done for other fields here. Ack https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1126 PS1, Line 1126: chan_state->ctrs = rate_ctr_group_alloc(l1ts, > no need to free previous field, like done withdl/ul_bursts above? I don't think there is a need for that. https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1129 PS1, Line 1129: snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", > space in the name? are you sure this is correct? I doubt so. This is intended: first %s is the general logical channel name, second %s is the exact channel type. Here is some examples: (bts=0,trx=0,ts=2,ss=0) SACCH/TH(0) (bts=0,trx=0,ts=2,ss=0) TCH/H(0) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1139 PS1, Line 1139: rate_ctr_group_free(chan_state->ctrs); > set the pointer to null? Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:20:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 09:22:47 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 to look at the new patch set (#2). Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... osmo-bts-trx: add rate counter for Uplink block decoding errors During the channel activation, allocate a counter group for each logical channel (struct l1sched_chan_state). Deallocate it on deactivation. The rate counter API requires a unique group index, which unfortunately cannot be determined for dedicated channels. As a quick hack, use monolitically increasing numbers for that. Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Related: OS#4771 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 6 files changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/25270/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:22:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 09:22:50 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... vty: Fix wrong TSC sent when activating lchan through VTY TSC was initially set to -1 (to be picked by callee), but erased when using designated initializers later on in the function, hence TSC being set to 0. As a result, TSC 0 would be requested to the BTS, which may have configured a different BSIC containing BCC!=0. Related: SYS#5219 Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 10 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/25278/1 diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6d10426..4fb2434 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1587,47 +1587,28 @@ /* configure the lchan */ lchan_select_set_type(lchan, lchan_t); if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_V1, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; + info.requires_voice_stream = false; } else if (!strcmp(codec_str, "efr")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_EFR, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_EFR; + info.requires_voice_stream = false; } else if (!strcmp(codec_str, "amr")) { if (amr_mode == -1) { vty_out(vty, "%% AMR requires specification of AMR mode%s", VTY_NEWLINE); return CMD_WARNING; } - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_AMR, - .s15_s0 = amr_modes[amr_mode], - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_AMR; + info.ch_mode_rate.s15_s0 = amr_modes[amr_mode]; + info.requires_voice_stream = false; } else if (!strcmp(codec_str, "sig")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SIGN, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SIGN; + info.requires_voice_stream = false; } else { vty_out(vty, "%% Invalid channel mode specified!%s", VTY_NEWLINE); return CMD_WARNING; } + info.activ_for = ACTIVATE_FOR_VTY; info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(lchan_t); if (activate == 2 || lchan->vamos.is_secondary) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:25:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 09:25:24 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 30 Aug 2021 09:25:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 09:25:50 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: Hello osmith, neels, laforge, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 to look at the new patch set (#2). Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... vty: Fix wrong TSC sent when activating lchan through VTY TSC was initially set to -1 (to be picked by callee), but erased when using designated initializers later on in the function, hence TSC being set to 0. As a result, TSC 0 would be requested to the BTS, which may have configured a different BSIC containing BCC!=0. Related: OS#5219 Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 10 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/25278/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:31:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 09:31:31 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... Patch Set 2: (1 comment) wondering about "info.requires_voice_stream = false;", otherwise LGTM! https://gerrit.osmocom.org/c/osmo-bsc/+/25278/2/src/osmo-bsc/bsc_vty.c File src/osmo-bsc/bsc_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25278/2/src/osmo-bsc/bsc_vty.c at 1611 PS2, Line 1611: info.activ_for = ACTIVATE_FOR_VTY; why not move "info.requires_voice_stream = false;" here too? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 09:31:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:33:47 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 09:33:47 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25277 ) Change subject: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 Gerrit-Change-Number: 25277 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:33:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:53:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 09:53:02 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25277 ) Change subject: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 Gerrit-Change-Number: 25277 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:53:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 09:55:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 09:55:01 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1129 PS1, Line 1129: snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", > This is intended: first %s is the general logical channel name, second %s is the exact channel type. [?] Bear in mind those names are exported over statsd, CTRL, etc. so better stick to namings properly formatted/sanitized. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 09:55:01 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 10:03:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 10:03:20 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, neels, laforge, fixeria, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 to look at the new patch set (#3). Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... vty: Fix wrong TSC sent when activating lchan through VTY TSC was initially set to -1 (to be picked by callee), but erased when using designated initializers later on in the function, hence TSC being set to 0. As a result, TSC 0 would be requested to the BTS, which may have configured a different BSIC containing BCC!=0. Related: OS#5219 Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 7 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/78/25278/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 10:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 30 Aug 2021 10:04:07 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 10:04:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 10:55:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 10:55:14 +0000 Subject: Change in osmo-bts[master]: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25279 ) Change subject: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs So far only the first one was applied. Fixes: 9238c3549d3a7ce536e55d687b53be584a7f2b67 Related: SYS#4918 Change-Id: Ib4f3c165a988e77b61a8852b254fc0904aa12482 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/25279/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index f5a963c..e226167 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -969,7 +969,7 @@ const struct ipac_preproc_ave_cfg *ave_cfg; struct gsm_power_ctrl_meas_params *mp; - ie = TLVP_GET(&tp[0], RSL_IPAC_EIE_MEAS_AVG_CFG); + ie = TLVP_GET(&tp[i], RSL_IPAC_EIE_MEAS_AVG_CFG); if (ie == NULL) break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib4f3c165a988e77b61a8852b254fc0904aa12482 Gerrit-Change-Number: 25279 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 10:56:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 10:56:46 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1129 PS1, Line 1129: snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", > Bear in mind those names are exported over statsd, CTRL, etc. [?] Where can I find more info about 'proper' naming? I thought these interfaces do proper escaping themselves... -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 10:56:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 10:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 10:58:25 +0000 Subject: Change in osmo-bts[master]: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25279 ) Change subject: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... Patch Set 1: Code-Review+2 Oh damn, very nice catch! Thanks! -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib4f3c165a988e77b61a8852b254fc0904aa12482 Gerrit-Change-Number: 25279 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 30 Aug 2021 10:58:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 11:02:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 11:02:30 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 30 Aug 2021 11:02:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 11:02:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 11:02:45 +0000 Subject: Change in osmo-bsc[master]: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25277 ) Change subject: gsm_04_08_rr: silently ignore RR UTRAN Classmark Change ...................................................................... gsm_04_08_rr: silently ignore RR UTRAN Classmark Change Some UMTS capable phones (such as SE K800i) send this message together with the 'normal' RR Classmark Change, what makes osmo-bsc log the following warning: DCHAN NOTICE gsm_04_08_rr.c:1037 lchan(0-0-1-SDCCH8-0)[0x562ea76d3ab0]{ESTABLISHED}: (type=SDCCH) Unknown RR message: UTRAN Classmark Change We don't handle it, so just ignore without logging anything. Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 --- M src/osmo-bsc/gsm_04_08_rr.c 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/osmo-bsc/gsm_04_08_rr.c b/src/osmo-bsc/gsm_04_08_rr.c index 16fe999..6c0615e 100644 --- a/src/osmo-bsc/gsm_04_08_rr.c +++ b/src/osmo-bsc/gsm_04_08_rr.c @@ -1027,6 +1027,9 @@ case GSM48_MT_RR_CLSM_CHG: handle_classmark_chg(conn, msg); break; + case GSM48_MT_RR_UTRAN_CLSM_CHG: + /* TODO: forward to the MSC? */ + break; case GSM48_MT_RR_APP_INFO: /* Passing RR APP INFO to MSC, not quite * according to spec */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Icb8e44c9a06519ead9c3dc9308788c23505d4bb1 Gerrit-Change-Number: 25277 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 11:56:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 11:56:08 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25270/1/src/common/scheduler.c at 1129 PS1, Line 1129: snprintf(ctrg_name, sizeof(ctrg_name), "%s %s", > Where can I find more info about 'proper' naming? [?] osmo_stats_reporter_sanitize_name() and osmo_identifier_sanitize_buf() are good starting points. Ping daniel for more details, I think he may know more details regarding osmo_stats name restrictions. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 11:56:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 12:05:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 12:05:24 +0000 Subject: Change in osmo-bts[master]: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25279 ) Change subject: rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... rsl: Fix rx of multiple RSL_IPAC_EIE_MEAS_AVG_CFG IEs So far only the first one was applied. Fixes: 9238c3549d3a7ce536e55d687b53be584a7f2b67 Related: SYS#4918 Change-Id: Ib4f3c165a988e77b61a8852b254fc0904aa12482 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/rsl.c b/src/common/rsl.c index f5a963c..e226167 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -969,7 +969,7 @@ const struct ipac_preproc_ave_cfg *ave_cfg; struct gsm_power_ctrl_meas_params *mp; - ie = TLVP_GET(&tp[0], RSL_IPAC_EIE_MEAS_AVG_CFG); + ie = TLVP_GET(&tp[i], RSL_IPAC_EIE_MEAS_AVG_CFG); if (ie == NULL) break; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ib4f3c165a988e77b61a8852b254fc0904aa12482 Gerrit-Change-Number: 25279 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 12:14:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 30 Aug 2021 12:14:03 +0000 Subject: Change in osmo-bts[master]: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25280 ) Change subject: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs struct ipac_preproc_cfg seems to suggest that there may be up to 3 IEs in some cases: "struct ipac_preproc_ave_cfg ms_ave_cfg[3];" Change-Id: I02633713eb557ee52e790a239f7b13b8c5b2b3bd Fixes: 9238c3549d3a7ce536e55d687b53be584a7f2b67 Related: SYS#4918 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/80/25280/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index e226167..4ad807f 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -909,7 +909,7 @@ const uint8_t *data, size_t data_len) { const struct tlv_p_entry *ie; - struct tlv_parsed tp[2]; + struct tlv_parsed tp[3]; unsigned int i; int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I02633713eb557ee52e790a239f7b13b8c5b2b3bd Gerrit-Change-Number: 25280 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:02:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 16:02:14 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... rsl: add new RSL IE to signal temporary overpower To transfer the temporary overpower value from the BSC to the BTS, a new RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP) is added. Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Related: SYS#5319 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 11 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/25281/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 9f80816..fe2f6a4 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -139,6 +139,15 @@ #endif } __attribute__ ((packed)); +/* Osmocom specific IE to negotiate temporary overpower of ACCH channels */ +struct abis_rsl_osmo_top_acch_cap { +#if OSMO_IS_BIG_ENDIAN + uint8_t top; +#elif OSMO_IS_LITTLE_ENDIAN + uint8_t top; +#endif +} __attribute__ ((packed)); + /* Chapter 9.1 */ /* RSL Message Discriminator: RLL */ #define ABIS_RSL_MDISC_RLL 0x02 @@ -362,6 +371,7 @@ /* Osmocom specific */ RSL_IE_OSMO_REP_ACCH_CAP= 0x60, RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, + RSL_IE_OSMO_TOP_ACCH_CAP= 0x62, /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG = 0xe0, diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index a7fa81d..3d2eb43 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -128,6 +128,7 @@ [RSL_IE_SIEMENS_MRPCI] = { TLV_TYPE_TV }, [RSL_IE_OSMO_REP_ACCH_CAP] = { TLV_TYPE_TLV }, [RSL_IE_OSMO_TRAINING_SEQUENCE] = { TLV_TYPE_TLV }, + [RSL_IE_OSMO_TOP_ACCH_CAP] = { TLV_TYPE_TLV }, [RSL_IE_IPAC_PROXY_UDP] = { TLV_TYPE_FIXED, 2 }, [RSL_IE_IPAC_BSCMPL_TOUT] = { TLV_TYPE_TV }, [RSL_IE_IPAC_REMOTE_IP] = { TLV_TYPE_FIXED, 4 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:02:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 16:02:14 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... bts_features: Add new feature to indicate support for temporary overpower To indicate to the BSC that a BTS supports temporary overpower of SACCH/FACCH channels a new feature BTS_FEAT_ACCH_TOP is added. Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Related: SYS#5319 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/25282/1 diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 42e1934..cd31efa 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -32,6 +32,7 @@ BTS_FEAT_ABIS_OSMO_PCU, /* BTS supports forwarding data to PCUIF over IPA OML multiplex */ BTS_FEAT_BCCH_POWER_RED, BTS_FEAT_DYN_TS_SDCCH8, /* Osmo Dynamic TS supports configured as SDCCH8 */ + BTS_FEAT_ACCH_TOP, /* FACCH/SACCH Temporary overpower */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index ecb5700..dcd0d1c 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -47,6 +47,7 @@ { BTS_FEAT_ABIS_OSMO_PCU, "OsmoPCU over OML link IPA multiplex" }, { BTS_FEAT_BCCH_POWER_RED, "BCCH carrier power reduction mode" }, { BTS_FEAT_DYN_TS_SDCCH8, "Dynamic Timeslot configuration as SDCCH8" }, + { BTS_FEAT_ACCH_TOP, "FACCH/SACCH Temporary overpower" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:03:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 16:03:31 +0000 Subject: Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25283 ) Change subject: bty_vty: add VTY settungs for temporary overpower ...................................................................... bty_vty: add VTY settungs for temporary overpower To configure temporary overpower, new VTY commands are added. This patch also addes the logic needed to attach the temporary overpower IE to the RSL CHANNEL ACTIVATE message. Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Related: SYS#5319 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_vty.c 3 files changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/25283/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 291ec10..70e706e 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -549,6 +549,11 @@ * enable/disable certain ACCH repeation features individually */ struct abis_rsl_osmo_rep_acch_cap repeated_acch_policy; + /* osmocom specific FACCH/SACCH temporary overpower value. This value + * is set to a constant value by the VTY. Temporary overpower is only + * applied when FACCH/SACCH repetition is not applicable or disabled */ + struct abis_rsl_osmo_top_acch_cap temporary_overpower; + /* MS/BS Power Control parameters */ struct gsm_power_ctrl_params ms_power_ctrl; struct gsm_power_ctrl_params bs_power_ctrl; diff --git a/src/osmo-bsc/abis_rsl.c b/src/osmo-bsc/abis_rsl.c index 26231ac..6d730d9 100644 --- a/src/osmo-bsc/abis_rsl.c +++ b/src/osmo-bsc/abis_rsl.c @@ -548,6 +548,34 @@ } } +/* indicate Temporary overpower of SACCH and FACCH channels */ +static void top_acch_cap_for_bts(struct gsm_lchan *lchan, struct msgb *msg) +{ + struct abis_rsl_osmo_top_acch_cap *cap; + struct gsm_bts *bts = lchan->ts->trx->bts; + bool acch_rep_enabled; + bool acch_rep_supp_by_ms; + + /* The RSL_IE_OSMO_TOP_ACCH_CAP IE is a proprietary IE, that can only be used with osmo-bts type BTSs */ + if (!(bts->model->type == GSM_BTS_TYPE_OSMOBTS && osmo_bts_has_feature(&bts->features, BTS_FEAT_ACCH_TOP))) + return; + + cap = (struct abis_rsl_osmo_top_acch_cap *)msg->tail; + msgb_tlv_put(msg, RSL_IE_OSMO_TOP_ACCH_CAP, sizeof(*cap), (uint8_t *) & bts->temporary_overpower); + + /* The user has enabled one of the two downlink related ACCH repetition features. */ + acch_rep_enabled = bts->repeated_acch_policy.dl_sacch || bts->repeated_acch_policy.dl_facch_all + || bts->repeated_acch_policy.dl_facch_cmd; + + /* The MS indicates support for ACCH repetition */ + acch_rep_supp_by_ms = lchan->conn && lchan->conn->cm3_valid && lchan->conn->cm3.repeated_acch_capability; + + /* If the MS fully supports repeated ACCH capabilites as specified in 3GPP TS 44.006, section 10 and 11. and if + * ACCH repetition is enabled for this BTS, then we will not apply temporary overpower. */ + if (acch_rep_enabled && acch_rep_supp_by_ms) + cap->top = 0; +} + /* Write RSL_IE_OSMO_TRAINING_SEQUENCE to msgb. The tsc_set argument's range is 1-4, tsc argument range is 0-7. */ static void put_osmo_training_sequence_ie(struct msgb *msg, uint8_t tsc_set, uint8_t tsc) { @@ -675,6 +703,7 @@ } rep_acch_cap_for_bts(lchan, msg); + top_acch_cap_for_bts(lchan, msg); /* Selecting a specific TSC Set is only applicable to VAMOS mode */ if (lchan->activate.info.vamos && lchan->activate.tsc_set >= 1) @@ -746,6 +775,7 @@ } rep_acch_cap_for_bts(lchan, msg); + top_acch_cap_for_bts(lchan, msg); /* Selecting a specific TSC Set is only applicable to VAMOS mode. Send this Osmocom specific IE only to OsmoBTS * types. */ diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 577feec..e6fefb5 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -746,6 +746,41 @@ return CMD_SUCCESS; } +#define TOP_ACCH_STR "Temporary ACCH overpower\n" + +DEFUN_USRATTR(cfg_bts_top_dl_acch, + cfg_bts_top_dl_acch_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "overpower dl-acch <1-4>", + TOP_ACCH_STR + "Enable ACCH overpower for this BTS\n" + "overpower value in dB\n") +{ + struct gsm_bts *bts = vty->index; + + if (bts->model->type != GSM_BTS_TYPE_OSMOBTS) { + vty_out(vty, "%% repeated ACCH not supported by BTS %u%s", + bts->nr, VTY_NEWLINE); + return CMD_WARNING; + } + + bts->temporary_overpower.top = atoi(argv[0]); + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_bts_top_no_dl_acch, + cfg_bts_top_no_dl_acch_cmd, + X(BSC_VTY_ATTR_NEW_LCHAN), + "no overpower dl-acch", + NO_STR TOP_ACCH_STR + "Disable ACCH overpower for this BTS\n") +{ + struct gsm_bts *bts = vty->index; + + bts->temporary_overpower.top = 0; + + return CMD_SUCCESS; +} #define CD_STR "Channel Description\n" @@ -3966,6 +4001,9 @@ ho_vty_write_bts(vty, bts); + if (bts->temporary_overpower.top > 0) + vty_out(vty, " overpower dl-acch %u%s", bts->temporary_overpower.top, VTY_NEWLINE); + if (bts->repeated_acch_policy.dl_facch_all) vty_out(vty, " repeat dl-facch all%s", VTY_NEWLINE); else if (bts->repeated_acch_policy.dl_facch_cmd) @@ -4181,6 +4219,8 @@ install_element(BTS_NODE, &cfg_bts_rep_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); + install_element(BTS_NODE, &cfg_bts_top_dl_acch_cmd); + install_element(BTS_NODE, &cfg_bts_top_no_dl_acch_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_avg_period_cmd); install_element(BTS_NODE, &cfg_bts_interf_meas_level_bounds_cmd); install_element(BTS_NODE, &cfg_bts_srvcc_fast_return_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Gerrit-Change-Number: 25283 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:03:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 16:03:57 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH References: Message-ID: Hello fixeria, I'd like you to do a code review. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25284 to review the following change. Change subject: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH ...................................................................... osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH Change-Id: Ie8a626fefccf1eb07271058e5126ec106cb1abcf Related: SYS#5319 --- M include/osmo-bts/gsm_data.h M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c 5 files changed, 42 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/84/25284/1 diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 80f1833..53b3b05 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -401,6 +401,9 @@ struct gsm_power_ctrl_params ms_dpc_params; struct gsm_power_ctrl_params bs_dpc_params; + /* Temporary Overpower for SACCH/FACCH */ + uint8_t bs_acch_overpower_db; + struct msgb *pending_rel_ind_msg; /* ECU (Error Concealment Unit) state */ diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 80a260f..d640647 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -128,6 +128,8 @@ struct l1sched_meas_set meas_avg_facch; /* measurement results for last FACCH */ uint16_t ber10k_facch; /* bit error rate for last FACCH */ + uint8_t dl_facch_bursts; /* number of remaining DL FACCH bursts */ + /* encryption */ int ul_encr_algo; /* A5/x encry algo downlink */ int dl_encr_algo; /* A5/x encry algo uplink */ @@ -272,6 +274,8 @@ size_t burst_len; }; +#define TRX_BR_F_FACCH (1 << 0) + /*! DL burst request with the corresponding meta info */ struct trx_dl_burst_req { uint8_t flags; /*!< see TRX_BR_F_* */ diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 6e1e4fb..c69c9dd 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1278,6 +1278,23 @@ return func(l1ts, &dbr); } +static void trx_sched_acch_overpower(const struct gsm_lchan *lchan, + struct trx_dl_burst_req *br) +{ + const struct trx_chan_desc *desc = &trx_chan_desc[br->chan]; + const uint8_t overpower_db = lchan->bs_acch_overpower_db; + + if (overpower_db == 0) + return; + + if (desc->link_id == LID_SACCH || br->flags & TRX_BR_F_FACCH) { + if (br->att > overpower_db) + br->att -= overpower_db; + else + br->att = 0; + } +} + /* process downlink burst */ void _sched_dl_burst(struct l1sched_ts *l1ts, struct trx_dl_burst_req *br) { @@ -1316,9 +1333,11 @@ br->mod = l1cs->dl_mod_type; /* BS Power reduction (in dB) per logical channel */ - if (l1cs->lchan != NULL) + if (l1cs->lchan != NULL) { br->att = l1cs->lchan->bs_power_ctrl.current; - else /* Ensure no attenuation in the absence of lchan (e.g. on PDCH) */ + /* Temporary Overpower for SACCH/FACCH bursts */ + trx_sched_acch_overpower(l1cs->lchan, br); + } else /* Ensure no attenuation in the absence of lchan (e.g. on PDCH) */ br->att = 0; /* encrypt */ diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 8e6298c..d2b39d2 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -544,10 +544,11 @@ } /* encode bursts (prioritize FACCH) */ - if (msg_facch) + if (msg_facch) { gsm0503_tch_fr_encode(*bursts_p, msg_facch->l2h, msgb_l2len(msg_facch), 1); - else if (tch_mode == GSM48_CMODE_SPEECH_AMR) + chan_state->dl_facch_bursts = 8; + } else if (tch_mode == GSM48_CMODE_SPEECH_AMR) /* the first FN 4,13,21 defines that CMI is included in frame, * the first FN 0,8,17 defines that CMR is included in frame. */ @@ -574,6 +575,11 @@ br->burst_len = GSM_BURST_LEN; + if (chan_state->dl_facch_bursts > 0) { + chan_state->dl_facch_bursts--; + br->flags |= TRX_BR_F_FACCH; + } + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index bfebb66..cf0d65d 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -434,6 +434,7 @@ if (msg_facch) { gsm0503_tch_hr_encode(*bursts_p, msg_facch->l2h, msgb_l2len(msg_facch)); chan_state->dl_ongoing_facch = 1; /* first of two TCH frames */ + chan_state->dl_facch_bursts = 6; } else if (chan_state->dl_ongoing_facch) /* second of two TCH frames */ chan_state->dl_ongoing_facch = 0; /* we are done with FACCH */ else if (tch_mode == GSM48_CMODE_SPEECH_AMR) @@ -463,6 +464,11 @@ br->burst_len = GSM_BURST_LEN; + if (chan_state->dl_facch_bursts > 0) { + chan_state->dl_facch_bursts--; + br->flags |= TRX_BR_F_FACCH; + } + LOGL1SB(DL1P, LOGL_DEBUG, l1ts, br, "Transmitting burst=%u.\n", br->bid); return 0; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie8a626fefccf1eb07271058e5126ec106cb1abcf Gerrit-Change-Number: 25284 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:03:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 30 Aug 2021 16:03:58 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... rsl: parse temporary overpower value RSL CHAN ACT The temporary overpower value that is to be used with FACCH and SACCH is transfered using a propritary RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP). The parsed value is then stored in lchan->bs_acch_overpower_db so that it can be used. Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Related: SYS#5319 --- M src/common/rsl.c M src/osmo-bts-trx/main.c 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/25285/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index e226167..4506db2 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1519,6 +1519,22 @@ sizeof(lchan->repeated_acch_capability)); } +/* Parse RSL_IE_OSMO_TOP_ACCH_CAP */ +static void parse_temporary_overpower_acch_capability(struct gsm_lchan *lchan, struct tlv_parsed *tp) +{ + struct abis_rsl_osmo_top_acch_cap *temporary_overpower; + + lchan->bs_acch_overpower_db = 0; + + if (!TLVP_PRESENT(tp, RSL_IE_OSMO_TOP_ACCH_CAP)) + return; + if (TLVP_LEN(tp, RSL_IE_OSMO_REP_ACCH_CAP) != sizeof(*temporary_overpower)) + return; + + temporary_overpower = (struct abis_rsl_osmo_top_acch_cap *)TLVP_VAL(tp, RSL_IE_OSMO_TOP_ACCH_CAP); + lchan->bs_acch_overpower_db = temporary_overpower->top; +} + /* 8.4.1 CHANnel ACTIVation is received */ static int rsl_rx_chan_activ(struct msgb *msg) { @@ -1819,6 +1835,7 @@ lchan->rel_act_kind = LCHAN_REL_ACT_RSL; parse_repeated_acch_capability(lchan, &tp); + parse_temporary_overpower_acch_capability(lchan, &tp); /* actually activate the channel in the BTS */ rc = l1sap_chan_act(lchan->ts->trx, dch->chan_nr, &tp); diff --git a/src/osmo-bts-trx/main.c b/src/osmo-bts-trx/main.c index 9720b03..3b9200f 100644 --- a/src/osmo-bts-trx/main.c +++ b/src/osmo-bts-trx/main.c @@ -148,6 +148,7 @@ osmo_bts_set_feature(bts->features, BTS_FEAT_MULTI_TSC); osmo_bts_set_feature(bts->features, BTS_FEAT_VAMOS); osmo_bts_set_feature(bts->features, BTS_FEAT_BCCH_POWER_RED); + osmo_bts_set_feature(bts->features, BTS_FEAT_ACCH_TOP); bts_internal_flag_set(bts, BTS_INTERNAL_FLAG_MEAS_PAYLOAD_COMB); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:16:46 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:16:46 +0000 Subject: Change in osmo-bsc[master]: move BTS level stats and counters to bsc_stats.[hc] In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25275 ) Change subject: move BTS level stats and counters to bsc_stats.[hc] ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > Those are per bts, so let's keep stuff per-object rather than putting stuff back together with bsc related stuff. If at all, move them to a new bts_stats.c/h Thanks for this review, I deliberately kept this part separate because I was unsure in the same direction. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I58c5c1f8a5a09e9942aa6d1bdfe7f9766773963c Gerrit-Change-Number: 25275 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Mon, 30 Aug 2021 16:16:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:18:05 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:18:05 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... Patch Set 3: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 16:18:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:18:12 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:18:12 +0000 Subject: Change in osmo-bsc[master]: vty: add "msc N bssmap reset" command In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25225 ) Change subject: vty: add "msc N bssmap reset" command ...................................................................... vty: add "msc N bssmap reset" command Allow resetting the BSSMAP link from VTY, for BSC_Tests.ttcn. In the field, detecting that an MSC is lost is done by getting three connection failures in a row. For the BSC_Tests, it is easier to just provide a VTY command to reset an MSC's link status. I want to add tests that verify the stat items reflecting the MSC connection status. To be able to run a test expecting fewer connected MSC after a test that launched more MSCs requires the links to be reset. Related: SYS#5542 Related: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 (osmo-ttcn3-hacks) Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff --- M include/osmocom/bsc/bssmap_reset.h M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bssmap_reset.c M tests/handover/handover_test.c 4 files changed, 31 insertions(+), 3 deletions(-) Approvals: neels: Looks good to me, approved dexter: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bssmap_reset.h b/include/osmocom/bsc/bssmap_reset.h index f90f5ec..fcd850b 100644 --- a/include/osmocom/bsc/bssmap_reset.h +++ b/include/osmocom/bsc/bssmap_reset.h @@ -27,4 +27,5 @@ struct bssmap_reset *bssmap_reset_alloc(void *ctx, const char *label, const struct bssmap_reset_cfg *cfg); bool bssmap_reset_is_conn_ready(const struct bssmap_reset *bssmap_reset); +void bssmap_reset_resend_reset(struct bssmap_reset *bssmap_reset); void bssmap_reset_term_and_free(struct bssmap_reset *bssmap_reset); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 6d10426..5ce1d69 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -62,6 +62,7 @@ #include #include #include +#include #include @@ -3324,6 +3325,28 @@ return CMD_SUCCESS; } +DEFUN(msc_bssmap_reset, msc_bssmap_reset_cmd, + "msc " MSC_NR_RANGE " bssmap reset", + "Query or manipulate a specific A-interface link\n" + "MSC nr\n" + "Query or manipulate BSSMAP layer of A-interface\n" + "Flip this MSC to disconnected state and re-send BSSMAP RESET\n") +{ + int msc_nr = atoi(argv[0]); + struct bsc_msc_data *msc; + + msc = osmo_msc_data_find(bsc_gsmnet, msc_nr); + + if (!msc) { + vty_out(vty, "%% No such MSC: nr %d\n", msc_nr); + return CMD_WARNING; + } + + LOGP(DMSC, LOGL_NOTICE, "(msc%d) VTY requests BSSMAP RESET\n", msc_nr); + bssmap_reset_resend_reset(msc->a.bssmap_reset); + return CMD_SUCCESS; +} + int bsc_vty_init(struct gsm_network *network) { OSMO_ASSERT(vty_global_gsm_network == NULL); @@ -3477,6 +3500,7 @@ install_element(ENABLE_NODE, &gen_position_trap_cmd); install_element(ENABLE_NODE, &mscpool_roundrobin_next_cmd); + install_element(ENABLE_NODE, &msc_bssmap_reset_cmd); install_element(CFG_LOG_NODE, &logging_fltr_imsi_cmd); diff --git a/src/osmo-bsc/bssmap_reset.c b/src/osmo-bsc/bssmap_reset.c index 6c54560..beb8968 100644 --- a/src/osmo-bsc/bssmap_reset.c +++ b/src/osmo-bsc/bssmap_reset.c @@ -243,6 +243,12 @@ return bssmap_reset->fi->state == BSSMAP_RESET_ST_CONN; } +void bssmap_reset_resend_reset(struct bssmap_reset *bssmap_reset) +{ + /* Immediately (1ms) kick off reset sending mechanism */ + osmo_fsm_inst_state_chg_ms(bssmap_reset->fi, BSSMAP_RESET_ST_DISC, 1, 0); +} + static __attribute__((constructor)) void bssmap_reset_fsm_init() { OSMO_ASSERT(osmo_fsm_register(&bssmap_reset_fsm) == 0); diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index 315fc10..f76a700 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -1703,9 +1703,6 @@ void osmo_bsc_sigtran_tx_reset(void) {} void osmo_bsc_sigtran_tx_reset_ack(void) {} void osmo_bsc_sigtran_reset(void) {} -void bssmap_reset_alloc(void) {} -void bssmap_reset_is_conn_ready(void) {} -void bssmap_reset_term_and_free(void) {} const char *osmo_mgcpc_ep_name(const struct osmo_mgcpc_ep *ep) { return "fake-ep"; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I1975941b790d2b30d0904d41e456220cba26ecff Gerrit-Change-Number: 25225 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:18:52 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:18:52 +0000 Subject: Change in osmo-bsc[master]: move BSC level stats and rate counters to new bsc_stats.[hc] In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25273 ) Change subject: move BSC level stats and rate counters to new bsc_stats.[hc] ...................................................................... move BSC level stats and rate counters to new bsc_stats.[hc] Instead of having static const structs in header files (which end up duplicated in each and every compile unit!), have one .c file with the rate_ctr and stat_item descriptions. Related: SYS#5542 Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 --- M include/osmocom/bsc/Makefile.am A include/osmocom/bsc/bsc_stats.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/Makefile.am M src/osmo-bsc/assignment_fsm.c M src/osmo-bsc/bsc_init.c A src/osmo-bsc/bsc_stats.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/gsm_08_08.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/osmo_bsc_bssap.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/paging.c 14 files changed, 231 insertions(+), 169 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/Makefile.am b/include/osmocom/bsc/Makefile.am index dde08a1..3accc74 100644 --- a/include/osmocom/bsc/Makefile.am +++ b/include/osmocom/bsc/Makefile.am @@ -7,6 +7,7 @@ acc.h \ assignment_fsm.h \ bsc_rll.h \ + bsc_stats.h \ bsc_subscriber.h \ bsc_subscr_conn_fsm.h \ bss.h \ diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h new file mode 100644 index 0000000..8fcd5a0 --- /dev/null +++ b/include/osmocom/bsc/bsc_stats.h @@ -0,0 +1,98 @@ +/* osmo-bsc statistics */ +/* (C) 2021 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ +#pragma once + +#include + +struct osmo_stat_item_group_desc; + +/* OsmoBSC rate_ctr indexes */ +enum { + BSC_CTR_ASSIGNMENT_ATTEMPTED, + BSC_CTR_ASSIGNMENT_COMPLETED, + BSC_CTR_ASSIGNMENT_STOPPED, + BSC_CTR_ASSIGNMENT_NO_CHANNEL, + BSC_CTR_ASSIGNMENT_TIMEOUT, + BSC_CTR_ASSIGNMENT_FAILED, + BSC_CTR_ASSIGNMENT_ERROR, + BSC_CTR_HANDOVER_ATTEMPTED, + BSC_CTR_HANDOVER_COMPLETED, + BSC_CTR_HANDOVER_STOPPED, + BSC_CTR_HANDOVER_NO_CHANNEL, + BSC_CTR_HANDOVER_TIMEOUT, + BSC_CTR_HANDOVER_FAILED, + BSC_CTR_HANDOVER_ERROR, + BSC_CTR_INTRA_CELL_HO_ATTEMPTED, + BSC_CTR_INTRA_CELL_HO_COMPLETED, + BSC_CTR_INTRA_CELL_HO_STOPPED, + BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, + BSC_CTR_INTRA_CELL_HO_TIMEOUT, + BSC_CTR_INTRA_CELL_HO_FAILED, + BSC_CTR_INTRA_CELL_HO_ERROR, + BSC_CTR_INTRA_BSC_HO_ATTEMPTED, + BSC_CTR_INTRA_BSC_HO_COMPLETED, + BSC_CTR_INTRA_BSC_HO_STOPPED, + BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, + BSC_CTR_INTRA_BSC_HO_TIMEOUT, + BSC_CTR_INTRA_BSC_HO_FAILED, + BSC_CTR_INTRA_BSC_HO_ERROR, + BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, + BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, + BSC_CTR_INTER_BSC_HO_OUT_STOPPED, + BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, + BSC_CTR_INTER_BSC_HO_OUT_FAILED, + BSC_CTR_INTER_BSC_HO_OUT_ERROR, + BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, + BSC_CTR_INTER_BSC_HO_IN_COMPLETED, + BSC_CTR_INTER_BSC_HO_IN_STOPPED, + BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL, + BSC_CTR_INTER_BSC_HO_IN_FAILED, + BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, + BSC_CTR_INTER_BSC_HO_IN_ERROR, + BSC_CTR_SRVCC_ATTEMPTED, + BSC_CTR_SRVCC_COMPLETED, + BSC_CTR_SRVCC_STOPPED, + BSC_CTR_SRVCC_NO_CHANNEL, + BSC_CTR_SRVCC_TIMEOUT, + BSC_CTR_SRVCC_FAILED, + BSC_CTR_SRVCC_ERROR, + BSC_CTR_PAGING_ATTEMPTED, + BSC_CTR_PAGING_DETACHED, + BSC_CTR_PAGING_RESPONDED, + BSC_CTR_PAGING_NO_ACTIVE_PAGING, + BSC_CTR_UNKNOWN_UNIT_ID, + BSC_CTR_MSCPOOL_SUBSCR_NO_MSC, + BSC_CTR_MSCPOOL_EMERG_FORWARDED, + BSC_CTR_MSCPOOL_EMERG_LOST, +}; + +extern const struct rate_ctr_desc bsc_ctr_description[]; +extern const struct rate_ctr_group_desc bsc_ctrg_desc; + +/* OsmoBSC stat_item indexes */ +enum { + BSC_STAT_NUM_BTS_TOTAL, +}; + +/* BTS counter index if a BTS could not be found + * Currently we are limited to bts 0 - 255 in the VTY, but that might change in + * the future so use 2**16 */ +#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) + +extern const struct osmo_stat_item_group_desc bsc_statg_desc; diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index d6c06de..db0f249 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1110,163 +1110,6 @@ void conn_update_ms_power_class(struct gsm_subscriber_connection *conn, uint8_t power_class); void lchan_update_ms_power_ctrl_level(struct gsm_lchan *lchan, int ms_power_dbm); -enum { - BSC_CTR_ASSIGNMENT_ATTEMPTED, - BSC_CTR_ASSIGNMENT_COMPLETED, - BSC_CTR_ASSIGNMENT_STOPPED, - BSC_CTR_ASSIGNMENT_NO_CHANNEL, - BSC_CTR_ASSIGNMENT_TIMEOUT, - BSC_CTR_ASSIGNMENT_FAILED, - BSC_CTR_ASSIGNMENT_ERROR, - BSC_CTR_HANDOVER_ATTEMPTED, - BSC_CTR_HANDOVER_COMPLETED, - BSC_CTR_HANDOVER_STOPPED, - BSC_CTR_HANDOVER_NO_CHANNEL, - BSC_CTR_HANDOVER_TIMEOUT, - BSC_CTR_HANDOVER_FAILED, - BSC_CTR_HANDOVER_ERROR, - BSC_CTR_INTRA_CELL_HO_ATTEMPTED, - BSC_CTR_INTRA_CELL_HO_COMPLETED, - BSC_CTR_INTRA_CELL_HO_STOPPED, - BSC_CTR_INTRA_CELL_HO_NO_CHANNEL, - BSC_CTR_INTRA_CELL_HO_TIMEOUT, - BSC_CTR_INTRA_CELL_HO_FAILED, - BSC_CTR_INTRA_CELL_HO_ERROR, - BSC_CTR_INTRA_BSC_HO_ATTEMPTED, - BSC_CTR_INTRA_BSC_HO_COMPLETED, - BSC_CTR_INTRA_BSC_HO_STOPPED, - BSC_CTR_INTRA_BSC_HO_NO_CHANNEL, - BSC_CTR_INTRA_BSC_HO_TIMEOUT, - BSC_CTR_INTRA_BSC_HO_FAILED, - BSC_CTR_INTRA_BSC_HO_ERROR, - BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED, - BSC_CTR_INTER_BSC_HO_OUT_COMPLETED, - BSC_CTR_INTER_BSC_HO_OUT_STOPPED, - BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT, - BSC_CTR_INTER_BSC_HO_OUT_FAILED, - BSC_CTR_INTER_BSC_HO_OUT_ERROR, - BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED, - BSC_CTR_INTER_BSC_HO_IN_COMPLETED, - BSC_CTR_INTER_BSC_HO_IN_STOPPED, - BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL, - BSC_CTR_INTER_BSC_HO_IN_FAILED, - BSC_CTR_INTER_BSC_HO_IN_TIMEOUT, - BSC_CTR_INTER_BSC_HO_IN_ERROR, - BSC_CTR_SRVCC_ATTEMPTED, - BSC_CTR_SRVCC_COMPLETED, - BSC_CTR_SRVCC_STOPPED, - BSC_CTR_SRVCC_NO_CHANNEL, - BSC_CTR_SRVCC_TIMEOUT, - BSC_CTR_SRVCC_FAILED, - BSC_CTR_SRVCC_ERROR, - BSC_CTR_PAGING_ATTEMPTED, - BSC_CTR_PAGING_DETACHED, - BSC_CTR_PAGING_RESPONDED, - BSC_CTR_PAGING_NO_ACTIVE_PAGING, - BSC_CTR_UNKNOWN_UNIT_ID, - BSC_CTR_MSCPOOL_SUBSCR_NO_MSC, - BSC_CTR_MSCPOOL_EMERG_FORWARDED, - BSC_CTR_MSCPOOL_EMERG_LOST, -}; - -static const struct rate_ctr_desc bsc_ctr_description[] = { - [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, - [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, - [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, - [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, - [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, - [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, - [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, - - [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, - [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, - [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, - [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, - [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, - [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, - [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, - [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, - [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, - [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, - [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, - [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, - [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, - [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, - [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, - [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", - "Attempts to handover to remote BSS"}, - [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", - "Handover to remote BSS completed"}, - [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, - [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, - [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, - [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", - "Handover to remote BSS failed for other reason"}, - - [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", - "Attempts to handover from remote BSS"}, - [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", - "Handover from remote BSS completed"}, - [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, - [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", - "Failure to allocate lchan for HO"}, - [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, - [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, - [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", - "Handover from remote BSS failed for other reason"}, - - [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, - [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, - [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, - [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, - [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, - [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, - [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, - - [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, - [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, - [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, - [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, - - [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, - - [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", - "Complete Layer 3 requests lost because no connected MSC is found available"}, - [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", - "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, - [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", - "Emergency call requests lost because no MSC was found available"}, -}; - - - -static const struct rate_ctr_group_desc bsc_ctrg_desc = { - "bsc", - "base station controller", - OSMO_STATS_CLASS_GLOBAL, - ARRAY_SIZE(bsc_ctr_description), - bsc_ctr_description, -}; - -/* Constants for the BSC stats */ -enum { - BSC_STAT_NUM_BTS_TOTAL, -}; - -/* BTS counter index if a BTS could not be found - * Currently we are limited to bts 0 - 255 in the VTY, but that might change in - * the future so use 2**16 */ -#define BTS_STAT_IDX_UNKNOWN (UINT16_MAX + 1) - struct gsm_tz { int override; /* if 0, use system's time zone instead. */ int hr; /* hour */ diff --git a/src/osmo-bsc/Makefile.am b/src/osmo-bsc/Makefile.am index c149f47..8991697 100644 --- a/src/osmo-bsc/Makefile.am +++ b/src/osmo-bsc/Makefile.am @@ -39,6 +39,7 @@ bsc_rf_ctrl.c \ bsc_rll.c \ bsc_sccp.c \ + bsc_stats.c \ bsc_subscr_conn_fsm.c \ bsc_subscriber.c \ bsc_vty.c \ diff --git a/src/osmo-bsc/assignment_fsm.c b/src/osmo-bsc/assignment_fsm.c index 2c52d22..3c1f13b 100644 --- a/src/osmo-bsc/assignment_fsm.c +++ b/src/osmo-bsc/assignment_fsm.c @@ -36,6 +36,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index 42acbbc..a85e76f 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -38,6 +38,7 @@ #include #include #include +#include #include #include @@ -46,18 +47,6 @@ #include #include -static const struct osmo_stat_item_desc bsc_stat_desc[] = { - [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, -}; - -static const struct osmo_stat_item_group_desc bsc_statg_desc = { - .group_name_prefix = "bsc", - .group_description = "base station controller", - .class_id = OSMO_STATS_CLASS_GLOBAL, - .num_items = ARRAY_SIZE(bsc_stat_desc), - .item_desc = bsc_stat_desc, -}; - int bsc_shutdown_net(struct gsm_network *net) { struct gsm_bts *bts; diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c new file mode 100644 index 0000000..8fc4c38 --- /dev/null +++ b/src/osmo-bsc/bsc_stats.c @@ -0,0 +1,122 @@ +/* osmo-bsc statistics */ +/* (C) 2021 by sysmocom - s.f.m.c. GmbH + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +#include + +#include +#include +#include + +const struct rate_ctr_desc bsc_ctr_description[] = { + [BSC_CTR_ASSIGNMENT_ATTEMPTED] = {"assignment:attempted", "Assignment attempts"}, + [BSC_CTR_ASSIGNMENT_COMPLETED] = {"assignment:completed", "Assignment completed"}, + [BSC_CTR_ASSIGNMENT_STOPPED] = {"assignment:stopped", "Connection ended during Assignment"}, + [BSC_CTR_ASSIGNMENT_NO_CHANNEL] = {"assignment:no_channel", "Failure to allocate lchan for Assignment"}, + [BSC_CTR_ASSIGNMENT_TIMEOUT] = {"assignment:timeout", "Assignment timed out"}, + [BSC_CTR_ASSIGNMENT_FAILED] = {"assignment:failed", "Received Assignment Failure message"}, + [BSC_CTR_ASSIGNMENT_ERROR] = {"assignment:error", "Assignment failed for other reason"}, + + [BSC_CTR_HANDOVER_ATTEMPTED] = {"handover:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_HANDOVER_COMPLETED] = {"handover:completed", "Intra-BSC handover completed"}, + [BSC_CTR_HANDOVER_STOPPED] = {"handover:stopped", "Connection ended during HO"}, + [BSC_CTR_HANDOVER_NO_CHANNEL] = {"handover:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_HANDOVER_TIMEOUT] = {"handover:timeout", "Handover timed out"}, + [BSC_CTR_HANDOVER_FAILED] = {"handover:failed", "Received Handover Fail messages"}, + [BSC_CTR_HANDOVER_ERROR] = {"handover:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTRA_CELL_HO_ATTEMPTED] = {"intra_cell_ho:attempted", "Intra-Cell handover attempts"}, + [BSC_CTR_INTRA_CELL_HO_COMPLETED] = {"intra_cell_ho:completed", "Intra-Cell handover completed"}, + [BSC_CTR_INTRA_CELL_HO_STOPPED] = {"intra_cell_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_CELL_HO_NO_CHANNEL] = {"intra_cell_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_CELL_HO_TIMEOUT] = {"intra_cell_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_CELL_HO_FAILED] = {"intra_cell_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_CELL_HO_ERROR] = {"intra_cell_ho:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTRA_BSC_HO_ATTEMPTED] = {"intra_bsc_ho:attempted", "Intra-BSC handover attempts"}, + [BSC_CTR_INTRA_BSC_HO_COMPLETED] = {"intra_bsc_ho:completed", "Intra-BSC handover completed"}, + [BSC_CTR_INTRA_BSC_HO_STOPPED] = {"intra_bsc_ho:stopped", "Connection ended during HO"}, + [BSC_CTR_INTRA_BSC_HO_NO_CHANNEL] = {"intra_bsc_ho:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_INTRA_BSC_HO_TIMEOUT] = {"intra_bsc_ho:timeout", "Handover timed out"}, + [BSC_CTR_INTRA_BSC_HO_FAILED] = {"intra_bsc_ho:failed", "Received Handover Fail messages"}, + [BSC_CTR_INTRA_BSC_HO_ERROR] = {"intra_bsc_ho:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_INTER_BSC_HO_OUT_ATTEMPTED] = {"interbsc_ho_out:attempted", + "Attempts to handover to remote BSS"}, + [BSC_CTR_INTER_BSC_HO_OUT_COMPLETED] = {"interbsc_ho_out:completed", + "Handover to remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_OUT_STOPPED] = {"interbsc_ho_out:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_OUT_TIMEOUT] = {"interbsc_ho_out:timeout", "Handover timed out"}, + [BSC_CTR_INTER_BSC_HO_OUT_FAILED] = {"interbsc_ho_out:failed", "Received Handover Fail message"}, + [BSC_CTR_INTER_BSC_HO_OUT_ERROR] = {"interbsc_ho_out:error", + "Handover to remote BSS failed for other reason"}, + + [BSC_CTR_INTER_BSC_HO_IN_ATTEMPTED] = {"interbsc_ho_in:attempted", + "Attempts to handover from remote BSS"}, + [BSC_CTR_INTER_BSC_HO_IN_COMPLETED] = {"interbsc_ho_in:completed", + "Handover from remote BSS completed"}, + [BSC_CTR_INTER_BSC_HO_IN_STOPPED] = {"interbsc_ho_in:stopped", "Connection ended during HO"}, + [BSC_CTR_INTER_BSC_HO_IN_NO_CHANNEL] = {"interbsc_ho_in:no_channel", + "Failure to allocate lchan for HO"}, + [BSC_CTR_INTER_BSC_HO_IN_TIMEOUT] = {"interbsc_ho_in:timeout", "Handover from remote BSS timed out"}, + [BSC_CTR_INTER_BSC_HO_IN_FAILED] = {"interbsc_ho_in:failed", "Received Handover Fail message"}, + [BSC_CTR_INTER_BSC_HO_IN_ERROR] = {"interbsc_ho_in:error", + "Handover from remote BSS failed for other reason"}, + + [BSC_CTR_SRVCC_ATTEMPTED] = {"srvcc:attempted", "Intra-BSC SRVCC attempts"}, + [BSC_CTR_SRVCC_COMPLETED] = {"srvcc:completed", "Intra-BSC SRVCC completed"}, + [BSC_CTR_SRVCC_STOPPED] = {"srvcc:stopped", "Connection ended during HO"}, + [BSC_CTR_SRVCC_NO_CHANNEL] = {"srvcc:no_channel", "Failure to allocate lchan for HO"}, + [BSC_CTR_SRVCC_TIMEOUT] = {"srvcc:timeout", "SRVCC timed out"}, + [BSC_CTR_SRVCC_FAILED] = {"srvcc:failed", "Received SRVCC Fail messages"}, + [BSC_CTR_SRVCC_ERROR] = {"srvcc:error", "Re-assignment failed for other reason"}, + + [BSC_CTR_PAGING_ATTEMPTED] = {"paging:attempted", "Paging attempts for a subscriber"}, + [BSC_CTR_PAGING_DETACHED] = {"paging:detached", "Paging request send failures because no responsible BTS was found"}, + [BSC_CTR_PAGING_RESPONDED] = {"paging:responded", "Paging attempts with successful response"}, + [BSC_CTR_PAGING_NO_ACTIVE_PAGING] = {"paging:no_active_paging", "Paging response without an active paging request (arrived after paging expiration?)"}, + + [BSC_CTR_UNKNOWN_UNIT_ID] = {"abis:unknown_unit_id", "Connection attempts from unknown IPA CCM Unit ID"}, + + [BSC_CTR_MSCPOOL_SUBSCR_NO_MSC] = {"mscpool:subscr:no_msc", + "Complete Layer 3 requests lost because no connected MSC is found available"}, + [BSC_CTR_MSCPOOL_EMERG_FORWARDED] = {"mscpool:emerg:forwarded", + "Emergency call requests forwarded to an MSC (see also per-MSC counters"}, + [BSC_CTR_MSCPOOL_EMERG_LOST] = {"mscpool:emerg:lost", + "Emergency call requests lost because no MSC was found available"}, +}; + +const struct rate_ctr_group_desc bsc_ctrg_desc = { + "bsc", + "base station controller", + OSMO_STATS_CLASS_GLOBAL, + ARRAY_SIZE(bsc_ctr_description), + bsc_ctr_description, +}; + +static const struct osmo_stat_item_desc bsc_stat_desc[] = { + [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, +}; + +const struct osmo_stat_item_group_desc bsc_statg_desc = { + .group_name_prefix = "bsc", + .group_description = "base station controller", + .class_id = OSMO_STATS_CLASS_GLOBAL, + .num_items = ARRAY_SIZE(bsc_stat_desc), + .item_desc = bsc_stat_desc, +}; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 27f6aee..8d2908f 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -51,6 +51,7 @@ #include #include #include +#include static int bts_model_nanobts_start(struct gsm_network *net); static void bts_model_nanobts_e1line_bind_ops(struct e1inp_line *line); diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 577feec..2b7b42b 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -49,6 +49,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/gsm_08_08.c b/src/osmo-bsc/gsm_08_08.c index 1f6b38e..91c90fe 100644 --- a/src/osmo-bsc/gsm_08_08.c +++ b/src/osmo-bsc/gsm_08_08.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 797a336..255478f 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -45,6 +45,7 @@ #include #include #include +#include #define LOG_FMT_BTS "bts %u lac-ci %u-%u arfcn-bsic %d-%d" #define LOG_ARGS_BTS(bts) \ diff --git a/src/osmo-bsc/osmo_bsc_bssap.c b/src/osmo-bsc/osmo_bsc_bssap.c index 6f0caa7..d786ec6 100644 --- a/src/osmo-bsc/osmo_bsc_bssap.c +++ b/src/osmo-bsc/osmo_bsc_bssap.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index b97c7a1..b3bd365 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -67,6 +67,7 @@ #include #include #include +#include #include diff --git a/src/osmo-bsc/paging.c b/src/osmo-bsc/paging.c index d2dd5ea..04512be 100644 --- a/src/osmo-bsc/paging.c +++ b/src/osmo-bsc/paging.c @@ -54,6 +54,7 @@ #include #include #include +#include void *tall_paging_ctx = NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8fd6380b5ae8ed2d3347e7cfbf674c30b6841ed9 Gerrit-Change-Number: 25273 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:21:29 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:21:29 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c File src/osmo-bsc/a_reset.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25226/3/src/osmo-bsc/a_reset.c at 47 PS3, Line 47: osmo_stat_item_inc(osmo_stat_item_group_get_item( > Because the osmo_stat_item_group_get_item() API is failry new, before that the struct members were a [?] i'd add a function signature to the API like osmo_stat_inc(bsc_statg, BSC_STAT_FOO, 1); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 16:21:29 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:22:38 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 16:22:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From noreply at opensuse.org Mon Aug 30 16:28:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 30 Aug 2021 16:28:28 +0000 Subject: Build failure of network:osmocom:nightly/binutils-arm-osmo-eabi in Debian_11/i586 In-Reply-To: References: Message-ID: <612d0743b0d40_3d1e2b1b2df5a5f021892f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/binutils-arm-osmo-eabi/Debian_11/i586 Package network:osmocom:nightly/binutils-arm-osmo-eabi failed to build in Debian_11/i586 Check out the package for editing: osc checkout network:osmocom:nightly binutils-arm-osmo-eabi Last lines of build log: [ 92s] | ^~~~ [ 92s] ../../bfd/ihex.c:994:3: note: in expansion of macro 'BFD_JUMP_TABLE_DYNAMIC' [ 92s] 994 | BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), [ 92s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 92s] cc1: all warnings being treated as errors [ 92s] make[5]: *** [Makefile:1517: srec.lo] Error 1 [ 92s] cc1: all warnings being treated as errors [ 92s] make[5]: *** [Makefile:1517: tekhex.lo] Error 1 [ 92s] cc1: all warnings being treated as errors [ 92s] make[5]: *** [Makefile:1517: ihex.lo] Error 1 [ 92s] make[5]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 92s] make[4]: *** [Makefile:1555: all-recursive] Error 1 [ 92s] make[4]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 92s] make[3]: *** [Makefile:1066: all] Error 2 [ 92s] make[3]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 92s] make[2]: *** [Makefile:3333: all-bfd] Error 2 [ 92s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 92s] make[1]: *** [Makefile:852: all] Error 2 [ 92s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 92s] dh_auto_build: error: cd build && make -j8 returned exit code 2 [ 92s] make: *** [debian/rules:43: build] Error 25 [ 92s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 92s] ### VM INTERACTION START ### [ 95s] [ 87.616279] sysrq: Power Off [ 95s] [ 87.619470] reboot: Power down [ 95s] ### VM INTERACTION END ### [ 95s] [ 95s] goat19 failed "build binutils-arm-osmo-eabi_2.21.1a.dsc" at Mon Aug 30 16:28:12 UTC 2021. [ 95s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From noreply at opensuse.org Mon Aug 30 16:30:28 2021 From: noreply at opensuse.org (OBS Notification) Date: Mon, 30 Aug 2021 16:30:28 +0000 Subject: Build failure of network:osmocom:nightly/binutils-arm-osmo-eabi in Debian_11/x86_64 In-Reply-To: References: Message-ID: <612d07bad2cb3_3d1e2b1b2df5a5f02194ca@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/binutils-arm-osmo-eabi/Debian_11/x86_64 Package network:osmocom:nightly/binutils-arm-osmo-eabi failed to build in Debian_11/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly binutils-arm-osmo-eabi Last lines of build log: [ 215s] 502 | ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1) [ 215s] | ^ [ 215s] ./bfd.h:5851:3: note: in expansion of macro '_bfd_nodynamic_canonicalize_dynamic_reloc' [ 215s] 5851 | NAME##_canonicalize_dynamic_reloc [ 215s] | ^~~~ [ 215s] ../../bfd/ihex.c:994:3: note: in expansion of macro 'BFD_JUMP_TABLE_DYNAMIC' [ 215s] 994 | BFD_JUMP_TABLE_DYNAMIC (_bfd_nodynamic), [ 215s] | ^~~~~~~~~~~~~~~~~~~~~~ [ 215s] cc1: all warnings being treated as errors [ 215s] make[5]: *** [Makefile:1517: ihex.lo] Error 1 [ 215s] make[5]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 215s] make[4]: *** [Makefile:1555: all-recursive] Error 1 [ 215s] make[4]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 215s] make[3]: *** [Makefile:1066: all] Error 2 [ 215s] make[3]: Leaving directory '/usr/src/packages/BUILD/build/bfd' [ 215s] make[2]: *** [Makefile:3331: all-bfd] Error 2 [ 215s] make[2]: Leaving directory '/usr/src/packages/BUILD/build' [ 215s] make[1]: *** [Makefile:850: all] Error 2 [ 215s] make[1]: Leaving directory '/usr/src/packages/BUILD/build' [ 215s] dh_auto_build: error: cd build && make -j8 returned exit code 2 [ 215s] make: *** [debian/rules:43: build] Error 25 [ 215s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 215s] ### VM INTERACTION START ### [ 218s] [ 194.745746] sysrq: Power Off [ 218s] [ 194.752494] reboot: Power down [ 218s] ### VM INTERACTION END ### [ 218s] [ 218s] lamb08 failed "build binutils-arm-osmo-eabi_2.21.1a.dsc" at Mon Aug 30 16:30:22 UTC 2021. [ 218s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:36:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:36:40 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c File src/osmo-bsc/bsc_stats.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/1/src/osmo-bsc/bsc_stats.c at 156 PS1, Line 156: if (trx_is_usable(trx)) > Ah good point, I didn't think about trx_is_usable being a complex function :) trx_is_usable() is absolutely not worth optimizing to avoid it. It's just a shallow cascade of plain if()s and checking FSM status. no point in nano optimisation here at all. https://gerrit.osmocom.org/c/osmo-bsc/+/25274/2/src/osmo-bsc/osmo_bsc_main.c File src/osmo-bsc/osmo_bsc_main.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25274/2/src/osmo-bsc/osmo_bsc_main.c at 385 PS2, Line 385: * that should call this and failed to get accurate results; this trivial timer covers all of them. */ @pespin, you've seen this comment, right? i really tried to find pivotal places in the code where to trigger updating the conn stats, but it's apparently a bit obscure. I spent considerable time on it, and then gave up because it was becoming a waste of time. This periodic check trivially covers all corner cases. Doing this once a second cannot be considered load. We do much more effort every time we look up a trx, a conn, a subscriber, an unused lchan... on each and every incoming message. In general, please let's not discuss processor time optimization for algorithms <= O(n), it's plain irrelevant. If we want optimization, the first step should be benchmarked load testing; then we can focus on the actual proven CPU hogs. This is O(n) with n much smaller than 1k, run once every second. I took longer writing this comment than any osmo-bsc will take running this timer cb for the next ten years combined. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 30 Aug 2021 16:36:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 16:44:31 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 30 Aug 2021 16:44:31 +0000 Subject: Change in osmo-bsc[master]: add stat items bsc.0.num_msc:connected, .num_msc:total In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25226 ) Change subject: add stat items bsc.0.num_msc:connected, .num_msc:total ...................................................................... add stat items bsc.0.num_msc:connected, .num_msc:total We already have MSC connection stat items, but for hysterical raisins there are separate such stats for each MSC. Hence we have N connection counters, each being either 0 or 1, for a single MSC. Add a new stat counting the *overall* MSCs that are connected, and one indicating the total number of configured MSCs. Related: SYS#5542 Related: I178dcf4516606aa561d47b06061b8a416d3c40cf (osmo-ttcn3-hacks) Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae --- M include/osmocom/bsc/bsc_stats.h M src/osmo-bsc/a_reset.c M src/osmo-bsc/bsc_stats.c 3 files changed, 8 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/bsc/bsc_stats.h b/include/osmocom/bsc/bsc_stats.h index 8fcd5a0..639f87f 100644 --- a/include/osmocom/bsc/bsc_stats.h +++ b/include/osmocom/bsc/bsc_stats.h @@ -88,6 +88,8 @@ /* OsmoBSC stat_item indexes */ enum { BSC_STAT_NUM_BTS_TOTAL, + BSC_STAT_NUM_MSC_CONNECTED, + BSC_STAT_NUM_MSC_TOTAL, }; /* BTS counter index if a BTS could not be found diff --git a/src/osmo-bsc/a_reset.c b/src/osmo-bsc/a_reset.c index 0befd72..d23ffa7 100644 --- a/src/osmo-bsc/a_reset.c +++ b/src/osmo-bsc/a_reset.c @@ -25,6 +25,7 @@ #include #include #include +#include static void a_reset_tx_reset(void *data) { @@ -43,6 +44,7 @@ struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is up\n", msc->nr); osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_CONNECTED, msc); } @@ -51,6 +53,7 @@ struct bsc_msc_data *msc = data; LOGP(DMSC, LOGL_NOTICE, "(msc%d) BSSMAP assocation is down\n", msc->nr); osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->msc_statg, MSC_STAT_MSC_LINKS_ACTIVE), 1); + osmo_stat_item_dec(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_CONNECTED), 1); osmo_signal_dispatch(SS_MSC, S_MSC_LOST, msc); osmo_bsc_sigtran_reset(msc); } @@ -76,6 +79,7 @@ } msc->a.bssmap_reset = bssmap_reset_alloc(msc, name, &cfg); + osmo_stat_item_inc(osmo_stat_item_group_get_item(msc->network->bsc_statg, BSC_STAT_NUM_MSC_TOTAL), 1); } /* Confirm that we successfully received a reset acknowledge message */ diff --git a/src/osmo-bsc/bsc_stats.c b/src/osmo-bsc/bsc_stats.c index 8fc4c38..36d38c2 100644 --- a/src/osmo-bsc/bsc_stats.c +++ b/src/osmo-bsc/bsc_stats.c @@ -111,6 +111,8 @@ static const struct osmo_stat_item_desc bsc_stat_desc[] = { [BSC_STAT_NUM_BTS_TOTAL] = { "num_bts:total", "Number of configured BTS for this BSC", "", 16, 0 }, + [BSC_STAT_NUM_MSC_CONNECTED] = { "num_msc:connected", "Number of actively connected MSCs", "", 16, 0 }, + [BSC_STAT_NUM_MSC_TOTAL] = { "num_msc:total", "Number of configured MSCs, not necessarily connected", "", 1, 0 }, }; const struct osmo_stat_item_group_desc bsc_statg_desc = { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: If76bbf9b3adb64c68d5c31c6b526fa71a99996ae Gerrit-Change-Number: 25226 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 18:27:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 18:27:19 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 1: (1 comment) I am wondering if there should [later] be some logic that would turn overpower on and off depending on https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1838 PS1, Line 1838: parse_temporary_overpower_acch_capability We might want to send NACK if BTS_FEAT_ACCH_TOP is not supported by the given BTS model? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Aug 2021 18:27:19 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 18:29:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 18:29:29 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 1: I am wondering if there should [later] be some logic that would turn overpower on and off depending on the Measurement Reports from the MS? Similar to what we do for SACCH repetition. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 30 Aug 2021 18:29:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Aug 30 18:38:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 30 Aug 2021 18:38:02 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 to look at the new patch set (#3). Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... osmo-bts-trx: add rate counter for Uplink block decoding errors During the channel activation, allocate a counter group for each logical channel (struct l1sched_chan_state). Deallocate it on deactivation. The rate counter API requires a unique group index, which unfortunately cannot be determined for dedicated channels. As a quick hack, use monolitically increasing numbers for that. Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Related: OS#4771 --- M include/osmo-bts/scheduler.h M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_lchan_xcch.c 6 files changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/70/25270/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:28:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:28:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25270/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25270/3//COMMIT_MSG at 1 PS3, Line 1: Parent: c485901d (osmo-bts-trx: send dummy FACCH in the absense of RTP frames) why can a unique group index not be determined for dedicated channels? Wouldn't something like "(lchan->ts->bts->nr << 24) | (lchan->ts->trx->nr << 16) | (lchan->ts->nr << 8) | (lchan->nr)" should render a unique identifier, doesn't it? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:28:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:28:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:28:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25271 ) Change subject: osmo-bts-trx: use LOGL_DEBUG for Uplink block decoding errors ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I8cb3c054fe6d750d44bbb4ecf7ccd1788fcdc66c Gerrit-Change-Number: 25271 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:28:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:30:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:30:16 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25281/1/include/osmocom/gsm/protocol/gsm_08_58.h File include/osmocom/gsm/protocol/gsm_08_58.h: https://gerrit.osmocom.org/c/libosmocore/+/25281/1/include/osmocom/gsm/protocol/gsm_08_58.h at 146 PS1, Line 146: #elif OSMO_IS_LITTLE_ENDIAN if there's only a single packed uint8-t no need for big/littl endian difference -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:30:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:31:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:31:08 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... Patch Set 1: Code-Review+1 I would have gone for something like TEMP_OVP which is easier to understand than a [imho] non-standard acronym like TOP. Same goes for the RSL IE name. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:31:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:34:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:34:05 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1525 PS1, Line 1525: abis_rsl_osmo_top_acch_cap I'm wondering why are you using a struct if it is only a single uint8_t? is this expected to expand in a subsequent patch? https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1529 PS1, Line 1529: if (!TLVP_PRESENT(tp, RSL_IE_OSMO_TOP_ACCH_CAP)) you can use TLVP_PRES_LEN and merge those two lines. The surrounding code maybe predated that macro. https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1838 PS1, Line 1838: parse_temporary_overpower_acch_capability > We might want to send NACK if BTS_FEAT_ACCH_TOP is not supported by the given BTS model? good point, agreed. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 06:34:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:35:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:35:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25284 ) Change subject: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie8a626fefccf1eb07271058e5126ec106cb1abcf Gerrit-Change-Number: 25284 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:35:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:38:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:38:31 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 2: Code-Review+1 > I'm not really liking your approach to re-count all stuff every while. This should be done only when needed. I also don't like it from an aeasthetic point of view, but neels has shown why he does it, and if anyone else actually manages to find a different solution, they are happy to submit an alternative patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:38:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:46:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:46:42 +0000 Subject: Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25283 ) Change subject: bty_vty: add VTY settungs for temporary overpower ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c at 563 PS1, Line 563: cap = (struct abis_rsl_osmo_top_acch_cap *)msg->tail; I think this approach is rather weird. Either a) we know that RSL_IE_OSMO_TOP_ACCH_CAP simply is a uint8_t and we don't use a struct, which means we can simply copy a uint8_t to the IE, or b) we use an opaque structure, but then we should only copy structure to structure with a memcpy, rather than copying a uint8_t to the tlv, while using sizeof() of the struct. To me, this looks like the absolute worst of both worlds. The only advantage of introducing a struct with a single element is future extensibility, but that only makes sense if all of the code is written in a way that it does not contain any assumptions that the struct/IE only constists of a single element. Then you must write the code in a generic way. By mixing the two approaches it looks like it is easy to extend the s truct with additional elements, but actually it still will not work if you extend. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Gerrit-Change-Number: 25283 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:46:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:49:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:49:16 +0000 Subject: Change in osmo-bts[master]: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25280 ) Change subject: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I02633713eb557ee52e790a239f7b13b8c5b2b3bd Gerrit-Change-Number: 25280 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 06:49:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:49:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:49:52 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 06:49:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:52:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:52:08 +0000 Subject: Change in pysim[master]: update readme detail about cmd2 - make sure people get 1.5 from pip i... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/25269 ) Change subject: update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 Gerrit-Change-Number: 25269 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:52:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:52:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:52:10 +0000 Subject: Change in pysim[master]: update readme detail about cmd2 - make sure people get 1.5 from pip i... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/25269 ) Change subject: update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg ...................................................................... update readme detail about cmd2 - make sure people get 1.5 from pip instead of some old debian-pkg Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 --- M README.md 1 file changed, 1 insertion(+), 6 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index a45934c..7f46085 100644 --- a/README.md +++ b/README.md @@ -45,12 +45,7 @@ Example for Debian: ``` -apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml -pip3 install pytlv jsonpath-ng construct bidict gsm0338 -``` - -Alternatively, everything can be installed using pip: -``` +apt-get install python3-pyscard python3-serial python3-pip python3-yaml pip3 install -r requirements.txt ``` -- To view, visit https://gerrit.osmocom.org/c/pysim/+/25269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I92a1e4c5a34ca11ce8d8b5f69257fdfedad2f8d6 Gerrit-Change-Number: 25269 Gerrit-PatchSet: 1 Gerrit-Owner: roh Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:52:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:52:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 06:52:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:53:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:53:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: reset MSC link stati in f_init() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 ) Change subject: bsc: reset MSC link stati in f_init() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227/2//COMMIT_MSG at 7 PS2, Line 7: stati state? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice3056dc46c94f9399f8379db7aeb7193782f2f2 Gerrit-Change-Number: 25227 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:53:24 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:54:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:54:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_msc_connected* tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 ) Change subject: bsc: add TC_stat_num_msc_connected* tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I178dcf4516606aa561d47b06061b8a416d3c40cf Gerrit-Change-Number: 25228 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 06:54:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:54:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:54:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bsc: add TC_stat_num_bts_connected_* tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 ) Change subject: bsc: add TC_stat_num_bts_connected_* tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic1b35b7406547f92818afe399a2383d154576409 Gerrit-Change-Number: 25272 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:54:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:55:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:55:54 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 06:55:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:55:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:55:56 +0000 Subject: Change in osmo-bts[master]: l1sap/gsmtap: Don't log UI fill frames [zero information field] In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25237 ) Change subject: l1sap/gsmtap: Don't log UI fill frames [zero information field] ...................................................................... l1sap/gsmtap: Don't log UI fill frames [zero information field] When generating GSMTAP, we are already suppressing generation for fill frames on PCH and AGCH. Let's expand that also to dedicated channels SDCCH, TCH/F and TCH/H. The fill frames just clog up the logs without providing much benefit. SACCH is still being logged, as it contains SI or MEAS REP, so every active channel still sees GSMTAP traffic every 480ms (SACCH interval). Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a --- M src/common/l1sap.c 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index c028a2c..3b225c2 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -474,6 +474,9 @@ switch (chan_type) { case GSMTAP_CHANNEL_AGCH: + case GSMTAP_CHANNEL_SDCCH: + case GSMTAP_CHANNEL_TCH_F: + case GSMTAP_CHANNEL_TCH_H: if (!memcmp(data, fill_frame, GSM_MACBLOCK_LEN)) return true; break; @@ -481,6 +484,7 @@ if (!memcmp(data, paging_fill, GSM_MACBLOCK_LEN)) return true; break; + /* FIXME: implement the same for GSMTAP_CHANNEL_PDTCH from/to PCU */ /* don't use 'default' case here as the above only conditionally return true */ } return false; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0dd37d8848eb0379f84d15f5f006142b16823c6a Gerrit-Change-Number: 25237 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:57:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:57:26 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 06:57:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:59:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:59:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 ) Change subject: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da Gerrit-Change-Number: 25263 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 06:59:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 06:59:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 06:59:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 ) Change subject: pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param ...................................................................... pcu: as_rx_fail_dummy: Drop unneeded dependency on ms param The parameter is not used, so let's drop it and rename it to make it usable without ms. Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da --- M pcu/GPRS_Components.ttcn 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 2297fb6..4446b63 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -559,7 +559,7 @@ } } -altstep as_ms_rx_fail_dummy(inout GprsMS ms, template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) +altstep as_rx_fail_dummy(template (value) TsTrxBtsNum nr := ts_TsTrxBtsNum) runs on MS_BTS_IFACE_CT { var BTS_PDTCH_Block data_msg; [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, @@ -961,7 +961,7 @@ block_nr := nr.blk_nr)); alt { [exp_container_idx == 0] as_ms_rx_ignore_dummy(ms, nr); - [exp_container_idx > 0] as_ms_rx_fail_dummy(ms, nr); + [exp_container_idx > 0] as_rx_fail_dummy(nr); [] as_ms_rx_pkt_neighbor_cell_data(ms, exp_si, exp_container_idx, si_offset, nr, single_step); [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), tr_RLCMAC_DL_CTRL(?, ?) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57e9c754c00f930fccc35cf8d853e576fc8054da Gerrit-Change-Number: 25263 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:14:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 08:14:32 +0000 Subject: Change in osmo-bts[master]: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25280 ) Change subject: rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs ...................................................................... rsl: Support parsing up to 3 RSL_IPAC_EIE_MEAS_AVG_CFG IEs struct ipac_preproc_cfg seems to suggest that there may be up to 3 IEs in some cases: "struct ipac_preproc_ave_cfg ms_ave_cfg[3];" Change-Id: I02633713eb557ee52e790a239f7b13b8c5b2b3bd Fixes: 9238c3549d3a7ce536e55d687b53be584a7f2b67 Related: SYS#4918 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/rsl.c b/src/common/rsl.c index e226167..4ad807f 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -909,7 +909,7 @@ const uint8_t *data, size_t data_len) { const struct tlv_p_entry *ie; - struct tlv_parsed tp[2]; + struct tlv_parsed tp[3]; unsigned int i; int rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I02633713eb557ee52e790a239f7b13b8c5b2b3bd Gerrit-Change-Number: 25280 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:14:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 08:14:46 +0000 Subject: Change in osmo-bsc[master]: vty: Fix wrong TSC sent when activating lchan through VTY In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25278 ) Change subject: vty: Fix wrong TSC sent when activating lchan through VTY ...................................................................... vty: Fix wrong TSC sent when activating lchan through VTY TSC was initially set to -1 (to be picked by callee), but erased when using designated initializers later on in the function, hence TSC being set to 0. As a result, TSC 0 would be requested to the BTS, which may have configured a different BSIC containing BCC!=0. Related: OS#5219 Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c --- M src/osmo-bsc/bsc_vty.c 1 file changed, 7 insertions(+), 29 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index 5ce1d69..17fdb45 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1588,47 +1588,25 @@ /* configure the lchan */ lchan_select_set_type(lchan, lchan_t); if (!strcmp(codec_str, "hr") || !strcmp(codec_str, "fr")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_V1, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_V1; } else if (!strcmp(codec_str, "efr")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_EFR, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_EFR; } else if (!strcmp(codec_str, "amr")) { if (amr_mode == -1) { vty_out(vty, "%% AMR requires specification of AMR mode%s", VTY_NEWLINE); return CMD_WARNING; } - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SPEECH_AMR, - .s15_s0 = amr_modes[amr_mode], - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SPEECH_AMR; + info.ch_mode_rate.s15_s0 = amr_modes[amr_mode]; } else if (!strcmp(codec_str, "sig")) { - info = (struct lchan_activate_info) { - .activ_for = ACTIVATE_FOR_VTY, - .ch_mode_rate = { - .chan_mode = GSM48_CMODE_SIGN, - }, - .requires_voice_stream = false, - }; + info.ch_mode_rate.chan_mode = GSM48_CMODE_SIGN; } else { vty_out(vty, "%% Invalid channel mode specified!%s", VTY_NEWLINE); return CMD_WARNING; } + info.activ_for = ACTIVATE_FOR_VTY; + info.requires_voice_stream = false; info.ch_mode_rate.chan_rate = chan_t_to_chan_rate(lchan_t); if (activate == 2 || lchan->vamos.is_secondary) { -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I26813561ee9e7783a4004f32225f19296bd6319c Gerrit-Change-Number: 25278 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:15:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 08:15:42 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 08:15:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:15:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 08:15:44 +0000 Subject: Change in osmo-pcu[master]: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25242 ) Change subject: sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS ...................................................................... sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS Related: SYS#4919 Related: OS#4772 Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 22 insertions(+), 6 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 5427e52..00f740e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -485,12 +485,28 @@ gsmtap_cat = tx_is_egprs ? PCU_GSMTAP_C_DL_DATA_EGPRS : PCU_GSMTAP_C_DL_DATA_GPRS; } - /* Prio 3: send dummy contol message */ - else if ((msg = sched_dummy())) { - /* increase counter */ - gsmtap_cat = PCU_GSMTAP_C_DL_DUMMY; - } else { - return -ENOMEM; + /* Prio 3: send dummy control message if need to poll or USF */ + else { + /* If there's no TBF attached to this PDCH, we can early skip + * since there's nothing to transmit nor to poll/USF. This way + * we help BTS energy saving (on TRX!=C0) by sending nothing + * instead of a dummy block. The early return is done here and + * not at the start of the function because the condition below + * (num_tbfs==0) may not be enough, because temporary dummy TBFs + * created to send Imm Ass Rej (see handle_tbf_reject()) don't + * have a TFI assigned and hence are not attached to the PDCH + * TS, so they don't show up in the count below. + */ + const unsigned num_tbfs = pdch->num_tbfs(GPRS_RLCMAC_DL_TBF) + + pdch->num_tbfs(GPRS_RLCMAC_UL_TBF); + if (trx != 0 && num_tbfs == 0) + return 0; + if ((msg = sched_dummy())) { + /* increase counter */ + gsmtap_cat = PCU_GSMTAP_C_DL_DUMMY; + } else { + return -ENOMEM; + } } if (tx_is_egprs && pdch->has_gprs_only_tbf_attached()) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I8d66dd5e838748611e7b77b504fc86295f02c019 Gerrit-Change-Number: 25242 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:58:53 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 08:58:53 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > I would have gone for something like TEMP_OVP which is easier to understand than a [imho] non-standard acronym like TOP. Same goes for the RSL IE name. That makes indeed sense - I have changed it, looks much more understandable now. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 08:58:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:59:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 08:59:36 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/25282 to look at the new patch set (#2). Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... bts_features: Add new feature to indicate support for temporary overpower To indicate to the BSC that a BTS supports temporary overpower of SACCH/FACCH channels a new feature BTS_FEAT_ACCH_TOP is added. Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Related: SYS#5319 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/82/25282/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:59:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 08:59:37 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25286 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... gsm_08_58: fix sourcecode formatting struct abis_rsl_osmo_rep_acch_cap has an indentation level that is too deep. Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 12 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/25286/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 0182d8d..5713a0f 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -123,19 +123,19 @@ /* Osmocom specific IE to negotiate repeated ACCH capabilities */ struct abis_rsl_osmo_rep_acch_cap { #if OSMO_IS_BIG_ENDIAN - uint8_t reserved:1, - rxqual:3, - ul_sacch:1, - dl_sacch:1, - dl_facch_all:1, - dl_facch_cmd:1; + uint8_t reserved:1, + rxqual:3, + ul_sacch:1, + dl_sacch:1, + dl_facch_all:1, + dl_facch_cmd:1; #elif OSMO_IS_LITTLE_ENDIAN - uint8_t dl_facch_cmd:1, - dl_facch_all:1, - dl_sacch:1, - ul_sacch:1, - rxqual:3, - reserved:1; + uint8_t dl_facch_cmd:1, + dl_facch_all:1, + dl_sacch:1, + ul_sacch:1, + rxqual:3, + reserved:1; #endif } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 Gerrit-Change-Number: 25286 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:59:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 08:59:37 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25287 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... gsm_08_58: fix sourcecode formatting Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/25287/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 5713a0f..e4e90ed 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -365,7 +365,7 @@ RSL_IE_SIEMENS_SUGGESTED_RATE = 0x4f, /* Osmocom specific */ - RSL_IE_OSMO_REP_ACCH_CAP= 0x60, + RSL_IE_OSMO_REP_ACCH_CAP = 0x60, RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, RSL_IE_OSMO_TEMP_OVP_ACCH_CAP = 0x62, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 Gerrit-Change-Number: 25287 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 08:59:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 08:59:58 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... Patch Set 2: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/libosmocore/+/25281/1/include/osmocom/gsm/protocol/gsm_08_58.h File include/osmocom/gsm/protocol/gsm_08_58.h: https://gerrit.osmocom.org/c/libosmocore/+/25281/1/include/osmocom/gsm/protocol/gsm_08_58.h at 146 PS1, Line 146: #elif OSMO_IS_LITTLE_ENDIAN > if there's only a single packed uint8-t no need for big/littl endian difference oh yes of course, just thought I might add more elements in the future... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 08:59:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:17:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 09:17:20 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... Patch Set 2: Code-Review+1 Probably makes sense to add it to wireshark too (epan/dissectors/packet-rsl.c, like other RSL_IE_OSMO in there) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 09:17:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:18:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 09:18:27 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 09:18:27 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:19:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 09:19:08 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25286 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 Gerrit-Change-Number: 25286 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 09:19:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:19:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 09:19:24 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25287 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 Gerrit-Change-Number: 25287 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 09:19:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:24:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 09:24:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/24685 ) Change subject: gprs_ns2_vc_fsm: rename state UNCONFIGURED -> DISABLED ...................................................................... Patch Set 2: Code-Review-1 to be honest, I don't see how any of the proposed wordings are better or have less optoins for misundersanding as the current one. "changing sideways" rather than forward, IMHO. I'm sorry, I wish I could come to a different conclusion. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/24685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5f46ce5e27d7556d5e17bc236f1765d42aecbe0c Gerrit-Change-Number: 24685 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 09:24:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:26:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 09:26:06 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: I would like to see some feedback from the developers if they think this is useful and we shold activate it for all projects. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 09:26:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:26:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 09:26:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: move sns_event into internal.h to direct emit events In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25144 ) Change subject: gprs_ns2: move sns_event into internal.h to direct emit events ...................................................................... Patch Set 2: ping, lynxis? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8e3fae4367c112b5a71bffb33c302d903855cddc Gerrit-Change-Number: 25144 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: dexter Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 09:26:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:38:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 09:38:39 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: add rate counter for Uplink block decoding errors In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25270 ) Change subject: osmo-bts-trx: add rate counter for Uplink block decoding errors ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25270/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25270/3//COMMIT_MSG at 1 PS3, Line 1: Parent: c485901d (osmo-bts-trx: send dummy FACCH in the absense of RTP frames) > why can a unique group index not be determined for dedicated channels? Wouldn't something like "(lch [?] Agree -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I7aea0529771ad73d5d6bcaf0865f9b0d4ecace6b Gerrit-Change-Number: 25270 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 09:38:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:39:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 09:39:37 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: To make giving feedback easier: * it's currently enabled for osmo-mgw * find past runs here: https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/buildTimeTrend * 5 most recent "failures" (where the linter complained): * https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/138/console * https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/132/console * https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/125/console * https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/123/console * https://jenkins.osmocom.org/jenkins/job/gerrit-osmo-mgw-lint/115/console -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 09:39:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:44:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 09:44:39 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25285/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1//COMMIT_MSG at 10 PS1, Line 10: transfered using a propritary RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP). The transferred, proprietary https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1525 PS1, Line 1525: abis_rsl_osmo_top_acch_cap > I'm wondering why are you using a struct if it is only a single uint8_t? is this expected to expand [?] Ack https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1529 PS1, Line 1529: if (!TLVP_PRESENT(tp, RSL_IE_OSMO_TOP_ACCH_CAP)) > you can use TLVP_PRES_LEN and merge those two lines. [?] Ack https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1838 PS1, Line 1838: parse_temporary_overpower_acch_capability > good point, agreed. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 09:44:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:50:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 09:50:51 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25284 ) Change subject: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH ...................................................................... Patch Set 1: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/include/osmo-bts/scheduler.h File include/osmo-bts/scheduler.h: https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/include/osmo-bts/scheduler.h at 131 PS1, Line 131: uint8_t dl_facch_bursts; /* number of remaining DL FACCH bursts */ would be great having "remain" in the name in order to clarify. https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c at 1337 PS1, Line 1337: br->att = l1cs->lchan->bs_power_ctrl.current; I would rather move this to the function and rename the function be something like "apply_lchan_attenuation", which takes all the logic into account. https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c at 1340 PS1, Line 1340: } else /* Ensure no attenuation in the absence of lchan (e.g. on PDCH) */ } else {} https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/osmo-bts-trx/sched_lchan_tchf.c File src/osmo-bts-trx/sched_lchan_tchf.c: https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/osmo-bts-trx/sched_lchan_tchf.c at 580 PS1, Line 580: br->flags |= TRX_BR_F_FACCH; maybe make the flag more generic? like "TRX_BR_F_OVERPOWER_ALLOWED"? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie8a626fefccf1eb07271058e5126ec106cb1abcf Gerrit-Change-Number: 25284 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 09:50:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 09:54:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 09:54:17 +0000 Subject: Change in osmo-bsc[master]: add stat_items for BTS and TRX connection stati In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25274 ) Change subject: add stat_items for BTS and TRX connection stati ...................................................................... Patch Set 2: well everybody's opinion is clear, go merge if you want. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I2057a798e681a169cc03243a09b3d6449734c010 Gerrit-Change-Number: 25274 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 09:54:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 10:10:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 10:10:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 10:10:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 10:10:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 10:10:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_pdch_energy_saving In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 ) Change subject: pcu: Introduce test TC_pdch_energy_saving ...................................................................... pcu: Introduce test TC_pdch_energy_saving Related: SYS#4919 Related: OS#4772 Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 --- M pcu/PCU_Tests.ttcn 1 file changed, 49 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index ada9ae3..6f0df06 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -5945,6 +5945,53 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify TRX!=C0 don't schedule rlcmac blocks if no TBF attached to it. See OS#4772, SYS#4919 */ +testcase TC_pdch_energy_saving() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var RlcmacDlBlock dl_block; + var BTS_PDTCH_Block data_msg; + timer T; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + + info_ind := valueof(ts_PCUIF_INFO_default); + /* The 2 first TRX are enabled. */ + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (2 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 1); + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + + /* Verify C0 gets always dummy blocks: */ + nr := ts_TsTrxBtsNum(ts_nr := 7, trx_nr := 0, bts_nr := 0, blk_nr := 0); + f_rx_rlcmac_dl_block_exp_dummy(dl_block, nr := nr); + + /* TRX1 doesn't send dummy blocks when not needed, in order to honour energy saving: */ + nr.trx_nr := 1; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), block_nr := nr.blk_nr)); + T.start(0.5); + alt { + [] as_rx_fail_dummy(nr); + [] BTS.receive { + setverdict(fail, "Unexpected block from BTS"); + f_shutdown(__BFILE__, __LINE__); + } + [] T.timeout { + setverdict(pass); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + control { execute( TC_pcuif_suspend() ); execute( TC_pcuif_suspend_active_tbf() ); @@ -6049,6 +6096,8 @@ execute( TC_rim_ran_info_req_single_rep() ); execute( TC_rim_ran_info_req_single_rep_eutran() ); execute( TC_rim_ran_info_req_single_rep_no_si() ); + + execute (TC_pdch_energy_saving() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icf5cc467ecabe3fcbf86e0f4caf497669b76fb42 Gerrit-Change-Number: 25262 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 10:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 10:11:51 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25286 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 Gerrit-Change-Number: 25286 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 10:11:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 10:12:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 10:12:09 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25287 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 Gerrit-Change-Number: 25287 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 10:12:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 10:13:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 10:13:14 +0000 Subject: Change in osmo-ci[master]: jobs/gerrit-lint.yml: add lint jobs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/24703 ) Change subject: jobs/gerrit-lint.yml: add lint jobs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/24703 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic473a5c535dfbdda55751e53fc751ede1adde7e2 Gerrit-Change-Number: 24703 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 10:13:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:14:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 12:14:52 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 to look at the new patch set (#2). Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... rsl: parse temporary overpower value RSL CHAN ACT The temporary overpower value that is to be used with FACCH and SACCH is transferred using a proprietary RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP). The parsed value is then stored in lchan->bs_acch_overpower_db so that it can be used. Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Related: SYS#5319 --- M src/common/rsl.c M src/osmo-bts-trx/main.c 2 files changed, 23 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/85/25285/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:14:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 12:14:52 +0000 Subject: Change in osmo-bts[master]: rsl: simplfy parse_repeated_acch_capability References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25288 ) Change subject: rsl: simplfy parse_repeated_acch_capability ...................................................................... rsl: simplfy parse_repeated_acch_capability The separate TLVP_PRESENT and TLVP_LEN calls can be replaced by a single TLVP_PRES_LEN Change-Id: I6bde1b9df50fdf355e768f5066e86422238b98e9 --- M src/common/rsl.c 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/88/25288/1 diff --git a/src/common/rsl.c b/src/common/rsl.c index 6a53499..7d37f9c 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -1510,9 +1510,7 @@ memset(&lchan->repeated_acch_capability, 0, sizeof(lchan->repeated_acch_capability)); - if (!TLVP_PRESENT(tp, RSL_IE_OSMO_REP_ACCH_CAP)) - return; - if (TLVP_LEN(tp, RSL_IE_OSMO_REP_ACCH_CAP) != sizeof(lchan->repeated_acch_capability)) + if (!TLVP_PRES_LEN(tp, RSL_IE_OSMO_REP_ACCH_CAP, sizeof(lchan->repeated_acch_capability))) return; memcpy(&lchan->repeated_acch_capability, TLVP_VAL(tp, RSL_IE_OSMO_REP_ACCH_CAP), -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bde1b9df50fdf355e768f5066e86422238b98e9 Gerrit-Change-Number: 25288 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 12:17:16 +0000 Subject: Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 to look at the new patch set (#2). Change subject: bty_vty: add VTY settungs for temporary overpower ...................................................................... bty_vty: add VTY settungs for temporary overpower To configure temporary overpower, new VTY commands are added. This patch also addes the logic needed to attach the temporary overpower IE to the RSL CHANNEL ACTIVATE message. Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Related: SYS#5319 --- M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_rsl.c M src/osmo-bsc/bts_vty.c 3 files changed, 75 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/83/25283/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Gerrit-Change-Number: 25283 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:17:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 12:17:37 +0000 Subject: Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25283 ) Change subject: bty_vty: add VTY settungs for temporary overpower ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25283/1/src/osmo-bsc/abis_rsl.c at 563 PS1, Line 563: cap = (struct abis_rsl_osmo_top_acch_cap *)msg->tail; > I think this approach is rather weird. [?] Hmm. I agree that having a struct with only one element might introduce over complexity. We might consider to simplify that. The msgb_tlv_put should be generic. temporary_overpower is of type struct abis_rsl_osmo_top_acch_cap, so it is copying struct to struct. I see this also in other places and I did it the same way in rep_acch_cap_for_bts() as well. (lindent messed up the formatting too, I have corrected that now.) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Gerrit-Change-Number: 25283 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 12:17:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:19:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 12:19:14 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25285/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1//COMMIT_MSG at 10 PS1, Line 10: transfered using a propritary RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP). The > transferred, proprietary Done https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c File src/common/rsl.c: https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1525 PS1, Line 1525: abis_rsl_osmo_top_acch_cap > I'm wondering why are you using a struct if it is only a single uint8_t? is this expected to expand [?] As far as I know the temporary overpower is not specified. I am wondering if there might be a need for more specific settings at some point. Also when I started I did not know if I might need some additional flags or so. That is why I started with a struct. We might consider to simplify this and just use an uint8_t without a struct. What do you think? https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1529 PS1, Line 1529: if (!TLVP_PRESENT(tp, RSL_IE_OSMO_TOP_ACCH_CAP)) > Ack Done https://gerrit.osmocom.org/c/osmo-bts/+/25285/1/src/common/rsl.c at 1838 PS1, Line 1838: parse_temporary_overpower_acch_capability > Ack Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 12:19:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:56:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 12:56:27 +0000 Subject: Change in osmo-pcu[master]: Fix crash with dyn TS when using direct pcu References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25289 ) Change subject: Fix crash with dyn TS when using direct pcu ...................................................................... Fix crash with dyn TS when using direct pcu It seems there may be a race conditon where lower layers (direct PCU) send UL blocks to us while the PDCH was already disabled (due to a call entering on a dynamic TS). As the PDCH is disabled, the ULC is NULL and shouldn't be used before being enabled again. Related: OS#5222 Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 --- M src/bts.cpp M src/pcu_l1_if.cpp 2 files changed, 26 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/25289/1 diff --git a/src/bts.cpp b/src/bts.cpp index 12a1b04..62870db 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1159,25 +1159,31 @@ uint8_t trx_no, uint8_t ts, int8_t ta, bool is_rach) { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; - struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); + struct pdch_ulc_node *poll; struct gprs_rlcmac_ul_tbf *tbf; + if (!pdch->is_enabled()) + goto no_tbf; + + poll = pdch_ulc_get_node(pdch->ulc, fn); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) - LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " - "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", - p, ta, trx_no, ts, fn); - else { - tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); - /* we need to distinguish TA information provided by L1 - * from PH-DATA-IND and PHY-RA-IND so that we can properly - * update TA for given TBF - */ - if (is_rach) - set_tbf_ta(tbf, (uint8_t)ta); - else - update_tbf_ta(tbf, ta); + goto no_tbf; - } + tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + /* we need to distinguish TA information provided by L1 + * from PH-DATA-IND and PHY-RA-IND so that we can properly + * update TA for given TBF + */ + if (is_rach) + set_tbf_ta(tbf, (uint8_t)ta); + else + update_tbf_ta(tbf, ta); + return; + +no_tbf: + LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " + "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", + p, ta, trx_no, ts, fn); } void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no) diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 5aa8849..4530e1a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -281,6 +281,11 @@ { int rc; + if (!pdch->is_enabled()) { + LOGPDCH(pdch, DL1IF, LOGL_INFO, "Received DATA.ind (PDTCH) on disabled TS\n"); + return -EINVAL; + } + rc = pdch->rcv_block(data, len, fn, meas); pdch_ulc_expire_fn(pdch->ulc, fn); return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 Gerrit-Change-Number: 25289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:56:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 12:56:29 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro to standarize log line References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25290 ) Change subject: Use LOGPDCH macro to standarize log line ...................................................................... Use LOGPDCH macro to standarize log line Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 281 insertions(+), 282 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/25290/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 00f740e..b0a6b39 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,8 +421,7 @@ pdch = &bts->trx[trx].pdch[ts]; if (!pdch->is_enabled()) { - LOGP(DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled PDCH: " - "TRX=%d TS=%d\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled TS\n"); return -EIO; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 9ba9dea..f3a4922 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -2016,13 +2016,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only @@ -2665,13 +2665,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only @@ -2684,13 +2684,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 00 37 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654288 PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only @@ -2702,13 +2702,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 02 1f 43 4b 45 54 20 30 31 4c 4c 43 20 50 41 43 4b 45 54 20 30 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654288 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654292 PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only @@ -2722,13 +2722,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 00 04 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 30 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654292 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654296 PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only @@ -2740,13 +2740,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 00 06 27 50 41 43 4b 45 54 20 30 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only @@ -2760,13 +2760,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 00 08 0e 37 20 30 35 4c 4c 43 20 50 41 43 4b 45 54 20 30 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654301 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654305 PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only @@ -2778,13 +2778,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 00 0a 2f 43 20 50 41 43 4b 45 54 20 30 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654305 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654309 PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only @@ -2798,13 +2798,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 00 0c 16 35 45 54 20 30 38 4c 4c 43 20 50 41 43 4b 45 54 20 30 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654309 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654314 PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only @@ -2816,13 +2816,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 00 0e 37 4c 4c 43 20 50 41 43 4b 45 54 20 31 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654314 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654318 PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only @@ -2834,13 +2834,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 00 10 1f 43 4b 45 54 20 31 31 4c 4c 43 20 50 41 43 4b 45 54 20 31 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654318 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654322 PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only @@ -2854,13 +2854,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 00 12 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 31 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654322 block_nr=8 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654327 PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only @@ -2872,13 +2872,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 10, CS-1): 07 00 14 27 50 41 43 4b 45 54 20 31 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654327 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654331 PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only @@ -2892,13 +2892,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 11) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 11, CS-1): 07 00 16 0e 37 20 31 35 4c 4c 43 20 50 41 43 4b 45 54 20 31 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654331 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654335 PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only @@ -2910,13 +2910,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 12, CS-1): 07 00 18 2f 43 20 50 41 43 4b 45 54 20 31 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654335 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654340 PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only @@ -2930,13 +2930,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 13) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 13, CS-1): 07 00 1a 16 35 45 54 20 31 38 4c 4c 43 20 50 41 43 4b 45 54 20 31 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654340 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654344 PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only @@ -2948,13 +2948,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 14, CS-1): 07 00 1c 37 4c 4c 43 20 50 41 43 4b 45 54 20 32 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654344 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654348 PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only @@ -2966,13 +2966,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 15) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 15, CS-1): 07 00 1e 1f 43 4b 45 54 20 32 31 4c 4c 43 20 50 41 43 4b 45 54 20 32 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only @@ -2986,13 +2986,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 16) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 16, CS-1): 07 00 20 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 32 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654353 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654357 PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only @@ -3004,13 +3004,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 17) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 17, CS-1): 07 00 22 27 50 41 43 4b 45 54 20 32 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654357 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654361 PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only @@ -3024,13 +3024,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 18) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 18, CS-1): 07 00 24 0e 37 20 32 35 4c 4c 43 20 50 41 43 4b 45 54 20 32 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654361 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654366 PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only @@ -3042,13 +3042,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 19, CS-1): 07 00 26 2f 43 20 50 41 43 4b 45 54 20 32 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654366 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654370 PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only @@ -3066,13 +3066,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=2654379, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=2654379, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 16 35 45 54 20 32 38 4c 4c 43 20 50 41 43 4b 45 54 20 32 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654370 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654374 PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only @@ -3084,13 +3084,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 21, CS-1): 07 00 2a 37 4c 4c 43 20 50 41 43 4b 45 54 20 33 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS @@ -3102,13 +3102,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 22) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 22, CS-1): 07 00 2c 1f 43 4b 45 54 20 33 31 4c 4c 43 20 50 41 43 4b 45 54 20 33 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654379 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654383 PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only @@ -3122,13 +3122,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 23) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 23, CS-1): 07 00 2e 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 33 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654383 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654387 PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only @@ -3140,13 +3140,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 24) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 24, CS-1): 07 00 30 27 50 41 43 4b 45 54 20 33 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654387 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654392 PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only @@ -3160,13 +3160,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 25) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 25, CS-1): 07 00 32 0e 37 20 33 35 4c 4c 43 20 50 41 43 4b 45 54 20 33 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654392 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654396 PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only @@ -3178,13 +3178,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 26) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 26, CS-1): 07 00 34 2f 43 20 50 41 43 4b 45 54 20 33 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654396 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654400 PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only @@ -3362,13 +3362,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654400 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -3378,13 +3378,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 02 01 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 20 28 54 42 46 20 32 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -3395,13 +3395,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 02 02 07 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 31 20 28 54 42 46 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 @@ -3412,13 +3412,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 02 04 0f 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 32 20 28 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 @@ -3429,13 +3429,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 02 06 17 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 33 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 @@ -3446,13 +3446,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 02 08 1f 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 @@ -3463,13 +3463,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 02 0a 27 34 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 @@ -3480,13 +3480,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 02 0c 2f 20 30 35 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 @@ -3497,13 +3497,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 02 0e 37 45 54 20 30 36 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 @@ -3514,13 +3514,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 02 10 3f 43 4b 45 54 20 30 37 20 28 54 42 46 20 32 29 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 @@ -3531,13 +3531,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 02 12 47 50 41 43 4b 45 54 20 30 38 20 28 54 42 46 20 32 29 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed Gerrit-Change-Number: 25290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:56:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 12:56:29 +0000 Subject: Change in osmo-pcu[master]: cosmetic: sysmo: Drop unneded comment line References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25291 ) Change subject: cosmetic: sysmo: Drop unneded comment line ...................................................................... cosmetic: sysmo: Drop unneded comment line Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 --- M src/osmo-bts-sysmo/sysmo_l1_if.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/25291/1 diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 225f732..f8b10cd 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -227,7 +227,6 @@ data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0, data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1, data_ind->msgUnitParam.u8Size-1); - //send_gsmtap(PCU_GSMTAP_C_UL_UNKNOWN, true, 0, date_ind->u8Tn, GSMTAP_CHANNEL_PACCH, data_ind->u32Fn, data_ind->msgUnitParam.u8Buffer+1, data_ind->msgUnitParam.u8Size-1); } return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 Gerrit-Change-Number: 25291 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 12:56:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 12:56:29 +0000 Subject: Change in osmo-pcu[master]: bts: Use public getter instead of class member References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25292 ) Change subject: bts: Use public getter instead of class member ...................................................................... bts: Use public getter instead of class member Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/25292/1 diff --git a/src/bts.cpp b/src/bts.cpp index 62870db..8ccbee9 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -989,7 +989,7 @@ /* Make sure PDCH time-slot is enabled */ pdch = &bts->trx[rip->trx_nr].pdch[rip->ts_nr]; - if (!pdch->m_is_enabled) { + if (!pdch->is_enabled()) { LOGP(DRLCMAC, LOGL_NOTICE, "(TRX=%u TS=%u RFN=%u) Rx RACH.ind (PTCCH/U) " "for inactive PDCH\n", rip->trx_nr, rip->ts_nr, rip->rfn); return -EAGAIN; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec Gerrit-Change-Number: 25292 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:05:35 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 14:05:35 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... gsm0503_coding: use ahs tables when encoding ahs codec id The encoder function gsm0503_tch_ahs_encode uses gsm0503_afs_ic_ubit when encoding the CMR or FT (depends on the frame number). This is not correct. It should use gsm0503_ahs_ic_ubit instead. Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Related: SYS#5549 --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/93/25293/1 diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 1bec56e..9c189cd 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -3007,7 +3007,7 @@ return -1; } - memcpy(cB, gsm0503_afs_ic_ubit[id], 4); + memcpy(cB, gsm0503_ahs_ic_ubit[id], 4); gsm0503_tch_hr_interleave(cB, iB); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:12:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:12:58 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... Patch Set 1: Code-Review+2 Good catch! I believe we want to back-port this patch to latest too? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 14:12:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:28:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:28:14 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25284 ) Change subject: osmo-bts-trx: implement Temporary Overpower for SACCH/FACCH ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c at 1337 PS1, Line 1337: br->att = l1cs->lchan->bs_power_ctrl.current; > I would rather move this to the function and rename the function be something like "apply_lchan_atte [?] Good idea. https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/common/scheduler.c at 1340 PS1, Line 1340: } else /* Ensure no attenuation in the absence of lchan (e.g. on PDCH) */ > } else {} No need for that if we go for apply_lchan_attenuation(). https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/osmo-bts-trx/sched_lchan_tchf.c File src/osmo-bts-trx/sched_lchan_tchf.c: https://gerrit.osmocom.org/c/osmo-bts/+/25284/1/src/osmo-bts-trx/sched_lchan_tchf.c at 580 PS1, Line 580: br->flags |= TRX_BR_F_FACCH; > maybe make the flag more generic? like "TRX_BR_F_OVERPOWER_ALLOWED"? FACCH is more generic than *_OVERPOWER_*. Overpower is also allowed for SACCH bursts, but we don't mark them with a flag, and there is no need for that. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie8a626fefccf1eb07271058e5126ec106cb1abcf Gerrit-Change-Number: 25284 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 14:28:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:31:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:31:18 +0000 Subject: Change in osmo-pcu[master]: Fix crash with dyn TS when using direct pcu In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25289 ) Change subject: Fix crash with dyn TS when using direct pcu ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 Gerrit-Change-Number: 25289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 14:31:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:32:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:32:06 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro to standarize log line In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25290 ) Change subject: Use LOGPDCH macro to standarize log line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed Gerrit-Change-Number: 25290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 14:32:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:32:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:32:21 +0000 Subject: Change in osmo-pcu[master]: cosmetic: sysmo: Drop unneded comment line In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25291 ) Change subject: cosmetic: sysmo: Drop unneded comment line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 Gerrit-Change-Number: 25291 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 14:32:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:32:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 14:32:36 +0000 Subject: Change in osmo-pcu[master]: bts: Use public getter instead of class member In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25292 ) Change subject: bts: Use public getter instead of class member ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec Gerrit-Change-Number: 25292 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 14:32:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:43:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 14:43:30 +0000 Subject: Change in osmo-bts[master]: rsl: simplfy parse_repeated_acch_capability In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25288 ) Change subject: rsl: simplfy parse_repeated_acch_capability ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bde1b9df50fdf355e768f5066e86422238b98e9 Gerrit-Change-Number: 25288 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 14:43:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:45:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 14:45:05 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 14:45:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:53:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 14:53:25 +0000 Subject: Change in osmo-pcu[master]: sched: Lower log level of RTS on disabled pdch References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25294 ) Change subject: sched: Lower log level of RTS on disabled pdch ...................................................................... sched: Lower log level of RTS on disabled pdch These messages are expected under some circumstances, such as when direct phy is used and a chan is disabled (eg. dyn TS). This happens because PCU asks for chan de-activation through PCUIF while at the same time marking the PDCH locally as disabled. Hence, in the time the BTS manages to disable it on the lower layers, the phy still sends us RTS indications. Let's keep it under NOTICE to avoid clogging the logs in production setups which are usually using global level of NOTICE or ERROR. Related: OS#5222 Change-Id: Iab9e1590b504bf05dc693e27550b30db0dffcbc7 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/94/25294/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index b0a6b39..08f43cd 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,7 +421,7 @@ pdch = &bts->trx[trx].pdch[ts]; if (!pdch->is_enabled()) { - LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled TS\n"); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_INFO, "Received RTS on disabled TS\n"); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab9e1590b504bf05dc693e27550b30db0dffcbc7 Gerrit-Change-Number: 25294 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 14:59:45 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 14:59:45 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... gsm0503_coding: use ahs tables when encoding ahs codec id The encoder function gsm0503_tch_ahs_encode uses gsm0503_afs_ic_ubit when encoding the CMR or FT (depends on the frame number). This is not correct. It should use gsm0503_ahs_ic_ubit instead. Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Related: SYS#5549 --- M src/coding/gsm0503_coding.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c index 1bec56e..9c189cd 100644 --- a/src/coding/gsm0503_coding.c +++ b/src/coding/gsm0503_coding.c @@ -3007,7 +3007,7 @@ return -1; } - memcpy(cB, gsm0503_afs_ic_ubit[id], 4); + memcpy(cB, gsm0503_ahs_ic_ubit[id], 4); gsm0503_tch_hr_interleave(cB, iB); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:00:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:00:05 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: do not use cmr as ft References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25295 ) Change subject: sched_lchan_tch_x: do not use cmr as ft ...................................................................... sched_lchan_tch_x: do not use cmr as ft When the AMR voice frame that is received from the MS via the radio interface then CMR and FT are updated, depending on the transmission phase. When the AMR frame is converted to RTP it gets a header that contains the CMF and the FT at the time. When generating the RTP payloed, The present implementation uses the CMR in the position where the FT should be and the FT is ignored. This is not correct. Change-Id: I6bb10ff3c76f67b9830787497653b546cf27fe8e Related: SYS#5549 --- M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/95/25295/1 diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 8e6298c..00efcf8 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -186,7 +186,7 @@ /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { if (chan_state->amr_last_dtx == AMR_OTHER) { - ft = chan_state->codec[chan_state->ul_cmr]; + ft = chan_state->codec[chan_state->ul_ft]; } else { /* SID frames will always get Frame Type Index 8 (AMR_SID) */ ft = AMR_SID; diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index bfebb66..9402204 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -210,7 +210,7 @@ /* only good speech frames get rtp header */ if (rc != GSM_MACBLOCK_LEN && rc >= 4) { if (chan_state->amr_last_dtx == AMR_OTHER) { - ft = chan_state->codec[chan_state->ul_cmr]; + ft = chan_state->codec[chan_state->ul_ft]; } else { /* SID frames will always get Frame Type Index 8 (AMR_SID) */ ft = AMR_SID; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bb10ff3c76f67b9830787497653b546cf27fe8e Gerrit-Change-Number: 25295 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:00:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:00:05 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use functions to determine AMR tranmssion phase References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25296 ) Change subject: sched_lchan_tch_x: use functions to determine AMR tranmssion phase ...................................................................... sched_lchan_tch_x: use functions to determine AMR tranmssion phase The AMR transmission phase directly depends on the frame number. The transmission phase is used to tell if a received AMR frame contains a CMI (frame type that is currently used) or CMR (frame type that the receiver should use). codec idfentifer. The formulas in the present implementation seem to be correct but they do not reflect the numbers in the spec very well, nor do they have unit-tests. Lets replace them with more readble functions and test those functions with unit-tests. Change-Id: I94a934a6b3b397b4cd0e9da3577325de58814335 Related: SYS#5549 --- M configure.ac M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c M src/osmo-bts-trx/sched_utils.h M tests/Makefile.am M tests/testsuite.at 6 files changed, 104 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/96/25296/1 diff --git a/configure.ac b/configure.ac index 1b4c6e7..4f2e889 100644 --- a/configure.ac +++ b/configure.ac @@ -411,6 +411,7 @@ tests/tx_power/Makefile tests/power/Makefile tests/meas/Makefile + tests/amr/Makefile doc/Makefile doc/examples/Makefile doc/manuals/Makefile diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index 00efcf8..c5d60e4 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -65,6 +65,7 @@ uint16_t ber10k; uint8_t is_sub = 0; uint8_t ft; + bool amr_is_cmr; /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ @@ -129,6 +130,8 @@ * the first FN 4,13,21 defines that CMR is included in frame. * NOTE: A frame ends 7 FN after start. */ + fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_F); + amr_is_cmr = !ul_amr_fn_is_cmi(fn_begin); /* The AFS_ONSET frame itself does not result into an RTP frame * since it only contains a recognition pattern that marks the @@ -144,8 +147,7 @@ * know this before we actually decode the frame) */ amr = 2; rc = gsm0503_tch_afs_decode_dtx(tch_data + amr, *bursts_p, - (((bi->fn + 26 - 7) % 26) >> 2) & 1, chan_state->codec, - chan_state->codecs, &chan_state->ul_ft, + amr_is_cmr, chan_state->codec, chan_state->codecs, &chan_state->ul_ft, &chan_state->ul_cmr, &n_errors, &n_bits_total, &chan_state->amr_last_dtx); /* Tag all frames that are not regular AMR voice frames as @@ -419,6 +421,7 @@ enum osmo_amr_type ft_codec; enum osmo_amr_quality bfi; int8_t sti, cmi; + bool amr_is_cmr = !dl_amr_fn_is_cmi(br->fn); if (rsl_cmode != RSL_CMOD_SPD_SPEECH) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Dropping speech frame, " @@ -463,7 +466,7 @@ "Codec (FT = %d) of RTP frame not in list\n", ft_codec); goto free_bad_msg; } - if (fn_is_codec_mode_request(br->fn) && chan_state->dl_ft != ft) { + if (amr_is_cmr && chan_state->dl_ft != ft) { LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Codec (FT = %d) " " of RTP cannot be changed now, but in next frame\n", ft_codec); goto free_bad_msg; @@ -552,7 +555,7 @@ * the first FN 0,8,17 defines that CMR is included in frame. */ gsm0503_tch_afs_encode(*bursts_p, msg_tch->l2h + 2, - msgb_l2len(msg_tch) - 2, fn_is_codec_mode_request(br->fn), + msgb_l2len(msg_tch) - 2, !dl_amr_fn_is_cmi(br->fn), chan_state->codec, chan_state->codecs, chan_state->dl_ft, chan_state->dl_cmr); diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 9402204..2106a67 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -72,6 +72,7 @@ uint8_t is_sub = 0; uint8_t ft; bool mask_stolen_tch_block = false; + bool fn_is_cmi; /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ @@ -164,10 +165,21 @@ break; } + /* Calculate the frame number where the block begins */ + if (bi->fn % 13 < 4) + fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 5); + else + fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 4); + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H0); + else + fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1); + fn_is_cmi = ul_amr_fn_is_cmi(fn_begin); + /* See comment in function rx_tchf_fn() */ amr = 2; rc = gsm0503_tch_ahs_decode_dtx(tch_data + amr, *bursts_p, - fn_is_odd, fn_is_odd, chan_state->codec, + fn_is_odd, !fn_is_cmi, chan_state->codec, chan_state->codecs, &chan_state->ul_ft, &chan_state->ul_cmr, &n_errors, &n_bits_total, &chan_state->amr_last_dtx); @@ -343,7 +355,6 @@ fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 5); else fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 4); - if (lchan->nr == 0) fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H0); else @@ -441,7 +452,7 @@ * in frame, the first FN 0,8,17 or 1,9,18 defines that CMR is * included in frame. */ gsm0503_tch_ahs_encode(*bursts_p, msg_tch->l2h + 2, - msgb_l2len(msg_tch) - 2, fn_is_codec_mode_request(br->fn), + msgb_l2len(msg_tch) - 2, !dl_amr_fn_is_cmi(br->fn), chan_state->codec, chan_state->codecs, chan_state->dl_ft, chan_state->dl_cmr); diff --git a/src/osmo-bts-trx/sched_utils.h b/src/osmo-bts-trx/sched_utils.h index 4a1aaf5..ada6146 100644 --- a/src/osmo-bts-trx/sched_utils.h +++ b/src/osmo-bts-trx/sched_utils.h @@ -23,6 +23,8 @@ #include #include +#include +#include extern void *tall_bts_ctx; @@ -35,8 +37,78 @@ return 10000 * n_errors / n_bits_total; } -/* determine if the FN is transmitting a CMR (1) or not (0) */ -static inline int fn_is_codec_mode_request(uint32_t fn) +/*! determine the whether an uplink AMR block is CMI according to 3GPP TS 45.009. + * \param[in] fn_begin frame number of the beginning of the block. + * \returns true in case of CMI; false otherwise. */ +static inline bool ul_amr_fn_is_cmi(uint32_t fn_begin) { - return (((fn + 4) % 26) >> 2) & 1; + uint32_t fn_26 = fn_begin % 26; + switch (fn_26) { + /*! See also: 3GPP TS 45.009, section 3.2.1.3 Transmitter/Receiver Synchronisation */ + /* valid for AHS subslot 0 and AFS: */ + case 0: + case 8: + case 17: + /* valid for AHS subslot 1: */ + case 1: + case 9: + case 18: + return true; + break; + /* Complementary values for sanity check */ + /* valid for AHS subslot 0 and AFS: */ + case 4: + case 13: + case 21: + /* valid for AHS subslot 1: */ + case 5: + case 14: + case 22: + return false; + break; + default: + LOGP(DL1P, LOGL_DEBUG, + "uplink frame number fn_begin=%u does not mark the beginning of a voice block!\n", fn_begin); + OSMO_ASSERT(false); + return false; + break; + } +} + +/*! determine the whether a downlink AMR block is CMI according to 3GPP TS 45.009. + * \param[in] fn_begin frame number of the beginning of the block. + * \returns true in case of CMI; false otherwise. */ +static inline bool dl_amr_fn_is_cmi(uint32_t fn_begin) +{ + uint32_t fn_26 = fn_begin % 26; + switch (fn_26) { + /*! See also: 3GPP TS 45.009, section 3.2.1.3 Transmitter/Receiver Synchronisation */ + /* valid for AHS subslot 0 and AFS: */ + case 4: + case 13: + case 21: + /* valid for AHS subslot 1: */ + case 5: + case 14: + case 22: + return true; + break; + /* Complementary values for sanity check */ + /* valid for AHS subslot 0 and AFS: */ + case 0: + case 8: + case 17: + /* valid for AHS subslot 1: */ + case 1: + case 9: + case 18: + return false; + break; + default: + LOGP(DL1P, LOGL_DEBUG, + "downlink frame number fn_begin=%u does not mark the beginning of a voice block!\n", fn_begin); + OSMO_ASSERT(false); + return false; + break; + } } diff --git a/tests/Makefile.am b/tests/Makefile.am index 8d19e6e..a1d04a7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = paging cipher agch misc handover tx_power power meas ta_control +SUBDIRS = paging cipher agch misc handover tx_power power meas ta_control amr if ENABLE_SYSMOBTS SUBDIRS += sysmobts diff --git a/tests/testsuite.at b/tests/testsuite.at index ba5a409..f2d17fb 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -63,3 +63,9 @@ cat $abs_srcdir/ta_control/ta_control_test.ok > expout AT_CHECK([$abs_top_builddir/tests/ta_control/ta_control_test], [], [expout], [ignore]) AT_CLEANUP + +AT_SETUP([amr]) +AT_KEYWORDS([amr]) +cat $abs_srcdir/amr/amr_test.ok > expout +AT_CHECK([$abs_top_builddir/tests/amr/amr_test], [], [expout], [ignore]) +AT_CLEANUP -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I94a934a6b3b397b4cd0e9da3577325de58814335 Gerrit-Change-Number: 25296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:00:05 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:00:05 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/25297 ) Change subject: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame ...................................................................... sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame All generated RTP that originates from the BTS relates to uplink. When generating AMR BAD frame RTP packets, we must use ul_cmr/ul_ft and not dl_cmr/dl_ft. Change-Id: Ifa009819791cf7df2dd8201f442b0dae06f622a4 Related: SYS#5549 --- M src/osmo-bts-trx/sched_lchan_tchf.c M src/osmo-bts-trx/sched_lchan_tchh.c 2 files changed, 6 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/97/25297/1 diff --git a/src/osmo-bts-trx/sched_lchan_tchf.c b/src/osmo-bts-trx/sched_lchan_tchf.c index c5d60e4..7058500 100644 --- a/src/osmo-bts-trx/sched_lchan_tchf.c +++ b/src/osmo-bts-trx/sched_lchan_tchf.c @@ -276,8 +276,8 @@ break; case GSM48_CMODE_SPEECH_AMR: /* AMR */ rc = osmo_amr_rtp_enc(tch_data, - chan_state->codec[chan_state->dl_cmr], - chan_state->codec[chan_state->dl_ft], + chan_state->codec[chan_state->ul_cmr], + chan_state->codec[chan_state->ul_ft], AMR_BAD); if (rc < 2) { LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, @@ -447,12 +447,14 @@ &bfi, &sti); cmr = -1; ft = -1; + for (i = 0; i < chan_state->codecs; i++) { if (chan_state->codec[i] == cmr_codec) cmr = i; if (chan_state->codec[i] == ft_codec) ft = i; } + if (cmr >= 0) { /* new request */ chan_state->dl_cmr = cmr; /* disable AMR loop */ diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index 2106a67..a582f92 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -317,8 +317,8 @@ break; case GSM48_CMODE_SPEECH_AMR: /* AMR */ rc = osmo_amr_rtp_enc(tch_data, - chan_state->codec[chan_state->dl_cmr], - chan_state->codec[chan_state->dl_ft], + chan_state->codec[chan_state->ul_cmr], + chan_state->codec[chan_state->ul_ft], AMR_BAD); if (rc < 2) { LOGL1SB(DL1P, LOGL_ERROR, l1ts, bi, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifa009819791cf7df2dd8201f442b0dae06f622a4 Gerrit-Change-Number: 25297 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:03:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 15:03:22 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: do not use cmr as ft In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25295 ) Change subject: sched_lchan_tch_x: do not use cmr as ft ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG at 9 PS1, Line 9: When the AMR voice frame that is received from the MS via the radio This sentence doesn't make sense to me, please rephrase. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bb10ff3c76f67b9830787497653b546cf27fe8e Gerrit-Change-Number: 25295 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 31 Aug 2021 15:03:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:04:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 15:04:24 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25297 ) Change subject: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifa009819791cf7df2dd8201f442b0dae06f622a4 Gerrit-Change-Number: 25297 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 15:04:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:15:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 15:15:14 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use functions to determine AMR tranmssion phase In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25296 ) Change subject: sched_lchan_tch_x: use functions to determine AMR tranmssion phase ...................................................................... Patch Set 1: Code-Review-1 (4 comments) You added an amr test dir but forgot to include the test files? https://gerrit.osmocom.org/c/osmo-bts/+/25296/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25296/1//COMMIT_MSG at 12 PS1, Line 12: receiver should use). codec idfentifer. The formulas in the present 1-remove dot 2-"identifier" ? https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_lchan_tchf.c File src/osmo-bts-trx/sched_lchan_tchf.c: https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_lchan_tchf.c at 470 PS1, Line 470: LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Codec (FT = %d) " Shouldn't we keep sending with the older type until we can change it? I'd expect the received to account for this scenario... https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_utils.h File src/osmo-bts-trx/sched_utils.h: https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_utils.h at 40 PS1, Line 40: /*! determine the whether an uplink AMR block is CMI according to 3GPP TS 45.009. "the whether" is wrong. https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_utils.h at 45 PS1, Line 45: uint32_t fn_26 = fn_begin % 26; No reason for this variable, put it in the switch directly. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I94a934a6b3b397b4cd0e9da3577325de58814335 Gerrit-Change-Number: 25296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 15:15:14 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:19:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:19:43 +0000 Subject: Change in osmo-pcu[master]: bts: Use public getter instead of class member In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25292 ) Change subject: bts: Use public getter instead of class member ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec Gerrit-Change-Number: 25292 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 15:19:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:22:39 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro to standarize log line In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25290 ) Change subject: Use LOGPDCH macro to standarize log line ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed Gerrit-Change-Number: 25290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 15:22:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:26:48 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 31 Aug 2021 15:26:48 +0000 Subject: Change in osmo-pcu[master]: cosmetic: sysmo: Drop unneded comment line In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25291 ) Change subject: cosmetic: sysmo: Drop unneded comment line ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 Gerrit-Change-Number: 25291 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 31 Aug 2021 15:26:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:30:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 31 Aug 2021 15:30:48 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: do not use cmr as ft In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25295 ) Change subject: sched_lchan_tch_x: do not use cmr as ft ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG at 9 PS1, Line 9: When the AMR voice frame that is received from the MS via the radio > This sentence doesn't make sense to me, please rephrase. Ack. Something is wrong here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bb10ff3c76f67b9830787497653b546cf27fe8e Gerrit-Change-Number: 25295 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 15:30:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:36:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 15:36:13 +0000 Subject: Change in osmo-pcu[master]: Fix crash with dyn TS when using direct pcu In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25289 ) Change subject: Fix crash with dyn TS when using direct pcu ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 Gerrit-Change-Number: 25289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 15:36:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 15:37:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 31 Aug 2021 15:37:38 +0000 Subject: Change in osmo-pcu[master]: sched: Lower log level of RTS on disabled pdch In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25294 ) Change subject: sched: Lower log level of RTS on disabled pdch ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab9e1590b504bf05dc693e27550b30db0dffcbc7 Gerrit-Change-Number: 25294 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 15:37:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:21 +0000 Subject: Change in osmo-pcu[master]: Fix crash with dyn TS when using direct pcu In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25289 ) Change subject: Fix crash with dyn TS when using direct pcu ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 Gerrit-Change-Number: 25289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 16:22:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:28 +0000 Subject: Change in osmo-pcu[master]: Fix crash with dyn TS when using direct pcu In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25289 ) Change subject: Fix crash with dyn TS when using direct pcu ...................................................................... Fix crash with dyn TS when using direct pcu It seems there may be a race conditon where lower layers (direct PCU) send UL blocks to us while the PDCH was already disabled (due to a call entering on a dynamic TS). As the PDCH is disabled, the ULC is NULL and shouldn't be used before being enabled again. Related: OS#5222 Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 --- M src/bts.cpp M src/pcu_l1_if.cpp 2 files changed, 26 insertions(+), 15 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index 12a1b04..62870db 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1159,25 +1159,31 @@ uint8_t trx_no, uint8_t ts, int8_t ta, bool is_rach) { struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; - struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); + struct pdch_ulc_node *poll; struct gprs_rlcmac_ul_tbf *tbf; + if (!pdch->is_enabled()) + goto no_tbf; + + poll = pdch_ulc_get_node(pdch->ulc, fn); if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) - LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " - "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", - p, ta, trx_no, ts, fn); - else { - tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); - /* we need to distinguish TA information provided by L1 - * from PH-DATA-IND and PHY-RA-IND so that we can properly - * update TA for given TBF - */ - if (is_rach) - set_tbf_ta(tbf, (uint8_t)ta); - else - update_tbf_ta(tbf, ta); + goto no_tbf; - } + tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); + /* we need to distinguish TA information provided by L1 + * from PH-DATA-IND and PHY-RA-IND so that we can properly + * update TA for given TBF + */ + if (is_rach) + set_tbf_ta(tbf, (uint8_t)ta); + else + update_tbf_ta(tbf, ta); + return; + +no_tbf: + LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " + "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", + p, ta, trx_no, ts, fn); } void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no) diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 5aa8849..4530e1a 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -281,6 +281,11 @@ { int rc; + if (!pdch->is_enabled()) { + LOGPDCH(pdch, DL1IF, LOGL_INFO, "Received DATA.ind (PDTCH) on disabled TS\n"); + return -EINVAL; + } + rc = pdch->rcv_block(data, len, fn, meas); pdch_ulc_expire_fn(pdch->ulc, fn); return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I4b8931f0cc7cfc787a1cc35196295402524b15c3 Gerrit-Change-Number: 25289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:29 +0000 Subject: Change in osmo-pcu[master]: Use LOGPDCH macro to standarize log line In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25290 ) Change subject: Use LOGPDCH macro to standarize log line ...................................................................... Use LOGPDCH macro to standarize log line Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 281 insertions(+), 282 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 00f740e..b0a6b39 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,8 +421,7 @@ pdch = &bts->trx[trx].pdch[ts]; if (!pdch->is_enabled()) { - LOGP(DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled PDCH: " - "TRX=%d TS=%d\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled TS\n"); return -EIO; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 9ba9dea..f3a4922 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -2016,13 +2016,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only @@ -2665,13 +2665,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654279 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654283 PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only @@ -2684,13 +2684,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 00 37 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654283 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654288 PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only @@ -2702,13 +2702,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 02 1f 43 4b 45 54 20 30 31 4c 4c 43 20 50 41 43 4b 45 54 20 30 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654288 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654292 PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only @@ -2722,13 +2722,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 00 04 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 30 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654292 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654296 PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only @@ -2740,13 +2740,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 00 06 27 50 41 43 4b 45 54 20 30 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654296 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654301 PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only @@ -2760,13 +2760,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 00 08 0e 37 20 30 35 4c 4c 43 20 50 41 43 4b 45 54 20 30 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654301 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654305 PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only @@ -2778,13 +2778,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 00 0a 2f 43 20 50 41 43 4b 45 54 20 30 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654305 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654309 PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only @@ -2798,13 +2798,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 00 0c 16 35 45 54 20 30 38 4c 4c 43 20 50 41 43 4b 45 54 20 30 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654309 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654314 PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only @@ -2816,13 +2816,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 00 0e 37 4c 4c 43 20 50 41 43 4b 45 54 20 31 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654314 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654318 PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only @@ -2834,13 +2834,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 00 10 1f 43 4b 45 54 20 31 31 4c 4c 43 20 50 41 43 4b 45 54 20 31 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654318 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654322 PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only @@ -2854,13 +2854,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 00 12 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 31 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654322 block_nr=8 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654327 PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only @@ -2872,13 +2872,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 10, CS-1): 07 00 14 27 50 41 43 4b 45 54 20 31 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654327 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654331 PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only @@ -2892,13 +2892,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 11) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 11, CS-1): 07 00 16 0e 37 20 31 35 4c 4c 43 20 50 41 43 4b 45 54 20 31 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654331 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654335 PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only @@ -2910,13 +2910,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 12, CS-1): 07 00 18 2f 43 20 50 41 43 4b 45 54 20 31 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654335 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654340 PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only @@ -2930,13 +2930,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 13) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 13, CS-1): 07 00 1a 16 35 45 54 20 31 38 4c 4c 43 20 50 41 43 4b 45 54 20 31 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654340 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654344 PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only @@ -2948,13 +2948,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 14, CS-1): 07 00 1c 37 4c 4c 43 20 50 41 43 4b 45 54 20 32 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654344 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654348 PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only @@ -2966,13 +2966,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 15) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 15, CS-1): 07 00 1e 1f 43 4b 45 54 20 32 31 4c 4c 43 20 50 41 43 4b 45 54 20 32 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654348 block_nr=2 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654353 PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only @@ -2986,13 +2986,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 16) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 16, CS-1): 07 00 20 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 32 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654353 block_nr=3 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654357 PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only @@ -3004,13 +3004,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 17) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 17, CS-1): 07 00 22 27 50 41 43 4b 45 54 20 32 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654357 block_nr=4 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654361 PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only @@ -3024,13 +3024,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 18) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 18, CS-1): 07 00 24 0e 37 20 32 35 4c 4c 43 20 50 41 43 4b 45 54 20 32 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654361 block_nr=5 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654366 PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only @@ -3042,13 +3042,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 19, CS-1): 07 00 26 2f 43 20 50 41 43 4b 45 54 20 32 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654366 block_nr=6 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654370 PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only @@ -3066,13 +3066,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=2654379, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=2654379, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 16 35 45 54 20 32 38 4c 4c 43 20 50 41 43 4b 45 54 20 32 39 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654370 block_nr=7 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654374 PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only @@ -3084,13 +3084,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 21, CS-1): 07 00 2a 37 4c 4c 43 20 50 41 43 4b 45 54 20 33 30 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS @@ -3102,13 +3102,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 22) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 22, CS-1): 07 00 2c 1f 43 4b 45 54 20 33 31 4c 4c 43 20 50 41 43 4b 45 54 20 33 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654379 block_nr=9 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654383 PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only @@ -3122,13 +3122,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 23) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 23, CS-1): 07 00 2e 06 37 32 4c 4c 43 20 50 41 43 4b 45 54 20 33 33 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654383 block_nr=10 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654387 PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only @@ -3140,13 +3140,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 24) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 24, CS-1): 07 00 30 27 50 41 43 4b 45 54 20 33 34 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654387 block_nr=11 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654392 PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only @@ -3160,13 +3160,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 25) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 25, CS-1): 07 00 32 0e 37 20 33 35 4c 4c 43 20 50 41 43 4b 45 54 20 33 36 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654392 block_nr=0 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654396 PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only @@ -3178,13 +3178,13 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 26) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 26, CS-1): 07 00 34 2f 43 20 50 41 43 4b 45 54 20 33 37 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) Received RTS for PDCH: FN=2654396 block_nr=1 scheduling USF=0 for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), expect answer on UL FN=2654400 PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only @@ -3362,13 +3362,13 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654400 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -3378,13 +3378,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 02 01 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 20 28 54 42 46 20 32 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 @@ -3395,13 +3395,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 02 02 07 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 31 20 28 54 42 46 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 @@ -3412,13 +3412,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 02 04 0f 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 32 20 28 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 @@ -3429,13 +3429,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 02 06 17 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 33 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 @@ -3446,13 +3446,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 02 08 1f 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 20 30 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 @@ -3463,13 +3463,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 02 0a 27 34 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b 45 54 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 @@ -3480,13 +3480,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 02 0c 2f 20 30 35 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 43 4b -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 @@ -3497,13 +3497,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 02 0e 37 45 54 20 30 36 20 28 54 42 46 20 32 29 4c 4c 43 20 50 41 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 @@ -3514,13 +3514,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 02 10 3f 43 4b 45 54 20 30 37 20 28 54 42 46 20 32 29 4c 4c 43 20 -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 @@ -3531,13 +3531,13 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 02 12 47 50 41 43 4b 45 54 20 30 38 20 28 54 42 46 20 32 29 4c 4c -Received RTS on disabled PDCH: TRX=0 TS=0 -Received RTS on disabled PDCH: TRX=0 TS=1 -Received RTS on disabled PDCH: TRX=0 TS=2 -Received RTS on disabled PDCH: TRX=0 TS=3 -Received RTS on disabled PDCH: TRX=0 TS=4 -Received RTS on disabled PDCH: TRX=0 TS=5 -Received RTS on disabled PDCH: TRX=0 TS=6 +PDCH(bts=0,trx=0,ts=0) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=1) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=2) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=3) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=4) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=5) Received RTS on disabled TS +PDCH(bts=0,trx=0,ts=6) Received RTS on disabled TS PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If815779b2e2e56707f36c72dbdbfd4c5b07165ed Gerrit-Change-Number: 25290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:30 +0000 Subject: Change in osmo-pcu[master]: cosmetic: sysmo: Drop unneded comment line In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25291 ) Change subject: cosmetic: sysmo: Drop unneded comment line ...................................................................... cosmetic: sysmo: Drop unneded comment line Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 --- M src/osmo-bts-sysmo/sysmo_l1_if.c 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, approved diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 225f732..f8b10cd 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -227,7 +227,6 @@ data_ind->u8Tn, GSMTAP_CHANNEL_PACCH, 0, data_ind->u32Fn, 0, 0, data_ind->msgUnitParam.u8Buffer+1, data_ind->msgUnitParam.u8Size-1); - //send_gsmtap(PCU_GSMTAP_C_UL_UNKNOWN, true, 0, date_ind->u8Tn, GSMTAP_CHANNEL_PACCH, data_ind->u32Fn, data_ind->msgUnitParam.u8Buffer+1, data_ind->msgUnitParam.u8Size-1); } return rc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I66685fa69af5ad18e45d97a25e7150815beef805 Gerrit-Change-Number: 25291 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:30 +0000 Subject: Change in osmo-pcu[master]: bts: Use public getter instead of class member In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25292 ) Change subject: bts: Use public getter instead of class member ...................................................................... bts: Use public getter instead of class member Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec --- M src/bts.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/src/bts.cpp b/src/bts.cpp index 62870db..8ccbee9 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -989,7 +989,7 @@ /* Make sure PDCH time-slot is enabled */ pdch = &bts->trx[rip->trx_nr].pdch[rip->ts_nr]; - if (!pdch->m_is_enabled) { + if (!pdch->is_enabled()) { LOGP(DRLCMAC, LOGL_NOTICE, "(TRX=%u TS=%u RFN=%u) Rx RACH.ind (PTCCH/U) " "for inactive PDCH\n", rip->trx_nr, rip->ts_nr, rip->rfn); return -EAGAIN; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia7b37a4c721d7d02c516d8d3a5417d166f1d3bec Gerrit-Change-Number: 25292 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 16:22:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 16:22:30 +0000 Subject: Change in osmo-pcu[master]: sched: Lower log level of RTS on disabled pdch In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/25294 ) Change subject: sched: Lower log level of RTS on disabled pdch ...................................................................... sched: Lower log level of RTS on disabled pdch These messages are expected under some circumstances, such as when direct phy is used and a chan is disabled (eg. dyn TS). This happens because PCU asks for chan de-activation through PCUIF while at the same time marking the PDCH locally as disabled. Hence, in the time the BTS manages to disable it on the lower layers, the phy still sends us RTS indications. Let's keep it under NOTICE to avoid clogging the logs in production setups which are usually using global level of NOTICE or ERROR. Related: OS#5222 Change-Id: Iab9e1590b504bf05dc693e27550b30db0dffcbc7 --- M src/gprs_rlcmac_sched.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index b0a6b39..08f43cd 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,7 +421,7 @@ pdch = &bts->trx[trx].pdch[ts]; if (!pdch->is_enabled()) { - LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "Received RTS on disabled TS\n"); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_INFO, "Received RTS on disabled TS\n"); return -EIO; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/25294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iab9e1590b504bf05dc693e27550b30db0dffcbc7 Gerrit-Change-Number: 25294 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 18:42:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 31 Aug 2021 18:42:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: rework sns clean up In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25145 ) Change subject: gprs_ns2_sns: rework sns clean up ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/25145/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/25145/2/src/gb/gprs_ns2_sns.c at 2314 PS2, Line 2314: /* keep the NSVC we need for SNS, but unconfigure it */ > Ther is this if (nsvc == gss->sns_nsvc) that guards this in the original version. [?] No it can't. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I2639345fdf3cd300a934238d676c543065ceaa8b Gerrit-Change-Number: 25145 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 18:42:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:19:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 19:19:51 +0000 Subject: Change in osmo-bsc[master]: WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25298 ) Change subject: WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop ...................................................................... WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop This commit extends existing VTY and RSL infrastructure to configure and manage MS Power Parameters used in MS Power Control loop, by adding support to set up Carrier-to-Interference (CI) parameters. Using C/I instead of existing RxQual is preferred due to extended granularity of C/I (bigger range than RxQual's 0-7). Furthermore, existing literature (such as "GSM/EDGE: Evolution and Performance" Table 10.3) provides detailed information about expected target values, even different values for different channel types. Hence, it was decided to support setting different MS Power Parameters for different channel types. These MS Power Parameters are Osmocom specific, ie. supported only by newish versions of osmo-bts. Older versions of osmo-bts should ignore the new IEs added just fine. The new IEs containing the MS POwer Parameters are not send for non osmo-bts BTSs, hence this commit is secure with regards to running osmo-bsc against an ip.access BTS such as nanoBTS. TODO: Update user manual!!!! Related: SYS#4917 Change-Id: I7e76ec47b323d469f777624b74b08752d1f5584f --- M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/gsm_data.c M tests/power_ctrl.vty 6 files changed, 446 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/25298/1 diff --git a/doc/manuals/chapters/power_control.adoc b/doc/manuals/chapters/power_control.adoc index 4d212f1..7b3272d 100644 --- a/doc/manuals/chapters/power_control.adoc +++ b/doc/manuals/chapters/power_control.adoc @@ -106,6 +106,8 @@ ==== Power control mode +# THIS SECTION NEEDS UPDATE WHEN ADDING C/I SUPPORT! + Three power control modes exist: ---- diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index db0f249..234c814 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1343,6 +1343,13 @@ /* Measurement averaging parameters for RxLev & RxQual */ struct gsm_power_ctrl_meas_params rxqual_meas; struct gsm_power_ctrl_meas_params rxlev_meas; + /* Measurement averaging parameters for C/I: */ + struct gsm_power_ctrl_meas_params ci_fr_meas; + struct gsm_power_ctrl_meas_params ci_hr_meas; + struct gsm_power_ctrl_meas_params ci_amr_fr_meas; + struct gsm_power_ctrl_meas_params ci_amr_hr_meas; + struct gsm_power_ctrl_meas_params ci_sdcch_meas; + struct gsm_power_ctrl_meas_params ci_gprs_meas; }; extern const struct gsm_power_ctrl_params power_ctrl_params_def; diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 8d2908f..d26f13f 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -867,10 +867,65 @@ *ie_len = msg->tail - (ie_len + 1); } +static void enc_osmo_meas_proc_params(struct msgb *msg, const struct gsm_power_ctrl_params *mp) +{ + struct osmo_preproc_ave_cfg *ave_cfg; + uint8_t *ie_len; + + /* No averaging => no Measurement Averaging parameters */ + if (mp->ci_fr_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE && + mp->ci_hr_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE && + mp->ci_amr_fr_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE && + mp->ci_amr_hr_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE && + mp->ci_sdcch_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE && + mp->ci_gprs_meas.algo == GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE) + return; + + /* (TLV) Measurement Averaging parameters for RxLev/RxQual */ + ie_len = msgb_tl_put(msg, RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG); + + ave_cfg = (struct osmo_preproc_ave_cfg *) msgb_put(msg, sizeof(*ave_cfg)); + +#define ENC_PROC(PARAMS, TO, TYPE) do { \ + (TO)->TYPE.ave_enabled = (PARAMS)->TYPE##_meas.algo != GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE; \ + if ((TO)->TYPE.ave_enabled) { \ + /* H_REQAVE and H_REQT */ \ + (TO)->TYPE.h_reqave = (PARAMS)->TYPE##_meas.h_reqave & 0x1f; \ + (TO)->TYPE.h_reqt = (PARAMS)->TYPE##_meas.h_reqt & 0x1f; \ + /* Averaging method and parameters */ \ + (TO)->TYPE.ave_method = ((PARAMS)->TYPE##_meas.algo - 1) & 0x07; \ + switch ((PARAMS)->TYPE##_meas.algo) { \ + case GSM_PWR_CTRL_MEAS_AVG_ALGO_OSMO_EWMA: \ + msgb_v_put(msg, (PARAMS)->TYPE##_meas.ewma.alpha); \ + break; \ + case GSM_PWR_CTRL_MEAS_AVG_ALGO_WEIGHTED: \ + case GSM_PWR_CTRL_MEAS_AVG_ALGO_MOD_MEDIAN: \ + /* FIXME: unknown format */ \ + break; \ + case GSM_PWR_CTRL_MEAS_AVG_ALGO_UNWEIGHTED: \ + case GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE: \ + /* No parameters here */ \ + break; \ + } \ + } \ + } while (0) + ENC_PROC(mp, ave_cfg, ci_fr); + ENC_PROC(mp, ave_cfg, ci_hr); + ENC_PROC(mp, ave_cfg, ci_amr_fr); + ENC_PROC(mp, ave_cfg, ci_amr_hr); + ENC_PROC(mp, ave_cfg, ci_sdcch); + ENC_PROC(mp, ave_cfg, ci_gprs); +#undef ENC_PROC + + /* Update length part of the containing IE */ + *ie_len = msg->tail - (ie_len + 1); +} + static void enc_power_params(struct msgb *msg, const struct gsm_power_ctrl_params *cp) { struct ipac_preproc_pc_comp *thresh_comp; struct ipac_preproc_pc_thresh *thresh; + bool add_ci_ext; /* These parameters are valid for dynamic mode only */ OSMO_ASSERT(cp->mode == GSM_PWR_CTRL_MODE_DYN_BTS); @@ -918,6 +973,55 @@ /* Change step limitations: POWER_{INC,RED}_STEP_SIZE */ thresh_comp->inc_step_size = cp->inc_step_size_db & 0x0f; thresh_comp->red_step_size = cp->red_step_size_db & 0x0f; + + if (cp->dir == GSM_PWR_CTRL_DIR_UL) { + const struct gsm_bts *bts = container_of(cp, struct gsm_bts, ms_power_ctrl); + add_ci_ext = is_osmobts(bts); + } else { + add_ci_ext = false; + } + if (add_ci_ext) { + struct osmo_preproc_pc_thresh *osmo_thresh; + struct osmo_preproc_pc_comp *osmo_thresh_comp; + uint8_t *ie_len; + + /* (TLV) Measurement Averaging Configure (C/I) */ + enc_osmo_meas_proc_params(msg, cp); + + /* (TLV) Thresholds (C/I) */ + ie_len = msgb_tl_put(msg, RSL_IPAC_EIE_OSMO_MS_PWR_CTL); + osmo_thresh = (struct osmo_preproc_pc_thresh *) msgb_put(msg, sizeof(*osmo_thresh)); + #define ENC_THRESH_CI(TYPE) \ + osmo_thresh->l_##TYPE = cp->TYPE##_meas.lower_thresh; \ + osmo_thresh->u_##TYPE = cp->TYPE##_meas.upper_thresh + ENC_THRESH_CI(ci_fr); + ENC_THRESH_CI(ci_hr); + ENC_THRESH_CI(ci_amr_fr); + ENC_THRESH_CI(ci_amr_hr); + ENC_THRESH_CI(ci_sdcch); + ENC_THRESH_CI(ci_gprs); + #undef ENC_THRESH_CI + /* Update length part of the containing IE */ + *ie_len = msg->tail - (ie_len + 1); + + /* (TLV) PC Threshold Comparators (C/I) */ + ie_len = msgb_tl_put(msg, RSL_IPAC_EIE_OSMO_PC_THRESH_COMP); + osmo_thresh_comp = (struct osmo_preproc_pc_comp *) msgb_put(msg, sizeof(*osmo_thresh_comp)); + #define ENC_THRESH_CI(TYPE) \ + osmo_thresh_comp->TYPE.lower_p = cp->TYPE##_meas.lower_cmp_p & 0x1f; \ + osmo_thresh_comp->TYPE.lower_n = cp->TYPE##_meas.lower_cmp_n & 0x1f; \ + osmo_thresh_comp->TYPE.upper_p = cp->TYPE##_meas.upper_cmp_p & 0x1f; \ + osmo_thresh_comp->TYPE.upper_n = cp->TYPE##_meas.upper_cmp_n & 0x1f + ENC_THRESH_CI(ci_fr); + ENC_THRESH_CI(ci_hr); + ENC_THRESH_CI(ci_amr_fr); + ENC_THRESH_CI(ci_amr_hr); + ENC_THRESH_CI(ci_sdcch); + ENC_THRESH_CI(ci_gprs); + #undef ENC_THRESH_CI + /* Update length part of the containing IE */ + *ie_len = msg->tail - (ie_len + 1); + } } static void add_power_params_ie(struct msgb *msg, enum abis_rsl_ie iei, diff --git a/src/osmo-bsc/bts_vty.c b/src/osmo-bsc/bts_vty.c index 2b7b42b..e9df22f 100644 --- a/src/osmo-bsc/bts_vty.c +++ b/src/osmo-bsc/bts_vty.c @@ -3000,6 +3000,8 @@ "RxLev value (signal strength, 0 is worst, 63 is best)\n" #define POWER_CONTROL_MEAS_RXQUAL_DESC \ "RxQual value (signal quality, 0 is best, 7 is worst)\n" +#define POWER_CONTROL_MEAS_CI_DESC \ + "C/I value (Carrier-to-Interference (dB), 0 is worst, 30 is best)\n" DEFUN_USRATTR(cfg_power_ctrl_rxlev_thresh, cfg_power_ctrl_rxlev_thresh_cmd, @@ -3056,10 +3058,74 @@ return CMD_SUCCESS; } +#define VTY_CMD_CI_TYPE "(fr-efr|hr|amr-fr|amr-hr|sdcch|gprs)" +#define VTY_DESC_CI_TYPE \ + "Channel Type FR/EFR\n" \ + "Channel Type HR\n" \ + "Channel Type AMR FR\n" \ + "Channel Type AMR HR\n" \ + "Channel Type SDCCH\n" \ + "Channel Type (E)GPRS\n" +static struct gsm_power_ctrl_meas_params *ci_thresh_by_conn_type(struct gsm_power_ctrl_params *params, const char *type) +{ + if (!strcmp(type, "fr-efr")) + return ¶ms->ci_fr_meas; + if (!strcmp(type, "hr")) + return ¶ms->ci_hr_meas; + if (!strcmp(type, "amr-fr")) + return ¶ms->ci_amr_fr_meas; + if (!strcmp(type, "amr-hr")) + return ¶ms->ci_amr_hr_meas; + if (!strcmp(type, "sdcch")) + return ¶ms->ci_sdcch_meas; + if (!strcmp(type, "gprs")) + return ¶ms->ci_gprs_meas; + OSMO_ASSERT(false); + return NULL; +} + +DEFUN_USRATTR(cfg_power_ctrl_ci_thresh, + cfg_power_ctrl_ci_thresh_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + "ci-thresh " VTY_CMD_CI_TYPE " lower <0-30> upper <0-30>", + "Set target C/I thresholds (for dynamic mode), only available in ms-power-control\n" + VTY_DESC_CI_TYPE + "Lower C/I value\n" + "Lower " POWER_CONTROL_MEAS_RXQUAL_DESC + "Upper C/I value\n" + "Upper " POWER_CONTROL_MEAS_RXQUAL_DESC) +{ + struct gsm_power_ctrl_params *params = vty->index; + const char *type = argv[0]; + int lower = atoi(argv[1]); + int upper = atoi(argv[2]); + struct gsm_power_ctrl_meas_params *meas_params; + + if (params->dir != GSM_PWR_CTRL_DIR_UL) { + vty_out(vty, "%% C/I based power loop only possible in Uplink!%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (lower > upper) { + vty_out(vty, "%% Lower 'rxqual-rxqual' (%d) must be less than upper (%d)%s", + upper, lower, VTY_NEWLINE); + return CMD_WARNING; + } + + meas_params = ci_thresh_by_conn_type(params, type); + + meas_params->lower_thresh = lower; + meas_params->upper_thresh = upper; + + return CMD_SUCCESS; +} + #define POWER_CONTROL_MEAS_THRESH_COMP_CMD(meas) \ meas " lower <0-31> <0-31> upper <0-31> <0-31>" -#define POWER_CONTROL_MEAS_THRESH_COMP_DESC(meas, lp, ln, up, un) \ +#define POWER_CONTROL_MEAS_THRESH_COMP_DESC(meas, opt_param, lp, ln, up, un) \ "Set " meas " threshold comparators (for dynamic mode)\n" \ + opt_param \ "Lower " meas " threshold comparators (see 3GPP TS 45.008, A.3.2.1)\n" lp ln \ "Upper " meas " threshold comparators (see 3GPP TS 45.008, A.3.2.1)\n" up un @@ -3068,7 +3134,7 @@ X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | X(BSC_VTY_ATTR_NEW_LCHAN), POWER_CONTROL_MEAS_THRESH_COMP_CMD("rxlev-thresh-comp"), - POWER_CONTROL_MEAS_THRESH_COMP_DESC("RxLev", + POWER_CONTROL_MEAS_THRESH_COMP_DESC("RxLev",, "P1 (default 10)\n", "N1 (default 12)\n", "P2 (default 10)\n", "N2 (default 12)\n")) { @@ -3103,7 +3169,7 @@ X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | X(BSC_VTY_ATTR_NEW_LCHAN), POWER_CONTROL_MEAS_THRESH_COMP_CMD("rxqual-thresh-comp"), - POWER_CONTROL_MEAS_THRESH_COMP_DESC("RxQual", + POWER_CONTROL_MEAS_THRESH_COMP_DESC("RxQual",, "P3 (default 5)\n", "N3 (default 7)\n", "P4 (default 15)\n", "N4 (default 18)\n")) { @@ -3133,6 +3199,45 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_power_ctrl_ci_thresh_comp, + cfg_power_ctrl_ci_thresh_comp_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + POWER_CONTROL_MEAS_THRESH_COMP_CMD("ci-thresh-comp " VTY_CMD_CI_TYPE), + POWER_CONTROL_MEAS_THRESH_COMP_DESC("Carrier-to_interference (C/I)", + VTY_DESC_CI_TYPE, + "Lower P (default 5)\n", "Upper N (default 7)\n", + "Upper P (default 15)\n", "Upper N (default 18)\n")) +{ + struct gsm_power_ctrl_params *params = vty->index; + struct gsm_power_ctrl_meas_params *meas_params; + int lower_cmp_p = atoi(argv[1]); + int lower_cmp_n = atoi(argv[2]); + int upper_cmp_p = atoi(argv[3]); + int upper_cmp_n = atoi(argv[4]); + + if (lower_cmp_p > lower_cmp_n) { + vty_out(vty, "%% Lower C/I P %d must be less than N %d%s", + lower_cmp_p, lower_cmp_n, VTY_NEWLINE); + return CMD_WARNING; + } + + if (upper_cmp_p > upper_cmp_n) { + vty_out(vty, "%% Upper C/I P %d must be less than N %d%s", + lower_cmp_p, lower_cmp_n, VTY_NEWLINE); + return CMD_WARNING; + } + + meas_params = ci_thresh_by_conn_type(params, argv[0]); + + meas_params->lower_cmp_p = lower_cmp_p; + meas_params->lower_cmp_n = lower_cmp_n; + meas_params->upper_cmp_p = upper_cmp_p; + meas_params->upper_cmp_n = upper_cmp_n; + + return CMD_SUCCESS; +} + #define POWER_CONTROL_MEAS_AVG_CMD \ "(rxlev-avg|rxqual-avg)" #define POWER_CONTROL_MEAS_AVG_DESC \ @@ -3244,6 +3349,114 @@ return CMD_SUCCESS; } +/* C/I related power control measurements */ +#define POWER_CONTROL_CI_MEAS_AVG_DESC \ + "C/I (Carrier-toInterference) measurement averaging (for dynamic mode)\n" + +DEFUN_USRATTR(cfg_power_ctrl_no_ci_avg, + cfg_power_ctrl_no_ci_avg_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + "no ci-avg " VTY_CMD_CI_TYPE, + NO_STR POWER_CONTROL_CI_MEAS_AVG_DESC VTY_DESC_CI_TYPE) +{ + struct gsm_power_ctrl_params *params = vty->index; + struct gsm_power_ctrl_meas_params *avg_params; + + avg_params = ci_thresh_by_conn_type(params, argv[0]); + avg_params->algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_power_ctrl_ci_avg_params, + cfg_power_ctrl_ci_avg_params_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + "ci-avg " VTY_CMD_CI_TYPE " params hreqave <1-31> hreqt <1-31>", + POWER_CONTROL_CI_MEAS_AVG_DESC VTY_DESC_CI_TYPE + "Configure general averaging parameters\n" + "Hreqave: the period over which an average is produced\n" + "Hreqave value (so that Hreqave * Hreqt < 32)\n" + "Hreqt: the number of averaged results that are maintained\n" + "Hreqt value (so that Hreqave * Hreqt < 32)\n") +{ + struct gsm_power_ctrl_params *params = vty->index; + struct gsm_power_ctrl_meas_params *avg_params; + int h_reqave = atoi(argv[1]); + int h_reqt = atoi(argv[2]); + + if (h_reqave * h_reqt > 31) { + vty_out(vty, "%% Hreqave (%d) * Hreqt (%d) = %d must be < 32%s", + h_reqave, h_reqt, h_reqave * h_reqt, VTY_NEWLINE); + return CMD_WARNING; + } + + avg_params = ci_thresh_by_conn_type(params, argv[0]); + avg_params->h_reqave = h_reqave; + avg_params->h_reqt = h_reqt; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_power_ctrl_ci_avg_algo, + cfg_power_ctrl_ci_avg_algo_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + /* FIXME: add algorithm specific parameters */ + "ci-avg " VTY_CMD_CI_TYPE " algo (unweighted|weighted|mod-median)", + POWER_CONTROL_CI_MEAS_AVG_DESC VTY_DESC_CI_TYPE + "Select the averaging algorithm\n" + "Un-weighted average\n" "Weighted average\n" + "Modified median calculation\n") +{ + struct gsm_power_ctrl_params *params = vty->index; + struct gsm_power_ctrl_meas_params *avg_params; + + avg_params = ci_thresh_by_conn_type(params, argv[0]); + if (strcmp(argv[1], "unweighted") == 0) + avg_params->algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_UNWEIGHTED; + else if (strcmp(argv[1], "weighted") == 0) + avg_params->algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_WEIGHTED; + else if (strcmp(argv[1], "mod-median") == 0) + avg_params->algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_MOD_MEDIAN; + + return CMD_SUCCESS; +} + +DEFUN_USRATTR(cfg_power_ctrl_ci_avg_osmo_ewma, + cfg_power_ctrl_ci_avg_osmo_ewma_cmd, + X(BSC_VTY_ATTR_VENDOR_SPECIFIC) | + X(BSC_VTY_ATTR_NEW_LCHAN), + "ci-avg " VTY_CMD_CI_TYPE " algo osmo-ewma beta <1-99>", + POWER_CONTROL_CI_MEAS_AVG_DESC VTY_DESC_CI_TYPE + "Select the averaging algorithm\n" + "Exponentially Weighted Moving Average (EWMA)\n" + "Smoothing factor (in %): beta = (100 - alpha)\n" + "1% - lowest smoothing, 99% - highest smoothing\n") +{ + struct gsm_power_ctrl_params *params = vty->index; + struct gsm_power_ctrl_meas_params *avg_params; + const struct gsm_bts *bts; + + if (params->dir == GSM_PWR_CTRL_DIR_UL) + bts = container_of(params, struct gsm_bts, ms_power_ctrl); + else + bts = container_of(params, struct gsm_bts, bs_power_ctrl); + + if (bts->type != GSM_BTS_TYPE_OSMOBTS) { + vty_out(vty, "%% EWMA is an OsmoBTS specific algorithm, " + "it's not usable for other BTS types%s", VTY_NEWLINE); + return CMD_WARNING; + } + + avg_params = ci_thresh_by_conn_type(params, argv[0]); + avg_params->algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_OSMO_EWMA; + avg_params->ewma.alpha = 100 - atoi(argv[1]); + + return CMD_SUCCESS; +} + static void vty_out_neigh_list(struct vty *vty, struct bitvec *bv) { int count = 0; @@ -3619,31 +3832,14 @@ vty_out(vty, "%*s" fmt, indent, "", ##args); static void config_write_power_ctrl_meas(struct vty *vty, unsigned int indent, - const struct gsm_power_ctrl_params *cp, - uint8_t ptype) + const struct gsm_power_ctrl_meas_params *mp, + const char *param, const char *param2) { - const struct gsm_power_ctrl_meas_params *mp; - const char *param; - - switch (ptype) { - case IPAC_RXLEV_AVE: - mp = &cp->rxlev_meas; - param = "rxlev"; - break; - case IPAC_RXQUAL_AVE: - mp = &cp->rxqual_meas; - param = "rxqual"; - break; - default: - /* Shall not happen */ - OSMO_ASSERT(0); - } - - cfg_out("%s-thresh lower %u upper %u%s", - param, mp->lower_thresh, mp->upper_thresh, + cfg_out("%s-thresh%s lower %u upper %u%s", + param, param2, mp->lower_thresh, mp->upper_thresh, VTY_NEWLINE); - cfg_out("%s-thresh-comp lower %u %u upper %u %u%s", - param, mp->lower_cmp_p, mp->lower_cmp_n, + cfg_out("%s-thresh-comp%s lower %u %u upper %u %u%s", + param, param2, mp->lower_cmp_p, mp->lower_cmp_n, mp->upper_cmp_p, mp->upper_cmp_n, VTY_NEWLINE); @@ -3652,23 +3848,23 @@ /* Do not print any averaging parameters */ return; /* we're done */ case GSM_PWR_CTRL_MEAS_AVG_ALGO_UNWEIGHTED: - cfg_out("%s-avg algo unweighted%s", param, VTY_NEWLINE); + cfg_out("%s-avg%s algo unweighted%s", param, param2, VTY_NEWLINE); break; case GSM_PWR_CTRL_MEAS_AVG_ALGO_WEIGHTED: - cfg_out("%s-avg algo weighted%s", param, VTY_NEWLINE); + cfg_out("%s-avg%s algo weighted%s", param, param2, VTY_NEWLINE); break; case GSM_PWR_CTRL_MEAS_AVG_ALGO_MOD_MEDIAN: - cfg_out("%s-avg algo mod-median%s", param, VTY_NEWLINE); + cfg_out("%s-avg%s algo mod-median%s", param, param2, VTY_NEWLINE); break; case GSM_PWR_CTRL_MEAS_AVG_ALGO_OSMO_EWMA: - cfg_out("%s-avg algo osmo-ewma beta %u%s", - param, 100 - mp->ewma.alpha, + cfg_out("%s-avg%s algo osmo-ewma beta %u%s", + param, param2, 100 - mp->ewma.alpha, VTY_NEWLINE); break; } - cfg_out("%s-avg params hreqave %u hreqt %u%s", - param, mp->h_reqave, mp->h_reqt, + cfg_out("%s-avg%s params hreqave %u hreqt %u%s", + param, param2, mp->h_reqave, mp->h_reqt, VTY_NEWLINE); } @@ -3705,8 +3901,14 @@ VTY_NEWLINE); /* Measurement processing / averaging parameters */ - config_write_power_ctrl_meas(vty, indent + 1, cp, IPAC_RXLEV_AVE); - config_write_power_ctrl_meas(vty, indent + 1, cp, IPAC_RXQUAL_AVE); + config_write_power_ctrl_meas(vty, indent + 1, &cp->rxlev_meas, "rxlev", ""); + config_write_power_ctrl_meas(vty, indent + 1, &cp->rxqual_meas, "rxqual", ""); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_fr_meas, "ci", " fr"); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_hr_meas, "ci", " hr"); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_amr_fr_meas, "ci", " amr-fr"); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_amr_hr_meas, "ci", " amr-hr"); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_sdcch_meas, "ci", " sdcch"); + config_write_power_ctrl_meas(vty, indent + 1, &cp->ci_gprs_meas, "ci", " gprs"); break; } } @@ -4199,12 +4401,18 @@ install_element(POWER_CTRL_NODE, &cfg_power_ctrl_step_size_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxqual_thresh_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxlev_thresh_comp_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_rxqual_thresh_comp_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_thresh_comp_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_no_avg_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_params_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_algo_cmd); install_element(POWER_CTRL_NODE, &cfg_power_ctrl_avg_osmo_ewma_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_no_ci_avg_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_avg_params_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_avg_algo_cmd); + install_element(POWER_CTRL_NODE, &cfg_power_ctrl_ci_avg_osmo_ewma_cmd); return bts_trx_vty_init(); diff --git a/src/osmo-bsc/gsm_data.c b/src/osmo-bsc/gsm_data.c index e976a5b..2fb98dd 100644 --- a/src/osmo-bsc/gsm_data.c +++ b/src/osmo-bsc/gsm_data.c @@ -1189,6 +1189,72 @@ /* Hreqt: the number of averaged results maintained */ .h_reqt = 6, /* TODO: investigate a reasonable default value */ }, + + /* C/I measurement parameters. + * Target C/I retrieved from "GSM/EDGE: Evolution and Performance" Table 10.3. + * Set lower and upper so that (lower + upper) / 2 is equal or slightly + * above the target. + */ + .ci_fr_meas = { /* Target C/I = 15 dB, Soft blocking threshold = 10 dB */ + .lower_thresh = 13, + .upper_thresh = 17, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, + .ci_hr_meas = { /* Target C/I = 18 dB, Soft blocking threshold = 13 dB */ + .lower_thresh = 16, + .upper_thresh = 21, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, + .ci_amr_fr_meas = { /* Target C/I = 9 dB, Soft blocking threshold = 4 dB */ + .lower_thresh = 7, + .upper_thresh = 11, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, + .ci_amr_hr_meas = { /* Target C/I = 15 dB, Soft blocking threshold = 10 dB */ + .lower_thresh = 13, + .upper_thresh = 17, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, + .ci_sdcch_meas = { /* Target C/I = 14 dB, Soft blocking threshold = 9 dB */ + .lower_thresh = 12, + .upper_thresh = 16, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, + .ci_gprs_meas = { /* Target C/I = 20 dB, Soft blocking threshold = 15 dB */ + .lower_thresh = 18, + .upper_thresh = 24, + /* FIXME: C/I averaging is not yet implemented */ + .algo = GSM_PWR_CTRL_MEAS_AVG_ALGO_NONE, + /* Hreqave: the period over which an average is produced */ + .h_reqave = 4, /* TODO: investigate a reasonable default value */ + /* Hreqt: the number of averaged results maintained */ + .h_reqt = 6, /* TODO: investigate a reasonable default value */ + }, }; enum rsl_cmod_spd chan_mode_to_rsl_cmod_spd(enum gsm48_chan_mode chan_mode) diff --git a/tests/power_ctrl.vty b/tests/power_ctrl.vty index ff387ce..4760114 100644 --- a/tests/power_ctrl.vty +++ b/tests/power_ctrl.vty @@ -33,12 +33,18 @@ . lv step-size inc <2-6> red <2-4> . lv rxlev-thresh lower <0-63> upper <0-63> . lv rxqual-thresh lower <0-7> upper <0-7> + . lv ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-30> upper <0-30> . lv rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31> . lv rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31> + . lv ci-thresh-comp (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-31> <0-31> upper <0-31> <0-31> . lv no (rxlev-avg|rxqual-avg) . lv (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31> . lv (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median) . lv (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99> + . lv no ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) params hreqave <1-31> hreqt <1-31> + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo (unweighted|weighted|mod-median) + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo osmo-ewma beta <1-99> OsmoBSC(config-bs-power-ctrl)# bs-power ? static Fixed BS Power reduction value (for static mode) @@ -69,6 +75,18 @@ rxlev-thresh-comp lower 10 12 upper 19 20 rxqual-thresh lower 3 upper 0 rxqual-thresh-comp lower 5 7 upper 15 18 + ci-thresh fr lower 13 upper 17 + ci-thresh-comp fr lower 0 0 upper 0 0 + ci-thresh hr lower 16 upper 21 + ci-thresh-comp hr lower 0 0 upper 0 0 + ci-thresh amr-fr lower 7 upper 11 + ci-thresh-comp amr-fr lower 0 0 upper 0 0 + ci-thresh amr-hr lower 13 upper 17 + ci-thresh-comp amr-hr lower 0 0 upper 0 0 + ci-thresh sdcch lower 12 upper 16 + ci-thresh-comp sdcch lower 0 0 upper 0 0 + ci-thresh gprs lower 18 upper 24 + ci-thresh-comp gprs lower 0 0 upper 0 0 ms-power-control mode dyn-bts ... @@ -104,12 +122,18 @@ . lv step-size inc <2-6> red <2-4> . lv rxlev-thresh lower <0-63> upper <0-63> . lv rxqual-thresh lower <0-7> upper <0-7> + . lv ci-thresh (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-30> upper <0-30> . lv rxlev-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31> . lv rxqual-thresh-comp lower <0-31> <0-31> upper <0-31> <0-31> + . lv ci-thresh-comp (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) lower <0-31> <0-31> upper <0-31> <0-31> . lv no (rxlev-avg|rxqual-avg) . lv (rxlev-avg|rxqual-avg) params hreqave <1-31> hreqt <1-31> . lv (rxlev-avg|rxqual-avg) algo (unweighted|weighted|mod-median) . lv (rxlev-avg|rxqual-avg) algo osmo-ewma beta <1-99> + . lv no ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) params hreqave <1-31> hreqt <1-31> + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo (unweighted|weighted|mod-median) + . lv ci-avg (fr-efr|hr|amr-fr|amr-hr|sdcch|gprs) algo osmo-ewma beta <1-99> OsmoBSC(config-ms-power-ctrl)# ### Check default MS Power Parameters OsmoBSC(config-ms-power-ctrl)# show running-config -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e76ec47b323d469f777624b74b08752d1f5584f Gerrit-Change-Number: 25298 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:23:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 19:23:29 +0000 Subject: Change in libosmocore[master]: gsm_08_58.h: Extend IPA Power Control Params IEs to pass C/I params References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25299 ) Change subject: gsm_08_58.h: Extend IPA Power Control Params IEs to pass C/I params ...................................................................... gsm_08_58.h: Extend IPA Power Control Params IEs to pass C/I params This commit adds new Osmocom specific IEs required to pass C/I related Power Control Parameters osmo-bsc => osmo-bts to be used by the MS Power Control Loop being implemented. Related: SYS#4917 Change-Id: Iffef0611430ad6c90606149c398d80158633bbca --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 72 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/99/25299/1 diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 9f80816..141c95f 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -793,8 +793,14 @@ RSL_IPAC_EIE_SDCCH_CTL_PARAM = 0x1a, RSL_IPAC_EIE_AMR_CONV_THRESH = 0x1b, + /* Osmocom specific extensions: */ + RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG = 0xf0, + RSL_IPAC_EIE_OSMO_MS_PWR_CTL = 0xf1, + RSL_IPAC_EIE_OSMO_PC_THRESH_COMP = 0xf2, + }; +/* Value of TLV IE RSL_IPAC_EIE_MEAS_AVG_CFG */ struct ipac_preproc_ave_cfg { #if OSMO_IS_LITTLE_ENDIAN uint8_t h_reqave:5, @@ -811,7 +817,32 @@ #endif }__attribute__ ((packed)); -/*! MS/BS Power Control Thresholds */ + +struct osmo_preproc_ave_cfg_field { +#if OSMO_IS_LITTLE_ENDIAN + uint8_t h_reqave:5, + ave_enabled:1, + reserved:2; + uint8_t h_reqt:5, + ave_method:3; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t reserved:2, ave_enabled:1, h_reqave:5; + uint8_t ave_method:3, h_reqt:5; +#endif +}__attribute__ ((packed)); +/* Value of TLV IE RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG: */ +struct osmo_preproc_ave_cfg { + struct osmo_preproc_ave_cfg_field ci_fr; + struct osmo_preproc_ave_cfg_field ci_hr; + struct osmo_preproc_ave_cfg_field ci_amr_fr; + struct osmo_preproc_ave_cfg_field ci_amr_hr; + struct osmo_preproc_ave_cfg_field ci_sdcch; + struct osmo_preproc_ave_cfg_field ci_gprs; + uint8_t params[0]; /* Contains params for each above, appended one after the other */ +}__attribute__ ((packed)); + +/*! MS/BS Power Control Thresholds (RSL_IPAC_EIE_MS_PWR_CTL) */ struct ipac_preproc_pc_thresh { #if OSMO_IS_LITTLE_ENDIAN uint8_t l_rxlev:6, reserved_l_rxlev:2; @@ -826,6 +857,17 @@ #endif }__attribute__ ((packed)); +/*! Osmocom extension for: MS/BS Power Control Thresholds (RSL_IPAC_EIE_OSMO_MS_PWR_CTL) */ +struct osmo_preproc_pc_thresh { + /* Carrier-to-Interference (C/I), in dB: */ + int8_t l_ci_fr; int8_t u_ci_fr; /* FR/EFR */ + int8_t l_ci_hr; int8_t u_ci_hr; /* HR */ + int8_t l_ci_amr_fr; int8_t u_ci_amr_fr; /* AMR FR */ + int8_t l_ci_amr_hr; int8_t u_ci_amr_hr; /* AMR HR */ + int8_t l_ci_sdcch; int8_t u_ci_sdcch; /* SDCCH */ + int8_t l_ci_gprs; int8_t u_ci_gprs; /* GPRS */ +}__attribute__ ((packed)); + /*! Handover Thresholds */ struct ipac_preproc_ho_thresh { #if OSMO_IS_LITTLE_ENDIAN @@ -854,7 +896,7 @@ #endif }__attribute__ ((packed)); -/*! PC Threshold Comparators */ +/*! PC Threshold Comparators (RSL_IPAC_EIE_PC_THRESH_COMP) */ struct ipac_preproc_pc_comp { #if OSMO_IS_LITTLE_ENDIAN uint8_t p1:5, reserved_p1:3; @@ -881,6 +923,30 @@ #endif }__attribute__ ((packed)); +/*! Osmocom extension for: PC Threshold Comparators (RSL_IPAC_EIE_OSMO_PC_THRESH_COMP) */ +struct ipac_preproc_pc_comp_field { + #if OSMO_IS_LITTLE_ENDIAN + uint8_t lower_p:5, reserved_lower_p:3; + uint8_t lower_n:5, reserved_lower_n:3; + uint8_t upper_p:5, reserved_upper_p:3; + uint8_t upper_n:5, reserved_upper_n:3; + #elif OSMO_IS_BIG_ENDIAN + uint8_t reserved_lower_p:3, lower_p:5; + uint8_t reserved_lower_n:3, lower_n:5; + uint8_t reserved_upper_p:3, upper_p:5; + uint8_t reserved_upper_n:3, upper_n:5; + #endif +}__attribute__ ((packed)); +struct osmo_preproc_pc_comp { + /* Used for Carrier-to-Interference (C/I), in dB: */ + struct ipac_preproc_pc_comp_field ci_fr; + struct ipac_preproc_pc_comp_field ci_hr; + struct ipac_preproc_pc_comp_field ci_amr_fr; + struct ipac_preproc_pc_comp_field ci_amr_hr; + struct ipac_preproc_pc_comp_field ci_sdcch; + struct ipac_preproc_pc_comp_field ci_gprs; +}__attribute__ ((packed)); + /*! HO Threshold Comparators */ struct ipac_preproc_ho_comp { #if OSMO_IS_LITTLE_ENDIAN diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index a7fa81d..1d74de8 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -620,6 +620,10 @@ [RSL_IPAC_EIE_3G_NCELL_LIST] = { TLV_TYPE_TLV }, [RSL_IPAC_EIE_SDCCH_CTL_PARAM] = { TLV_TYPE_TV }, [RSL_IPAC_EIE_AMR_CONV_THRESH] = { TLV_TYPE_FIXED, 9 }, + /* Osmocom extensions: */ + [RSL_IPAC_EIE_OSMO_MEAS_AVG_CFG]= { TLV_TYPE_TLV }, + [RSL_IPAC_EIE_OSMO_MS_PWR_CTL] = { TLV_TYPE_TLV }, + [RSL_IPAC_EIE_OSMO_PC_THRESH_COMP]= { TLV_TYPE_TLV }, }, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iffef0611430ad6c90606149c398d80158633bbca Gerrit-Change-Number: 25299 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:25:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:25:47 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:25:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:26:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:26:03 +0000 Subject: Change in libosmocore[master]: gsm0503_coding: use ahs tables when encoding ahs codec id In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25293 ) Change subject: gsm0503_coding: use ahs tables when encoding ahs codec id ...................................................................... Patch Set 1: would this be a candidate for a back-port to latest? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id250b2102ac79ff222bd3ad9d1abc4b60abdd12b Gerrit-Change-Number: 25293 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:26:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:26:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 31 Aug 2021 19:26:37 +0000 Subject: Change in osmo-bsc[master]: WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/25298 to look at the new patch set (#2). Change subject: WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop ...................................................................... WIP: Support set up of C/I parameters for osmo-bts MS Power Control Loop This commit extends existing VTY and RSL infrastructure to configure and manage MS Power Parameters used in MS Power Control loop, by adding support to set up Carrier-to-Interference (CI) parameters. Using C/I instead of existing RxQual is preferred due to extended granularity of C/I (bigger range than RxQual's 0-7). Furthermore, existing literature (such as "GSM/EDGE: Evolution and Performance" Table 10.3) provides detailed information about expected target values, even different values for different channel types. Hence, it was decided to support setting different MS Power Parameters for different channel types. These MS Power Parameters are Osmocom specific, ie. supported only by newish versions of osmo-bts. Older versions of osmo-bts should ignore the new IEs added just fine. The new IEs containing the MS POwer Parameters are not send for non osmo-bts BTSs, hence this commit is secure with regards to running osmo-bsc against an ip.access BTS such as nanoBTS. TODO: Update user manual!!!! Related: SYS#4917 Depends: libosmocore.git Change-Id Iffef0611430ad6c90606149c398d80158633bbca Change-Id: I7e76ec47b323d469f777624b74b08752d1f5584f --- M TODO-RELEASE M doc/manuals/chapters/power_control.adoc M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/bts_vty.c M src/osmo-bsc/gsm_data.c M tests/power_ctrl.vty 7 files changed, 447 insertions(+), 35 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/98/25298/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I7e76ec47b323d469f777624b74b08752d1f5584f Gerrit-Change-Number: 25298 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:26:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:26:58 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: do not use cmr as ft In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25295 ) Change subject: sched_lchan_tch_x: do not use cmr as ft ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bts/+/25295/1//COMMIT_MSG at 9 PS1, Line 9: When the AMR voice frame that is received from the MS via the radio > Ack. Something is wrong here. likely just the 'that' needs removal. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bb10ff3c76f67b9830787497653b546cf27fe8e Gerrit-Change-Number: 25295 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:26:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: fixeria Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:35:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:35:02 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use functions to determine AMR tranmssion phase In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25296 ) Change subject: sched_lchan_tch_x: use functions to determine AMR tranmssion phase ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_lchan_tchf.c File src/osmo-bts-trx/sched_lchan_tchf.c: https://gerrit.osmocom.org/c/osmo-bts/+/25296/1/src/osmo-bts-trx/sched_lchan_tchf.c at 470 PS1, Line 470: LOGL1SB(DL1P, LOGL_NOTICE, l1ts, br, "Codec (FT = %d) " > Shouldn't we keep sending with the older type until we can change it? I'd expect the received to acc [?] I don't understand this code in general, even the current one. We as an RTP capable BTS cannot influence at all what codec mode is transmitted in downlink. We may receive a CMR from the MS, and we pass that on in the CMR header of the uplink RTP frames. It is up to the sender/encoder of that RTP to then start generating the proper requested codec mode and start sending that. The BTS is not generating/encoding the AMR, it merely relays AMR frames from Abis/RTP to Um and vice-versa. On the Um interface we only have either CMR or CMI [depending on FN] and we can only signal a subset of up to four codec modes from the set. On the RTP side every frame has CMI (== FT) and CMR, and we can express any of the AMR modes. Can anyone explain to me what is happening here in this code and why? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I94a934a6b3b397b4cd0e9da3577325de58814335 Gerrit-Change-Number: 25296 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:35:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:35:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:35:38 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25297 ) Change subject: sched_lchan_tch_x: use ul_cmr and ul_ft when generating RTP bad frame ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ifa009819791cf7df2dd8201f442b0dae06f622a4 Gerrit-Change-Number: 25297 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:35:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:48:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:48:13 +0000 Subject: Change in osmo-bts[master]: rsl: parse temporary overpower value RSL CHAN ACT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25285 ) Change subject: rsl: parse temporary overpower value RSL CHAN ACT ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I426c2510865c4a986c68f2027cc676aaac0d8a4c Gerrit-Change-Number: 25285 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:48:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:48:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:48:28 +0000 Subject: Change in osmo-bts[master]: rsl: simplfy parse_repeated_acch_capability In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/25288 ) Change subject: rsl: simplfy parse_repeated_acch_capability ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/25288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I6bde1b9df50fdf355e768f5066e86422238b98e9 Gerrit-Change-Number: 25288 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:48:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:53:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:53:02 +0000 Subject: Change in osmo-bsc[master]: bty_vty: add VTY settungs for temporary overpower In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/25283 ) Change subject: bty_vty: add VTY settungs for temporary overpower ...................................................................... Patch Set 2: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/25283/2/src/osmo-bsc/abis_rsl.c File src/osmo-bsc/abis_rsl.c: https://gerrit.osmocom.org/c/osmo-bsc/+/25283/2/src/osmo-bsc/abis_rsl.c at 563 PS2, Line 563: cap = (struct abis_rsl_osmo_temp_ovp_acch_cap *)msg->tail; you are getting a pointer to the end of the used part of the message buffer. this basically is where you will store the TAG in the line below. so now you have a pointer to the TAG but later dereference it as a struct and set it to 0. There's a reason why meddling with msgb "internal" pointers is mostly not a good idea. Application code should only use the provided functions, macros and return values. I think the proper approach here is to copy your bts->temporary_overpower to a local stack variable, and then set that to 0 or not _before_ the msgb_tlv_put -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/25283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I488a91bb4ed86f630db56564a0cd293f39f0f690 Gerrit-Change-Number: 25283 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 31 Aug 2021 19:53:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:53:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:53:18 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25287 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 Gerrit-Change-Number: 25287 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:53:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:53:33 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25286 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 Gerrit-Change-Number: 25286 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 31 Aug 2021 19:53:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:03 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 19:54:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:25 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 31 Aug 2021 19:54:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:28 +0000 Subject: Change in libosmocore[master]: rsl: add new RSL IE to signal temporary overpower In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25281 ) Change subject: rsl: add new RSL IE to signal temporary overpower ...................................................................... rsl: add new RSL IE to signal temporary overpower To transfer the temporary overpower value from the BSC to the BTS, a new RSL IE (RSL_IE_OSMO_TOP_ACCH_CAP) is added. Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Related: SYS#5319 --- M include/osmocom/gsm/protocol/gsm_08_58.h M src/gsm/rsl.c 2 files changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 9f80816..0182d8d 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -139,6 +139,11 @@ #endif } __attribute__ ((packed)); +/* Osmocom specific IE to negotiate temporary overpower of ACCH channels */ +struct abis_rsl_osmo_temp_ovp_acch_cap { + uint8_t overpower_db; +} __attribute__ ((packed)); + /* Chapter 9.1 */ /* RSL Message Discriminator: RLL */ #define ABIS_RSL_MDISC_RLL 0x02 @@ -362,6 +367,7 @@ /* Osmocom specific */ RSL_IE_OSMO_REP_ACCH_CAP= 0x60, RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, + RSL_IE_OSMO_TEMP_OVP_ACCH_CAP = 0x62, /* ip.access */ RSL_IE_IPAC_SRTP_CONFIG = 0xe0, diff --git a/src/gsm/rsl.c b/src/gsm/rsl.c index a7fa81d..e3b21e6 100644 --- a/src/gsm/rsl.c +++ b/src/gsm/rsl.c @@ -128,6 +128,7 @@ [RSL_IE_SIEMENS_MRPCI] = { TLV_TYPE_TV }, [RSL_IE_OSMO_REP_ACCH_CAP] = { TLV_TYPE_TLV }, [RSL_IE_OSMO_TRAINING_SEQUENCE] = { TLV_TYPE_TLV }, + [RSL_IE_OSMO_TEMP_OVP_ACCH_CAP] = { TLV_TYPE_TLV }, [RSL_IE_IPAC_PROXY_UDP] = { TLV_TYPE_FIXED, 2 }, [RSL_IE_IPAC_BSCMPL_TOUT] = { TLV_TYPE_TV }, [RSL_IE_IPAC_REMOTE_IP] = { TLV_TYPE_FIXED, 4 }, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I31c5be4bceb9140d63ab8e2f197f0acc68699426 Gerrit-Change-Number: 25281 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:29 +0000 Subject: Change in libosmocore[master]: bts_features: Add new feature to indicate support for temporary overp... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25282 ) Change subject: bts_features: Add new feature to indicate support for temporary overpower ...................................................................... bts_features: Add new feature to indicate support for temporary overpower To indicate to the BSC that a BTS supports temporary overpower of SACCH/FACCH channels a new feature BTS_FEAT_ACCH_TOP is added. Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Related: SYS#5319 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index 42e1934..54f17ed 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -32,6 +32,7 @@ BTS_FEAT_ABIS_OSMO_PCU, /* BTS supports forwarding data to PCUIF over IPA OML multiplex */ BTS_FEAT_BCCH_POWER_RED, BTS_FEAT_DYN_TS_SDCCH8, /* Osmo Dynamic TS supports configured as SDCCH8 */ + BTS_FEAT_ACCH_TEMP_OVP, /* FACCH/SACCH Temporary overpower */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index ecb5700..614758b 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -47,6 +47,7 @@ { BTS_FEAT_ABIS_OSMO_PCU, "OsmoPCU over OML link IPA multiplex" }, { BTS_FEAT_BCCH_POWER_RED, "BCCH carrier power reduction mode" }, { BTS_FEAT_DYN_TS_SDCCH8, "Dynamic Timeslot configuration as SDCCH8" }, + { BTS_FEAT_ACCH_TEMP_OVP, "FACCH/SACCH Temporary overpower" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62fbfc30acd5d67b20727b75a8f256e6b5d31e06 Gerrit-Change-Number: 25282 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:29 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25286 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... gsm_08_58: fix sourcecode formatting struct abis_rsl_osmo_rep_acch_cap has an indentation level that is too deep. Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 12 insertions(+), 12 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 0182d8d..5713a0f 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -123,19 +123,19 @@ /* Osmocom specific IE to negotiate repeated ACCH capabilities */ struct abis_rsl_osmo_rep_acch_cap { #if OSMO_IS_BIG_ENDIAN - uint8_t reserved:1, - rxqual:3, - ul_sacch:1, - dl_sacch:1, - dl_facch_all:1, - dl_facch_cmd:1; + uint8_t reserved:1, + rxqual:3, + ul_sacch:1, + dl_sacch:1, + dl_facch_all:1, + dl_facch_cmd:1; #elif OSMO_IS_LITTLE_ENDIAN - uint8_t dl_facch_cmd:1, - dl_facch_all:1, - dl_sacch:1, - ul_sacch:1, - rxqual:3, - reserved:1; + uint8_t dl_facch_cmd:1, + dl_facch_all:1, + dl_sacch:1, + ul_sacch:1, + rxqual:3, + reserved:1; #endif } __attribute__ ((packed)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie15feac75d1aa4fe5e5e237b14119addf09e5d77 Gerrit-Change-Number: 25286 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Aug 31 19:54:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 31 Aug 2021 19:54:29 +0000 Subject: Change in libosmocore[master]: gsm_08_58: fix sourcecode formatting In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/25287 ) Change subject: gsm_08_58: fix sourcecode formatting ...................................................................... gsm_08_58: fix sourcecode formatting Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 --- M include/osmocom/gsm/protocol/gsm_08_58.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h index 5713a0f..e4e90ed 100644 --- a/include/osmocom/gsm/protocol/gsm_08_58.h +++ b/include/osmocom/gsm/protocol/gsm_08_58.h @@ -365,7 +365,7 @@ RSL_IE_SIEMENS_SUGGESTED_RATE = 0x4f, /* Osmocom specific */ - RSL_IE_OSMO_REP_ACCH_CAP= 0x60, + RSL_IE_OSMO_REP_ACCH_CAP = 0x60, RSL_IE_OSMO_TRAINING_SEQUENCE = 0x61, RSL_IE_OSMO_TEMP_OVP_ACCH_CAP = 0x62, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia58c25441911d6f872a8ec5664c71e56ad895f97 Gerrit-Change-Number: 25287 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: