August 3-4, 2004 San Jose, CA www.voipdeveloper.com Developing VoIP Enabled Applications using Host Processing Darren Cooper – Senior Software Engineer.

Slides:



Advertisements
Similar presentations
1 IP Telephony (VoIP) CSI4118 Fall Introduction (1) A recent application of Internet technology – Voice over IP (VoIP): Transmission of voice.
Advertisements

Categories of I/O Devices
Threads, SMP, and Microkernels
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
July 20, 2000H.323/SIP1 Interworking Between SIP/SDP and H.323 Agenda Compare SIP/H.323 Problems in interworking Possible solutions Conclusion Q/A Kundan.
Voice over IP Fundamentals
Security in VoIP Networks Juan C Pelaez Florida Atlantic University Security in VoIP Networks Juan C Pelaez Florida Atlantic University.
Packet Based Multimedia Communication Systems H.323 & Voice Over IP Outline 1. H.323 Components 2. H.323 Zone 3. Protocols specified by H Terminal.
STUN Date: Speaker: Hui-Hsiung Chung 1.
Twinkle A SIP client based on open source and open standards Michel de Boer
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Testing SIP Services Over IP. Agenda  SIP testing – advanced scenarios  SIP testing - Real Life Examples.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Session Initiation Protocol (SIP) By: Zhixin Chen.
Building Applications Using SIP Scott Hoffpauir Vice President, Engineering Fall 1999 VON, Atlanta.
SIP vs H323 Over Wireless networks Presented by Srikar Reddy Yeruva Instructor Chin Chin Chang.
1 I/O Management in Representative Operating Systems.
® The Bluetooth Architecture APIs, L2CAP, Link Management, Baseband, and the Radio.
Packetizer ® Copyright © 2009 H.325: An Application Platform A Closer Look at the “Container” Paul E. Jones Rapporteur Q12/16 April 7,
Leveraging Existing Application Processors in Mobile Devices to Implement VoIP Client.
Building an Application Server for Home Network based on Android Platform Yi-hsien Liao Supervised by : Dr. Chao-huang Wei Department of Electrical Engineering.
POLYCOM CONFIDENTIAL Polycom enables Alcatel Instant Video Solution by combining the power Alcatel IP Telephony with Polycom Unified Collaboration Solutions.
Colombo, Sri Lanka, 7-10 April 2009 Multimedia Service Delivery on Next Generation Networks Pradeep De Almeida, Group Chief Technology Officer Dialog Telekom.
TM Freescale Semiconductor Confidential and Proprietary Information. Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc.
MiVoice Office v MiVoice Office v6.0 is mainly a service enhancement release, rather than a user feature rich enhancement release.
Developing IP Phones Karen Hong Director, Product Marketing 8x8 Inc.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Addressing the Network – IPv4 Network Fundamentals – Chapter 6.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
Packetizer ® Copyright © 2008 H.325 Beyond Today’s Second Generation Systems Paul E. Jones Rapporteur, ITU-T Q12/16 1.
SIP Interoperability Testing Alan Percy Director of Business Development AudioCodes, Inc. Booth #822.
1 © NOKIA 1999 FILENAMs.PPT/ DATE / NN SIP Service Architecture Markus Isomäki Nokia Research Center.
Call Control with SIP Brian Elliott, Director of Engineering, NMS.
Session Initiation Protocol (SIP). What is SIP? An application-layer protocol A control (signaling) protocol.
Data and Computer Communications Circuit Switching and Packet Switching.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
H.323 An International Telecommunications Union (ITU) standard. Architecture consisting of several protocols oG.711: Encoding and decoding of speech (other.
Computer Emergency Notification System (CENS)
Setup and Evaluate Quality of Service of VoIP on SCOLD Systems Sherry Adair Hakan Evecek Elizabeth Gates.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
ﺑﺴﻢﺍﷲﺍﻠﺭﺣﻣﻥﺍﻠﺭﺣﻳﻡ. Group Members Nadia Malik01 Malik Fawad03.
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation.
Omar A. Abouabdalla Network Research Group (USM) SIP – Functionality and Structure of the Protocol SIP – Functionality and Structure of the Protocol By.
Security, NATs and Firewalls Ingate Systems. Basics of SIP Security.
E Multimedia Communications Anandi Giridharan Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 12: Planning and Implementing Server Availability and Scalability.
Jini Architecture Introduction System Overview An Example.
Designing Applications Using DSP Modules
CSE5803 Advanced Internet Protocols and Applications (14) Introduction Developed in recent years, for low cost phone calls (long distance in particular).
PTCL Training & Development1 H.323 Terminals Client end points on the network IP phones, PCs having own OS Terminals running an H.323 protocols and the.
Status & development of the software for CALICE-DAQ Tao Wu On behalf of UK Collaboration.
A Scalable SIP-based Architecture to Offer Value-added Services in a Converged IN/IP Environment F.S.Salloum, Tasos Dagiuklas, Maria Skoura 16 January.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
3/10/2016 Subject Name: Computer Networks - II Subject Code: 10CS64 Prepared By: Madhuleena Das Department: Computer Science & Engineering Date :
“End to End VoIP“ The Challenges of VoIP Access to the Enterprise Charles Rutledge VP Marketing Quintum Technologies
1 Personal Mobility Management for SIP-based VoIP Services 王讚彬 國立台中教育大學資訊工程學系
سمینار تخصصی What is PSTN ? (public switched telephone network) تیرماه 1395.
INTERNET PROTOCOL TELEVISION (IP-TV)
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
VoIP ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Developing IoT endpoints with mbed Client
IP Telephony (VoIP).
open source and open standards
SIX MONTHS INDUSTRIAL TRAINING REPORT
INTERNET PROTOCOL TELEVISION (IP-TV)
Cloud Web Filtering Platform
Software interoperability in the NGN Service layer
Presentation transcript:

August 3-4, 2004 San Jose, CA Developing VoIP Enabled Applications using Host Processing Darren Cooper – Senior Software Engineer Michael Ward – Director, Product Line Management Trinity Convergence

August 3-4, 2004 San Jose, CA Trinity Convergence Developer of embedded communications software for VoIP and Wireless markets –VeriCall™ an Integrated VoIP Software Framework –VoIP-Enablement from the Edge to the Core Headquartered in Research Triangle Park, NC R&D located in Cambridge, England Partnered with ARM Ltd, Freescale, MIPS Technology & StarCore LLC ISO9001 Accredited

August 3-4, 2004 San Jose, CA Traditional Voice Enabled Applications

August 3-4, 2004 San Jose, CA Expanding Voice Enabled Applications Candidates for Host-Processing Solutions

August 3-4, 2004 San Jose, CA The VoIP Enabled Client Expanding Array of Edge Products for VoIP Enablement –VoIP Desk phone –WiFi (802.11x) VoIP handset –Dual-mode Cell phone (TDMA/CDMA/GSM) & WiFi –VoIP application on PDA over WiFi –VoIP enabled workgroup hubs/routers –VoIP enabled broadband access boxes A Different Set of Requirements –Ultra cost sensitive –Low power consumption –Small footprint –Multiple services/applications hosted on the equipment

August 3-4, 2004 San Jose, CA Host Processor Reducing Cost and Power VoIP S/W Move VoIP to Host Processor Removes need for DSP Reduces Power Consumption Reduces Footprint Reduces Cost

August 3-4, 2004 San Jose, CA Expanding MIPS Enables VoIP MIPS Available MIPS on Client MIPS for VoIP Channel Insufficient MIPS in client device – Additional external device (DSP) required Increased device capability means VoIP is now a software-only function, using a fraction of the available processing power

August 3-4, 2004 San Jose, CA VoIP Application Requirements Matrix IP Phones Basic 10/100 IP Phone WLAN x IP Phone 1 – 2 ch VoIP G.711, G.723.1, G.726, G.729A/B, VAD, CNG, PLC, DTMF Detect/Generate, Adaptive Jitter Buffer,,Caller ID, Call Waiting, Call Hold, Call Transfer, Message Waiting Indicator, Call Progress Tones, SIP UA 10/100 MII, PCM i/f, WLAN, Video Codecs, LCD Driver, Keypad Driver USB 166MHz+ Media Processing Needs Application CPU Requirements Target BOM $20 - $35 Media Terminal Adapters Basic Voice/Fax Gateway No Routing 1 – 2 ch VoIP $15 - $25 Basic Voice Gateway Router/VPN/Firewall 1 – 4 ch VoIP Advanced Voice Gateway Router/VPN/Firewall ADSL/Cable/FTTH WLAN a/b/g G.711, G.723.1, G.726, G.729A/B, T.38 Fax Relay, VAD, CNG, PLC, DTMF Detect/Generate/Relay, Adaptive Jitter Buffer,,Caller ID, Call Waiting, Call Hold, Call Transfer, Message Waiting Indicator, Call Progress Tones, SIP UA 10/100 MII, PCM i/f 200MHz + $25 - $40 G.711, G.723.1, G.726, G.729A/B, T.38 Fax Relay, VAD, CNG, PLC, DTMF Detect/Generate/Relay, Adaptive Jitter Buffer,,Caller ID, Call Waiting, Call Hold, Call Transfer, Message Waiting Indicator, Call Progress Tones, SIP UA 10/100 MII, PCM i/f 200 MHz – 400MHz $30 - $50 G.711, G.723.1, G.726, G.729A/B, T.38 Fax Relay, VAD, CNG, PLC, DTMF Detect/Generate/Relay, Adaptive Jitter Buffer,,Caller ID, Call Waiting, Call Hold, Call Transfer, Message Waiting Indicator, Call Progress Tones, SIP UA 10/100 MII, PCM i/f 266MHz – 533 MHz

August 3-4, 2004 San Jose, CA Developing a Voice-Enabled Media Gateway

August 3-4, 2004 San Jose, CA Register Application(s) Register Application(s) Initialize VeriCall Edge Initialize VeriCall Edge Modify Default Configuration Modify Default Configuration Commit System Manage User System Management Call Management Channel Configuration Channel Configuration Step 1: Step 2: Step 3: Step 4: Step 5: Step 6: Step 7: Step 8: Initialization Phase Run time Phase Eight Stages to Creating a VoIP Application Initialize Application Initialize Media Processing engine Initialize Media Processing engine Apply or modify default Config data Apply or modify default Config data Provision channel call control stack Provision channel call control stack Manage User Interactions Manage User Interactions System Management Call Management Channel setup Channel setup Step 1: Step 2: Step 3: Step 4: Step 5: Step 6: Step 7: Step 8: Initialization Phase Run time Phase

August 3-4, 2004 San Jose, CA Step 1 – Application Initialization Support single or multi-threaded environment, without imposing constraints on the gateway solutions architecture. Support capability for Multiple Applications Manage the routing of messages to the appropriate application –without increasing the complexity of the user level application design.

August 3-4, 2004 San Jose, CA Step 1 – Application Initialization

August 3-4, 2004 San Jose, CA Step 2 – Initialize Media Engine Should be simple to initialize and configure Should apply factory default configurations – to simplify the user application –allows the user application designer to concentrate on value added services Should allow user application to change or remove any factory default configurations

August 3-4, 2004 San Jose, CA Step 3 – Modify the Configuration Default configuration and user supplied data may be subsequently: –Over-written by the user application –Read by the user application –Removed by the user application Set customized configuration for application –SIP Address –Desired Codec selections

August 3-4, 2004 San Jose, CA Step 3 – Modify the Configuration VE_RemoveSystemAttribute()

August 3-4, 2004 San Jose, CA Step 3 – Modify the Configuration VE_GetSystemAttribute()

August 3-4, 2004 San Jose, CA Step 3 – Modify the Configuration VE_SetSystemAttribute()

August 3-4, 2004 San Jose, CA Step 4 – Provision Media & Call Control Stacks The Media Stack should : –Define the data path for all audio / packet data –Configure the algorithms, which provide functional blocks within the data path The Call Control Stack should: –The call control stack should take the default user and user configuration data to provision configuration

August 3-4, 2004 San Jose, CA Step 4 – Provision Media & Call Control Stacks Common Requirements for Media & Call Control –Creation of the channels should be transparent to the user application software –Perform all memory allocations before processing begins –limit its memory consumption to a pre-set user defined value

August 3-4, 2004 San Jose, CA Step 5 – Manage User Interactions Handle multiple user’s and channels Each user should be able to make and receive calls independently. The user application should be able to associate each user to a logical data path The user application should be able to associate default information to a user, which is applied every time a makes or receives a call.

August 3-4, 2004 San Jose, CA Step 5 – Manage User Interactions

August 3-4, 2004 San Jose, CA Step 6 – System Management The Media and Call Control stacks: –should not block the calling application to allow the application to provide other functionality –must allow the user application to retrieve the events and alarms –must not allow the user application delay or stall the media or call processing capability. –provide a simple interface to enable shutdown and resource release

August 3-4, 2004 San Jose, CA Step 7 – Call Management Decouple Media and Call Control stacks The Media Stack should have no dependency on the Call Control stack The Media Stack should provide a flexible framework to enable easy integration of 3 rd party Call Control stacks

August 3-4, 2004 San Jose, CA Step 8 – Channel Setup The media stack should: –Allow the user application the ability to configure a media channel independently of the call control stack –Enable independent activation and de- activation of each media channel –Provide a simple interface to support all media channel configuration capability

August 3-4, 2004 San Jose, CA Flow of Example Application

August 3-4, 2004 San Jose, CA Example Media & Call Control Processing Architecture

August 3-4, 2004 San Jose, CA Thank You… Come see the VeriCall™ Edge Demo in Booth 406

August 3-4, 2004 San Jose, CA Supplemental Material Details on APIs used in example application

August 3-4, 2004 San Jose, CA Step 1 – Register Application(s) VeriCall Edge’s Solution –VeriCall Edge provides a flexible media engine framework, providing VoIP services to the providers of VoIP gateway and IP phone solutions. –VeriCall Edge imposes minimal design restrictions on the designer of the VoIP solution, allowing the user to architecture their solution as either single or multi-threaded. –VeriCall Edge provides this flexible approach by provision of a application registration service, thus allowing one or more applications to use the services that VeriCall Edge provides. –Each application will be provided with a unique application ID. This is used to authenticate future transactions and provide a route for messaging. –API: VE_RegisterApp ()

August 3-4, 2004 San Jose, CA Step 2 – Initialize VeriCall Edge VeriCall Edge’s solution –VeriCall Edge meets the requirements by providing the user application a simple interface which: –Creates internal storage in which user configuration may be applied –Populates the internal storage with default (factory) configuration data, providing the most commonly used media configurations –VeriCall Edge must be initialized, before any subsequent operations are performed. –API: VE_Initialize();

August 3-4, 2004 San Jose, CA Step 3 – Modify Default Configuration Modifying the configuration –Default configuration and user supplied data may be subsequently: Over-written by the user application Read by the user application Removed by the user application. –The following three API’s are provided for this purpose: VE_RemoveSystemAttribute(); VE_GetSystemAttribute(); VE_SetSystemAttribute();

August 3-4, 2004 San Jose, CA Step 4 – Commit System VeriCall Edge’s Solution –VeriCall Edge provides a simple API to: Declare to VeriCall Edge that the initialization phase is complete Create logical channels, based on the user / default configuration which defines a data path instance and that path’s configuration. Allocate memory, within use defined boundaries. Initialize the VeriCall Edge SIP call control stack.

August 3-4, 2004 San Jose, CA Step 4 – Commit System Activate all internal sub-components ready to handle calls. –API: VE_Commit()

August 3-4, 2004 San Jose, CA Step 5 – Manage User VeriCall Edge’s solution –VeriCall Edge provides a simple set of API’s to enable user management. –A user can be classified as any person that wishes to make or receive a call via VeriCall Edge. –Before any user can make or receive calls, that user must be registered with VeriCall Edge. –A user must be registered with VeriCall Edge regardless of the method of call control. A user is provided with a unique ID, which is used to identify the user, and ultimately, the channel on which to perform channel control functions

August 3-4, 2004 San Jose, CA Step 5 – Manage User –User registration data associates a user to a URI and an internal channel number. –Three user management functions: VE_AddUser() – This registers the user with VeriCall Edge VE_RemoveUser() – Removes a registered from VeriCall Edge. VE_UpdateUser() – Updates the registration data with VeriCall Edge.

August 3-4, 2004 San Jose, CA Step 6 – System Management VeriCall Edge’s solution. Two system management API’s provided to the user application: –System Tick To process Audio, transfer commands from the user application layer to VeriCall Edge and to process message from VeriCall Edge, VeriCall Edge must be ‘ticked’ on a regular basis. The ‘tick’ function performs is a non-blocking operation which acts as an internal scheduler, responsible for invoking all of VeriCall Edge’s sub-components. API: –VE_RunVericallEdge()

August 3-4, 2004 San Jose, CA Step 6 – System Management –Retrieve VeriCall Edge message All events and alarms placed on an internal queuing system, when the system is ‘ticked’, as a message. To enable the user to retrieve these message, a single API is provided. This API uses the application ID passed into the API, to determine which messages should be retreived: Used in conjunction with VE_RunVericallEdge(), needs only be invoked when function states that messages are available.

August 3-4, 2004 San Jose, CA Step 6 – System Management API: –VE_GetNextEvent()

August 3-4, 2004 San Jose, CA Step 6 – System Management VeriCall Edge Shutdown –Sends a request to all internal sub- components to shutdown and free resources –User must await for response, before terminating the application. –API: VE_Shutdown()

August 3-4, 2004 San Jose, CA Step 7 – Call Management VeriCall Edge Call control –VeriCall Edge is provided complete with an standards compliant SIP stack. The use of this SIP stack is optional. –VeriCall Edge provides a flexible framework to allow easy integration of a 3 rd party call control stack Integration of 3 rd Party Call Control stacks –The integration of such call control stacks are performed at the user application level. –VeriCall Edge is agnostic to the type of call control stack utilized.

August 3-4, 2004 San Jose, CA Step 7 – Call Management –VeriCall Edge SIP Call control Stack VeriCall Edge supplies a fully standards compliant SIP stack. The user of the SIP stack is optional and is decoupled from the media library. The VeriCall Edge SIP stack presents a number of high level API’s to the user application. This API allows the user application to easily handle call negotiation without detailed knowledge of the SIP protocol.

August 3-4, 2004 San Jose, CA Step 7 – Call Management The VeriCall SIP stack operates in the same thread as the rest of the VeriCall Edge system and is run by the user application invoked ‘tick’ function. APIs: –VE_RegisterUser() – Registers a previously added user with an external SIP registration server –VE_DeregisterUser() – Registers a previously added user with an external SIP registration server

August 3-4, 2004 San Jose, CA Step 7 – Call Management –VE_StartSIPSession() – Starts the negotiation of a SIP call with another SIP enabled gateway or phone. –VE_SIPSessionResponse() – Allows the user to respond to a incoming call request event. –VE_StopSIPSession() – Allows the application to terminate a SIP session.

August 3-4, 2004 San Jose, CA Step 8 – Channel Configuration VeriCall Edge channel Control –Upon successful negotiation of a call, by the user’s chosen call control stack, a media channel must be configured an invoked to set up the voice path. VeriCall Edge provides two simple API’s to allow initiation or termination of an audio (voice) stream. –Initiation of a audio stream must is performed with configuration data that the call control will have negotiated. This data will include information such as the media encoder / decoder type e.g., G711, destination address and port etc.

August 3-4, 2004 San Jose, CA Step 8 – Channel Configuration APIs: –VE_StartStream() –VE_StopStream()