|
I need some help here from anyone on creating a program that simulates the call traffic distributed between call center workers. I don't have a clue on how to start this one. I also need it to estimate the hold and call time for callers based on specific conditions. So is there anyone who has any clue on doing one such as this program or done something like it. I'm all ears here and clueless
|
|
|
|
|
Start reading here [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
There are too many parameters to consider before you could put this on the C++ forum.
1. What technology is being used? Actual telephone lines or VOIP lines? In either case, do you already have control over them? (A TAPI library module which tracks the calls and routings in case of the former and a VOIP library module operating/controlling the call flow in case of later, what kind of hardware is used in case of later, etc.,)
2. Are client modules written and running on the nodes to track the call status (idle/ringing/on hold/busy, etc.,)
3. Are the statistics being calculated already / halfway through / yet to begin.
4. Oh wait, you just want simulation? I can go on, but what the heck!
Seriously, come back only after you have specific questions, with relevance to C/C++/MFC. Nobody is going to write an entire application for you. If you are looking for ideas, find and go off to the general discussions/project discussions forum or something similar, where it would make sense.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
My 5 for taking so much of effort and typing in 
|
|
|
|
|
I usually try and ignore such pointless questions, but sometimes I just have to vent it out.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Don't worry, he has monkeys for that.
[added]
Sorry, I wasn't aware his monkeys were scheduled on another task [^]...
[/added]
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
modified on Friday, May 15, 2009 7:56 AM
|
|
|
|
|
On the other hand, he may not know what you're talking about.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Well monkeys are monkeys, after all. Moreover I suppose every developer should study Rajesh R Subramanian history...
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Well I may have a superb reason why you're completely wrong.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
OT: I suppose Iain being in Scandinavia now, it's a relatively long time since I have seen his last post here.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: Sorry, I wasn't aware his monkeys were scheduled on another task [^]... Roll eyes
You're crazy.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
From your description, the way I'd do it would be to model each call as a period of time, chosen randomly using (probably) a normal distribution, where the mean and standard deviation are parameters to the simulation. A 5 minute mean and 3 or 4 minute standard deviation sound reasonable?
class Call
{
Call(double currentTime) {
double CallMadeAt() const;
double GetCallDuration() const;
};
std::stack<Call> callQueue;
You then have a fixed number of operators, each of which can handle one call at a time.
class Operator
{
HandleCall(Call const& call, double currentTime) {
bool Busy() const;
double NextFreeTime() { return (pCall_)(pCall->GetCallDuration() + callStartTime_):(0.0); }
private:
Call* pCall_;
double callStartTime_;
};
Operator operators[OPERATOR_COUNT];
You can then model the passing of time, generating calls at random intervals (again using a normal distribution, but with different parameters) and passing them to free operators. If there's no free operator, you need to work out when the next operator's free and give them the call then.
Obviously, the hold time for a call is the time between the call being made and the call being handed off to an operator. You can measure the average hold time by summing them all and remembering how many there were.
HTH!
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hi
I am using VC2005. I generated an empty DLL project. I addded all necessary files into project. I can compiled it. But I can not see the "Import Library".
What kind of reason will make the "Import Library" very big and DLL file small?
Best regards,
|
|
|
|
|
transoft wrote: What kind of reason will make the "Import Library" very big and DLL file small?
? That doesn't go with But I can not see the "Import Library".
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Why I can not see the Import Library?
Thanks
|
|
|
|
|
May be because you didnt export any thing....
|
|
|
|
|
Hi Dave
I did not find any place to set the export the library. Could you tell me where I can set?
Thanks
|
|
|
|
|
transoft wrote: Hi Dave
Did you mean Nave?
The lib file will be created automatically when you export a class or function from a dll. See the article Dlls are Simple. Part 1[^] if you want to know about exporting functions/class
|
|
|
|
|
Sorry Nave. That is my typo.
Thank you so much for answering my question.
|
|
|
|
|
Hi Nave
Thank you for your guidance. I realized that I did not add "__declspec(dllexport)" these statement in my software. Actually I tried to build firebird database API into a DLL. I created a empty Win32 DLL using VS2005. It builds just fine. I can see a dll generated.
So I just need to add "__declspec(dllexport)" stuff to whatever I need, right?
Thanks
|
|
|
|
|
Yes.. infront of all functions you wnat to export..
|
|
|
|
|
I have an application that creates several threads. One of these threads creates a (second) Window. When that thread goes away, the window it created goes away also. However, the pointer to the class that represents the window is still valid. It is never freed.
I would like the window to stay up when the thread that created it goes away. Is there a reasonable way to do this?
Bob
P.S. – I am under the impression that there is not.
|
|
|
|
|
How'd you figure out that the pointer to the window was still valid?
|
|
|
|
|
Thanks for the response. I claim that the pointer is still valid because it was allocated by doing a new and it was never freeded. It is my understanding that a pointer allocated in one thread, is valid in all threads. Is that wrong?
Bob
|
|
|
|
|
BobInNJ wrote: I would like the window to stay up when the thread that created it goes away. Is there a reasonable way to do this?
No. The window requires its WndProc to be on the thread that created it. Each window's messages go via a message queue, which is a per-thread structure.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|