Querying Microsoft SQL Server course description This course covers the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server and provides the foundation for all SQL Server-related disciplines; namely, database administration, database development and business intelligence. This course helps prepare for exam 70-761. Note: This course is designed for SQL Server 2014or SQL Server 2016. What will you learn Write SELECT statements. Create and implement views and table-valued functions. Transform data by implementing pivot, unpivot, rollup and cube. Create and implement stored procedures. Add programming constructs such as variables, conditions, and loops to T-SQL code. Querying Microsoft SQL Server course details Who will benefit: Database administrators, database developers, and business intelligence professionals. SQL power users, namely, report writers, business analysts and client application developers. Prerequisites: Database fundamentals Duration 5 days Querying Microsoft SQL Server course contents Introduction to Microsoft SQL Server Management studio, creating and organizing T-SQL scripts, using books online. Hands on working with SQL Server tools. T-SQL querying Introducing T-SQL, sets, predicate logic, logical order of operations in SELECT statements, basic SELECT statements, queries that filter data using predicates, queries that sort data using ORDER BY. Hands on introduction to T-SQL querying. Writing SELECT queries Writing simple SELECT statements, eliminating duplicates with DISTINCT, column and table aliases, simple CASE expressions. Hands on writing basic SELECT statements. Querying multiple tables cross joins and self joins, write queries that use Inner joins, write queries that use multiple-table inner joins, write queries that use self-joins, write queries that use outer joins, write queries that use cross joins. Hands on querying multiple tables. Sorting and filtering data Sorting data, filtering data with predicates, filtering data with TOP and OFFSET-FETCH, working with unknown values, WHERE clause, ORDER BY clause, TOP option, OFFSET-FETCH clause. Hands on sorting and filtering data. SQL Server data types Introducing SQL Server data types, Character data, date and time data, queries that return date and time data, write queries that use date and time functions, write queries that return character data, write queries that return character functions. Hands on working with SQL Server data types. DML Adding data to tables, modifying and removing data, generating automatic column values, Inserting records with DML, updating and deleting records using DML. Hands on using DML to modify data. Built-in functions Queries with built-in functions, conversion functions, logical functions, functions with NULL, queries that use conversion functions, queries that use logical functions, queries that test for nullability. Hands on built-in functions Grouping and aggregating data Aggregate functions, the GROUP BY clause, filtering groups with HAVING, queries that use the GROUP BY clause, queries that use aggregate functions, queries that use distinct aggregate functions, queries that filter groups with the HAVING clause. Hands on grouping and aggregating data. Subqueries Self-contained subqueries, correlated subqueries, EXISTS predicate with subqueries, scalar and multi-result subqueries. Hands on subqueries. Table expressions Views, inline table-valued functions, derived tables, common table expressions. queries that use views, write queries that use derived tables, Common Table Expressions (CTEs), write queries that se inline Table valued expressions (TVFs). Hands on table expressions. Set operators The UNION operator, EXCEPT and INTERSECT, APPLY, queries that use UNION set operators and UNION ALL, CROSS APPLY and OUTER APPLY operators. Hands on set operators. Windows ranking, offset, and aggregate functions OVER, window functions, ranking functions, offset functions, window aggregate functions. Hands on; windows ranking, offset, and aggregate functions. Pivoting and grouping sets PIVOT and UNPIVOT, grouping sets, queries that use the PIVOT operator, queries that use the UNPIVOT operator, queries that use the GROUPING SETS CUBE and ROLLUP subclauses. Hands on pivoting and grouping sets Executing stored procedures Querying data with stored procedures, passing parameters to stored procedures, simple stored procedures, dynamic SQL, the EXECUTE statement to invoke stored procedures. Hands on executing stored procedures. Programming with T-SQL T-SQL programming elements, controlling program flow, declaring variables and delimiting batches, control-of-flow elements, variables in a dynamic SQL statement, synonyms. Hands on programming with T-SQL Error handling T-SQL error handling, structured exception handling, redirect errors with TRY/CATCH, THROW to pass an error message back to a client. Hands on implementing error handling. Implementing transactions Transactions and the database engines, controlling transactions, BEGIN, COMMIT, and ROLLBACK, adding error handling to a CATCH block. Hands on implementing transactions.
MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
This programme concentrates on the core planning skills needed to develop sound practical project plans in a team environment. This enables the plan to be modified should requirements change or difficulties arise. The programme also gives participants the confidence to practise those skills and apply them in the work environment and deliver their projects more successfully in the future. Participants learn fundamental project management concepts and terminology, demystifying the project management process, and, in particular, how to: Break a project down into manageable sections and ensure nothing is left out Understand and apply estimating techniques to develop realistic estimates Sequence work effectively and carry out critical path analysis to determine project duration and which tasks to pay closest attention to Manage project risk effectively to protect project value Monitor, control and re-plan the project to best keep it on track Close out the project and ensure the project comes to an orderly end 1 Introduction Self-introductions and personal objectives Course objectives Sharing of project issues 2 Project management concepts Characteristics of a project and what should be kept as operational responsibilities Understanding the triple and quadruple constraints - and their limitations Prioritising requirements through the MOSCOW technique Product v project life cycle Key project roles and responsibilities - the importance of sponsorship and clarity of roles 3 Starting a project, and the importance of the terms of reference / project brief Avoiding the pressure to 'just do it'! The importance and benefits of planning The best time to learn! Initial project documentation - the BOSCARDI approach 4 Breaking the work down Understanding alternative breakdown structures such as the product breakdown structure and work breakdown structure Guidelines for creating a work breakdown structure to ensure the full work scope is identified 5 Estimating Alternative estimating techniques and associated confidence levels Further considerations - loss and resource factors 6 Organising the work Use of network diagrams to develop a clear sequence of work Critical path analysis and calculating the project duration and task float - and usage 7 The management of project risk Understanding the nature of project risk The risk analysis and risk management processes How to best manage threats and opportunities Running a risk workshop Using the risk register 8 Scheduling the work The importance of the Gantt chart and understanding its limitations The Gantt chart layout and using alternative views such as the tracking Gantt Using alternative dependencies 9 Resource issues Assigning resources and resolving resource overloads Crashing and fast-tracking your project and potential issues to look out for 10 Controlling the project The control cycle and alternative feedback mechanisms Alternative progress reporting Assessing the impact The importance of re-planning The benefits of control Change control - the importance of impact analysis The steps of change control and the use of the issue register 11 Closing the project The project closure checklist Reviewing the project - things to avoid Developing meaningful lessons and ensuring they are applied effectively The post-project review - its importance to the organisation
Mikrotik routers training course description A fast paced practical hands on introduction to Mikrotik routers concentrating on basic product knowledge needed for the real world. Starts with the basics of accessing the routers through configuring static routes, RIP and OSPF, ending with firewalls. Hands on sessions follow all the major chapters. What will you learn Use Winbox. Use the Mikrotik command line. Perform basic troubleshooting. Configure Interfaces, RIP and OSPF. Perform housekeeping tasks such as: - save and load configurations - upgrade the OS - recover lost passwords Mikrotik routers training course details Who will benefit: Anyone who will be working with Mikrotik routers. Prerequisites: TCP/IP foundation for engineers Duration 2 days Mikrotik routers training course content Mikrotik routers RouterOS, RouterBoard. System resources. Getting started Accessing the router, Winbox, Webfig, Quickset. telnet. The command line interface Contexts, online help, basic troubleshooting. Configuring Interfaces Basics, Enabling interfaces. Ethernet, loopback interfaces. Adding IP addresses. Static routes Why use static routes? Configuring static routes, default routes. Configuring RIP How RIP works, configuration, troubleshooting. OSPF Configuration and troubleshooting. Housekeeping Configuration management, offline editing and FTP usage. RouterOS upgrades. Packages. Bypassing passwords. Other functions DHCP server. Firewall Connections, chains, actions, filters.
MPEG training course description This course studies the MPEG standards for video and audio compression. A major focus is on MPEG-4 and MPEG-TS. Hands on includes decoding and analysing MPEG streams. What will you learn Recognise the main MPEG standards. Describe the techniques used in MPEG video and audio compression. Compare MPEG2m MPEG4 and MPEG-H. Describe the MPEG-TS. Analyse MPEG streams. MPEG training course details Who will benefit: Anyone working with MPEG. Prerequisites: None. Duration 2 days MPEG training course contents Introduction What is MPEG? MPEG and VCEG, MPEG 1, MPEG 2, MPEG-3, MPEG-4, MPEG-H, others, codecs and containers, licensing and patents, parts and layers (System, Video, Audio, others). MPEG2 DVD, DVB, characteristics, MPEG2 Part2, audio MPEG2 Part 7 (AAC). MPEG tools Wireshark, vlc, analysers, decoders, ffmpeg, wowzer. MPEG2 Video compression Sampling, bit rates, resolution. Inter and Intra frame coding, I, B, P frames, GOP, slices, blocks, macroblocks. Motion estimation. Hands on Analysing MPEG frames. MPEG4 Profiles and levels, Enhancements, Parts 1,2,3, Part 10 and AVC, Part 14 and mp4. Performance versus MPEG2. MPEG audio Coding, frequencies, bit rates. MPEG-TS PES, Transport Streams, TS elements, packets, PID, Programs, PSI, PAT, PMT, synchronisation, PCR, PTS. MPEG-H Part 2 HEVC, benefits, improvements. Video codecs What is a CODEC, pictures and audio, digitisation, sampling, quantisation, encoding, compressing.
Total H.248 training course description A course focusing purely on the H.248 protocol. Anyone working through the ITU standards documents can testify to the need of a training course to explain how H.248 really works. This course already assumes knowledge of other VoIP protocols and starts by positioning H.248 in relation to the other protocols. The course then looks at H.248 architectures and concepts before analysing H.248 messages and call flows. What will you learn Describe what H.248 is Recognise where H.248 fits in relation to other VoIP protocols. Explain how H.248 works. Analyse H.248 packets Total H.248 training course details Who will benefit: Technical staff working with H.248 Prerequisites: Voice Over IP. Duration 2 days Total H.248 training course contents What is H.248? Review of VoIP protocols: RTP, RTCP, SIP, SDP, H.323. The PSTN and SS7. Where H.248 fits into the picture. H.248 history. MGCP. The IETF. Megaco. ITU standards. H.248v1, v2, v3. H.248 architectures Media Gateways, Media Gateway Controllers, Gateway Control functions, Signalling Gateways. Reference architectures: IMS/TISPAN: IBCF, IWF, I-BGF, SPDF. MSF: S-SBG-NC, D-SBG-NC. GSMA: IPX Proxy. Softswitches. H.248 concepts The connection model, terminations, streams, contexts. Termination properties: descriptors, context properties. Events, signals, packages. H.248 messages Protocol stack, UDP, TCP. Message structure. Transactions, actions, commands. Requests, replies, acknowledgements. Sample message flows. Binary encoding, ASN syntax, Text encoding. H.248 commands Termination manipulation: Add, Subtract, Move, Modify. Event reporting: Notify. Management: AuditCapability, AuditValue, ServiceChange. H.248 Descriptors What are descriptors? Relationship with messages and commands. Basic descriptors, Descriptors composed of other descriptors. The 19 descriptors. Defaults. H.248 Transactions Groups of commands, transaction Ids, relationship with actions and commands. Requests and replies. H.248 wrap up What is a package? Basic packages. H.248 security. H.248 - SIP interoperation. H.248 interoperation with other protocols.
H.323 training course description A hands on course covering IP telephony with H.323. The course starts with a brief review of knowledge students should already possess including RTP and RTCP. The main focus is on H.323 protocols though, progressing from what H.323 is through signalling, call processing and architectures, moving onto more advanced issues including security, multimedia, conferencing, and interoperability. Hands on practicals follow each major theory session. What will you learn Explain how H.323 works. Analyse H.323 packets. Deploy H.323 IP telephony solutions. Integrate H.323 with other telephony solutions. H.323 training course details Who will benefit: Technical staff working with H.323 Prerequisites: Voice Over IP Duration 2 days H.323 training course contents VoIP review Brief review of VoIP, IP, telephones and voice. RTP, RTCP, mixers and translators. What is H.323? The framework, Why H.323, history, H.323 standards and the ITU, H.323 versions 1,2,3,4, and 5, Annexes and Appendices, capabilities, services, How H.323 works, a basic call. H.323 protocol stack The overall framework, Audio codecs (H.7xx), Video codecs (H.26x), T.120 data conferencing. H.323 Architecture Endpoints: Terminals, MCUs, gateways. Gatekeepers, border and peer elements, design issues, signalling with and without gatekeepers. H.225 Packet format, ASN.1, Information elements, Call setup, Call control. Gatekeepers Gatekeeper features, admissions, address translation, bandwidth management, call routing, zones, administrative domains, gatekeeper discovery, call establishment, fast connect. RAS packet formats, RAS signalling. Alternate gatekeepers. H.245 Purpose, call control channel, relationship with H.225, message format, tunnelling. H.323 Supplementary services Conferencing: point to point, multipoint, hybrid, broadcast, H.332. H.450.x. Call transfer, diversion, hold and waiting. Remote device control (H.282, H.283). Capability exchange, Video. Security H.235. Authentication, privacy, transport layer level security. Interoperability Gateways, Inter working with PSTN, SIP and H323. H.246. Annexes and Appendices An overview.
Session Border Controllers course description A hands on course covering Session Border Controllers with a focus on the technical workings of features commonly found in Session Border Controllers. Hands on practicals follow each major theory session. What will you learn Explain how Session Border Controllers work. Explain the SIP call flow using a SBC. Deploy Session Border Controllers Describe the features found in Session Border Controllers. Session Border Controllers course details Who will benefit: Technical staff working with SIP. Prerequisites: Definitive SIP for engineers Duration 2 days Session Border Controllers course contents SIP review Signalling, media, RTP, SIP, peer to peer, SIP proxies, SIP call flows. Hands on: SIP packet analysis. Session Border Controllers What is a SBC? SBC features, peering scenario, access scenario, NNI SBC, UNI SBC, enterprise SBC. Hands on: SBC call flows SBC topology hiding Header privacy, B2BUA. Hands on: Header analysis. Session control Call admissions, QoS, statistics and billing, redundancy and scalability. Hands on: SBC session control SBC and NAT NAT traversal, STUN, ICE, NAT and SIP, NAT and RTP. Hands on: SBC and NAT traversal. SBC and security DoS, access control, encryption, authentication, toll fraud, regulatory issues, lawful intercept. Hands on: Security. Interoperability mediation Manipulating SIP headers, IMS, IETF, TISPAN, SIP-I. SBC interworking.
Bluetooth training course description Bluetooth is used by many kids these days but is probably under-utilised in business environments. This hands on training course provides an overview of what Bluetooth is, how it works, what it can be used for and how to configure it on different devices. What will you learn Explain what Bluetooth is. Describe the Bluetooth protocol stack. Recognise the applications of Bluetooth. Configure Bluetooth. Bluetooth training course details Who will benefit: Anyone who needs to know more about Bluetooth. Prerequisites: None. Duration 2 days Bluetooth training course contents Classic Bluetooth Bluetooth overview Basics, standards, competing technologies. Bluetooth radio RF bands, power losses, frequency hopping. Bluetooth modulation PSK, DPSK, DPQSK. Bluetooth data transfer FH, TDD, FDMA, ACL, SCO, Bluetooth packets. Making connections Piconets, Scatternets, Pairing The protocol stack Baseband, Link Manager, L2CAP, SDP, GAP, RFCOMM. Profiles FTP, DUN, LAN, Synch, HDP, GOEP/OBEX etc. Security Authentication, authorisation, encryption, risks. Bluetooth Low Energy Introduction Bluetooth Smart and Bluetooth Smart Ready. BLE device types Design goals, terminology and core concepts. BLE usage models Presence detection, data broadcasting connectionless models, gateways. BLE architecture Controller, host, applications and stack splits. BLE protocol stack Link layer, HCI, L2CAP. BLE profiles GAP roles, models, procedures, security modes, data advertising. BLE security Pairing, bonding, data signing BLE applications Devices, services, profiles, peripherals
LTE Airside training course description This course provides a concise insight into the LTE airside. Key parts of the course are detailed looks at the air interface protocol stack, cell acquisition, transmission and reception of data and of he layer 1 procedures along with layer 2 procedures. What will you learn Explain the RF optimisation flowchart. Describe the importance of Reference Signal Received Power (RSRP). List many of the 3GPP recommended KPIs. Describe the concept of APN AMBR and UE AMBR within LTE. Describe the use of planning and optimisation computer tools. LTE Airside training course details Who will benefit: Anyone working with LTE. Prerequisites: Essential LTE Duration 2 days LTE Airside training course contents Introduction and review of LTE This section describes the requirements of LTE and key technical features, and reviews the system architecture. LTE Architecture, UE, E-UTRAN and EPC. Specifications. OFDMA, SC-FDMA and MIMO antennas This section describes the techniques used in the LTE air interface, notably orthogonal frequency division multiple access (OFDMA) and multiple input multiple output (MIMO) antennas. Communication techniques for fading multipath channels. OFDMA, FFT processing and cyclic prefix insertion. SC-FDMA in the LTE uplink. Multiple antenna techniques including transmit & receive diversity and spatial multiplexing. Introduction to the air interface This section covers the operation of the air interface, the channels that it uses, and the mapping to the time and frequency domains of OFDMA and SC-FDMA. Air interface protocol stack. Logical, transport and physical channels. Frame and slot structure, the resource grid. Resource element mapping of the physical channels and physical signals. LTE spectrum allocation. Cell acquisition This is the first of three sections covering the air interface physical layer. Here, we cover mobile procedures to start low-level communications with the cell, and base station transmission of the corresponding information. Primary/secondary synchronisation signals. Downlink reference signals. The master information block. Physical control format indicator channel. Organisation and transmission of the system information. Data transmission and reception In this section, we cover procedures used for data transmission and reception on the shared channels, and describe in detail the individual steps. Data transmission and reception on the uplink and downlink. Scheduling commands and grants on the PDCCH. DL-SCH and UL-SCH. Physical channel processing of the PDSCH and PUSCH. Hybrid ARQ indicators on the PHICH. Uplink control information on the PUCCH. Uplink demodulation and sounding reference signals. Additional physical layer procedure This section concludes our discussion of the air interface physical layer, by discussing a number of procedures that support its operation. Transmission of the physical random access channel. Contention and non-contention based random access procedures. Discontinuous transmission in idle and connected modes. Uplink power control and timing advance. Air interface layer 2 This section describes the architecture and operation of layer 2 of the air interface protocol stack. MAC protocol, interactions with the physical layer, use for scheduling. RLC protocol, transparent, unacknowledged and acknowledged modes. PDCP, including header compression, security functions and recovery from handover.