jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/31035 )
Change subject: Use correct bit order of RAW channels at misdn driver ......................................................................
Use correct bit order of RAW channels at misdn driver
mISDN Kernel driver uses reversed bit order for RAW (transparent) chanenls. With this patch, the order is reversed. Now it uses the same bit order as RTP payload does. Also it uses same bit order as other drivers do, like dahdi and e1d.
Change-Id: I77b899bceacdf5484ea9a841cad55775864b4c82 --- M src/input/misdn.c 1 file changed, 2 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/35/31035/1
diff --git a/src/input/misdn.c b/src/input/misdn.c index c97d3e5..dd44f2f 100644 --- a/src/input/misdn.c +++ b/src/input/misdn.c @@ -505,6 +505,7 @@
LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN TX: %s\n", osmo_hexdump(msg->data, msg->len));
+ osmo_revbytebits_buf(msg->data, msg->len); hh = (struct mISDNhead *) msgb_push(msg, sizeof(*hh)); hh->prim = PH_DATA_REQ; hh->id = 0; @@ -551,6 +552,7 @@ case PH_DATA_IND: /* remove the Misdn Header */ msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN); + osmo_revbytebits_buf(msg->data, msg->len); LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n", osmo_hexdump(msgb_l2(msg), msgb_l2len(msg))); return e1inp_rx_ts(e1i_ts, msg, 0, 0);