All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sip.package.html Maven / Gradle / Ivy


This package contains the main interfaces that model the architecture from both an application developer and a stack vendor view.

  • Application Developer View:
    The application developer is concerned with implementing the SipListener interface. This Interface defines the methods required by applications to receive and process messages from a vendors SIP stack. A SipProvider receives messages from the underlying SIP network, which in turn encapsulates these messages as Events and passes them to its registered SipListener. An application must register with a SipProvider to listen for Events by implementing the SipListener interface. A single SipListener interface is mandated in the architecture.

  • Stack Vendors View:
    The stack vendor implements all the interfaces in this specification excluding the SipListener interface, however the two most important interfaces from the architecture point of view are the SipStack and the SipProvider interfaces.
    • SipStack - This interface can be viewed as the stack management interface of the architecture. The SipStack interface encapsulates the dynamic management characteristics of the SIP stack, such as ListeningPoints which encapsulate port and transport. As well as the central point for the creation and querying of SipProviders in the architecture .  

    • SipProvider - This interface can be viewed as the messaging interface of the architecture. Multiple SipProviders are allowed within the architecture. This interface defines the methods that allow an application implementing the SipListener to register with the SipProvider to recieve incoming requests and responses. The methods defined  to send SIP messages are also defined within the SipProvider interface.

Messaging model:
The architecture specifies that outgoing messages are sent via the SipProvider and can either be of type Request or Response. This action is initiated by the application. Incoming messages on the other hand are passed to an application registered to the SipProvider and can either be of type RequestEvent or ResponseEvent, each containing a Request or Response message respectively. This architecture follows the Listener/Provider event model, which is suitable for applications that are unsure when the next event will arrive i.e. the applications listens for it.





© 2015 - 2024 Weber Informatics LLC | Privacy Policy