Can i use the Vad for this scenario?

Status
Not open for further replies.

No-body

Joined
Aug 19, 2010
Messages
13
Reaction score
0
Situation:
200 users with mostly a DID, every user is member of a usergroup (total 10-15 usergroups)

Wish of the customer is when a call is placed to a user and user is busy or doesnot answer the phone within X seconds. The call should be forwarded to IVR with 3 choices:
1: connect to a collegue in the usergroup
2: connect to receptionist
3: go to voicemail of the user initially called


I would like to know if this is possible to do with VAD because otherwise i will have to create 200 IVR's....which is a lot of work to maintain.
 
Hi,

It's possible to do this with the VAD, but it's not a simple callflow. This is because you can't directly get the information of the extension that was originally called. To get the extension number originally called, you need to query the 3CX database (CallHistory3 table) and look for the right call using the callerid, date and time. This way, you can get the original extension that didn't answer the call, find the user group and then decide where you need to transfer the call.

Regards,
 
Did anything changed since 2012 ?
We have similar scenario, 100 DID and 100 users:
DID number -> announcement about call recording -> transfer to extensions (user)
The extension which we should transfer the call to, depends on DID number dialed by client from the world.
so...i should create about 100 instances of ivr with each extension on out.
Why we can't get original dialed number as a session variable ?
A solution with billing database isn't so good because the cdr is created with some delay.
Any ideas ? Please let us know if there is or isn't any new solution.
 
I forgot to add. cdr is creategd after a call.. so how can get the data?
 
Hi there!

You're right, the callhistory3 table is updated once the call has ended, so the only way to achieve this is using the 3CX Call Control API: http://www.3cx.com/blog/docs/call-control-api/

But you need to do it from a separated process, because the ActiveConnection object doesn't have the information about the history of the call, but just the current legs connected. Therefore, this is what you need to do:
- Create a new .NET program, use the 3CX Call Control API from there to receive notifications about the calls. There you need to collect the data from the updates and collect the call chain.
- When the call is transfered to the VAD, connect to the .NET program to ask it for the original DID. You can do this using any RPC method, like sockets, remoting, etc.

As you can see this is not an easy task, you need good programming knowledge.

Unfortunately this is the only way to do this. I understand that it should be easier to get this information out of the box from some variable, but in the current state it's not possible.

Hope the information helps.

Kind regards.
 
Hi,
I know it's ancient post but it's still unsolved I believe. I have identical scenario: DID-> announcement-> EXT
So the only way to do this is mentioned above combination of VAD nad .NET app?
Regards
 
Hi @Trestill,

In the VAD for v15 which will be released very soon (with SP6), you will have the DID available as a variable for the application. So it will be much easier to do what you need in that case, without needing to create any .NET library. I would suggest that you wait for it to be available, the release will be soon...

Kind regards.
 
If you need it now, our VoIPTools Relay can get the original DID dialed.
 
Last edited by a moderator:
Status
Not open for further replies.

Forum statistics

Threads
112,322
Messages
591,889
Members
165,470
Latest member
Robert Lee