diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2022-12-04 13:12:09 +0100 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2023-01-15 19:01:00 +0100 |
commit | 32a208781a04b314627c7195b6e73e01c1c1e41f (patch) | |
tree | 429394227a0b0c8fa2b93c7c15e1db629ac7a510 | |
parent | 917454dd9c5e79b45e12b7654d259eff76fea6e4 (diff) |
Remove mISDN header from received channel data
Change-Id: I37f12baa1013cd1cfc6f6531b132669071eec926
-rw-r--r-- | src/input/misdn.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/input/misdn.c b/src/input/misdn.c index 5f6dd62..5d47a79 100644 --- a/src/input/misdn.c +++ b/src/input/misdn.c @@ -372,9 +372,10 @@ static int handle_tsX_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN); LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* the number of bytes received indicates that data to send */ handle_tsX_write(bfd, msgb_l2len(msg)); return e1inp_rx_ts(e1i_ts, msg, 0, 0); @@ -454,9 +455,10 @@ static int handle_ts_raw_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN); LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); /* the number of bytes received indicates that data to send */ handle_ts_raw_write(bfd, msgb_l2len(msg)); return e1inp_rx_ts(e1i_ts, msg, 0, 0); @@ -539,9 +541,11 @@ static int handle_ts_hdlc_read(struct osmo_fd *bfd) switch (hh->prim) { case PH_DATA_IND: - msg->l2h = msg->data + MISDN_HEADER_LEN; + /* remove the Misdn Header */ + msgb_pull(msg, MISDN_HEADER_LEN); + msg->l2h = msg->data; LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "HDLC CHAN RX: %s\n", - osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN)); + osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); return e1inp_rx_ts(e1i_ts, msg, 0, 0); case PH_ACTIVATE_IND: break; |