I'm getting back into SIP -- the session initiation protocol -- and at the same time I'm learning about JXTA -- the peer-to-peer framework. I'm seeing a lot of similarities. JXTA provides abstractions: peers, peer groups, rendevous, routing peers, and so on. So, as I think about the abstractions, I also think about SIP, and I can see how SIP fits the abstractions identified in JXTA.
SIP is a peer-to-peer protocol. So, it's not really a coincidence, but it certainly is a positive testimony to the clear thinking of JXTA's designers. A SIP User Agent (UA) is a peer. SIP messages are advertisements. A SIP proxy server is a router peer. A registrar is a rendevous peer.
SIP is complex. JXTA is relatively simple. I'm not exactly sure why that is so. SIP is used for call control in IP telephony, and call control in the PSTN is complex. But I have to wonder if SIP would not have been simpler if it had started with a model of peer-to-peer communication like that in JXTA. If I were to start work on a new peer-to-peer protocol, I would consider building upon JXTA.
It should be interesting to learn more about SIP and JXTA and to see the extent to which they are similar or dissimilar.
Posted by Doug Sauder at December 8, 2003 07:53 PM