Attention is currently required from: jolly, tnt.
laforge has posted comments on this change by jolly. ( https://gerrit.osmocom.org/c/osmo-e1d/+/41139?usp=email )
Change subject: Add Channel-Associated Signalling (CAS) support ......................................................................
Patch Set 3: -Code-Review
(1 comment)
File src/mux_demux.c:
https://gerrit.osmocom.org/c/osmo-e1d/+/41139/comment/e58f2b6e_6d5de452?usp=... : PS3, Line 397: if (!line->cas.rx.buf_valid[line->cas.rx.frame_count + 14] || this looks to me like the event is signalled at a per-line level, and not at a per-timeslot level.
IMHO, the comparison should be iterating over the timeslots and for each timeslot comparing the 4 past CAS bits of one timeslot with the 4 current/new CAS bits and then indicate a signal for the specific timeslot.
Basically, nothing in a client should relate to the entire line, everything should happen at a per-timeslot level.
Of course one could keep the signal in the protocol at a line-level and then have the libosmo-e1d client code figure out the affected timeslots and signal those in the application. But any application that holds open any timeslot within the line should get that notification.