In Non-persistent or Dynamic scheduling, every DL or UL physical resource block (PRB) allocation must be granted via an access grant message on the PDCCH. This is sufficient for most bursty best effort types of applications which generally have large packet sizes and thus typically only a few users must be scheduled each subframe.
So for every UL transmission, the UE sends SR(over PUCCH) asking for resources, eNB sends Access Grant (for UL over PDCCH) and user data goes over PDSCH(based on the DCI given in the Access Grant by eNB).
Refer to this diag, you will see 12ms delay between the time UE decides to send data and it gets a ACK/NACK. (http://www.sharetechnote.com/html/BasicProcedure_LTE_UL_Scheduling_Persistance.html)
However for VoIP since the voice quality has to be comparable to that based on CS for a commercial success.
Dynamic(non-persistent) scheduling doesnt suit VoIP packets, considering they are smallsized and at a fixed rate(speech packet generated every 20ms), and especially when there are multiple voice users, there will be significant overhead on the PDCCH with frequent Access grant messages.
SPS(semi-persistent scheduling) is a feature that significantly reduces control channel overhead for applications that require persistent radio resource allocations such as VoIP.
During the dedicated bearer establishment (typically when the voice path is establishing), the eNB sends to the UE, the SPS-config in RRC reconfiguration message, which contains the sps-C-RNTI,sps-config-dl & sps-config-ul. sps-config-ul contains (semiPersistSchedIntervalUL, implicitReleaseAfter and optionally p0-Persistent values) that are configured by the RRC. Note, this is only the configuration and not the assignment/grant. At this time, the UE is configured by higher layers to decode PDCCH with CRC scrambled by the SPS C-RNTI.
UE now monitors PDCCH every subframe with SPS C-RNTI scrambled (for SPS activate/re-activate/release arrival in the DCI).
DCI Format 0 is used to activate/release SPS in UL (DCI Format 1/1A/2/2A/2B/2C is used to activate SPS in DL.)
Once UE receives DCI format 0 from eNB, it should consider that the uplink grant has been configured and should consider sequentially that the Nth grant occurs in the subframe for which the below condition satisfies:
(10 * SFN + subframe) = [(10 * SFNstart time + subframestart time) + N * semiPersistSchedIntervalUL] modulo 10240
Where SFNstart time and subframestart time are the SFN and subframe, respectively, at the time the configured uplink grant were (re-) initialized.
So, the UE uses the grant provided in the SPS activation DCI Format 0 once every semiPersistSchedIntervalUL subframes and transmits PUSCH using this grant. If there is no data to be transmitted, the Multiplexing and Assembly entity shall provide MAC PDU containing zero MAC SDU to be transmitted on Semi-Persistent Scheduling resource. The UE shall clear the configured uplink grant immediately after implicitReleaseAfter number of consecutive new MAC PDUs each containing zero MAC SDUs, on the Semi-Persistent Scheduling resource. This is called as implicit release of UL SPS configured grant. After this the UE shall not use this configured grant for new transmissions at the occasions satisfying the above equation. Note that, retransmissions for Semi-Persistent Scheduling can continue after clearing the configured uplink grant
The eNB can explicitly send DCI Format 0 to indicate SPS release. Upon receiving DCI Format 0 which indicates SPS release, the UE should clear the configured uplink grant
Optionally, the eNB can configure the UE with p0-Persistent which is used to calculate the transmit power of PUSCH using SPS C-RNTI if the eNB wants the UE to use different power as compared to PUSCH on C-RNTI. Basically, in the PUSCH Tx power calculation, the UE should use p0-NominalPUSCH-Persistent and p0-UE-PUSCH-Persistent in place of p0-NominalPUSCH and p0-UE-PUSCH respectively. If the IE p0-Persistent absent, the UE shall use p0-NominalPUSCH and p0-UE-PUSCH in PUSCH Tx power calculation