1 / 22

The STORM Project Analysis, Design and Implementation

The STORM Project Analysis, Design and Implementation. - Wajdi Elleuch ( Researcher Engineer ). - Samuel Guénette (Chief of Technology - M5T). - Alain C. Houle ( Professor - Université de Sherbrooke). - Éric Rodrigue (Programmer - Mediatrix).

guang
Download Presentation

The STORM Project Analysis, Design and Implementation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The STORM ProjectAnalysis, Design and Implementation - Wajdi Elleuch(ResearcherEngineer) - Samuel Guénette (Chief of Technology - M5T) - Alain C. Houle (Professor - Université de Sherbrooke) - Éric Rodrigue (Programmer - Mediatrix)

  2. Black Phone and IP Phone interfaces are limited for advanced services STORM is an interface allowing cooperation between a PC and an APA for advanced/new telephony services: Example of new services : STORM : Overview • Make Call • Caller Id • Call History • Voice Mail • Call Recording • Simple APA Configuration IP Phone Network STORM Enabled APA POTS Phone PC Running the STORM GUI

  3. Reject Forward uses uses Handle incoming call uses uses Accept Caller ID uses Display call Info uses uses STORM : Service Use cases Call Recording uses Show and handle current call uses Hold/Unhold Call uses Make Call Free to-call address Input uses uses Compose call Storm PC user Select from Address book uses extends Call History uses Display call-history-list Voice mail Configuration uses uses APA Configuration uses Get Configuration uses uses uses Modify Configuration Default APA Behavior configuration uses uses Set Configuration

  4. STORM Protocol ? SIP Sip User APA PC STORM : The Protocol ? Distributed Object Technology ? - JAVA/RMI : C++ Compatibility ? - COM/DCOM : Compatibility with non-Microsoft systems ? - CORBA : Text data support ? XML support ? Web Services related technology to support XML ? - XML/RPC: Limited XML structure (methodName, params, param, value) - SOAP: Client/Server Model (slave/master) • XML STORM: Use XML structure to describe the exchanged data between • Storm devices

  5. XML Data conveyed by ? SIP Sip User APA PC STORM : The Protocol ? Web Protocol to transport XML Data ? - HTTP : Having a HTTP listener (HTTP Server on the APA) ? Managing device presence ? Statefull ? - SMTP : Same limitation as HTTP - SIP : The Solution !! - Using the SIP Stack implemented on the APA (M5T SIP stack V 3.5 ) - Using the Payload of the SIP paquet to encapsulate XML message - Using INFO request through a session already established (session created by an INVITE between Storm devices) ? Or using Subscribe/Notify mechanism (Subscribe request to create a session and Notify request to convey the Storm XML messages ? - Using sip existing headers and probably some extra-headers

  6. Request line: NOTIFY sip:PC_SIP_URI SIP/2.0 Method: NOTIFY Message Header Max-Forwards: 70 Content-Length: … Via: SIP/2.0/UDP Local_IP_Addr;branch=z9hG4bKe89100756 Call-ID: a0ca01198b4afc1 From: APA_SIP_URI;tag=9f82847c9fbb5ee To: PC_SIP_URI CSeq: 736513480 NOTIFY Expires: 600 Event: CallerId Content-Type: STORM/CallerId User-Agent: ApaSoftPhone/1.3.1.2 MxSF/v3.5.3.4 Payload <rpc> <operation-name>caller-id</operation-name> <call-description> <from>Caller_Sip_Uri</from> <to>Called_Sip_Uri</to> <call-id>Call-Id</call-id> <cseq>CSeq</cseq> <contact>Contact</contact> </call-description> </rpc> SIP STORM Protocol based on SIP Notify remote Storm device if subscribed to this service Get and apply answer rules saved on the APA Sip User APA PC STORM : Sequence Diagram SUBSCRIBE Ack : 202 OK INVITE 100 TRYING NOTIFY (Caller-Id) 180 RINGING Ack : 202 OK

  7. SIP STORM Protocol based on SIP <rpc> <operation-name>caller-id-reply</operation-name> <content>Accept</content> <call-description> <from>Caller_Sip_Uri</from> <to>Called_Sip_Uri</to> <call-id>Call-Id</call-id> <cseq>CSeq</cseq> <contact>Contact</contact> </call-description> </rpc> Sip User APA PC STORM : Sequence Diagram The APA accepts the Call / gets the handset SUBSCRIBE Ack : 202 OK Call accepted by PC INVITE 100 TRYING NOTIFY (Caller-Id) 180 RINGING Ack : 202 OK Update the incoming call state NOTIFY (Caller-Id-Reply) 200 OK Ack : 202 OK Call rejected by PC 200 OK NOTIFY (Caller-Id-Reply) Ack : 202 OK APA terminates the call Update call state NOTIFY (Caller-Id-Reply) 486 BusyHere/603 Decline/302 Forward Ack : 202 OK BYE NOTIFY (Current-Call-Notify) Ack : 202 OK

  8. - How to support the Subscribe/Notify Mechanism using the M5T Sip Stack V3.5 ? STORM :The Subscribe/Notify mechanism

  9. The Demo !

More Related