Some of the Benefits● Easy
to get started● Scalable● Pluggable Architecture● Service Provider Agnostic● Compatible with Twilios restful APIs and TwiML markup language
Some of the Difficulties● The
system has multiple pieces to configure and manage● May require a B2B UA or SBC to handle NAT traversal● Production deployments require knowledge of communications network topologies
Where are we Today?● Support
for most of Twilios restful APIs● Full TwiML support except the new additions <Leave> and <Queue>● Support for faxing and SIP user agents● Very few changes are being accepted for the 1.x releases as we approach a final release and internal APIs are stabilizing.
1.0 Roadmap● Continue Testing and
Stabilizing● Beta2 release first week of November.● Implement the remaining restful APIs● Implement Twilios new TwiML elements <Leave> and <Queue>● CR1 release end of December● Final release end of January
Room for Improvement● Using the
project but not reporting on the mailing list● Building applications in private● Asking questions via direct email● Few 3rd party contributions
Lessons Learned● RestComm is conceptually
a pure message passing system. Therefore, we will be moving to an Actor model in the 2.x development tree.● RestComm is built up of modules providing the necessary functionality to the RCML interpreter. Therefore, we will be moving to OSGi as the module system for RestComm.
Benefits of moving to an
Actor Model● Scales better than the current approach on a single server● Simplified programming model● No need to worry about synchronization● Actors can be hot swapped with zero down time● Actor supervisors enable actors to be restarted in case of failure (ex. A connection to the media server fails due to server failure; a different media server is selected to carry on the call and finally the supervisor restarts the connection on the new media server)
Benefits of moving to OSGi●
Manages module dependencies for us● Increase re-use of the individual components in projects outside of RestComm● Zero downtime updates of all but the RestComm core