ipx cisco beta customer training

85
IPX Cisco Beta Customer Training Q3-2005

Upload: marty

Post on 15-Jan-2016

56 views

Category:

Documents


0 download

DESCRIPTION

IPX Cisco Beta Customer Training. Q3-2005. Meeting Requests. Please put your phone on mute Please hold questions until end of each section. Agenda. What is included in the IPX Cisco beta Brief product / Roadmap update Network Topology and Tapping Susan Bettica - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: IPX Cisco Beta Customer Training

IPX Cisco Beta Customer Training

Q3-2005

Page 2: IPX Cisco Beta Customer Training

Meeting Requests

• Please put your phone on mute

• Please hold questions until end of each section

Page 3: IPX Cisco Beta Customer Training

Agenda

• What is included in the IPX Cisco beta

• Brief product / Roadmap update

• Network Topology and TappingSusan Bettica

• IPX Application Development Don Howell

• IPM260 Application ConsiderationKaren Van Blarcum

Page 4: IPX Cisco Beta Customer Training

What’s in the IPX Starter Kit

IPX Starter Kit• IPX board• TX100 tap box• Power supply• 19” rack bracket and hardware• IPM260 – 120, No span board• SmartWORKS CD ROM• AudioCodes CD ROM

Page 5: IPX Cisco Beta Customer Training

Packet filter & signaling monitorPassive VoIP monitoring solution• Provides all network interface and packet filtering• Decode for proprietary phone sets

• Alcatel, Avaya, Cisco, Nortel, Siemens, etc.• H323v4, Avaya proprietary, Skinny, SIP, Megaco

• Common API abstracts PBX differences • Built on current SmartWORKS technology• Product flexibility supports most network topologies• Requires off-board recording device (AUDC IPM260)• Error Monitoring

IPX Series – VoIP Monitor

Patent Pending

July 2006

Page 6: IPX Cisco Beta Customer Training

TX100 - IPX / IPR accessory

To Network port A (DTE)

To Network Port B (DCE)

To Monitor B

To Monitor A

Single link tapping

• Each IP link needs four physical ports • TX100 supports one IP link• May not be needed for some apps

Also available as a PCI card

July 2006

Page 7: IPX Cisco Beta Customer Training

IPM260 PCI Board

• 30, 60, 120 and 240 channels• Wireline Vocoders

G.711(PCM), G.726(ADPCM), G.727, OKI-ADCM, G.723.1, G.729A/B, GSM-FR (6.10), MS-GSM, NetCoder.

• Wireless & Cable VocodersGSM-EFR, AMR(NB), EVRC, QCELP8, QCELP13

• MVIP, SC Bus, H.100 • On Board 10/100BaseT Interfaces • Powered by one AudioCodes’ TPM-1100 PMC VoP module• Universal PCI support 3.3 V signaling• PCI bus 32/64 bit, 33/66 MHz

Page 8: IPX Cisco Beta Customer Training

In Development

• IPR Series – VoIP RecordingPassive VoIP recording solution• Provides all network interface and packet filtering plus all voice data handling• Advance Media Processing: (no IPM260 required)

• Multi-stream synchronization• Multi-stream summation• Voice compression, real time transcoding • Silence processing • Stereo Recording

• Decode for proprietary phone sets• Alcatel, Avaya, Cisco, Nortel, Siemens, etc.• H323v4, Avaya proprietary, Skinny, SIP, Megaco

• Common API abstracts PBX differences • Built on current SmartWORKS technology• Product flexibility supports most network topologies

VoIP Recording

Preliminary

Patent Pending

July 2006

Page 9: IPX Cisco Beta Customer Training

Product Rollout

Sept 05Sept 05 Dec 05 Dec 05 Mar 06Mar 06

IPX

IPX

IPR

IPR

June 06June 06

IPX Beta

IPX Release

PB

X S

up

ort

PB

X S

up

ort

IPR Beta

IPR Release

Avaya-Communication

Manager

CiscoCall Manager

NortelMeridian

SiemensHiPath4000

AlcatelOmniPCX

Office

MitelM3300

Avaya- IP office

EricssonMD110

GenericSIP

Page 10: IPX Cisco Beta Customer Training

Product Review and Roadmap

Questions

Page 11: IPX Cisco Beta Customer Training

Network Topology

Page 12: IPX Cisco Beta Customer Training

Network Components

Call Manager

Gateway

Switch

Is a VoIP server that receives calls or initiation requests from the PSTN or web

Is a Layer 2 device that uses MAC Addresses to decide where to forward the packets

Is an inter-networking system that connects two Networks together

Page 13: IPX Cisco Beta Customer Training

TX100

IPX

IPM 260

Ai-Logix Network Components

An external passive tapping device connected to the Network and IPX (tap box)

Board for passive VoIP monitoring of packets,filtering data and forwarding media

Board that receives media packets that is capable of transcoding, summation and recording to a file

Page 14: IPX Cisco Beta Customer Training

Where you TAP matters

• Configurations vary from site to site• Even if it is the same product

• Follow the path of the call• Tap point must be in the call flow

• Mirror Port (Span Port) • Can help in some cases but are not always needed

• Peer to Peer• May require additional tap points

Page 15: IPX Cisco Beta Customer Training

Basic Configuration

Page 16: IPX Cisco Beta Customer Training

Basic Configuration

Page 17: IPX Cisco Beta Customer Training

Basic Configuration

Page 18: IPX Cisco Beta Customer Training

Basic Configuration

Page 19: IPX Cisco Beta Customer Training

Centralized Call Logger

Network Signaling

Page 20: IPX Cisco Beta Customer Training

Tapping External Traffic on Switch

External Data Logging

Page 21: IPX Cisco Beta Customer Training

External Call Recording

Page 22: IPX Cisco Beta Customer Training

Peer to Peer Tapping

Recording utilizing Span Port

Page 23: IPX Cisco Beta Customer Training

Peer to Peer Tapping

Recording utilizing Span Port

RTP packetsTo phones (RX)

Peer to Peer Call ( same workgroup)

Page 24: IPX Cisco Beta Customer Training

Peer to Peer Tapping

Recording utilizing Span Port

RTP packetsfrom phones (TX)to gateway

External Call

Page 25: IPX Cisco Beta Customer Training

Peer to Peer Tapping

Recording utilizing Span Port

External CallBoth directions

Page 26: IPX Cisco Beta Customer Training

Limitations of Span Port

• Bandwidth is limited to 100 Mb

• Data may be lost if the traffic exceeds 100Mb (due to Span port limitations)

• Example: monitoring multiple phones on a Span port

Page 27: IPX Cisco Beta Customer Training

Topology and Tapping

Questions

Page 28: IPX Cisco Beta Customer Training

IPX Application Development

Page 29: IPX Cisco Beta Customer Training

Topics for Discussion

• Overview of the IPX features

• Presentation of the IPX Logical Card Model

• Sample IPX Application

Page 30: IPX Cisco Beta Customer Training

IPX Features

• Near real-time passive network monitoring

• Filtering of non-VoIP related packets

• Decoding of signaling protocols

• RTP media session reporting

• RTP media forwarding to a network voice processor

Page 31: IPX Cisco Beta Customer Training

IPX Logical Card Model

• Three 10/100 Ethernet ports

• Packet Redirection (Filtering)

• Session Manager• Station Manager• Passive Protocol Stacks• RTP Media Forwarding

EventMailer

Session Manager

Ethernet

Host Computer Interface (PCI)

Packet Redirection

Rx/TxLegend SwitchRx/Tx

Packets

RTPForwarding

D-channelDecodingand CallControl

AVAYA

CISCO

Session Manager &

Page 32: IPX Cisco Beta Customer Training

Three Ethernet Ports

• Two ports in promiscuous mode.• One receives upstream (TX) packets• One receives downstream (RX) packets• Configuration Optional

• One port in “active” mode • Transmits RTP packets• Must be configured

• All ports are configurable• IP Address• Subnet Mask• Default Gateway

Page 33: IPX Cisco Beta Customer Training

Packet Redirection (Filtering)

• Filters all VoIP related packets and forwards to on-board resources:• Signaling Protocol

Stack• RTP RTP Forwarder• Others Discarded

• Host PC performs no packet filtering

Packet filtering is the selective passing or blocking of packets as they move through the network.

Page 34: IPX Cisco Beta Customer Training

Session Manager

• Tracks all RTP media connections• Allocates a unique session (Session

ID) for each RTP connection pair• Reports media session

creation/deletion via SmartWorks events

• Session IDs are returned to free pool when media session ends

NOTE: The maximum number of sessions per board is 256.

Page 35: IPX Cisco Beta Customer Training

Station Manager

• Dynamically identifies devices and adds stations on the IPX

• Assigns a unique Station ID to each device• Protocol ID + Station Number • Station IDs are not unique across

multiple boards.

• Reports station added/removed via SmartWorks events

• Station IDs are returned to free pool when a station is removed

NOTE: The maximum number of stations per board is 120.

Page 36: IPX Cisco Beta Customer Training

Passive Protocol Stacks

• Terminal Control decoding similar to the SmartWorks NGX D-Channel• Message-to-event translation• Messages reported to application via

SmartWorks events

• Call Control decoding reports changes in call state similar to the SmartWorks DP• Message-to-CC event translation

The IPX abstracts the various VoIP protocols and provides a consistent interface to the user application.

Page 37: IPX Cisco Beta Customer Training

RTP Media Forwarding

• Forwards the media stream, associated with a Session ID, to a network device

• User controls forwarding dynamically as sessions are created and destroyed

• User supplies destination information• IP Addresses• UDP port numbers

• Forwarding stops when the session stops

Page 38: IPX Cisco Beta Customer Training

New SmartWorks APIs for IPX

• Configuration• Adapter, Signaling Protocol

• Status and Control• Signaling Protocol, Media Session, Station

• Statistics• Signaling Protocol, Station, Network Interface

Note: SmartWorks release 3.3.1 was extended to support the IPX

Page 39: IPX Cisco Beta Customer Training

Event Reporting

• Station Events

• Session Events

• Call Control Events EVT_CC_CALL_ALERTINGEVT_CC_CALL_CONNECTEDEVT_CC_CALL_RELEASEDEVT_CC_CALL_SUSPENDEDEVT_CC_CALL_RESUMEDEVT_CC_CALL_HELDEVT_CC_CALL_RETRIEVEDEVT_CC_CALL_ABANDONEDEVT_CC_CALL_REJECTED

EVT_STATION_ADDEDEVT_STATION_REMOVED

EVT_MEDIA_SESSION_STARTEDEVT_MEDIA_SESSION_STOPPED

DATA: StationID, TCP Port, UDP Port

DATA: SessionID, StationID, Caller IP Addr & UDP, & Callee IP Addr & UDP

DATA: MT_CALL_INFO structure

The IPX includes the StationID in the XtraInfo field of the event structure for all D-Channel, CC, Station and Media session events.

Page 40: IPX Cisco Beta Customer Training

SmartControl

Accepts:• IP Address• Subnet mask• Default gateway

Interface 0:• Active Port• Forwarding

Interface 1:• Passive Port

Interface 2:• Passive Port

Page 41: IPX Cisco Beta Customer Training

Things to Consider

The IPX:• has no channels (no channel events) • all events arrive on the board queue• does not support the H.100 bus• does not have in-band detectors

VoIP:• no dedicated circuits• semi-intelligent terminals

Page 42: IPX Cisco Beta Customer Training

#include "NtiApi.h"

CINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam);

int main(int argc, char* argv[])

{

int BrdNum = 0;

BOOLEAN bOn = 1;

MTSysStartup();

MTSetBoardEventCallback(BrdNum, MyCallback, 0);

MTIpDChannelEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

MTIpCCEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

printf("Waiting for events...(Press any key to exit)\n");

while(!kbhit()) Sleep(10);

MTSysShutdown();

return 0;

}

A Simple Example

Page 43: IPX Cisco Beta Customer Training

#include "NtiApi.h"

CINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam);

int main(int argc, char* argv[])

{

int BrdNum = 0;

BOOLEAN bOn = 1;

MTSysStartup();

MTSetBoardEventCallback(BrdNum, MyCallback, 0);

MTIpDChannelEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

MTIpCCEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

printf("Waiting for events...(Press any key to exit)\n");

while(!kbhit()) Sleep(10);

MTSysShutdown();

return 0;

}

A Simple Example

Page 44: IPX Cisco Beta Customer Training

#include "NtiApi.h"

CINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam);

int main(int argc, char* argv[])

{

int BrdNum = 0;

BOOLEAN bOn = 1;

MTSysStartup();

MTSetBoardEventCallback(BrdNum, MyCallback, 0);

MTIpDChannelEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

MTIpCCEventControl(BrdNum, MT_IP_CISCO_SKINNY, bOn);

printf("Waiting for events...(Press any key to exit)\n");

while(!kbhit()) Sleep(10);

MTSysShutdown();

return 0;

}

A Simple Example

Page 45: IPX Cisco Beta Customer Training

A Simple ExampleCINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam){

char buffer[128] = {0};MTGetEventCodeDescription(pEvent->EventCode, buffer, sizeof(buffer));printf("Received %s\n", buffer);

switch(pEvent->EventCode){case EVT_STATION_ADDED:case EVT_STATION_REMOVED:{

PMT_IP_STATION_PARAMS pStation = (PMT_IP_STATION_PARAMS)(pEvent->ptrBuffer);printf(" Station ID: - 0x%x \n", pStation->StationID);break;}

case EVT_MEDIA_SESSION_STARTED:{PMT_IP_SESSION_PARAMS pSession = (PMT_IP_SESSION_PARAMS)(pEvent->ptrBuffer);printf(" Media Session: Caller - 0x%x, Callee - 0x%x, SessionID - %d\n",

pSession->CallerIPAddress, pSession->CalleeIPAddress, pSession->SessionID);

MT_IP_SESSION_DEST Params = {NETWORK, 0, 0, 0, 0};ULONG Size = sizeof(MT_IP_SESSION_DEST);

Params.fTarget = NETWORK; // Destination type (i.e., network, host)Params.DestTxIPAddr = Params.DestRxIPAddr = 0xAC15DC28; // 172.21.220.40Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000;Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010;

MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); }break;

}}

Page 46: IPX Cisco Beta Customer Training

A Simple ExampleCINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam){

char buffer[128] = {0};MTGetEventCodeDescription(pEvent->EventCode, buffer, sizeof(buffer));printf("Received %s\n", buffer);

switch(pEvent->EventCode){case EVT_STATION_ADDED:case EVT_STATION_REMOVED:{

PMT_IP_STATION_PARAMS pStation = (PMT_IP_STATION_PARAMS)(pEvent->ptrBuffer);printf(" Station ID: - 0x%x \n", pStation->StationID);break;}

case EVT_MEDIA_SESSION_STARTED:{PMT_IP_SESSION_PARAMS pSession = (PMT_IP_SESSION_PARAMS)(pEvent->ptrBuffer);printf(" Media Session: Caller - 0x%x, Callee - 0x%x, SessionID - %d\n",

pSession->CallerIPAddress, pSession->CalleeIPAddress, pSession->SessionID);

MT_IP_SESSION_DEST Params = {NETWORK, 0, 0, 0, 0};ULONG Size = sizeof(MT_IP_SESSION_DEST);

Params.fTarget = NETWORK; // Destination type (i.e., network, host)Params.DestTxIPAddr = Params.DestRxIPAddr = 0xAC15DC28; // 172.21.220.40Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000;Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010;

MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); }break;

}}

Page 47: IPX Cisco Beta Customer Training

A Simple ExampleCINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam){

char buffer[128] = {0};MTGetEventCodeDescription(pEvent->EventCode, buffer, sizeof(buffer));printf("Received %s\n", buffer);

switch(pEvent->EventCode){case EVT_STATION_ADDED:case EVT_STATION_REMOVED:{

PMT_IP_STATION_PARAMS pStation = (PMT_IP_STATION_PARAMS)(pEvent->ptrBuffer);printf(" Station ID: - 0x%x \n", pStation->StationID);break;}

case EVT_MEDIA_SESSION_STARTED:{PMT_IP_SESSION_PARAMS pSession = (PMT_IP_SESSION_PARAMS)(pEvent->ptrBuffer);printf(" Media Session: Caller - 0x%x, Callee - 0x%x, SessionID - %d\n",

pSession->CallerIPAddress, pSession->CalleeIPAddress, pSession->SessionID);

MT_IP_SESSION_DEST Params = {NETWORK, 0, 0, 0, 0};ULONG Size = sizeof(MT_IP_SESSION_DEST);

Params.fTarget = NETWORK; // Destination type (i.e., network, host)Params.DestTxIPAddr = Params.DestRxIPAddr = 0xAC15DC28; // 172.21.220.40Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000;Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010;

MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); }break;

}}

Page 48: IPX Cisco Beta Customer Training

A Simple ExampleCINTERFACE void MyCallback(BOARD iBrd, int iEvtCount, PMT_EVENT pEvent, LPARAM myParam){

char buffer[128] = {0};MTGetEventCodeDescription(pEvent->EventCode, buffer, sizeof(buffer));printf("Received %s\n", buffer);

switch(pEvent->EventCode){case EVT_STATION_ADDED:case EVT_STATION_REMOVED:{

PMT_IP_STATION_PARAMS pStation = (PMT_IP_STATION_PARAMS)(pEvent->ptrBuffer);printf(" Station ID: - 0x%x \n", pStation->StationID);break;}

case EVT_MEDIA_SESSION_STARTED:{PMT_IP_SESSION_PARAMS pSession = (PMT_IP_SESSION_PARAMS)(pEvent->ptrBuffer);printf(" Media Session: Caller - 0x%x, Callee - 0x%x, SessionID - %d\n",

pSession->CallerIPAddress, pSession->CalleeIPAddress, pSession->SessionID);

MT_IP_SESSION_DEST Params = {NETWORK, 0, 0, 0, 0};ULONG Size = sizeof(MT_IP_SESSION_DEST);

Params.fTarget = NETWORK; // Destination type (i.e., network, host)Params.DestTxIPAddr = Params.DestRxIPAddr = 0xAC15DC28; // 172.21.220.40Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000;Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010;

MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); }break;

}}

Page 49: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 50: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 51: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 52: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 53: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 54: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 55: IPX Cisco Beta Customer Training

Outbound Call Events

Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSEDReceived EVT_AUDIO_CHANGEReceived EVT_RING_OFFReceived EVT_LINE_LIGHT_ONReceived EVT_START_TONEReceived EVT_DIGIT_PRESSEDReceived EVT_STOP_TONEReceived EVT_DIGIT_PRESSED

.

.Received EVT_DIGIT_PRESSEDReceived EVT_STATION_ADDED - Station ID: - 0x10001Received EVT_CALL_ALERTINGReceived EVT_STOP_TONEReceived EVT_CALL_CONNECTEDReceived EVT_MEDIA_SESSION_STARTED - Media Session: Caller

- 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0Received EVT_STOP_TONEReceived EVT_ONHOOKReceived EVT_CALL_RELEASEDReceived EVT_MEDIA_SESSION_STOPPED

.

Page 56: IPX Cisco Beta Customer Training

IPX Application Development

Questions

Page 57: IPX Cisco Beta Customer Training

IPM260 Application Considerations

Page 58: IPX Cisco Beta Customer Training

Overview

Using the IPM 260 for VoIP Recording

• Receive incoming RTP packets from IPX

• Sum both sides of the conversation

• Record Conversation - Vocoders: GSM-FR, GSM-EFR, AMR, G711, G732.1, G729.A, G728, G727, and EVRC_QCELP

Page 59: IPX Cisco Beta Customer Training

Sample Network Architecture

Page 60: IPX Cisco Beta Customer Training

• Three channel resources required

• Two channels are opened to receive Rx and Tx packets

• Third channel used for summation recording

Logical Overview

Page 61: IPX Cisco Beta Customer Training

Traffic Flow

• RTP packets are treated as separate streams by the IPX

• Upstream (Tx) and Downstream (Rx) are forwarded to two unique UDP ports on the IPM 260

• Direction of traffic is relative to the tapped VoIP endpoint

Page 62: IPX Cisco Beta Customer Training

API Overview

Limited Development Required

• Most control via SmartWORKS API on IPX

• IPM used solely for receiving/recording RTP media

• This example does not require DTMF/Activity/CPM detectors

Page 63: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Page 64: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Page 65: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbers

Page 66: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbersSet Session Routing Rules

Page 67: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbersSet Session Routing Rules

Summation and Recording

Page 68: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbersSet Session Routing Rules

Summation and Recording

EVT_MEDIA_SESSION_STOPPED

Page 69: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbersSet Session Routing Rules

Summation and Recording

EVT_MEDIA_SESSION_STOPPED

Stop Recording / Stop Summation

Page 70: IPX Cisco Beta Customer Training

Application Flow

User Application

IPX IPM 260EVT_MEDIA_SESSION_STARTED

Open/configure receive channels

Acquire/Set port numbersSet Session Routing Rules

Summation and Recording

EVT_MEDIA_SESSION_STOPPED

Stop Recording / Stop Summation

Close channels

Page 71: IPX Cisco Beta Customer Training

Board Configuration

• Initialize the VoP library – acinitLib()

• Configure board – use acGetDefaultBoardParameters() acOpenBoard()

• network settings – IP Address, etc.

• TDM bus settings – clock settings (Master mode)

• disable PSTN settings

Application Note: Using the IPM 260 for VoIP Recording

Page 72: IPX Cisco Beta Customer Training

Event Reporting

• All events are board events• Only interested in error events • Call acGetEvent() to get event from the

board’s status buffer (FIFO)• Polling method only• A list of board error events can be found in

the VopLib API Reference Manual

Page 73: IPX Cisco Beta Customer Training

Channel Configuration

• Open Channels - acGetDefaultChannelParameters() acOpenChannel() (“change-on-the-fly”)

Voice Settings (CODEC), Transport Settings (RTP Delivery),

Jitter Buffer, TDM settings (channel output)

• Activate RTP - acActivateRTP_RTCPChannel() (IP address of IPX)

•Get Port Number(Optional) - acGetRTP_RTCPAddress()

Page 74: IPX Cisco Beta Customer Training

Review

Currently, the IPX is forwarding upstream and downstream packets to two UDP ports.

On the IPM 260 two channels are opened, RTP is activated, and each channel is configured to pass the decoded voice to a TDM timeslot.

Page 75: IPX Cisco Beta Customer Training

Channel Configuration

Record Channel

• Configure Channel – acGetDefaultChannelParameters()acOpenChannel() (same values except one transport setting – use PCI (local TDM)

• Listen to one timeslot - acMakeTDMConnection()

• Start Summation (listen to second timeslot) - acChannelAdditionalTimeSlotSummation()

• Start Recording - acRecord(), select file name and CODEC

Page 76: IPX Cisco Beta Customer Training

Managing Port Numbers

Controlled by Recording Device:

IPM 260’s Resource Manager Assigns Port Number when channel is opened

• User application invokes acGetRTP_RTCPAddress()

• Pass port numbers into IPX – MTIpSetSessionMediaDest()

Controlled by User Application:

• Build port number scheme into application

• Configure IPM 260 receive channels with number – acActivateRTP_RTCP()

• Pass port numbers into IPX – MTIpSetSessionMediaDest()

Page 77: IPX Cisco Beta Customer Training

Maximum Channels per Board

• IPX supports a max. 256 RTP sessions

• IPM 260-120 has 120 channels • Three channels needed per RTP session when

using summation• Results in 40 RTP sessions supported per

board

Page 78: IPX Cisco Beta Customer Training

Load Balancing

Sending RTP media from a single IPX to multiple boards

On IPX use: MTIpSetSessionMediaDest()

Page 79: IPX Cisco Beta Customer Training

Quality of Service

Jitter• Congestion – LAN, edge equipment, low

bandwidth WAN

• Resource sharing – packets spread out among resources, transmitted along different routes

You can’t control the design of the tapped network, nor can you predict the level of congestion from day to day.

Page 80: IPX Cisco Beta Customer Training

Quality of Service

Manage QOS• Transmit from IPX to IPM 260 on dedicated LAN

(or subnet)

• Set Jitter settings on IPM 260 to maximum value supported by current SDK

Page 81: IPX Cisco Beta Customer Training

Documentation

• Supporting documentation• White Paper – VoIP Recording• Application Note – Using the IPM 260 for VoIP

Recording• Manual - IPX Integration and User Guide

• Sample Application

Page 82: IPX Cisco Beta Customer Training

IPX & IPM260 Technical Support

• Web support: • www.ai-logix.com/support.html

• Phone, Email or Online support: • Monday thru Friday 8:30AM to 5:30PM EST• Email -> [email protected]• Online -> http://support.ai-logix.com• Phone -> 732-469-0880

Page 83: IPX Cisco Beta Customer Training

IPM260 Programming

Questions

Page 84: IPX Cisco Beta Customer Training

Key Points

• IPX rollout• Avaya coming up next• IPR product will preserve your current development

• Network Topology• Very important to understand the configuration

• IPX Application Considerations• An understanding of how the IPX works • What features it provides.• How to build an application with the IPX

• IPM260 Application Considerations• Each conversation requires 3 resources• Application notes and whitepapers are available

Page 85: IPX Cisco Beta Customer Training

Thank You!