sip cplsip cpl brought to you by strategic technology a gentle introduction to sip and cpl january...
Post on 18-Dec-2015
217 views
TRANSCRIPT
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
A Gentle Introduction toSIP and CPL
January 31, 2001
Session Initiation ProtocolCall Processing Language
© 2001
SIP
CP
LSIP
CP
LPage 2
A Gentle Introduction to SIP and CPLStrategic Technology
Outline
What is SIP and Why is it Important (10 min) SIP Architecture and Protocol (15 min) SIP Call Flow Examples (10 min) The IETF Call Processing Language (15 min) SIP Activities (10 min) Discussion
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
What is SIP andWhy is it Important
Tom Gray
Strategic Technology
© 2001
SIP
CP
LSIP
CP
LPage 4
A Gentle Introduction to SIP and CPLStrategic Technology
What SIP Is
SIP is a language and protocol for initiating, modifying and terminating interactive sessions– allows discovery of entities so that descriptions of
sessions can be delivered is explicitly designed for rendezvous with mobile users is explicitly distributed with local user control enables creation and sharing of information maintains relationships over multiple interactions
© 2001
SIP
CP
LSIP
CP
LPage 5
A Gentle Introduction to SIP and CPLStrategic Technology
What SIP Is
compatible with existing telephony features but also designed for new applications enabled by the Internet
example of highly personalized call control– with location, presence, alerts, notifications ...
one of a family of protocols and languages pervasive (DTMF of the Internet) based on SMTP and HTTP set of building blocks to design services lightweight and extensible
© 2001
SIP
CP
LSIP
CP
LPage 6
A Gentle Introduction to SIP and CPLStrategic Technology
What SIP Is Not
a telephony protocol a resource reservation protocol a transfer protocol a normative definition of any specific set of
features the AIN, Q.sig, H.323…
© 2001
SIP
CP
LSIP
CP
LPage 7
A Gentle Introduction to SIP and CPLStrategic Technology
GroupTRIP Billing Locate
GroupTRIP BillingARS
Group
TRIP Billin
gUser
AgentClient
SIP
Media Gateway
Media GatewayIP, ATM, PSTN…Media
GatewayMedia Gateway
MGCP MGCP
User Agent
User Agent
CPL
SIPServerClient
© 2001
SIP
CP
LSIP
CP
LPage 8
A Gentle Introduction to SIP and CPLStrategic Technology
SIP in Context
Connection Control
Database
Coordination Space
Policy Agents External Data Sources
Policies
SIP
SIP SIP
© 2001
SIP
CP
LSIP
CP
LPage 9
A Gentle Introduction to SIP and CPLStrategic Technology
SIP
Personal Agents
Location/Presence Server
BIG
ACD ExampleAlice
BusyFrench
Carol
AvailableEnglish
Daniel
AvailableFrench
SIP
SIPCall inFrench…
BIG
Agent
ACD Proxy Server
TRIP
SIPSIP
Personal Agent
Bob
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
SIP Architecture and Protocol
Kathy Baker
Strategic Technology
Based on the IETF Draft: ietf-sip-rfc2543bis-02.ps(November 24, 2000)
© 2001
SIP
CP
LSIP
CP
LPage 11
A Gentle Introduction to SIP and CPLStrategic Technology
SIP User Agents
UserAgentClient
UserAgentServer
UserAgentClient
UserAgentServer
CALLEE
CALLER
INVITE
Client sends a request message
200 OK
Server sends back a response message
© 2001
SIP
CP
LSIP
CP
LPage 12
A Gentle Introduction to SIP and CPLStrategic Technology
SIP Servers
Proxy– Stateless Proxy
forgets about SIP request/response once it has been forwarded
– Stateful Proxy maintains record of SIP transaction e.g. Outbound Proxy (located near client acts as firewall)
Redirect Server– does not issue SIP requests, only redirect responses
Registrar– allows user agents to register location information– typically co-located with Outbound Proxy
© 2001
SIP
CP
LSIP
CP
LPage 13
A Gentle Introduction to SIP and CPLStrategic Technology
SIP Architecture example
UserAgentClient
UserAgentServer User
AgentClient
UserAgentServer
CALLER
Stateful Proxy
Redirect Server
Stateless Proxy
INVITE
INVITE
INVITE
INVITE
302 ACK
MEDIA PATH
CALLEE
200 OK
200 OK
200 OKACK
ACK
ACK
SIP PATH
© 2001
SIP
CP
LSIP
CP
LPage 14
A Gentle Introduction to SIP and CPLStrategic Technology
SIP Messages
Can either be Request or Response message– Request: From Client to Server– Response: From Server to Client
Can be passed:– from user agent to user agent– from SIP network server to user agent or vice versa– from SIP network server to SIP network server
Each SIP Message contains:– Request Line or Status Line– Header– Message (CPL, SDP, encrypted code, text or nothing)
© 2001
SIP
CP
LSIP
CP
LPage 15
A Gentle Introduction to SIP and CPLStrategic Technology
Addressing
SIP-URL sip:user@host sip:[email protected] sip:[email protected] sip:[email protected]
Can accept parameters sip:[email protected]&priority=urgent sip:[email protected]&subject=Bluetooth
Can be identified by generic URIs kanata.systems.mitel.com tel:13334442343
© 2001
SIP
CP
LSIP
CP
LPage 16
A Gentle Introduction to SIP and CPLStrategic Technology
Request MessageRequest Line
MessageHeader
MessageBody
INVITE:sip:[email protected] SIP/2.0
From: Kathy <sip:[email protected]>To: Daniel <sip:[email protected]>Contact: sip:[email protected]: 20010110@kathy_phone.strat_techContent-Type: application/sdpContent-Length: 147CSeq: 1 INVITEv=0o=UserA 2890844526 2890844526 IN IP4 here.coms=Session SDPc=IN IP4 100.101.102.103t=0 0m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000
INVITEACKOPTIONSBYEREGISTERCANCEL
NOTIFYSUBSCRIBEREFERMESSAGE
© 2001
SIP
CP
LSIP
CP
LPage 17
A Gentle Introduction to SIP and CPLStrategic Technology
Response MessageStatus Line
MessageHeader
MessageBody
SIP/2.0 200 OK Via: SIP/2.0/UDP kanata.mitel.com From: Kathy <sip:[email protected]> To: Daniel <sip:[email protected]>Call-ID: 20010110@kathy_phone.strat_techContact: sip:[email protected]: 1 INVITE
Status Codes
1xx Informational: - Trying - Ringing - Being Forwarded - Queued
200 Success
3xx Redirect
4xx Client Error
5xx Server Error
6xx Global Error
© 2001
SIP
CP
LSIP
CP
LPage 18
A Gentle Introduction to SIP and CPLStrategic Technology
Request Performatives
INVITE “Would you like to chat?”
ACK “Thanks, received your confirmation. Let’s start chatting”
BYE “Okay, I’m ending the call now.”
CANCEL “Cancel that last request but don’t end the call”
OPTIONS “What functionality do you support?”
REGISTER “Direct all my calls to this phone.”Enables Mobility
© 2001
SIP
CP
LSIP
CP
LPage 19
A Gentle Introduction to SIP and CPLStrategic Technology
INVITE Method
sip.kanata.mitel.com(stateful proxy)
sip.ottawa.nortel.ca(redirect server)
sip.mitel.com(stateless proxy)
sip.nortel.com(stateful proxy)
CUA
SUA
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/UDP/2.0 sip.kanata.mitel.com To: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/UDP/2.0 sip.kanata.mitel.com Via: SIP/UDP/2.0 sip.mitel.com To: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/UDP/2.0 sip.kanata.mitel.com Via: SIP/UDP/2.0 sip.mitel.com To: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
302
SIP/2.0 302 MOVED TEMPORARILY To: sip:[email protected] From: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1Contact: sip:[email protected];q=0.7, sip:[email protected];q=0.9,
ACK
ACK sip.ottawa.nortel.ca SIP/2.0To: sip:[email protected] From: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
INVITE
INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP sip.kanata.mitel.com Via: SIP/2.0/UDP sip.mitel.com To: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
INVITE
INVITE sip:[email protected] SIP/2.0 Via: SIP/2.0/UDP sip.kanata.mitel.com Via: SIP/2.0/UDP sip.mitel.com Via: SIP/2.0/UDP sip.nortel.comTo: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: INVITE 1
© 2001
SIP
CP
LSIP
CP
LPage 20
A Gentle Introduction to SIP and CPLStrategic Technology
Responses and ACK Method
sip.kanata.mitel.com(stateful proxy)
sip.ottawa.nortel.ca(redirect server)
sip.mitel.com(stateless proxy)
sip.nortel.com(stateful proxy)
CUA
SUA
200 OK
SIP/2.0 200 OKVia: SIP/2.0/UDP sip.kanata.mitel.com Via: SIP/2.0/UDP sip.mitel.com Via: SIP/2.0/UDP sip.nortel.comTo: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected]: [email protected] CSeq: INVITE 1
200 OK
200 OK200 OK
ACK sip:[email protected]: SIP/2.0/UDP sip.kanata.mitel.com Via: SIP/2.0/UDP sip.mitel.com Via: SIP/2.0/UDP sip.nortel.comTo: sip:[email protected] From: sip:[email protected] Contact: sip:[email protected] Call-ID: [email protected] CSeq: ACK 1
ACK
ACK
ACKACK
© 2001
SIP
CP
LSIP
CP
LPage 21
A Gentle Introduction to SIP and CPLStrategic Technology
BYE Method
sip.kanata.mitel.com(stateful proxy)
sip.ottawa.nortel.ca(redirect server)
sip.mitel.com(stateless proxy)
sip.nortel.com(stateful proxy)
CUA
SUA
BYE
BYE [email protected] SIP/2.0Via: SIP/2.0/UDP sip.kanata.mitel.com Via: SIP/2.0/UDP sip.nortel.comTo: sip [email protected] From: sip: [email protected] Contact: sip:[email protected]: [email protected] CSeq: 2 BYE
BYEBYE
© 2001
SIP
CP
LSIP
CP
LPage 22
A Gentle Introduction to SIP and CPLStrategic Technology
OPTIONS Method
UserAgentClient
UserAgentServer User
AgentClient
UserAgentServer
sip:[email protected] sip:[email protected]
SIP Proxy
OPTIONS:sip:[email protected] SIP/2.0
To: sip:[email protected]: sip:[email protected]: OPTIONS 12 Call-ID: 1234556677
OPTIONSOPTIONS
OPTIONS:sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP kanata.mitel.com To: sip:[email protected]: sip:[email protected]: OPTIONS 12 Call-ID: 1234556677
SIP/2.0 200 OK
Via: SIP/2.0/UDP kanata.mitel.com To: sip:[email protected]: sip:[email protected]: OPTIONS 12 Call-ID: 1234556677 Allow: INVITE,ACK,OPTIONS,CANCEL,REFERAccept: application/sdp;level=1, text/htmlAccept-Language: da, en-gb,q=0.8, en;q=0.7
200 OK200 OK
© 2001
SIP
CP
LSIP
CP
LPage 23
A Gentle Introduction to SIP and CPLStrategic Technology
REGISTER Method
UserAgentClient
UserAgentServer
SIP Registrar REGISTER
REGISTER:sip:registrar.systems.mitel.com SIP/2.0
To: sip:[email protected]: sip:[email protected]: 1 REGISTERContact: sip:[email protected]&expires=12:00Call-ID: 1234556677
200 OK
SIP/2.0 200 OK
To: sip:[email protected]: sip:[email protected]: 1 REGISTER Contact: sip:[email protected]&expires=12:00Call-ID: 1234556677
LocationServer
SIP Proxy
© 2001
SIP
CP
LSIP
CP
LPage 24
A Gentle Introduction to SIP and CPLStrategic Technology
SIP Extensions - 3PCC
*** These methods have been added to extend SIP to support third party control. They enable external applications to control SIP Agents ***
REFER “Please go to this other place and do this”
SUBSCRIBE “I would like to monitor your call activity.”
NOTIFY “An event occurred.”
© 2001
SIP
CP
LSIP
CP
LPage 25
A Gentle Introduction to SIP and CPLStrategic Technology
REFER Method
UserAgentClient
UserAgentServer
REFER: sip:tomsphone.mitel.com SIP/2.0
Call-ID: [email protected] Refer-To: <sip:[email protected]>
REFER
INVITE sip:[email protected] SIP/2.0
To: sip:[email protected]: sip:tomsphone.mitel.comContact: sip:tomsphone.mitel.comCSeq: INVITE 1 Call-ID: [email protected]
INVITEDialer UserAgentClient
UserAgentServer
sip:tomsphone.mitel.com
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
SIP Call Flow Examples
Tom Gray
Strategic Technology
© 2001
SIP
CP
LSIP
CP
LPage 27
A Gentle Introduction to SIP and CPLStrategic Technology
Call Forward BusyAlice Proxy Bob Carole
INVITE
INVITE
100 Trying
486 Busy
ACK
INVITE
180 Ringing
180 Ringing
200 OK
200 OK
ACKACK
Alice Calls Bob
Bob is CFBto Carole
© 2001
SIP
CP
LSIP
CP
LPage 28
A Gentle Introduction to SIP and CPLStrategic Technology
Consultation Hold - 1Alice Proxy Bob Carole
INVITE
INVITE
100 Trying
180 Ringing
180 Ringing200 OK
200 OK
ACK
ACK
2 Way Communication
Alice Calls Bobwho then
Consults with Carole and Returns
to Alice
Standard Patternfor Originating
a Call
© 2001
SIP
CP
LSIP
CP
LPage 29
A Gentle Introduction to SIP and CPLStrategic Technology
Consultation Hold - 2Alice Proxy Bob Carole
INVITE (Hold)
INVITE (Hold)
200 OK
200 OK
ACK
ACK
Audio Path Knocked Down
Bob Puts AliceOn Hold
Do Re-Invite inSame Session to
Change Call Parameters
© 2001
SIP
CP
LSIP
CP
LPage 30
A Gentle Introduction to SIP and CPLStrategic Technology
Consultation Hold - 3Alice Proxy Bob Carole
INVITE
INVITE
100 Trying
180 Ringing
180 Ringing
200 OK
200 OK
ACK
ACK
2 Way Audio
Bob Calls Carole
Make New Callfor Consultation
© 2001
SIP
CP
LSIP
CP
LPage 31
A Gentle Introduction to SIP and CPLStrategic Technology
Consultation Hold - 4Alice Proxy Bob Carole
BYE
BYE
200 OK
200 OK
Audio Path DeletedINVITE
INVITE
100 Trying
200 OK
200 OK
ACK
ACK
2 Way Audio Path Established
Drop Consultation Session
Re-Invite in Existing Session to Restore
Call to Alice
© 2001
SIP
CP
LSIP
CP
LPage 32
A Gentle Introduction to SIP and CPLStrategic Technology
Third Party Call Control - 1Carole’s PDA Carole’s Phone Alice Bob
SUBSCRIBE
200 OK
NOTIFY
200 OK (NTFY)
REFER (Alice (Invite))
INVITE
Carole uses a
PDA Applicationto set up a conference
with Alice and Bob
Subscribe to Phoneand Set Up Call
to Alice
180 Ringing
200 OK
ACK (Invite)
200 OK (Refer)2 Way Audio
© 2001
SIP
CP
LSIP
CP
LPage 33
A Gentle Introduction to SIP and CPLStrategic Technology
Third Party Call Control - 2Carole’s PDA Carole’s Phone Alice Bob
To Start ConferencePut
Alice on Hold
REFER (Alice (Hold))INVITE (Hold)
200 OK
200 OK
Audio Path Knocked Down
ACK
© 2001
SIP
CP
LSIP
CP
LPage 34
A Gentle Introduction to SIP and CPLStrategic Technology
Third Party Call Control - 3Carole’s PDA Carole’s Phone Alice Bob
REFER (Bob)
INVITE
180 Trying
200 OK
ACK
Tell Phone to Set UpCall To Bob
and withSame Call ID
Tell Alice Conference with Bob200 OK
REFER (Refer(Alice)(Bob)))
REFER (Invite(Bob))
INVITE
200 OK
ACK
200 OK
200 OK
© 2001
SIP
CP
LSIP
CP
LPage 35
A Gentle Introduction to SIP and CPLStrategic Technology
Third Party Call Control - 4Carole’s PDA Carole’s Phone Alice Bob
INVITE
180 RingingNOTIFY
200 OK
REFER
INVITE
200 OK
ACK
200 OK
Alice Calls Carole’s Phone
Carole’s PDA is Notified
-Refers Phoneto Re-InviteTo Set Up
Speech path
2 Way Audio
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
The IETF Call Processing Language (CPL)
Ramiro Liscano
Strategic Technology
Based on the IETF Draft: draft-ietf-iptel-cpl-04.ps
© 2001
SIP
CP
LSIP
CP
LPage 38
A Gentle Introduction to SIP and CPLStrategic Technology
System Requirements
Programming Telephony (SIP) Services
SIP Server
Function
Service Logic
Programming Interface
Requests Requests
ResponsesResponses
SIP-CGI (Trusted Parties) or CPL (Un-trusted Parties)
© 2001
SIP
CP
LSIP
CP
LPage 39
A Gentle Introduction to SIP and CPLStrategic Technology
Language Requirements
Verifiable: Well-formed and executable. Guaranteed to complete: No loops. Safe to execute: Restrained environment. Standardized Representation: Readable and Producible: human or machine. Protocol Independent:
– Independent of Operating System or Signaling Protocol
Ease of Transport: File representation.
© 2001
SIP
CP
LSIP
CP
LPage 40
A Gentle Introduction to SIP and CPLStrategic Technology
IPTel Route Signaling Example
End System
Originator
CPL
CPL
Outgoing
Proxy
CPL
Corporate
Server
CPL
Departmental
Server
End System
Destination
CPLRoute 2: Originator Directly Contacts Destination
Route 1: Originator Signals through Servers
Internet Telephony Signaling servers cannot know state of end systems they “control” since signaling may bypass them.
© 2001
SIP
CP
LSIP
CP
LPage 41
A Gentle Introduction to SIP and CPLStrategic Technology
CPL Definition A Language used to describe and control
Internet Telephony Services. Designed to be implemented on either
Network Servers or User Agent Servers. Describes Services as a Decision Graph
based on XML Syntax.
Condition
Action 1
Action 2
True
False
Succeeded
Failed
Outcome 1
Outcome 2
© 2001
SIP
CP
LSIP
CP
LPage 42
A Gentle Introduction to SIP and CPLStrategic Technology
CPL Usefulness
Script Creation by End Users (Personal Assistance Functionality)– Customized call filtering.
Third Party Outsourcing– A standardized language.
Administrator Service Definition– Define enterprise policies.
Web Middleware– Service creation and customization using WEB
interfaces.
© 2001
SIP
CP
LSIP
CP
LPage 43
A Gentle Introduction to SIP and CPLStrategic Technology
CPL Script Functionality In a Signaling Server controls proxy, redirect,
or rejection actions for the set-up of a call. Replaces SIP-CGI?
Focused on “local” control rather than “global” coordination of multiple signaling servers as in IN architecture.
Defines a list of Condition/Action Pairs that concentrates on user “location” routing.
Controversial Question: Should a CPL script execute on the END System?
© 2001
SIP
CP
LSIP
CP
LPage 44
A Gentle Introduction to SIP and CPLStrategic Technology
Creating and Transporting CPL Scripts
CPL is easily created using “text” editors or “SGML” type of editors.
Script needs to be transported onto a CPL-enabled network server. (Currently no standard agreed upon)– WEB Uploading– SIP Register method.– SOAP (Simple Object Access Protocol)
All approaches require user authentication and script persistency.
© 2001
SIP
CP
LSIP
CP
LPage 45
A Gentle Introduction to SIP and CPLStrategic Technology
Which Script is executed? (In Progress)
Scripts are associated with a particular Internet telephony address: SIP To or From: [email protected]
One script/user executes at a time.– Originator before Destination– Administrator scripts before user scripts.
Only one script for a particular event. Newer script substitutes old script.– Problems with compound and “Otherwise” tag
conditionals.
© 2001
SIP
CP
LSIP
CP
LPage 46
A Gentle Introduction to SIP and CPLStrategic Technology
Motivation for Using CPL
CPL is not Turing-complete and does not support loops or recursion. It is guaranteed to terminate.
Script resources are bounded under a proposed standard and therefore execution of the script is guaranteed.
CPL can be easily created and manipulated because interpreter can manage all conditions specified in the language.
© 2001
SIP
CP
LSIP
CP
LPage 47
A Gentle Introduction to SIP and CPLStrategic Technology
CPL High Level Structure Call Processing Actions
– Top-Level Actions (<incoming> OR <outgoing>)– Subactions (Non-recursive actions called from
other actions)
Call Address-switch field: from subfield:host
Subdomain-of: example.com
otherwise
Location url:sip:jones@ example.com
redirect
busy
timeout
failure
Location url:sip:jones@ voicemail. example.com
proxy timeout: 10s
Voicemail
© 2001
SIP
CP
LSIP
CP
LPage 48
A Gentle Introduction to SIP and CPLStrategic Technology
Location Modifier
Used to Add or Remove locations from location set
Top Level Actions to Take on User’s Incoming Call
Triggers on Incoming Call
Destination = Owner
SIP Trigger: INVITE
A Switch based on an Address of the Call Request
Field = origin | destination | original destination
Subfield = address-type | user | host | port | tel | display
SIP Mappings: origin = From:
original destination = To:
Action to Take
IF origin host = example.com
Alternative Actions
<cpl> <subaction id="voicemail"> <location url="sip:[email protected]"> <redirect /> </location> </subaction>
<incoming> <address-switch field="origin" subfield="host"> <address subdomain-of="example.com"> <location url="sip:[email protected]"> <proxy timeout="10"> <busy> <sub ref="voicemail" /> </busy> <noanswer> <sub ref="voicemail" /> </noanswer> <failure> <sub ref="voicemail" /> </failure> </proxy> </location> </address> <otherwise> <sub ref="voicemail" /> </otherwise> </address-switch> </incoming> </cpl>
CPL Code Example
© 2001
SIP
CP
LSIP
CP
LPage 49
A Gentle Introduction to SIP and CPLStrategic Technology
Redirect Action
Directs calling party to place call to set of locations.
Immediately terminates CPL.
SIP Signaling:Server sends 3xx response.
Proxy Action
Causes call request to be forwarded to the locations in the location set.
CPL chooses “adequate” response to the call attempt.
If “successful” CPL terminates.
SIP Signaling:busy = 486 | 600 responseredirection = 3xx responsefailure = other 4xx | 5xx | 6xx resp.no-answer = no response.
CPL Signaling Actions
<subaction id="voicemail"> <location url="sip:[email protected]"> <redirect /> </location> </subaction>
<incoming> <address-switch field="origin" subfield="host"> <address subdomain-of="example.com"> <location url="sip:[email protected]"> <proxy timeout="10"> <busy> <sub ref="voicemail" /> </busy> <noanswer> <sub ref="voicemail" /> </noanswer> <failure> <sub ref="voicemail" /> </failure> </proxy> </location> </address> <otherwise> <sub ref="voicemail" /> </otherwise> </address-switch> </incoming>
© 2001
SIP
CP
LSIP
CP
LPage 50
A Gentle Introduction to SIP and CPLStrategic Technology
Other Types of Switches Time Switch
– start, end, duration, freq, until, byday, etc.– Based on Internet Calendaring and Scheduling
Core Object Specification (iCal COS), RFC 2445.
<time dtstart=“19970105T083000” duration=“PT10M” freq=“yearly” interval=“2” bymonth=“1” byday=“SU”>Starting Jan 5th, 1997 08:30 for 10 minutes.Every Sunday in January from 08:30-08:40 every other year.
Priority Switches – Based on Priority Tags (emergency, urgent,
normal, non-urgent)
© 2001
SIP
CP
LSIP
CP
LPage 51
A Gentle Introduction to SIP and CPLStrategic Technology
Other Types of Switches (cont.)
String Switch– Decisions can be based on free-form strings
present in a call request.– Five fields defined
subject - subject of call. Organization - organization of the originator of the call. user-agent - program | device that made the call. Language - language of choice. Display - free-form text meant to be displayed with call.
© 2001
SIP
CP
LSIP
CP
LPage 52
A Gentle Introduction to SIP and CPLStrategic Technology
CPL Server Extensions
All CPL extensions are indicated by XML namespaces. <extension has=URL>
Examples– Querying how a Call has been Authenticated.– Richer control over H.323 addressing.– Mid-call or end-of-call controls.– End system specific features.– Support for Regular Expression Matching.
SIP
CP
LSIP
CP
L
Brought to you by Strategic Technology
SIP Activities
Daniel Amyot
Strategic Technology
© 2001
SIP
CP
LSIP
CP
LPage 54
A Gentle Introduction to SIP and CPLStrategic Technology
SIP is Only Part of theBig Picture…
Multiple Standardization Activities Related to SIP, including:
SDP
TRIP
PINT
SPIRITSSIP-T
SOAP
JAIN
Others…
SIP and CPL at Mitel New Research Topics?
© 2001
SIP
CP
LSIP
CP
LPage 55
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:SIP and SDP
SIP: Session Initiation Protocol– RFC 2543, March 1999 (Proposed Standard)– Current Internet Draft: RFC 2543 bis-02,
November 2000
SDP: Session Description Protocol– Used to describe sessions in INVITE request– SIP implementations MUST understand SDP
© 2001
SIP
CP
LSIP
CP
LPage 56
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:TRIP
A Framework for Telephony Routing over IP– No global "directory of gateways" of phone numbers– Given an input telephone number, determine the address of
a telephony gateway Telephony Routing over IP (TRIP)
– TRIP supports the discovery and exchange of IP telephony gateway routing tables between providers
– Location servers (LS) sharing information– Not limited to routing; TRIP also handles selection of
services, people, and other resources– Independent of signaling protocol, and can handle multiple
such protocols simultaneously (SIP, H.323, etc.)– 4th Internet Draft, November 2000 (almost standardized)
© 2001
SIP
CP
LSIP
CP
LPage 57
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:PINT and SPIRITS
PINT = PSTN/Internet Interworking– PINT Service Protocol: Extensions to SIP and
SDP for IP Access to Telephone Call Services SPIRITS = Service in the PSTN/IN
Requesting InTernet Service– Control of Internet applications from PSTN/IN
Internet
Internet
PSTN, IN,
Cell…
PSTN, IN,
Cell…
PINT
SPIRITS
© 2001
SIP
CP
LSIP
CP
LPage 58
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:SIP for Telephony WG (SIP-T)
BCP-T– Best Current Practice for Telephony Interworking– Inter-MGC communication using SIP– Informational draft, obsoletes SIP+
MIME Media Types for ISUP and Q.SIG Objects – Used for interoperability with legacy systems and
services– Internet draft, November 2000
© 2001
SIP
CP
LSIP
CP
LPage 59
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:SIP and SOAP
SOAP (IBM/Microsoft)– Simple Object Access Protocol (W3C Note)
SIP and SOAP– Generic and extensible framework through which
SIP nodes can request additional services from remote nodes
– SOAP transported through SIP SERVICE message rather than HTTP
– Candidate XML-based RPC mechanism for CPL– Internet Draft, June 2000
© 2001
SIP
CP
LSIP
CP
LPage 60
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:JAIN SIP
Java API for Integrated Networks (JAIN)– Sun’s Java-based APIs for the rapid development
of Next Generation telecom products using EJB– Two levels: Application/Call Control and Protocol
JAIN SIP – Portable interface to share information between
SIP Clients and SIP Servers– Standard API for SIP stacks– Proposed Final Draft almost available
© 2001
SIP
CP
LSIP
CP
LPage 61
A Gentle Introduction to SIP and CPLStrategic Technology
Standardization Activities:JAIN SIP
JAINSIP
© 2001
SIP
CP
LSIP
CP
LPage 62
A Gentle Introduction to SIP and CPLStrategic Technology
Other Activities
Interworking between H.323 and SIP Networks– Internet draft of requirements, October 2000– Also under study by ITU-T (Question 13/16)
Call Control (transfer, conference, 3PCC…)– Informational only
Caller preferences SNMP Management Information Base (MIB) Applications (SIMPLE, IFAX…) For more activities…
http://www.softarmor.com/sipwg/tasks/index.html
© 2001
SIP
CP
LSIP
CP
LPage 63
A Gentle Introduction to SIP and CPLStrategic Technology
SIP and CPL at Mitel
Research projects – Policy Description Language
(PDL — extends CPL functionalities)– Service Description Languages– Human Aspects– Participants
U. of Ottawa (Logrippo) / U. of Waterloo (Atlee) U. of Ottawa (Karmouch) U. of Stirling (Turner / Magill, Scotland) Dalhousie University (Jost) Concordia University (Radhakrishnan) U. of Toronto (Wellman)
SIP and CPL used in internal projects
© 2001
SIP
CP
LSIP
CP
LPage 64
A Gentle Introduction to SIP and CPLStrategic Technology
New Research Topics? Policies
– Representation– Negotiation and Conflict Handling (FI)
Applications– Scalable Execution Frameworks– Security
Autorisation, authentication Middle Box Handling (firewalls, NATS, …)
– Performance Monitoring and Enforcement Interworking
– Between Autonomous Systems– With Legacy Systems (including SS7, H.323, …)
Human Factors– Privacy, Controllability, Understandability– Appropriate Levels of Context Representation
© 2001
SIP
CP
LSIP
CP
LPage 65
A Gentle Introduction to SIP and CPLStrategic Technology
Thank You
Strategic Technology, Mitel Systems.– [email protected]– [email protected]– [email protected]– [email protected]