Genesys CTI User Forum

Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: victor on February 02, 2009, 02:49:59 PM

Title: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 02, 2009, 02:49:59 PM
Hi,

I have a very interesting requirement where I need to call up URS strategy AFTER operator releases the call. In other words, operator talks to the client, then after releasing the call, operator adds some new data during ACW mode that we need to write into DB. I know T-Server lets interaction live for a few minutes after the physical call is released, but I do not know how to cause URS to start writing the data. Can I issue some sort of event from Softphone with attached-data that URS would then write into DB?

I know it sounds crazy, but we need this to make sure that Genesys URS is being used by the client and beat some rather ugly non-Genesys competition. HELP!

I did nto have time to do this, but I was thinking about event_arrive option for a DN and somehow have softphone issue a command to a RP and have URS process it, since connid is still in T-Server memory! Or do we need interaction server for it?

Vic
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: CTIgem on February 02, 2009, 02:57:20 PM
Can your softphone write the data into other DB upon ACW with connid then reference it later?
Just my 2.
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 02, 2009, 02:59:30 PM
[quote author=CTIgem link=topic=3800.msg16349#msg16349 date=1233586640]
Can your softphone write the data into other DB upon ACW with connid then reference it later?
Just my 2.

[/quote]

No,

it is actually not possible - there is no direct connection between client and DB. If we tell client to do it via CRM then they would do the rest of the things through CRM as well, and we will lose reason for URS, since then our competition will be able to tout PBX ACD+CRM solution, while we are pushing SIP+URS :)
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: jbobinsk on February 02, 2009, 03:19:54 PM
Hi,

There is potencially another way - but it is processor consuming - when you have small Call Center it is possible to use event_arrive=established option on DN's and assign strategy which will wait for event  release (suspend for event) - but I didn't tested it. I hope that it would work - but there can be problem with it because when call is ended strategy could end as well. But you can try it.

Regards
jbobinsk
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 03, 2009, 02:47:06 AM
Ok, this is something I have been thinking about, but "no", we cannot just loop the strategy until the call has ended. Is there a way to force URS to run a strategy without placing a call?

Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: cavagnaro on February 03, 2009, 03:04:32 AM
??? and what would trigger the strategy?
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 03, 2009, 07:28:22 AM
Some sort of event from softphone...

If we are to use the released connid, I guess some sort of transfer to VRP or something.
If we are to use new ConnID, then ... I am pretty clueless here. I just feel like we can use URS for transaction processing even after the call is released, but cannot figure a nice way yet!
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: Fra on February 03, 2009, 09:55:51 AM
[quote author=victor link=topic=3800.msg16365#msg16365 date=1233629226]
Is there a way to force URS to run a strategy without placing a call?
[/quote]

No way, Vic..
The only thing it comes up to my mind is place a new call from the softphone to a RP where you have loaded a strategy onto..but yeah, that would mean using a new ConnId.
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 03, 2009, 11:53:17 AM
I have no problem with a new connid, but I must avoid actual "new call" because it would mess up all the stats.

How about sending some sort of useless UserEvent to RP and have URS react to that? Can this be done?
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: jbobinsk on February 03, 2009, 12:48:25 PM
No - as I know it is not possible to react on EventUserEvent by URS. URS can only react on some events (EventRinging, EventRouteRequest, EventEstablished, or EventTreatmentRequired, and even [what is not documented] EventQueued) on a list of specific objects (RP, VRP, Service Number, Voice Treatment Port, Extension, or Queue).
I have such problem before at one customer and you can resolve the problem by writing your own server which will register all objects and react on some events you want to serve - I think it is the only way.

Regards
jbobinsk
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: Fra on February 03, 2009, 01:41:38 PM
No Vic, you can't trigger URS without sending a call. And you can't even forge fake calls cause T-Server / SIP-Server wouldn't have their T-structure nor ConnID..
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: LeszekM on February 03, 2009, 04:36:59 PM
Vic,
you could try a little modified Fra's idea of making a call to a routing point.
But the trick is that this additional call should be made not from the agent's DN but from the additional, technical DN. You could attach original ConnId, original DN and other stuff to this call. This should be done by the agent app.

I think it would not change the statistics as it would not change the number of calls made by the agent.

The hardest thing is to have this technical DN... It should register as a SIP extension and should allow origination of multiple calls at the moment. You need 1 additional license as well.

BR
Leszek
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: cavagnaro on February 03, 2009, 05:28:29 PM
Maybe stupid but thinking:

Call > Target object > Suspend > UData['X'] > Write DB

The KVP 'X' could be populated during the call by the agent while talking or after call work.

I use something like call > target object > write to db

But i write a data I already picked up from another DB and IVR.

Another might be that call lands to an object who does a consult call to the RP and agent answers it, when agent hangs up the object who did the consult call will do another consult call inmediatly to another RP without leaving the first call and launch the call to this second RP where you can suspend and then read from a DB the data agent wrote and attach it again.

Maybe useless ideas but no exact clue how to achieve that.
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: thicke on February 03, 2009, 10:17:39 PM
Would you not be able to do this by loading a strategy on the agent's DN that waits for the event that ends the call, then writes the data to the database?
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: victor on February 04, 2009, 09:49:22 AM
Cavagnaro: Suspend idea would be the best; however, it is possible for calls to be routed from agent back to URS, and I think then it would be hard to tell what is going to happen, so NG there.


Thecke: was thinking something similar to that, but the problem is that agent enters data after releasing call, thus on Release event, we still will not have the data. I was thinking about forcing strategy to run on RELEASE event and suspending it until attach data, but it is a bit too risky, isn't it? Imaging 500 seats and you get my point.

Leszek: I loved this idea! And then it has occurred to me that it may not work for 100+ seat call center, because how do you which DN is idle and which not? You could query DN status beforehand but it is too much overhead and too much customized.

Come on guys! Great ideas... just a bit more and I think we will get it!
Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: LeszekM on February 04, 2009, 10:09:42 AM
Victor,
going on Fra's and mine idea:
You don't need to know the state of the technical DN at all. All you need is (besides love ;-) ) is just a way to originate many calls from it. In other words: you have to develop a SIP device that is able to place many calls to the routing point.

You don't have to have exactly 1 technical DN - you could have a pool of technical DNs if you're affraid it doesn't work in a large call center.  Then agent app would choose randomly which DN from the pool to use. It is not important which technical DN calls to the routing point.

Regards,
Leszek

Title: Re: How to use URS AFTER AGENT DISCONNECTS CALL!
Post by: René on February 04, 2009, 04:08:17 PM
Hi Vic,

I can't help myself ;) but you are not doing well trying to hack URS to implement required operations. Why?

1/ URS simply doesn't support such feature and trying to implement it means that you're pushing the product to work in way it wasn't designed for. So it could lead to some unpredictable issues later in the production. Is it really worth it?

2/ URS wasn't developed as a tool used for writing data to database. It's routing engine...

3/ If the customer has CRM system then business data related to customer's call should be stored in this system. Why using CTI system or part of it (URS) for a task that isn't related to CTI?

4/ I don't have sufficient information about your business case but what about offering SIP Server ACD functionality + CRM in first step and add URS later.

R.