Is it possible to create custom shapes for visio, and how?

Hello,

I'd very much like to be able to use Visio to make some diagrams of various VoIP and IT networks, but the shapes in the application are a little limited. I should like to draw my own and import them into the application. Is this possible, how woul;d I do it and what software do I need to make such a shape?