Codename Pineapple

Home page | Mailing list | Docs

Last updated: Sat Feb 3 05:02:06 2007

Asterisk developer's documentation :: Codename Pineapple


Chan_sip3: Implementing transactions

A SIP transaction is a request and one or several responses. The INVITE transaction is special, it's a three-way handshake request - response - ack

Responses are divided into temporary responses and final responses. A final response closes the transaction, temporary responses just updates the transaction.

Some transactions will open a new SIP dialog, some will not. Some transactions are allowed within an active dialog, some are not.

Transactions and chan_sip The current version of chan_sip.c does not have much notion of a SIP transaction or a dialog. Each transaction will update the dialog, so only the last request is remembered and the direction of the last request.

While this can be seen as effective, it does not allow for situations with multiple concurrent transactions. Most importantly, the INVITE transaction can be open for a long time (Ringing) and other things may happen at the same time.

We do need to change chan_sip3 so that the transaction state engine works properly.

Random thoughts

SIP_dialog


Asterisk is a trademark for Digium, inc.. | Edvina.net | Asterisk.org | This documentation was generated with Doxygen