First, SIP is not that simple as it seems. If you want to be compatible with most existing implementations, you need to support a number of features. I wouldn't recommend implementing SIP if it isn't a hobby. If it's research or any other activity, get one of the SIP client/server libraries and use it. Modify when needed.
As a start you may try PJSIP: http://www.pjsip.org/
Also, remember that SIP itself doesn't carry audio/video data. For this you need another protocol, RTP.
As it comes to resources, there are many. My advice is to start with Wikipedia entry for SIP and RTP and then continue on the topics you find useful.