Author Topic: RONA with ORS and SCXML in a ISCC scenario  (Read 1072 times)

Offline szs5tim

  • Newbie
  • *
  • Posts: 46
  • Karma: 0
RONA with ORS and SCXML in a ISCC scenario
« on: October 06, 2021, 03:06:49 PM »
Hi,

I built a workflow in Composer to handle RONA since the target or force route blocks have some limitations like when URS provided a target for ORS then it will not accept any further target requests since it considers it as already routed.

So I built a logic where ORS tells URS when the call is routed.

I start by letting ORS know he needs to respond with targets via a special event.
Then, I use a state block for the targeting where basically I copied the Target State of a pre-existing workflow but added a transition to handle the special event received by URS. I also added a error.queue.submit event handler where I check for previous RONA related events by checking via a condition _event.data.error == '0013 Remote error' || _event.data.description == 'reason:RONA' .

After the target is found, I assign the attribute extension needed with the no_answer attributes and I replicate a force route block to route to the previously found target and tell URS the call is routed.
I use additional code on the body of the interaction.redirect.done transition event here to tell URS the routing completed and add an additional code for the error.interaction.redirect exception property where I check besides the default condition also for _event.data.description == 'No answer at DN'.
In the body of the exception I inform URS that the previous target failed and allow for a new target request to be accepted.

So all this is working very nice as long as call enters switch1 and agent is also registered via switch1.
As soon as call enters switch1 but agent is registered via switch2 it is not working.
The agent receives the call, but there are not attribute extensions for no_answer or anything, so it only has an Accept button and it rings and rings and rings.

What I observed in the SIP Server logs is in this case there was no proper ISCC transaction where SIPS1 reaches out to SIPS2 via the ERP and try reaching the agent's DN, it's somehow like SIPS1 is contacting the DN of the agent if that makes sense.

Here is the project from Composer : https://drive.google.com/file/d/1Pm1lZV8JROptdMpVtl26Z6ef1bBXJujH/view

Anybody else tried implementing RONA with ORS?

Thanks!