300 likes | 557 Views
Call Control with SIP. Brian Elliott, Director of Engineering, NMS. SIP = Session Initiation Protocol. SIP version 2.0, RFC 3261, June 2002 RFCs 2976, 3262, 3265, 3515 Protocol for IP networks Transported over UDP, TCP, SCTP, etc. Session (call) control — not a media transport
E N D
Call Control with SIP Brian Elliott, Director of Engineering, NMS
SIP = Session Initiation Protocol • SIP version 2.0, RFC 3261, June 2002 • RFCs 2976, 3262, 3265, 3515 • Protocol for IP networks • Transported over UDP, TCP, SCTP, etc. • Session (call) control — not a media transport • (use RTP), but has a text messaging capability • Text-based protocol • SIP transports SDP — Session Description Protocol • Describes media session — RFCs 2327, 3264 • Text based protocol
SIP Network Infrastructure DNS Server Presence/Redirection/ Registration Servers DNS SIP SIP (before connected) Inbound Proxy Server Outbound Proxy Server SIP SIP SIP (after connected) Media (RTP) User Agent B User Agent A
SIP Infrastructure Components • User Agent • Consists of User Agent Client (to make requests) and User Agent Server (to handle requests) • SIP phone, PDA, PSTN gateway, media server • Proxy servers • Aggregate and route — resolve addresses with DNS • Location servers • Updated by User Agent registration; queried by proxies in routing
SIP Messages • Message types • Requests • Responses • Every request has one or more responses • Transaction = request + responses • Dialog (or “call leg”) analogous to PSTN call
Messages — Requests • INVITE — initiate a session • ACK — acknowledge a session • PRACK — provisional acknowledge • CANCEL — cancel INVITE request • BYE — terminate a session • REGISTER — register user • OPTIONS — query capabilities • SUBSCRIBE — subscribe to a service • NOTIFY — service notification • INFO — miscellaneous info • REFER — refer one user to another (transfer)
1xx — provisional 100 — Trying 200 — Ringing 300 — Session Progress 2xx — success 200 — OK 3xx — redirection 300 — moved permanently 301 — moved temporarily 4xx — client error 400 — Bad Request 401 — Unauthorized 403 — Forbidden 404 — Not Found 481 — Call Does not Exist 486 — Busy Here 5xx — server error 6xx — global failure Messages — Responses
SIP Addressing • Uniform Resource Indicators (URIs) • Look like email addresses • SIP:John@sippity.com
SIP for NCC 1.0 • To allow implementation of SIP User Agent using Natural Access framework • Familiar Natural Access development environment • Familiar Natural Call Control (NCC) API and model
Benefits of SIP for NCC • Reduced time-to-market with SIP-based products • SIP integrated into Natural Access • NCC API well known • NCC API abstracts many low-level details of SIP, simplifying development • Easy conversion of PSTN applications using Natural Call Control • Pay for SIP stack as you deploy • No large up-front license fee
For Building SIP User Agents Application or Service NMS SIP MediaProcessor SIP RTP VOIPNetwork SIP RTP SIP Devices
Typical Uses for NMS SIP for NCC Terminate VoIPBearer Traffic VoIP-PSTNGateway Interworking Functions PSTN/PBXNetwork Application Server SS7,ISDN,CAS SIP TDM SIP TelephonyApplication VoIP-PSTNGateway Media Server BearerTraffic SIP RTP SIP RTP VoIP Networkor PSTN/PBX VoIPNetwork VoIPNetwork
Basic Call Control Features • Placing outbound call; receiving incoming call • INVITE, ACK, CANCEL, BYE • 1xx, 2xx • PRACK (Provisional Reliable Acknowledgement) • Rejecting call with different causes • 3xx, 4xx, 5xx, 6xx • Transferring call • REFER • Macros provided for building up fields for SIP and SDP
Special Features • Finding users and services • REGISTER (nccRegisterUser) • SIP event notification • SUBSCRIBE, UNSUBSCRIBE, NOTIFY • Advanced Configuration • Transport options — UDP or TCP • Outbound proxy — specify SIP proxy for sending all messages • Persistent TCP connection reused instead of setting up and tearing down for each session • Configure Ethernet port to be used for all SIP in/out, or designate Ethernet connection per session • For future release… • OPTIONS, INFO, COMET, UPDATE
Flows — Optional Call Acknowledge • nccAcknowledgeCall (callhd, Ies) • NCCEVN_ANSWERED_CALL • Manual or automatic — server option
Operating Systems • Windows • Windows 2000 SP4, Windows 2003 Server • Linux • Red Hat Linux ES 3.0 Update 4 • Solaris • SPARC 9, 32-bit and 64-bit • Intel 8, 32-bit
Obtaining SIP for NCC 1.0 • Download from NMS web site • Natural Access 2005-1 • SIP for NCC 1.0 • License • Downloaded version licensed for 8 ports for 30 days, for evaluation purposes • Contact NMS for deployment licenses
Package Contents • Software package • Nmssip — server component • Sipmgr — SIP manager with NCC service • Nccxsip.h — SIP extensions to NCC API • Ctasip — NCC + VCE + MSPP SIP demo • Documentation • SIP for Natural Call Control Developer’s Reference Manual
CTASIP Demo Program • CTATEST-like demo program for SIP • Places and receives SIP calls • Performs SIP user registration • 3 modes of audio support • SIP only — no audio • Audio from RTP using Fusion and CG board • Audio from RTP using Fusion and HMP
Questions?PLEASE SEE THE SIP DEMOContact Infobrian_elliott@nmss.com