detecting script to script interactions in call
play

Detecting Script-to-Script Interactions in Call Processing Language - PowerPoint PPT Presentation

Detecting Script-to-Script Interactions in Call Processing Language Masahide Nakamura, Ken-ichi Matsumoto, Grad. School of Information Science, Nara Institute of Science and Technology Ken-ichi Matsumoto, Tohru Kikuno Graduate School of


  1. Detecting Script-to-Script Interactions in Call Processing Language Masahide Nakamura, Ken-ichi Matsumoto, Grad. School of Information Science, Nara Institute of Science and Technology Ken-ichi Matsumoto, Tohru Kikuno Graduate School of Information Science and Technology, Osaka University 1

  2. Internet Telephony Switch Switch PSTN/IN network � Phones PSTN 7040 PSTN SCP � Phones IN features/services VoIP Gateway VoIP Gateway IP network End systems LAN LAN Service Service Signaling Signaling Signaling End systems server server server � Widely studied at protocol level (SIP, H323) � Advanced telecom services integrated with data services � Decentralized service/feature management Concerns are shifting to service level. 2

  3. Two Approaches for Service Provision Switch Switch PSTN/IN network � Phones PSTN 7040 PSTN SCP � Phones IN features/services VoIP Gateway VoIP Gateway IP network End systems LAN LAN Signaling Signaling Signaling End systems server server server (a) Network Convergence Activate IN features/services through API (e.g., JAIN). � (b) Programmable Services End-users define and deploy own features/services. � 3

  4. Call Processing Language (CPL) An XML-based language for programmable service in the Internet Telephony. � RFC 2824 of IETF (proposed standard ) � DTD-based syntax definition (also, XML-schemas) � Mainly for switching / network services (for SIP, H.323) � Some security considerations � Prohibits loops, recursive calls, activations of external programs. � Commercial and open-source implementations (e.g., VOCAL) Each user describes own customized service in a CPL script . Then, install the script in the local signaling server. Powerful and flexible service creation. 4

  5. Drawbacks of Programmable Service (a) Service description by naive users � The DTD-based syntax definition cannot guarantee the semantic correctness of a CPL script. � There are many ways to make CPL scripts semantically wrong � Cause ambiguity, redundancy, inconsistency (b) Services in the Signaling servers distributed on the Internet can be added, deleted or modified at anytime � It is impossible to enumerate all possible services � FI detection and resolution by off-line analysis cannot be performed 5

  6. Goal of research (a) Establish a guideline to guarantee semantic correctness for each single CPL script Characterize semantic warnings in CPL script (b) Propose algorithm to detect FIs among all scripts involved in a call at run time Characterize FIs as the semantic warnings over multiple CPL scripts 6

  7. CPL Script Switches represent conditional branches � <address switch>, <string switch>, <time switch>, and <priority switch> Location Modifiers add/remove locations � <explicit location>, <location lookup>, <location removal> Signaling operations cause signaling events � <proxy>, <redirect> and <reject> Full specification is found in RFC2824 http://www.ietf.org/rfc/rfc2824.txt http://www.ietf.org/internet-drafts/draft-ietf-iptel-cpl-06.txt 7

  8. Describing Services with CPL(1) Example requirement Alice alice@example.com wants to receive incoming calls only from � domain example.com . Alice wants to reject all calls from crackers.org . � Alice wants to redirect any other calls to her voice mail � alice@voicemail.example.com . nakamura@example.com proxy alice@example.com example.com noname@crackers.org reject redirect other@instance.com alice@voicemail.example.com 8

  9. Describing Services with CPL(2) <?xml version="1.0" ?> <!DOCTYPE cpl PUBLIC "-//IETF//DTD RFCxxxx CPL 1.0//EN" "cpl.dtd"> DTD = (Data Type Definition) � <cpl> <subaction id="voicemail"> Begins with <tag>, ends with <tag/> � <location url= Subaction = Subroutine "sip:alice@voicemail.example.com"> � <redirect /> </location> </subaction> <incoming> nakamura@ alice@ <address-switch field="origin" subfield="host"> example.com example.com proxy <address subdomain-of="example.com"> example.com <location url="sip:alice@example.com"> <proxy /> </location> noname@crackers.org reject </address> <address subdomain-of="crackers.org"> <reject status="reject" /> </address> alice@voicemail. other@instance.com redirect <otherwise> example.com <sub ref="voicemail" /> </otherwise> </address-switch> </incoming> </cpl> 9

  10. Semantic warnings Multiple forwarding addresses 1. Unused subactions 2. Call rejection in all paths 3. Address set after address switch 4. Overlapped conditions in single switch 5. Identical switches with the same parameters 6. Overlapped conditions in nested switches 7. Incompatible conditions in nested switches 8. 10

  11. Address set after address switch (ASAS) Definition: When <address> and <otherwise> tags are specified as outputs of <address-switch> , the same address evaluated in the <address> is set in the <otherwise> block. Inconsistent destination <cpl> <outgoing> Alice’s outgoing CPL <address-switch field="destination"> <address is="sip:bob@example.com"> address-switch <reject status="reject" Alice reason="I don't call Bob" /> </address> address = otherwise <otherwise> bob@example.com <location url="sip:bob@example.com"> <proxy/> Location setting </location> </otherwise> </address-switch> </outgoing > reject </cpl> bob@example.com 11

  12. Overlapped Conditions in Single Switches (OCSS) Definition: The condition is overlapped among the multiple output tags of a switch. <cpl> Unreachable terminal <incoming> � example.com <address-switch field="originator" > Pattara’s CPL <address contains="bob"> bob@ pattara@home. <location url= instance.net example.com "sip:pattara@home.example.com"> contains <proxy /> = bob </location> </address> <address is="bobby"> bobby@ <location url= somewhere is = "sip:pattara@mobile.example.com"> bobby <proxy /> </location> </address> </address-switch> pattara@mobile.example.com </incoming> </cpl> 12

  13. Feature Interaction in CPL script � Even if each individual script is free from semantic warnings ( semantically safe ), FIs can occur when multiple scripts are executed simultaneously at run time. � SU-type interactions ( e.g., CW&TWC ) do not occur. � Each user can have a single CPL script at a time. � Interactions occur between different scripts owned by different users. 13

  14. Example of FI in multiple CPL scripts Chris’s Semantically safe Semantically safe chris@ Alice’s incoming instance.com outgoing script alice@ script bob@ example.com example.com reject bob@ redirect example.com bob@example.com alice@ Chris’s chris@instance.com bob@example.com reject example.com incoming script Alice’s redirect bob@example.com outgoing script FI occurs Address Set after Address Switch (ASAS) Define the FIs as semantic warnings over multiple scripts 14

  15. FI detection Problem � FI definition: CPL script s and t interact with respect to a call scenario c s and t are semantically safe , but s t is NOT semantically safe c ( is combine operator ) c � FI detection Problem: � Detect FIs among multiple CPL scripts involved in a call with a call scenario c . Detect FIs as the semantic warnings over multiple CPL scripts � Input and Output: � Input: CPL script s of the call originator, and a call scenario c � Output : FI occurs or not 15

  16. Combine Operator � To get a combined behavior of two (successively proxied) scripts, � we present the combine operator c Combined script r = s t c � Definition : Substituting the <proxy> nodes in s that is executed in the call scenario c , with incoming actions of t script r script s script t <cpl> <cpl> <cpl> <incoming> <outgoing> <outgoing> <location url="sip:u@exam.com"> <location url="sip:u@exam.com"> <location url="sip:t@exam.com"> </redirect> </redirect> </proxy> </location> </location> </location> </incoming > </outgoing > </outgoing > </cpl> </cpl> </cpl> 16

  17. FI Involved in More than 2 Scripts � A call could involved more than two scripts. Generalized FI Definition � A feature interaction occurs w.r.t. s 0 and c ⇔ There exists some k s.t. s 0 s 1 … s k is not safe. c c c Proposed Algorithm Succ(s 0 , c) a a b b proxy redirect c c d d (1) a (2) a b (4) a c d (3) a c c c c c We check semantic warnings for these four combination 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend