1 / 40

Reducing the Feature Interaction Problem Using an Agent-Based Architecture

Debbie Pinard Aphrodite Telecom Research, a Division of Pika Technologies debbie.pinard@pikatech.com. Reducing the Feature Interaction Problem Using an Agent-Based Architecture. Introduction. What are the inherent problems in current PBX architectures? Why is this architecture better?

Download Presentation

Reducing the Feature Interaction Problem Using an Agent-Based Architecture

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. Debbie Pinard Aphrodite Telecom Research, a Division of Pika Technologies debbie.pinard@pikatech.com Reducing the Feature Interaction Problem Using an Agent-Based Architecture

  2. Introduction • What are the inherent problems in current PBX architectures? • Why is this architecture better? • Agent-based • Data driven • Handling of features

  3. Attendant Groups, Help Desks, ACD’s Many people, one phone Auto Attendant, Voice Mail One person, many devices Wireless Different Carriers Boss/Secretary New Device Types FAX The Problem Space

  4. Application Server Lines, Trunks HCI, CallPath, TSAPI, TAPI, SMDI LAN First Generation Architecture PBX • Problems: • integration complicated • guessing at state of devices • glares • lack of control over system • Problems: • Device based architecture • Large volume of spaghetti code • New features “barnacled” on

  5. WAN JTAPI, TAPI, Custom App 1 MAPI, LDAP PSTN . . . Co-ordination LAN App n UNPBX Second Generation Architecture LAN Resources PBX, “Engine”, Call Control

  6. Communication: The Present

  7. Alice Boss Alice Boss Bob Donald Bob Donald The Reality

  8. Agents, Agencies and Organizational Design

  9. Introduction • Mid 1990’s • Step past Object Oriented design into Agent Oriented design • Agents are autonomous or semi-autonomous software systems that perform tasks • Autonomy means there is no centralized control • An agency consists of a group of agents which take specific roles within an organizational structure • The group is more than the sum of the capabilities of its members

  10. Agent Oriented Approach to a Communication System • Completely Different Way of Thinking! • not device based • no individual applications • Communication based on organizational policies • Each Resource is represented by an agent

  11. Organizational Design • What does an organization consist of? • Job Descriptions • Resources (People and Devices) • Procedures • Policies • Information

  12. Database CO WAN Known Users Unknown Users Phones PDAs Printers Directory DSPs PCs PBXs Trunks E-Mail What are the Resources? 222 Internal #s 9-416-832-5634 External #s

  13. LAN Resources E-Mail Corporate Directory Corporate Printer/Fax Database IDNumbers (Roles) External #s Internal #s Nodes CO WAN Known Users Unknown Users Objects (Doors, Lights, etc.) Devices DSPs Trunks PCs, Personal Printer Phones Sensors Switches PDAs How Can Resources Be Grouped?

  14. 9-591-1555, 222, etc. IDNumber Agent Use Are Associated With Are Associated With LAN Resource Agent Mary, CO, WAN, etc. Node Agent E-Mail, Directory, Printer etc. Use Are Associated With Use Use Device Agent Phone, Trunk, etc. Communication Agency

  15. 9-591-1555, 222, etc. IDNumber Agent Policy 1 Policy 2 Policy 1 Policy Chain Policy 2 Many-to-Many Relationship . . . Policy n Policy n Mary, CO, WAN, etc. Node Agent Many-to-Many Relationship Policy Chain . . . Device Agent Phone, Trunk, etc. Agent Relationships

  16. Fred Finn Todd Turner Betty Burns Sam Stone Group Policy Time of Day Policy Day of Week Policy 6:00 – 18:00 18:00 – 6:00 Mon Tue Wed Thu Fri Sat Sun Abe Andrews Mike Moon Group Policy Time of Day Policy 6:00 – 18:00 Example of a Policy Chain

  17. Feature Design

  18. Feature Types Two types: • Standard (e.g. camp on, call forwarding, transfer, etc.) • Feedback (e.g. IVR, auto attendant, voice mail, etc.)

  19. Standard Features • Temporarily takes over from the basic call flow • Can be invoked by events (‘off hook’) or access codes (*56) • Separate from basic call control, managed by a feature manager • Uses a state/event trigger table, pointing to a policy chain, terminating on a feature object • Common features are broken into ‘mini’ features (e.g. transfer)

  20. Feedback Features • Provides options or information to a person instead of giving them a tone • Uses a tone/reason trigger table, pointing to a policy chain, terminating on an initial Feedback Feature object • Feedback Feature is made up of a tree of linked objects • Objects can use DSP resources (like play, record, text-to-speech, etc.), can collect digits, can retrieve data, can invoke a feature, etc. • Once an object is implemented, it is available to any Feedback Feature

  21. IDNumber Agent 9-591-1555, 222, etc. Node Agent Mary, CO, WAN, etc. Device Agent Phone, Trunk, etc. Trigger Tables Standard Features Standard Features Standard and Feedback Features

  22. Data Driven Design

  23. How is it Done? • A record in a table represents each agent • Linked policy records represent the relationship between agents, as well as the path between a feature trigger and a feature • Features are triggered based on data in a trigger table record • Feedback Features are made up of a tree of linked records • The running system is built from the database, each record is represented by an object, some of which are linked together

  24. Why is it Important? • Call flow is determined by a system administrator • Users can also be given the ability to change data • Each running system is unique, and tailored to an organizations preferences and policies • Feedback to users can be programmed to give more information rather than just a tone • It is much more open to adding some form of AI in to change data based on different criteria

  25. The ‘Feature Interaction’ Problem:How the Architecture Helps

  26. Conflicting Goals Different features triggered by same state/event • Trigger table allows for ordering of features • Example: conference and swap • Can also be handled by introducing a feedback feature and letting the caller choose • Example: call wait and voice mail • Implementation eliminates interaction • Example: call forward busy and call wait

  27. Type of Call Feature invoked based on type of call • Example: call forwarding vs. hunt group call • Eliminates this form of feature interaction, since the type of call is inherent in the path it is following

  28. Competition for Resources Specific set of resources available • Co-ordination needed to partition resources among applications • Needs to take into account enterprise and group policies • Example: 911 trunk access • New hunt policy which takes over a trunk or line if the group is busy, based on the call path

  29. Changing Assumptions on Services What was true in the past can change with the advent of new technology and services • Example: What does ‘Busy’ mean? • A Device agent can specify what busy means for different devices • A Node agent representing a person can specify what busy means for that person, regardless of the device used

  30. Policy Replacing Many Features Implementing one data-driven policy replaces many features • Example: call restriction, toll control, interconnect rights, call screening • Create a list of people, numbers, devices • At each agent level, a policy can be invoked which restricts a call based on a list • Can let the call through or block it • Note: Tom’s availability

  31. Policy Available to All Call Types Call type had a feature that was only available to it • Example: toll control on trunks • Chaining of a day of week policy followed by a time of day policy between IDNumber and Node agents and Node agents and Device agents provides ultimate flexibility to all types of calls with no extra code

  32. Reverting to Basic Call ASAP To avoid some feature interactions, features terminate as quickly as possible and revert back to a basic call state • Example: call hold, queuing • Held or queued person reverts back to the Waiting for Termination basic call state, not a ‘special’ state • All features triggered off of events in the waiting for termination state are still available

  33. Adding New Device Types • Just needs a new device agent which manages the device interface, but talks to the node agent in exactly the same way as any other device • Example: I/O port device • Opening a door can make a phone call, or making a phone call can turn on a light • Uses the same trigger table as all other devices • Can be part of a group

  34. Implementation Details

  35. Windows Server Aphrodite Application LAN, WAN Database Pika Monte Carlo Grand Prix API Pika Monte Carlo API IP H/W PSTN Pika Drivers Pika Boards PC Host Resources Hardware/Middleware

  36. Software • Written in VB using the Pika APIs • ~ 60 Standard Features, ~20 Feedback Features • Only 32,400 lines of code • Ratios: • Forms 44% • Basic Call 32% (includes hunting) • Standard Features 12% • Feedback Features 12% • Supports analog and digital trunks, POTs and I/O ports

  37. Single Threading • Cuts down on feature interactions and glare situations • Only one feature can be active at a time, and runs to completion • Very few features need more than one event • Those that do only involve one device • Multi-threading is done where it makes sense, in the drivers and middleware • All timing is done in the middleware

  38. IDNumber Agent 9-591-1555, 222, etc. LAN Resource Agent Node Agent Mary, CO, WAN, etc. E-Mail, Directory, Printer etc. Many-to-Many, Policy Based Many-to-Many, Policy Based Device Agent Phone, Trunk, etc. Summary Policies,Features Policies, Features Policies, Features

  39. Conclusion The Aphrodite platform proves that a data driven, Agent-based architecture is a superior approach to developing communication systems, and can reduce or even eliminate some forms of feature interactions.

  40. Questions?

More Related