I'm doing a basic VoIP (audio+video) program. Users won't be (most probably) behind a NAT, but there's no 100% guaranty for that, so I need to use ICE(libnice).
Also, in order to make users being able to call each other, I need SIP (so they can register themself and call others).
After looking for some SIP servers I think I'll choose http://www.opensips.org/ .
My question is: Can I do SIP using farstream only or do I need telepathy or maybe something else?
And a more general question: Am I on the right way?
If you choose to go with Farstream, you are going to need Telepathy because Farstream only deals with low level audio. There is no SIP stack inside. More precisely, you will need Rakia, which is the module inside Telepathy that deals with SIP.
Seems like you are on the right track but have you considered other frameworks? PJSIP, for example, is widely used and could also meet your needs.