A method comprising: generating, by a first user device, a first number representing a contention resolution priority for the first user device contending for at least one first resource over a first data period for transmitting a packet of data in a device-to-device, D2D, wireless network, wherein a value of the first number is randomly selected from a range of numbers associated with the contention resolution priority for the first user device assigned to the first user device; determining if a second device, in the D2D wireless network, is contending for resources overlapping with the at least one first resource of the first data period, wherein the determining includes: receiving a message over a control channel including a scheduling assignment, SA, during a SA period associated with the first data period, wherein the message includes a second number representing a contention resolution priority for the second user device; if the second device is contending for resources overlapping with the at least one first resource of the first data period, determining if a second number representing a contention resolution priority for the second user device is greater than the first number; and if the second number is greater than the first number, inhibiting the first user device from communicating using the at least one first resource of the first data period. generating, by a first user device, a first number representing a contention resolution priority for the first user device contending for at least one first resource over a first data period for transmitting a packet of data in a device-to-device, D2D, wireless network, wherein a value of the first number is randomly selected from a range of numbers associated with the contention resolution priority for the first user device assigned to the first user device; determining if a second device, in the D2D wireless network, is contending for resources overlapping with the at least one first resource of the first data period, wherein the determining includes: receiving a message over a control channel including a scheduling assignment, SA, during a SA period associated with the first data period, wherein the message includes a second number representing a contention resolution priority for the second user device; if the second device is contending for resources overlapping with the at least one first resource of the first data period, determining if a second number representing a contention resolution priority for the second user device is greater than the first number; and if the second number is greater than the first number, inhibiting the first user device from communicating using the at least one first resource of the first data period. receiving a message over a control channel including a scheduling assignment, SA, during a SA period associated with the first data period, wherein the message includes a second number representing a contention resolution priority for the second user device; if the second device is contending for resources overlapping with the at least one first resource of the first data period, determining if a second number representing a contention resolution priority for the second user device is greater than the first number; and if the second number is greater than the first number, inhibiting the first user device from communicating using the at least one first resource of the first data period.