4. More RFCs Support
β RFC 5626 - Managing Client-Initiated Connections in the Session Initiation Protocol
Also known as SIP Outbound : Defines a keep-alive mechanism used to keep NAT
bindings fresh, and to allow the UA to detect when a flow has failed.
β Allow for KeepAlives to keep the NAT pinholes open https://mobicents.ci.cloudbees.
com/job/Mobicents-SipServlets-Release/lastSuccessfulBuild/artifact/documentation/jsr289-extensions-
apidocs/org/mobicents/servlet/sip/SipConnector.html#setKeepAliveTimeout(java.lang.String, int, long)
which Allow to set/reset the RFC5626 Section 4.4.1 keeplive on a given TCP/TLS/SCTP connection to a given
remote host and port
and https://mobicents.ci.cloudbees.com/job/Mobicents-SipServlets-
Release/lastSuccessfulBuild/artifact/documentation/jsr289-extensions-
apidocs/org/mobicents/servlet/sip/listener/SipConnectorListener.html#onKeepAliveTimeout(org.mobicents.servlet.
sip.SipConnector, java.lang.String, int)
which if a RFC 5626 KeepAlive timeout has fired, gives the connector on which it happened and the peer
information involved.
β Support for Flow Tokens (A Flow is a transport-layer association between two
hosts that is represented by the network address and port number of both ends
and by the transport protocol. For TCP, a flow is equivalent to a TCP
connection) to be matched to connections so that in dialog requests uses the
correct IP and Port for reaching SIP UAs behind NAT
β RFC 4916 - Connected Identity in the Session Initiation Protocol : Allow for From
and To Header Modification within a dialog as per Section 4.1.2 of JSR 289
5. Congestion Control
β Present at the SIP Stack level through a Valve before it gets to the TU,
access to low level details from the SIP Stack, pluggable mechanism
β Congestion Control at the Container level, based on Memory Usage (CPU
and Session based control to be added) => Now Allow Notifications to
be popped up at the container level
ContainerListener
void onCongestionControlStarted(CongestionControlEvent event) As soon as
congestion starts in the underlying source, it calls this method to notify about it.
void onCongestionControlStopped(CongestionControlEvent event) As soon as
congestion abates in the underlying source, it calls this method to notify about it.
javax.servlet.sip.SipServletResponse onRequestThrottled(javax.servlet.sip.
SipServletRequest request, CongestionControlEvent event) When a request that
comes in is not passed up to the application because of congestion control. Allow to modify the default
response to add headers to it.
6. SIP Servlets Testing
β Released Arquillian Integration ALPHA 1 to create a
standard test framework for testing SIP Servlets
applications (See Georges' Presentation).
β Took over Leadership of SipUnit under Mobicents
Umbrella in agreement with CafeSip team
7. JAIN SIP NIO Support
β Blocking IO is limiting the number of concurrent connections to
the server as each connection is creating 2 threads thus
reaching pretty fast the OS limits of max threads.
β NIO Support allows to solve that issue and process a larger
amount of concurrent connections capped only by the
processing power of the hardware (RAM, CPU)
β NIO only supported for TCP/TLS no UDP Support for NIO.
β Allowed the JAIN SIP Stack to reach 5000 registrations & calls
TCP or TLS (10K concurrent connections). Tests done by a
customer on a 2 GB RAM - 32 bits OS.
10. General
β More than 150 bug fixes scattered over MSS, SIP LB,
JAIN SIP, JAIN SIP HA, JAIN SIP Ext, Cluster
β More Extensions to JSR 289
β Member of JSR 359 - SIP Servlets 2.0 Expert Group
11. Member of JSR 359 -
SIP Servlets 2.0 EG
JSR is open and public, anyone can chime in. Current
items being discussed or that wil be discussed
β SIP Outbound (RFC5626) Extension
β WebRTC / SIP Over WebSockets Integration
β IMS Extensions :
β 3GPP TS24.229 V10.2.0 Section 5.2.8.1.2 : support Termination of Session from Proxy
β Proxy 1xx Timeout
β SIP Session Timers (RFC4028)
β Interworking of SIP Servlets with other protocols.
β Concurrency issues and Threading Model
β Java EE7/CDI Integration
Brainstorm
12. SIP Servlets CDI
β Released CDI Telco Framework ALPHA 1 : CDI Integration
with SIP Servlets with the end goal to feed it back to SIP
Servlet 2.0 spec
13. SIP Servlets CDI
public class SimpleSipServlet {
@Inject
private SipFactory sipFactory;
protected void handleInvite(@Observes @Invite
SipServletRequest req){ ... }
protected void handleSuccessResponse(@Observes
@SuccessResponse SipServletResponse resp) {....}
}
β Loose coupling with strong typing
β Reusable components
β Enhanced event notifications mechanism
β Out of the box integration with the rest of the Java EE
ecosystem
14. Container Abstraction
Layer
β Internal API for Plugging MSS into any type of container
β Containers Supported for Tomcat 6, Tomcat 7, JBoss AS5, JBoss AS7
β Can support more containers such as Jetty, contributions are welcomed !
15. MSS 2.0.0.Final !
β SIP Over WebSockets (See other Presentations +
Demo from Vladimir and Francois-Joseph from Orange
Labs)
β NIO Support
β Support for JBoss AS 7 in standalone mode :
β TCK Certified
β AS7 Management Integration through SIP Subsystem
β Fast Startup Time and Low Mem Footprint (Comparable to Tomcat but
for a full JEE Container)
β Missing Features planned for 2.X versions
β Failover - Replication
β SNMP
18. Git and CloudBees
migration
β Rebranded the project to TeleStax leadership
β Moved the project to Git and independent google code
project. Ported the Code + some of the Documentation
to Wiki
β Moved the CI infra to CloudBees, allow external
contributors to start CI jobs and reduce overhead.
21. Downloads
β 5200 downloads on cumulated versions since last
Summit (source http://sourceforge.net/projects/mobicents/files/Mobicents%20Sip%20Servlets/stats/timeline?
dates=2011-12-02+to+2012-10-04)
22. International Events
Presence
β Fosdem 2012 (Belgium) : Global Platform
Presentation
β Mobile World Congress 2012
β CommunicAsia 2012
23. ShortComings
β Too few community releases : One 1.X FINAL
release, One 2.X FINAL release
β Late on schedule : due to migration of projects to
TeleStax and git + setting up the TelScale Product
Line. Also moved to major version which implied
more work.
25. Mobicents SIP Servlets
2.X Roadmap
β HA for JBoss AS7
β Improvement to WebRTC Client
β SNMP for JBoss AS7
β Auto Scaling
β Rolling Upgrades
β More RFCs Support
β Better Support for NAT (ICE - TURN)
β Regular Business of bug fixing and contributions.
26. Mobicents SIP Servlets
3.X Roadmap
β SIP Servlets 2.0 Non Backward Compatible Work
β Will be started early 2013 in parallel with 2.X branch