The Call-ID is available on the UAC side after sending the first request of a dialog. On the UAS side, the Call-ID header is available after sending a response to the request.
Note that on the UAS side, the Call-ID is available after sending a NOTIFY request in the SUBSCRIBE and REFER cases.
Notes for usage of Contact header:
‘Contact’ header cannot be changed after a dialog has been formed.
‘*’ character is not allowed as a value of the Contact header.
IP address and port number for a Contact header can be retrieved
using the SipConnectionNotifier.getLocalAddress()
and SipConnectionNotifier.getLocalPort()
operations.
E.g. String contactHeader = "UserName@" + notifier.getLocalAddress() + ":" + notifier.getLocalPort();
Restrictions in the availability of “Contact” header:
On the UAC side:
The Contact header is not available with ACK request (after
calling the SipClientConnection.initAck()
operation).
The reason is that the S60 implementation of the JSR-180 doesn’t allow setting
a 'Contact' header to the ACK request. SipConnection.set/addHeader()
operations
don’t do anything if the MIDlet tries to set a 'Contact' header to the ACK
request.
On the UAC side, the CSeq header is available for the MIDlet when the first response for a request arrives.
The ‘From’ header cannot be changed after a dialog has been formed.
The ‘From’ header is available when a SipClientConnection
object
has been created on the UAC side. On the UAS, the ‘From’ header is available
when a request arrives.
The ’To’ header can be set by setHeader()
and addHeader()
operations
of SipConnection
only in the REGISTER
request.
Value of the ‘To’ header is passed as argument to the Connector.open()
operation
with other request.