I have a project. The server which based on a phone PCI-board is responsible for received phone calls from the customer and then redirect the phone calls to the operators.
I have decided to code the server using c++ programming language and qt framework because the PCI-board SDK's interface is c/c++ originated and for the sake of portability.
The server need to send the information of the the customer to the operator while ringing the operator and the ui interface of the operator client should be browser-based.
Now the key problem is how could the server notify the operator that there is a phone call for he/she.
One architecture I have considered is like this,
The operator browser client use ajax pooling the web server to check whether there is call to the client; the web server pooling the database server to check whether there is call; the desktop server(c++) wait for the phone calls and set the information in the database.
The other operations such as hang up the phone call from the client, retransfer the phone call to the other operator also use this architecture.
Then, is there any way other than pooling the server(js code
setInterval('getDail', 1000)) to decide whether there is a call to the operator?
Is this architecture feasible or should I use some terrific techniques that I do know such as web services,xml-rpc, soap???
The Caller center is for 8~300 operators and the operators do not seperate geographically. Moreover, I have figured out that we need provide interface for customer programmer, so this thing is so called middleware? Then some new questions, how could we expose interface to customer, COM?
Thanks in advance.