Packet size is the first variable. Putting more speech into each packet means fewer packets a second, and fewer packets means fewer headers. That's why the 30-millisecond rows in the table are lower. Cisco notes the cost: a larger payload reduces bandwidth and increases overall delay. RFC 3551, which sets 20 milliseconds as the default for audio over RTP, adds that longer packets make packet loss more noticeable, because each lost packet takes more speech with it.
The link is the second. The 18 bytes of framing belong to Ethernet. Cisco's formula uses the header of whichever link carries the call, so the same codec gives a different figure on a different kind of circuit. Cisco's own sample shows how far that can go. With G.729 on a link that has a 6-byte header and compresses the IP, UDP and RTP headers down to 2 bytes, the call comes to 11.2 kbps. Cisco also notes that this header compression isn't available over Ethernet.
Encryption and VPN tunnels move the number the other way, because they wrap each packet in more bytes. The amount depends on the method, so add it from your own equipment's documentation.
Silence is the last variable. Some systems stop sending packets when nobody is talking. Cisco says this can save up to 35 percent on average across more than 24 calls, and it also says the saving must not be counted when you size a network. A link has to carry the moments when everyone talks at once.