Buona domanda.
di iniziare con un sacco di pile SIP non riescono a implementare il protocollo TCP e pertanto non sono conformi, dalla sezione RFC3261 18:
Tutti gli elementi SIP deve implementare UDP e TCP. Gli elementi SIP POSSONO implementare altri protocolli.
Asterisk è un buon esempio di questo. Spesso afferma di essere conforme a RFC3261 ma il supporto TCP è stato solo recentemente incluso e ci sono ancora molti bug con esso. Ci sono prodotti SIP migliori, come quelli derivati dalla SER, che sospetto siano conformi alla RFC3261, non ne ho mai verificati nessuno, ma SER aveva la reputazione di essere il principale server SIP.
L'altra cosa da tenere a mente è che lo "standard SIP" ora include 8 RFC aggiuntivi che hanno aggiornato o reso obsoleto l'originale RFC3261. Inoltre ci sono uno multitude of other RFCs per estensioni e correzioni per cose come NAT. Penso che sarebbe sicuro dire che è improbabile che ci sia uno stack SIP che sia compatibile con tutti gli RFC SIP.
Anch'io ho scritto uno stack SIP e ho seguito lo stesso percorso da te; farlo funzionare con dispositivi che puoi facilmente testare e quindi aggiungere le parti più esoteriche dello standard col passare del tempo o quando se ne presenta la necessità. Sono persino arrivato al punto di inizio documenting which SIP RFCs Mi sto sforzando di implementare.