Tuesday, 7 August 2007

Low Cost Calling Process Flow

The design of the low cost calling extension is starting to come together. One of the items that is of interest is the ability to divert calls outside of the voice-based network entirely, for example sending the call over IP. Although this is not something that I am looking to provide at current I think that it is important that the architecture provides for this capability. As such I have introduced the idea of separate call routers, with the initial design only providing a single call router that carries out rewriting of the outgoing number without attempting to change protocol.

The basic flow of the extension is shown below.



Here there are five steps that take place when the a dialer application is ready to make a call:


  1. The extension daemon sends details of a call to be made to the low cost calling extension

  2. The request is picked up by the request handler, that passes on the details of the call to the call router

  3. The call router uses information available to it such as current location, time of day, details from the address book etc. (but not the outgoing number) to select a set of rules to apply to the outgoing number

  4. The rules engine applies the rules to the outgoing number and generates a number to dial

  5. The number to dial is passed back to the extension daemon and hence to the dialer application



In the next post I will expand upon the rules engine, which is the item that does the actual work of generating the number to dial given the outgoig number.

0 comments: