Attention is currently required from: osmith, fixeria, pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/28237 )
Change subject: tlv_parser: add tlv_parse_order
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
(posting again what i wrote on the other patch)
tlv_parse() is API that optimizes for random-access to specific IEs.
This patch adds more API that is intended for using the random-access API
in a sequential manner.
IMHO it makes more sense for a sequential use case to directly use
tlv_parse_one() in a loop.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28237
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I3caa15666f2dde9ee02182a89edc5daa70e8c3fc
Gerrit-Change-Number: 28237
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 08 Jun 2022 11:02:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
Attention is currently required from: osmith, laforge, pespin, fixeria.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712 )
Change subject: Add subscr_conn_fsm
......................................................................
Patch Set 5:
(2 comments)
File src/osmo-bsc-nat/bssap_conn.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712/comment/ba4f9ca7_879604ff
PS4, Line 47: uint8_t tag = tag_order[i];
above we traverse the TLV structure once to store tlv_parsed entries.
tlv_parsed entries are good for "random access", find a specific IE.
Then we traverse the TLV again to store the tags in their order,
caching in an array. Then we iterate the array again, which is sort
of identical to traversing the TLV data itself.
it seems to me that it makes more sense to not use tlv_parse() at all,
but only do tlv_parse_one() and tlv_encode_one() in this loop.
Then we don't need to use a random-access API for sequential access.
Hence not needing new libosmocore API.
I guess this doesn't really affect performance in a noticeable way,
making it a bikeshed of sorts?
File src/osmo-bsc-nat/subscr_conn_fsm.c:
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712/comment/1e317dc8_1f245e32
PS2, Line 351: ,
> Neels invented this, but I like how it's diff friendly :)
exactly, and it's also editing friendly
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I7e491aada6f5db0eb35ef2039869c6ba07f9ca3b
Gerrit-Change-Number: 27712
Gerrit-PatchSet: 5
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 08 Jun 2022 10:58:03 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: osmith <osmith(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: neels, laforge, fixeria.
Hello Jenkins Builder, neels, laforge, fixeria, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712
to look at the new patch set (#5).
Change subject: Add subscr_conn_fsm
......................................................................
Add subscr_conn_fsm
Insert the BSCNAT's MGW into phone calls by replacing the AoIP
transport layer address IE inside BSSMAP Assignment Request and
Assignment Confirm. Accomplish this with a new subscr_conn_fsm that
parses and stores the original ass_req / ass_conf messages, communicates
with the BSCNAT MGW, and then creates new ass_req / ass_conf messages
based on the original ones but with new RTP information.
With this patch it is possible to do a successful voice call with the
following network:
MS1 --- BTS1 --- BSC1 --.
| | BSCNAT ----------- MSC
| | | | |
'-- MGW-BSC1 --|-- MGW-BSCNAT --- MGW-MSC
| |
MS2 --- BTS2 --- BSC2 --' |
| | |
'-- MGW-BSC2 ------'
Depends: libosmocore I3caa15666f2dde9ee02182a89edc5daa70e8c3fc
Related: SYS#5560
Related: https://osmocom.org/projects/osmo-bscnat/wiki/Ladder_diagrams_for_key_proce…
Change-Id: I7e491aada6f5db0eb35ef2039869c6ba07f9ca3b
---
M include/osmocom/bsc_nat/Makefile.am
M include/osmocom/bsc_nat/bsc_nat.h
M include/osmocom/bsc_nat/bssap.h
M include/osmocom/bsc_nat/subscr_conn.h
A include/osmocom/bsc_nat/subscr_conn_fsm.h
M src/osmo-bsc-nat/Makefile.am
M src/osmo-bsc-nat/bssap_conn.c
M src/osmo-bsc-nat/subscr_conn.c
A src/osmo-bsc-nat/subscr_conn_fsm.c
9 files changed, 772 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc-nat refs/changes/12/27712/5
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc-nat/+/27712
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc-nat
Gerrit-Branch: master
Gerrit-Change-Id: I7e491aada6f5db0eb35ef2039869c6ba07f9ca3b
Gerrit-Change-Number: 27712
Gerrit-PatchSet: 5
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset