Sending a request inside an existing dialog

This section describes the restrictions of the S60 implementation related to sending a request inside an existing dialog.

The SipDialog.getNewClientConnection() operation throws SipException with the SipException.GENERAL_ERROR error code if this operation is called within a SipDialog object not originating from a INVITE, SUBSCRIBE, ACK or REFER SipConnection object. SipDialog object can be created when the SipConnection belongs to a created SipDialog, which is in Early or Confirmed state.

The <EXTENSION> request means any arbitrary user’s own request.

The below tables show what requests can be sent inside INVITE, SUBSCRIBE and REFER dialogs. The S60 implementation supports the creation of these three dialog types.

Table 91: Requests that can be sent inside an existing sip dialog in the UAC side

A new request

INVITE

SUBSCRIBE

REFER

REFER

X

BYE

X

OPTIONS

X

MESSAGE

X

X

X

PRACK

X

UPDATE

X

PUBLISH

X

INVITE

X

X

X

SUBSCRIBE

X

X

<EXTENSION>

X

X

X

Table 92: Requests that can be sent inside an existing SIP dialog in the UAS side

A new request

INVITE

SUBSCRIBE

REFER

REFER

X

BYE

X

OPTIONS

X

MESSAGE

X

PRACK

UPDATE

X

PUBLISH

X

INVITE

X

SUBSCRIBE

X

<EXTENSION>

X

NOTIFY

X

X