The open source phone software Asterisk has a unique problem when you are trying to set it up instide a VE. If you buy licenses for the G729 codec and run the registration program it will fail. That's because the registration process requires that it has access to the MAC address on eth0 in order to work. But there is a way around it. You can make eth0 appear in the VE as follows:
vzctl set $VEID --netif_add eth0 --save
This command build a line in your conf file that looks like this:
NETIF="ifname=eth0,mac=XX:XX:XX:XX:XX:XX,host_ifname=veth101.0,host_mac=YY:YY:YY:YY:YY:YY"
Initially the values of eth0 (XX) match the hardware card and the values of veth101.0 (YY) is random. The important point is that the XX values is the MAC number that Digium will see when you register your codecs. And this has the advantage of being portable from machine to machine.
You can check your virtual device as follows:
ifconfig -a
When you see the eth0 device in your VE and are happy with the MAC number then you can go ahead and register your codecs and it will actually work.