I’ve used Asterisk for a number of jobs over the years. I think it’s best thought of as like a “railway switchyard” for audio (and now video) calls: it has drivers for all the kinds of connection technology, such as analog, SIP, proprietary protocols like Cisco “Skinny”, and so on.
More recently I came across Kamailio. This is specifically concentrating on SIP and nothing else. Also it seems it gives you lower-level control over things like custom SIP headers, which are harder to manage in Asterisk.
Anybody used both in the same setup?