1 / 85

IPX Cisco Beta Customer Training

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

marty
Download Presentation

IPX Cisco Beta Customer Training

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IPX Cisco Beta Customer Training Q3-2005

  2. Meeting Requests • Please put your phone on mute • Please hold questions until end of each section

  3. Agenda • What is included in the IPX Cisco beta • Brief product / Roadmap update • Network Topology and Tapping Susan Bettica • IPX Application Development Don Howell • IPM260 Application Consideration Karen Van Blarcum

  4. 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

  5. July 2006 IPX Series – VoIP Monitor Packet filter & signaling monitor Passive 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 Patent Pending

  6. To Network port A (DTE) To Monitor B To Monitor A To Network Port B (DCE) July 2006 TX100 - IPX / IPRaccessory Single link tapping Also available as a PCI card • Each IP link needs four physical ports • TX100 supports one IP link • May not be needed for some apps

  7. 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 Vocoders GSM-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

  8. July 2006 VoIP Recording • IPR Series – VoIP Recording Passive 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 In Development Patent Pending Preliminary

  9. Product Rollout IPR Release IPR IPR Beta IPX IPX Release IPX Beta Cisco Call Manager PBX Suport Avaya-CommunicationManager Avaya- IP office Generic SIP Nortel Meridian Alcatel OmniPCX Office Ericsson MD110 Siemens HiPath4000 Mitel M3300 June 06 Sept 05 Dec 05 Mar 06

  10. Product Review and Roadmap Questions

  11. Network Topology

  12. Network Components Call Manager Is a VoIP server that receives calls or initiation requests from the PSTN or web Is an inter-networking system that connects two Networks together Gateway Is a Layer 2 device that uses MAC Addresses to decide where to forward the packets Switch

  13. Ai-Logix Network Components An external passive tapping device connected to the Network and IPX(tap box) TX100 Board for passive VoIP monitoring of packets, filtering data and forwarding media IPX Board that receives media packets that is capable of transcoding, summation and recording to a file IPM 260

  14. 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

  15. Basic Configuration

  16. Basic Configuration

  17. Basic Configuration

  18. Basic Configuration

  19. Network Signaling Centralized Call Logger

  20. External Data Logging Tapping External Traffic on Switch

  21. ExternalCall Recording

  22. Recording utilizing Span Port Peer to Peer Tapping

  23. Recording utilizing Span Port Peer to Peer Tapping Peer to Peer Call ( same workgroup) RTP packets To phones (RX)

  24. Recording utilizing Span Port Peer to Peer Tapping External Call RTP packets from phones (TX) to gateway

  25. Recording utilizing Span Port Peer to Peer Tapping External Call Both directions

  26. 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

  27. Topology and Tapping Questions

  28. IPX Application Development

  29. Topics for Discussion • Overview of the IPX features • Presentation of the IPX Logical Card Model • Sample IPX Application

  30. 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

  31. Three 10/100 Ethernet ports Packet Redirection (Filtering) Session Manager Station Manager Passive Protocol Stacks RTP Media Forwarding IPX Logical Card Model

  32. 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

  33. Packet Redirection (Filtering) Packet filtering is the selective passing or blocking of packets as they move through the network. • 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

  34. 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.

  35. 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.

  36. Passive Protocol Stacks The IPX abstracts the various VoIP protocols and provides a consistent interface to the user application. • 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

  37. 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

  38. 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

  39. Event Reporting The IPX includes the StationID in the XtraInfo field of the event structure for all D-Channel, CC, Station and Media session events. • Station Events • Session Events • Call Control Events EVT_STATION_ADDEDEVT_STATION_REMOVED DATA: StationID, TCP Port, UDP Port EVT_MEDIA_SESSION_STARTEDEVT_MEDIA_SESSION_STOPPED DATA: SessionID, StationID, Caller IP Addr & UDP, & Callee IP Addr & UDP 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 DATA: MT_CALL_INFO structure

  40. SmartControl Accepts: • IP Address • Subnet mask • Default gateway • Interface 0: • Active Port • Forwarding • Interface 1: • Passive Port Interface 2: • Passive Port

  41. 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

  42. A Simple Example #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; }

  43. A Simple Example #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; }

  44. A Simple Example #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; }

  45. A Simple Example CINTERFACE 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.40 Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000; Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010; MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); } break; } }

  46. A Simple Example CINTERFACE 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.40 Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000; Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010; MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); } break; } }

  47. A Simple Example CINTERFACE 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.40 Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000; Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010; MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); } break; } }

  48. A Simple Example CINTERFACE 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.40 Params.DestTxBaseID = (3 * pSession->SessionID) + 0x4000; Params.DestRxBaseID = (3 * pSession->SessionID) + 0x4010; MTIpSetSessionMediaDest(iBrd, pSession->SessionID, &Params, &Size); } break; } }

  49. Outbound Call Events Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSED Received EVT_AUDIO_CHANGE Received EVT_RING_OFF Received EVT_LINE_LIGHT_ON Received EVT_START_TONE Received EVT_DIGIT_PRESSED Received EVT_STOP_TONE Received EVT_DIGIT_PRESSED . . Received EVT_DIGIT_PRESSED Received EVT_STATION_ADDED - Station ID: - 0x10001 Received EVT_CALL_ALERTING Received EVT_STOP_TONE Received EVT_CALL_CONNECTED Received EVT_MEDIA_SESSION_STARTED - Media Session: Caller - 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0 Received EVT_STOP_TONE Received EVT_ONHOOK Received EVT_CALL_RELEASED Received EVT_MEDIA_SESSION_STOPPED .

  50. Outbound Call Events Received EVT_STATION_ADDED - Station ID: - 0x10000 Received EVT_SOFT_BUTTON_PRESSED Received EVT_AUDIO_CHANGE Received EVT_RING_OFF Received EVT_LINE_LIGHT_ON Received EVT_START_TONE Received EVT_DIGIT_PRESSED Received EVT_STOP_TONE Received EVT_DIGIT_PRESSED . . Received EVT_DIGIT_PRESSED Received EVT_STATION_ADDED - Station ID: - 0x10001 Received EVT_CALL_ALERTING Received EVT_STOP_TONE Received EVT_CALL_CONNECTED Received EVT_MEDIA_SESSION_STARTED - Media Session: Caller - 0xa0a0a33, Callee - 0xa0a0a01, SessionID - 0 Received EVT_STOP_TONE Received EVT_ONHOOK Received EVT_CALL_RELEASED Received EVT_MEDIA_SESSION_STOPPED .

More Related