A system for dynamically scheduling wireless transmissions without collision in a repeating frame that is divided into a plurality of consecutive blocks, wherein each block is divided into a same number of consecutive time slots, and wherein a first predefined time slot in each block is used for announcement transmissions, said system comprising: a master transmitter configured to transmit a master time mark during a second predefined time slot in each block, wherein the master time mark includes a time slot reservations area for indicating dynamic allocation of time slots; a processor communicatively coupled with the master transmitter; a memory communicatively coupled with the processor; a time slot reservation table stored in the memory, for tracking the predefined time slots and dynamically allocating the time slots within each block; and an allocator, implemented as machine-readable instructions stored in the memory that, when executed by the processor, control the processor to: allocate, based upon the time slot reservation table, at least one unallocated time slot in at least one of the plurality of blocks for use by a transmitting device in response to an announcement message received from the transmitting device during the first predefined time slot, and update the time slot reservation area and the time slot reservation table to indicate allocation of the at least one time slot to the transmitting device; wherein the transmitting device receives a subsequent master time mark and is configured to transmit only during the indicated at least one time slot of subsequent frames. a master transmitter configured to transmit a master time mark during a second predefined time slot in each block, wherein the master time mark includes a time slot reservations area for indicating dynamic allocation of time slots; a processor communicatively coupled with the master transmitter; a memory communicatively coupled with the processor; a time slot reservation table stored in the memory, for tracking the predefined time slots and dynamically allocating the time slots within each block; and an allocator, implemented as machine-readable instructions stored in the memory that, when executed by the processor, control the processor to: allocate, based upon the time slot reservation table, at least one unallocated time slot in at least one of the plurality of blocks for use by a transmitting device in response to an announcement message received from the transmitting device during the first predefined time slot, and update the time slot reservation area and the time slot reservation table to indicate allocation of the at least one time slot to the transmitting device; allocate, based upon the time slot reservation table, at least one unallocated time slot in at least one of the plurality of blocks for use by a transmitting device in response to an announcement message received from the transmitting device during the first predefined time slot, and update the time slot reservation area and the time slot reservation table to indicate allocation of the at least one time slot to the transmitting device; wherein the transmitting device receives a subsequent master time mark and is configured to transmit only during the indicated at least one time slot of subsequent frames.