This documentation relates to last stable version of Cipango.
visit the last unstable documentation home.

Threading model

JSR 289 does not specify a threading model for SIP Servlets Application Servers. Cipango uses a simple and flexible model based on SipApplicationSession. This means that only one thread can execute an activity (servlet doRequest or doResponse handler, servlet timer ...) related to a given SipApplicationSession at the same time.

This allows in particular to have a consistent model in proxy or b2b (back-to-back) applications. Indeed, in proxy mode upstream and downstreams legs belong to the same SipSession whereas in b2b mode, each leg belongs to a different SipSession. If these SipSession are created within the same SipApplicationSession, the behaviour is similar in both modes, i.e. all received message are processed in a sequential way at the servlet level. If you would like to handle incoming messages from different SIP calls concurrently in b2b mode, you only have to use a different SipApplicationSession for each SipSession.