Modifications to SIP (Session Initiation Protocol) are made which
significantly extend the functionality of SIP. SIP messages are
associated with computer software code such as Java byte code, Java
applets or mobile autonomous software agents. SIP clients are arranged
such that on receipt of a SIP message that has been associated with
computer software code, that code is executed by a processor associated
with the SIP client. In the case that Java applets are contained in a SIP
message these are executed by a Java Virtual Machine associated with the
SIP client. If a Java mobile agent is contained in the SIP message this
executes on a Java Mobile Agent Virtual Machine associated with the SIP
client. Preferably an indicator is put into the header of a SIP message
to indicate that it has been associated with computer software code, and
SIP clients are arranged to detect the presence of such indicators.