April 2004 – August 2004
Computer Telephony Integration
The computer telephony integration (CTI) server was a new product for Reynolds &
Reynolds to integrate IP telephony functions into existing Reynolds & Reynolds applications.
The first phase of the project provided outbound phone notifications and inbound
IVR function. The outbound notifications were triggered from existing Reynolds &
Reynolds applications when a repair order was finished, to remind a customer of
an upcoming service appointment, and to notify customers when a special order part
was received. The inbound IVR provided status information on special order part
orders and service status. The telephony functionality to place outbound calls and
receive inbound calls was handled by the Customer Interaction Center (CIC) from
Interactive Intelligence.
I refactored the prototype code to isolate the telephony function and to more easily
accommodate integration with Reynolds & Reynolds products. Prior to refactoring,
the C# code and the CIC shared a common database, which was the means of data sharing.
I introduced several SOAP web services that were called from CIC to provide an explicit
interface and isolate the telephony function.
Technical highlights included:
- Code generation using XML/XSLT to create strongly typed classes to call stored
procedures and handle returned data readers.
- SIP class to create simple SIP messages and send test messages to the Cisco router
for diagnostic purposes.
- Mock classes using remoting.
- Comprehensive NUnit tests
Unfortunately, the project was cancelled before the product reached beta.
Technology
|
C#, .NET (1.1)
|
ASP.NET
|
XML, XSD
|
|
Web Services, SOAP, WSDL
|
Microsoft SQL 2000
|
UML
|
|
Remoting
|
IVR
|
SIP
|
|
IP Telephony
|
|
|
Tools
|
Visual Studio .NET 2003 |
XML Spy |
Enterprise Architect |
Interactive Intelligence
Customer Interaction Center |
NUnit |
NDoc |