History: ======= The oSIP stack project has been started in September 2000 since the early days of the SIP protocol. The initial version was quite close to the actual one in terms of features. The SIP parser and the SIP state machines were already provided. At this point and till version 0.9.7, the API was not very clean but osip was already stable, portable, flexible and compliant with SIP. After rfc2543 were released, a lot of developments were made to follow the drafts that were produced prior to the final release of rfc3261. (around version 0.8.X). A lot of users were requesting help on the API and were reporting their difficulties to use it. I have decided to refine osip into a new osip2 version which would offer a simpler and nicer API. With a very few exception, only the API has been changed between 0.9.7 and 2.0.0. From this version, osip has been much readable. However, oSIP is still complex to use. There are reasons for that. oSIP was made to be flexible (which make the API quite large). oSIP is architecture free (but you need to understand how it works to use it correctly). oSIP is implementing only low layers of SIP (so you still can build malformed messages, or uncompliant ones). oSIP will not warn you about most errors that you can make. Be aware, that if you use osip, you still have to read carefully the rfc. oSIP is not easy to use, but I'm convinced there are benefits in terms of flexibility. If you find osip too complex to use, please look for another adequate solution. -eXosip2 is the first one to look at!-