Skip to main content
Log in

Formalizing REST APIs for web-based communication and SIP interworking

  • Published:
Telecommunication Systems Aims and scope Submit manuscript

Abstract

Significant research efforts for the convergence of web and telecommunication services have been recently spent by research and industry stakeholders. The IETF and W3C are cooperating in specifying how web browsers should evolve to natively support communication services. In this perspective, devising novel mechanisms for signaling message exchange and possible interworking between Web- and SIP-based systems is a hot topic of research. Indeed, discussions are still ongoing on how differences between REpresentational state transfer (REST) and session initiation protocol (SIP) models should be coped with. This issue is made more difficult by the lack of rigorous modeling of RESTful systems. In this paper we propose a rigorous approach for design and implementation of REST communication services (e.g., a call service) which leverages formal verification techniques, while allowing to meet a specific performance requirement (i.e., maximum call setup delay). First, we formalize the call resource behavior through a Finite State Machine representation by modeling and simulating service expected behavior and its interworking with SIP User Agents through a tool for the analysis of communicating state machines. Then, we use the model-checking capabilities offered by the tool for the verification of formal properties. Finally, we implement a prototype that, thanks to the previous formalization step, is shown to be functionally correct, while yielding acceptable performance.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

Notes

  1. The use of verbs in URI fragments is a common practice in web development outside of REST.

References

  1. 3GPP (2009) Open Service Access (OSA); Parlay X web services; Part 1: Common. 3GPP TS 29.199-01

  2. Agarwal, S. (2012). Real-time web application roadblock: Performance penalty of html sockets. In: 2012 IEEE International Conference on Communications (ICC) (pp. 1225–1229). doi:10.1109/ICC.2012.6364271

  3. Aijaz, F., Ali, S., Chaudhary, M., & Walke, B. (2009). Enabling high performance mobile web services provisioning. In Vehicular Technology Conference Fall (VTC 2009-Fall), 2009 IEEE 70th (pp. 1–6).

  4. Alarcon, R., Wilde, E., & Bellido, J. (2011). Hypermedia-driven restful service composition. Service-oriented computing (pp. 111–120). Berlin: Springer.

    Chapter  Google Scholar 

  5. Alvestrand, H. (2013). Real Time Protocols for Browser-based Applications. Internet-Draft, IETF. http://tools.ietf.org/html/draft-ietf-rtcweb-overview-08

  6. Amirante, A., Castaldi, T., Miniero, L., & Romano, S. P. (2013). On the seamless interaction between webRTC browsers and SIP-based conferencing systems. IEEE Communications Magazine, 51(4), 42–47.

    Article  Google Scholar 

  7. Amirante, A., Castaldi, T., Miniero, L., & Romano, S.P. (2014). Janus: A general purpose webrtc gateway. In Proceedings of the conference on principles, systems and applications of ip telecommunications, ACM, New York, NY, USA, IPTComm ’14. (pp. 7:1–7:8). doi:10.1145/2670386.2670389

  8. Bai, Y., Ye, X., & Ma, Y. (2011). Formal modeling and analysis of sip using colored petri nets. In 7th International conference on wireless communications, networking and mobile computing (WiCOM), 2011 (pp. 1–5). doi:10.1109/wicom.2011.6040445

  9. Becucci, M., Fantechi, A., Giromini, M., & Spinicci, E. (2005). A comparison between handwritten and automatic generation of c code from sdl using static analysis. Software: Practice and Experience, 35(14), 1317–1347. doi:10.1002/spe.673.

    Google Scholar 

  10. Belqasmi, F., Glitho, R., & Fu, C. (2011). Restful web services for service provisioning in next-generation networks: A survey. IEEE Communications Magazine, 49(12), 66–73.

    Article  Google Scholar 

  11. Bergkvist, A., Burnett, D. C., Jennings, C. & Narayanan, A. (2012). WebRTC 1.0: Real-time Communication Between Browsers. W3C Working Draft, W3C, http://www.w3.org/TR/webrtc/

  12. Bond, G., Cheung, E., Fikouras, I., & Levenshteyn, R. (2009). Unified telecom and web services composition: Problem definition and future directions. In Proceedings of the 3rd international conference on principles, systems and applications of IP telecommunications, ACM, New York, NY, USA, IPTComm ’09. (pp. 13:1–13:12). doi:10.1145/1595637.1595654

  13. Bizer, C., Heath, T., & Berners-Lee, T. (2009). Linked data-the story so far. Journal on Semantic Web and Information Systems, 5(3), 1–22.

  14. Chen, N., Chen, Z., Zheng, X., & Chen, G. (2013). Mobile cloud based system architecture for remote-resident multimedia discovery and access. In Web information system and application conference (WISA), 2013 10th (pp. 361–364)

  15. Chou, W., Li, L., & Liu, F. (2008). Web services for communication over IP. IEEE Communications Magazine, 46(3), 136–143. doi:10.1109/MCOM.2008.4463784.

    Article  Google Scholar 

  16. Clarke, E. M., Emerson, E. A., & Sistla, A. P. (1986). Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems (TOPLAS), 8(2), 244–263.

    Article  Google Scholar 

  17. Davids, C., Johnston, A., Singh, K., Sinnreich, H., & Wimmreuter, W. (2011). SIP APIs for voice and video communications on the web. In Proceedings of the 5th international conference on principles, systems and applications of IP telecommunications, ACM, New York, NY, USA, IPTcomm ’11. (pp. 2:1–2:7). doi:10.1145/2124436.2124439

  18. Ding, L.G., & Liu, L. (2008). applications and theory of petri nets: 29th international conference, PETRI NETS 2008, Xi’an, China, June 23–27, 2008. In: Proceedings, Springer Berlin Heidelberg, Berlin, Heidelberg, chap Modelling and Analysis of the INVITE Transaction of the Session Initiation Protocol Using Coloured Petri Nets (pp. 132–151). doi:10.1007/978-3-540-68746_12

  19. Erl, T. (2007). SOA principles of service design (The Prentice Hall service-oriented computing series from Thomas Erl). Upper Saddle River, NJ: Prentice Hall PTR.

    Google Scholar 

  20. Fette, I., & Melnikov, A. (2011). The WebSocket Protocol. RFC 6455, http://tools.ietf.org/rfc/rfc6455.txt

  21. Fielding, R. (2000). Architectural styles and the design of network-based software architectures. PhD Thesis.

  22. Fielding, R. T. (2008). REST API must be hypertext driven. http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven

  23. Fielding, R. T., & Taylor, R. N. (2002). Principled design of the modern web architecture. ACM Transactions on Internet Technology (TOIT), 2(2), 115–150.

    Article  Google Scholar 

  24. Fu, C., Belqasmi, F., & Glitho, R. (2010). RESTful web services for bridging presence service across technologies and domains: An early feasibility prototype. IEEE on Communications Magazine, 48(12), 92–100. doi:10.1109/MCOM.2010.5673078.

    Article  Google Scholar 

  25. Griffin, D., & Pesch, D. (2007). A survey on web services in telecommunications. IEEE on Communications Magazine, 45(7), 28–35. doi:10.1109/MCOM.2007.382657.

    Article  Google Scholar 

  26. Griffin, K., & Flanagan, C. (2011). Defining a call control interface for browser-based integrations using representational state transfer. Computer Communications, 34(2), 140–149. doi:10.1016/j.comcom.2010.03.029.

    Article  Google Scholar 

  27. Hameseder, K., Fowler, S., & Peterson, A. (2011). Performance analysis of ubiquitous web systems for smartphones. In 2011 International symposium on performance evaluation of computer telecommunication systems (SPECTS) (pp. 84–89)

  28. Handley, M., & Jacobson, V. (1998). SDP: Session Description Protocol. RFC 2327, http://www.ietf.org/rfc/rfc2327.txt

  29. Holzmann, G. (2003). Spin model checker, the: Primer and reference manual (1st ed.). Reading, MA: Addison-Wesley.

    Google Scholar 

  30. Huang, M., & Zhu, L. (2012). Research for network fault real-time alarm system based on pushlet. In 2012 International conference on industrial control and electronics engineering (ICICEE) (pp. 212–215). doi:10.1109/ICICEE.2012.63

  31. IBM Rhapsody (2013) http://www-03.ibm.com/software/products/en/ratirhapfami

  32. Imre, G. & Mezei, G. (2016). Introduction to a websocket benchmarking infrastructure. In 2016 Zooming innovation in consumer electronics international conference (ZINC) (pp. 84–87). doi:10.1109/ZINC.2016.7513661.

  33. Islam, S., & Gregoire, J. (2013). Converged access of IMS and web services: A virtual client model. IEEE Network, 27(1), 37–44.

    Article  Google Scholar 

  34. Ivanov, I. (2008). Mobicents Communication Platform. http://www.mobicents.org/index.html

  35. Juneau, J. (2013). New Servlet Features. In Introducing Java EE 7, Apress (pp. 1–14). doi:10.1007/978-1-4302-5849-0_1.

  36. Kellokoski, J., Tukia, E., Wallenius, E., Hamalainen, T., & Naarmala, J. (2010). Call and messaging performance comparison between IMS and SIP networks. In 2010 IEEE 4th international conference on internet multimedia services architecture and application (IMSAA), (pp. 1–5). doi:10.1109/IMSAA.2010.5729396.

  37. Li, L., & Chou, W. (2010). Design Patterns for RESTful Communication Web Services. In 2010 IEEE international conference on Web Services (ICWS) (pp. 512–519).

  38. Li, L. & Zhang, X. (2012). Research on the integration of RTCWeb technology with IP multimedia subsystem. In Image and Signal Processing (CISP), 2012 5th International Congress on, IEEE (pp. 1158–1161).

  39. Lozano, D., Galindo, L. A., & García, L. (2008). WIMS 2.0: Converging IMS and Web 2.0. Designing REST APIs for the Exposure of Session-Based IMS Capabilities. In Proceedings of the 2008 the second international conference on next generation mobile applications, services, and technologies, IEEE Computer Society, Washington, DC, USA, NGMAST ’08 (pp. 18–24). doi:10.1109/NGMAST.2008.97.

  40. Mazzanti, F. (2015). UMC model checker. http://fmt.isti.cnr.it/umc/V4.11/umc.html

  41. Menkens, C., & Wuertinger, M. (2011). From service delivery to integrated SOA based application delivery in the telecommunication industry. Journal of Internet Services and Applications, 2(2), 95–111.

    Article  Google Scholar 

  42. Moriya, T., & Akahani, J. (2010). Application programming gap between telecommunication and internet. IEEE Communications Magazine, 48(8), 96–102.

    Article  Google Scholar 

  43. Mulligan, C. (2009). Open API standardization for the NGN platform. IEEE Communications Magazine, 47(5), 108–113. doi:10.1109/MCOM.2009.4939285.

    Article  Google Scholar 

  44. Nicolas, G., Sbata, K., & Najm, E. (2011). Architecting end-to-end convergence of web and Telco services. In Proceedings of the 13th international conference on information integration and web-based applications and services, ACM, New York, NY, USA, iiWAS ’11 (pp. 98–105). doi:10.1145/2095536.2095555.

  45. OMA (2006). OMA Web Services Enabler OWSER Core Specification. Approved Version 1.1, Open Mobile Alliance

  46. OMA. (2012). Enabler Release Definition for RESTful bindings for Parlay X Web Services. Tech. Rep. V2, Open Mobile Alliance, http://technical.openmobilealliance.org/Technical/release_program/docs/CopyrightClick.aspx?pck=ParlayREST&file=V2_0-20120724-A/OMA-ERELD-ParlayREST-V2_0-20120724-A.pdf

  47. OMA. (2015). RESTful Network API for WebRTC Signaling. Tech. Rep. V1.0, Open Mobile Alliance

  48. Paganelli, F., Turchi, S., & Giuli, D. (2014). A web of things framework for RESTful applications and its experimentation in a smart city. Systems Journal IEEE, 99, 1–12. doi:10.1109/JSYST.2014.2354835.

    Google Scholar 

  49. Parastatidis, S., Webber, J., Silveira, G., & Robinson, I.S. (2010). The role of hypermedia in distributed system development. In Proceedings of the first international workshop on RESTful design, ACM, New York, NY, USA, WS-REST ’10 (pp. 16–22). doi:10.1145/1798354.1798379.

  50. Pimentel, V., & Nickerson, B. (2012). Communicating and displaying real-time data with websocket. IEEE Internet Computing, 16(4), 45–53. doi:10.1109/MIC.2012.64.

    Article  Google Scholar 

  51. Porres, I., & Rauf, I. (2011). Modeling behavioral restful web service interfaces in uml. In Proceedings of the 2011 ACM symposium on applied computing, ACM (pp. 1598–1605).

  52. Qadir, J., & Hasan, O. (2014). Applying formal methods to networking: Theory, techniques and applications. IEEE Communications Surveys Tutorials, 99, 1–1. doi:10.1109/COMST.2014.2345792.

    Google Scholar 

  53. Richardson, L., & Ruby, S. (2007). RESTful web services. Sebastopol: OReilly & Associates.

    Google Scholar 

  54. Rosenberg, J. (2010). Interactive Connectivity Establishment (ICE): A Protocol for Network Address Translator (NAT) Traversal for Offer/Answer Protocol. RFC 5245, http://www.ietf.org/rfc/rfc5245.txt

  55. Rosenberg, J., & Schulzrinne, H. (2002). An Offer/Answer Model with Session Description Protocol (SDP). RFC 3264 (Proposed Standard), http://www.ietf.org/rfc/rfc3264.txt

  56. Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., & Schooler, E. (2002). SIP: session initiation protocol. RFC 3261, http://www.ietf.org/rfc/rfc3261.txt

  57. Sege, P., Palch, P., Papn, J., & Kubina, M. (2014). The integration of webrtc and sip: Way of enhancing real-time, interactive multimedia communication. In 2014 IEEE 12th international conference on emerging elearning technologies and applications (ICETA) (pp. 437–442). doi:10.1109/ICETA.2014.7107624.

  58. Singh, K., & Krishnaswamy, V. (2013). A case for sip in javascript. IEEE Communications Magazine, 51(4), 28–33. doi:10.1109/MCOM.2013.6495757.

    Article  Google Scholar 

  59. Sinnreich, H., & Wimmreuter, W. (2010). Communications on the web. Elektrotechnik und Informationstechnik, 127(6), 187–194. doi:10.1007/s00502-010-0742-l.

    Article  Google Scholar 

  60. SIPp (2012). SIPp: Open Source test tool/traffic generator for the SIP protocol. http://sipp.sourceforge.net/

  61. ter Beek, M., Fantechi, A., Gnesi, S., & Mazzanti, F. (2008). An action/state-based model-checking approach for the analysis of communication protocols for service-oriented applications. In S. Leue & P. Merino (Eds.), Formal methods for industrial critical systems, lecture notes in computer science (Vol. 4916, pp. 133–148). Berlin: Springer. doi:10.1007/978-3-540-79707-4_11.

    Chapter  Google Scholar 

  62. ter Beek, M. H., Mazzanti, F., & Gnesi, S. (2009). CMC-UMC: A framework for the verification of abstract service-oriented properties. In Proceedings of the 2009 ACM symposium on applied computing, ACM, New York, NY, USA, SAC ’09. (pp. 2111–2117). doi:10.1145/1529282.1529751

  63. Vingarzan, D., et al. (2007). IMS/NGN Performance Benchmark Part 2: Subsystem Configurations and Benchmarks. http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=25501, eTSI/TISPAN 6 Workitem 06024-2

  64. Zave, P. (2008). Understanding sip through model-checking. In H. Schulzrinne, R. State, & S. Niccolini (Eds.), Principles, systems and applications of IP telecommunications. Services and security for next generation networks, lecture notes in computer science (pp. 256–279). Berlin: Springer.

    Chapter  Google Scholar 

  65. Zuzak, I., Budiselic, I., & Delac, G. (2011). A finite-state machine approach for modeling and analyzing RESTful systems. Journal of Web Engineering, 10(4), 353–390.

    Google Scholar 

Download references

Acknowledgements

The authors acknowledge the technical support by Luca Capannesi and Lorenzo Mazzi, from the University of Firenze.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Federica Paganelli.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Paganelli, F., Ambra, T., Fantechi, A. et al. Formalizing REST APIs for web-based communication and SIP interworking. Telecommun Syst 66, 75–93 (2017). https://doi.org/10.1007/s11235-016-0271-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11235-016-0271-2

Keywords

Navigation