Application database
The client’s database is called the application database and is not required even though it is doubtful that large systems will do without one. There is no restriction on the the DBMS of the application. It is up to the client to design the application database since the performance/reliability requirements vary depending on the application. Frequently it will be used to store: • Customer data records. • Routing information (dial plans). • Client accounts (subscribed features). • Prompts. • Call states for HA switchover.
Caveats
Database access are usually synchronous, this is not a problem but it should not be overlooked when designing the application database. A lot of synchronous access to a slow database (or on a slow link) can cause signigicant call delays (not in the data path but in the control path). Using the multi-threaded feature of the CMC library, we can protect a call from another call’s asychronous operations but we cannot protect it from himself. This can be prevented with good database desing.