I little something I threw together, and always round up.
EBW=Estimated BandWidth in Kbps SR=Sample Rate in ms IPH=IP Header in Bytes L2H=Layer 2 Header in Bytes CD=Codec (ie G.729=8 and G.711=64) in Kbps
EBW=(((SR*(CD/8)+(IPH+L2H))*8)*(1000/SR))/1000
This in non-product related, it doesn't mater if it's Cisco, Nortel, Avaya, Vonage, Asteriks or anything else (despite what their marketing says).
L2H varies from as little as 6 Bytes to 38 Bytes and maybe more. It also will change depending on what you layer 2 is. It's ethernet at you PC but it's likely PPP at the router, use the highest number.
Tunneling adds another round of overhead and this isn't just VPN. PPoE, which is very common on residential DSL, is also a tunnel technology. Whith these the EBW becomes the payload of the VPN or PPoE packet.
Now this is just the start, we still have to deal with QoS, Serialization delay, Jitter, and Latency.