The use cases of the SIP API can be divided to three categories on the high level: non-related to UAC (user agent client) or UAS (user agent server) side, UAC side functionality and UAS side functionality.
The S60 SIP API implementation implements following main level use cases. Some of those use cases have been divided into smaller use cases.
The following use cases are applicable to both the UAC and the UAS sides:
Parsing a sip header
Parsing a sip address (URI)
Sending a new request inside existing dialog. This functionality has been included inside ‘Establishing an INVITE dialog’, ‘Establishing a SUBSCRIBE dialog’ and ‘Establishing a REFER dialog’ use cases.
The following use cases belong to the UAC-side functionality. These functionalities include sending a request and receiving responses to the request sent.
Establish a dialog, INVITE, SUBSCRIBE and REFER. See ‘Establishing an INVITE dialog’, ‘Establishing a SUBSCRIBE dialog’ and ‘Establishing a REFER dialog’ use cases.
Sending a non-dialog request. E.g. MESSAGE.
Managing a registration.
The following use cases belong to the UAS-side functionality. These functionalities include receiving a request and sending responses to the request received.
Receiving a request that creates a dialog (INVITE, SUBSCRIBE or REFER). See ‘Receiving an INVITE request’, ‘Receiving a SUBSCRIBE request’ and ‘Receiving a REFER request’. Note: ‘Receiving an INVITE request’ use case includes receiving ACK + other requests which UAC can send before UAS side has sent 200 OK to the request).
Receiving a non-dialog request sent outside of any dialog. See ‘Receiving a non-dialog request’ use case.
The tutorial described in this developer's guide uses INVITE dialog, the specific use cases of which the below figure more closely illustrates:
The following INVITE use cases are used in the tutorial described in this document:
Establishing an INVITE dialog
Terminating and INVITE dialog
Receiving an INVITE request