An IMS testbed for SIP applications Cosmin Caba José Soler {cosm,joss}@fotonik.dtu.dk Networks Technology and Service Platforms Agenda • Problem background + solutions • IMS service composition and triggering • SIP Servlet • Design decisions • Implementation • Testing methodology • Conclusions 2 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Problem background • The work has been done as a MSc thesis project. • Started during a course in programming services for NGN. The students should execute their SIP applications within a realistic network context. 3 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Possible solutions for app. testing • SIPp testing tool (SIP user agent) – Good UA: custom SIP requests. – Limited: test single application, no service composition, no network context. • Open IMS Core – Complete implementation of IMS CSCFs. – Increased complexity, out of scope of the intented course. 4 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Proposed solution • Build a simple emulation for the IMS core entities. • Requirements: – Simple to use (collocated with the dev. environment). – Deploy SIP applications. – Set up network triggers (i.e. iFC, SPTs). – Execute SIP applications (composition if necessary). Emulate the IMS service composition and triggering using the SIP Servlet API! 5 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 IMS service composition HSS contains the initial Filter Criteria (iFC) for each subscriber S-CSCF: service composition according to the iFC • Allow for iFC configuration. • Perform service execution and composition according to the iFC. 6 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 SIP Servlet API • IMS service development. • Emulation implementation. Servlet object -> processing of SIP messages (Route headers). Application router -> application selection. Servlet object + Application router == S-CSCF 7 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Design decisions • Applications not tied to a single SIP Servlet Container. • Handling special cases (What if the target app. does not exist?). • Registration possibility. • Persistent triggers (configuration maintained over server restarts). • Intuitive user interface. 8 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Implementation CSCF: • Retrieves the iFC set from the database. • Creates the service chain. • Adds the Route headers to the SIP request. IMS Application Router: • Selects the application to be executed. 9 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 A short scenario Server1 IMS AR IMS Core Call (CSCF) Blocking Server2 AR Voice Mail INVITE Route:<sip:callblock@server1;lr> Route:<sip:cscf@server1;lr> Route:<sip:voicemail@server2;lr> Route:<sip:cscf@server1;lr> 10 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Testing methodology (I) • Functional testing. • Inspect messages at the end-points and at the application server. Message log from the UA client 11 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Testing methodology (II) Message log from the application server 12 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Conclusions • Simple yet realistic tesbed for SIP applications. • Implementation based on the SIP Servlet API. • Requirements: – Configure network triggers. – Perform IMS-like service composition. • Features: – Integrated with the development environment. – Intuitive work flow. – Easy to set up and run. • Testing methodology: message log investigation. 13 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Thank you! 14 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Backup 1 15 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Backup 2 16 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013 Backup 3 17 IPTComm 2013 An IMS testbed for SIP applications 15.10.2013