Presentation is loading. Please wait.

Presentation is loading. Please wait.

IETF55 AAA WGDiameter C++ API and Open Diameter project 1 Diameter C++ API and Open Diameter Project Yoshihiro Ohba Victor Fajardo Dilip Patel.

Similar presentations


Presentation on theme: "IETF55 AAA WGDiameter C++ API and Open Diameter project 1 Diameter C++ API and Open Diameter Project Yoshihiro Ohba Victor Fajardo Dilip Patel."— Presentation transcript:

1 IETF55 AAA WGDiameter C++ API and Open Diameter project 1 Diameter C++ API and Open Diameter Project Yoshihiro Ohba Victor Fajardo Dilip Patel

2 IETF55 AAA WGDiameter C++ API and Open Diameter project 2 Diameter C++ API Design policy –Leveraging object-oriented nature of C++ –Reuse what is already defined in the C API as much as possible Document –draft-ohba-aaa-diameter-cxxapi-00.txt –Sample code in Appendix

3 IETF55 AAA WGDiameter C++ API and Open Diameter project 3 Why C++ API? Since classes are hierarchically defined, it is easy to reuse and extend what is already defined C++ has a built-in exception handling mechanism for providing a better way of handling errors Better handling of callback functions –A set of variables and associated functions can be passed in a single argument as a pointer to a class instance

4 IETF55 AAA WGDiameter C++ API and Open Diameter project 4 Basic Structure of the API Element data-type definitions –No member functions –Type definitions in the C API are reused Parser class definitions –Classes for assembling/reassembling messages and AVPs Session/Event/Message Control class definitions –Classes for handling sessions, events and sending messages

5 IETF55 AAA WGDiameter C++ API and Open Diameter project 5 Open Diameter Project History –“Open Source Diameter” Project created in SourceForge in Jan 2002, by David Frascone –“OpenDiameter” Project created in Oct 2002 by Toshiba America Research, Inc. (TARI) –The two projects were merged into “Open Diameter” project in Nov 2002 URL –http://www.opendiameter.org (project home page) –http://sourceforge.net/projects/diameter (CVS repository, tar archives, ML) Source code –Using the C++ API, (Java-based implementation is also planned) –Thread-safe –Using ACE (Adaptive Communication Environment) library to archive OS- independency and employ typical design patterns –Using XML for Command & AVP dictionary and configuration files –Libraries are under Lesser GPL (LGPL) –Daemon programs will be under GPL

6 IETF55 AAA WGDiameter C++ API and Open Diameter project 6 Open Diameter Architecture … Session DB Per-session Event Serializer Per-peer Message Queues … … … Per-connection Threads Pool of Threads The Main Thread Transport Connections Timer, signal, thread, connection and configuration management Parser DB AVP Container Pool Peer DB Routing DB Parser(libdiamparser)Session Manager(libdiameter) Transport&Routing Manager(libdiameter)

7 IETF55 AAA WGDiameter C++ API and Open Diameter project 7 Can the C++ API be a work item of the WG? –We believe that the C++ API (as well as the C API) and the Open Diameter project can help the community deploy Diameter quickly


Download ppt "IETF55 AAA WGDiameter C++ API and Open Diameter project 1 Diameter C++ API and Open Diameter Project Yoshihiro Ohba Victor Fajardo Dilip Patel."

Similar presentations


Ads by Google