Key Press Markup Language and Protocol KPML Prof















- Slides: 15
Key Press Markup Language and Protocol (KPML) Prof. Ir. MIT Eric William Burger CTO, Snow. Shore Networks, Inc. Board Member, SIP Forum Board Member, IPCC
Roadmap Need for KPML Deployment Models Protocol Mechanism Markup Features Summary 2 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Need for KPML Transport Legacy In-Band Signaling as Signaling Examples – Multistage Dialing – Supplementary Digit Collection – Application Attention (e. g. , Prepaid Long Pound) Transport Arbitrary Keys on Telephone Set – Akin to ISDN Q. 932 User. Input KPML is NOT Replacement for IVR – Voice. XML – MSCML 3 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
KPML Deployment Models: End Point INVITE 200 OK ACK SUBSCRIBE 200 OK NOTIFY 200 OK 4 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
NO 20 T 0 IF O Y K SU 20 B NO 0 SC 20 T OK R IB 0 IF E O Y K KPML Deployment Models: Application INVITE 200 OK ACK 5 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
INVITE 200 OK ACK Tones 6 Copyright © 2004, Snow. Shore Networks, Inc. NOTIFY 200 OK SUBSCRIBE 200 OK NOTIFY 200 OK KPML Deployment Models: Media Proxy A 1 -MF 22 January 2004
Protocol Mechanism Key Presses Reflect State of Device – Use NOTIFY to Convey State Information SUBSCRIBE to Device State – Natural Filtering at SUBSCRIBE Time – Include Digit Maps of Interest • Specified with DRegex • Multiple, Tagged Digit Maps Supported 7 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Subscription Duration Persistent: Follows Rules of RFC 3265 Digit Map Active Until – – – Subscription Expires Subscription Canceled (expires: 0) Subscription Erased (SUBSCRIBE with NULL KPML) Subscription Dialog Terminated Monitored Leg’s Dialog Terminated One-Shot: Digit Map Active Until – Digit Map Matches – Digit Map Fails – RFC 3265 Subscription Termination 8 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Markup Features Extensible Digit Map Specification – Can Use Namespaces for non-DRegex (e. g. , MGCP or H. 248. 1) Syntax – Prefix Tag for Digit Suppression • <regex><pre>*8</pre>xxxxx</regex> • Suppresses Transmission of Tones After “*8” Extensible Quarantine Buffer Management KPML-Specific Reporting – SIP Protocol Reports on Success of SIP Messaging – Timeouts, Dialog Termination, Unsupported Features Handled by KPML Status Codes 9 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Monitoring Direction Usually Ask Device to Monitor Local RTP Stream May Ask for State of Remote Stream – If Supported By Device – If Authorized 10 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
DRegex Familiar to MGCP and H. 248. 1 Users – – – Digits, x, dot, alternation Adds Count Ranges, e. g. , 00 x{8, 15} Adds “Not” to Digit Ranges, e. g. , [^01] Uses * and #, not E and F Uses Lx, not Zx or x. L for Long Indicator Adds Tags to Identify Which Rule Matched Longest Match in Document Order Inter-digit Timeout Once Matching Started Return Key (e. g. , “#”) – Immediately Ends Regular Expression Matching 11 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Dial Pattern Examples <? xml version="1. 0"> <kpml version="1. 0"> <request> <pattern> <regex> 0|00|*69|7[2 -9]xx|9[2 -9]xxxxxx. |91 xxxxx|011 x. </regex> </pattern> </request> </kpml> 12 <? xml version="1. 0"> <kpml version="1. 0"> <request> <pattern> <regex tag="local-operator">0</regex> <regex tag="ld-operator">00</regex> <regex tag="return-call">*69</regex> <regex tag="vpn">7[^01][0 -9][x]</regex> <regex tag="local-number">9 x{7, 10}/regex> <regex tag="RI-number">91401 xxxxxxx</regex> <regex tag="ddd">91 xxxxx</regex> <regex tag="iddd">011 x{, 15}</regex> </pattern> </request> </kpml> Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
KPML Responses Reflect Collected State at End Device Filtered By KPML (DRegex digit maps) NOTIFY Requests Send – KPML State (Status Code) – Collected Digits – Indicator if Digits Suppressed in Media Stream <? xml version="1. 0"? > <kpml version="1. 0"> <response code="200" text="OK" digits="94015551212" tag="RI-number"/> </kpml> 13 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Summary KPML Enables Transport of Key Press Information – SIP-Centric Model – Enables Mid-Call Triggers in SIP Environment DRegex – Familiar to MGCP, H. 248. 1, MSCML Programmers – More Flexible to Meet Modern Application String Needs Extensible Markup – Use and Provision for Namespaces at Key Points 14 Copyright © 2004, Snow. Shore Networks, Inc. 22 January 2004
Snow. Shore Networks Powering the Service-Ready Network® Contact: Eric Burger CTO, Snow. Shore Networks, Inc. sip: eburger@snowshore. com mailto: eburger@snowshore. com tel: +1 978/367 -8400 http: //www. snowshore. com