the decision was taken to tightly integrate the JSR with this native service.
Integration with native services is the obvious solution to implement.
However, as we see, there are many challenges and considerations to be
taken into account. We discuss such a case with reference to JSR-180 SIP.
Session Initiation Protocol (SIP) is an application-layer control (sig-
naling) protocol for creating, modifying, and terminating two-party or
multiparty sessions that include Internet telephone calls, multimedia dis-
tribution, multimedia conferences, instance messaging, and more. At the
core of the large number of SIP RFCs that define the SIP protocol exten-
sions and behavior for SIP user-agents is RFC 3261 from the IETF SIP
SIP is a highly dynamic protocol, similar to HTTP, that enables intelli-
gent user agents to send text-based messages over an independent bearer
protocol (e.g., TCP or UDP) to one another by using other SIP end-points
(e.g., SIP servers, proxies, and registrars). Although SIP requests and
responses bear a striking resemblance to HTTP messages, the protocol
itself and its usage are fundamentally different and SIP is much more
evolved for modern multimedia networks.
SIP is used in conjunction with other IETF protocols in order to
build a complete multimedia architecture, which provides complete
services to the users. SIP sessions usually involve protocols such as Real-
Time Transport Protocol (RTP) for transporting real-time data, Real-Time
Streaming Protocol (RTSP) for controlling delivery of streaming media, and
Session Description Protocol (SDP) for describing multimedia sessions.
All the voice, video and other payload communications are done over
these other protocols (e.g., RTP, RTSP) but the basic functionality and
operation of SIP does not depend on any of these protocols.
JSR-180 SIP defines a compact and generic optional Java ME GCF
package that provides MIDP applications with SIP functionality at trans-
action level, enabling them to send and receive SIP messages. In addition,
JSR-180 SIP defines support for request refresh, transport protocols, SIP
identity, and authentication.
JSR-180 mandates the implementation to support at least RFC 2976,
RFC 3261, RFC 3262, RFC 3265, RFC 3311, RFC 3428, RFC 3515, and
RFC 3903. The JSR implementation must implement those requirements of
the RFCs that are relevant to the stack, but implementing the application-
level requirements is the responsibility of applications using JSR-180 SIP.
The core SIP functionality is facilitated by the main Java
interfaces in javax.microedition.sip : SipClientConnection ,
SipServerConnection and SipConnectionNotifier ; and other
helper classes (e.g., SipDialog , RefreshHelper , etc.). A typical SIP
application uses both client and server connections to send and receive