PureEngage On-Premises

 View Only

Sign Up

  • 1.  Change media type using useMediaType

    Posted 11-24-2015 12:28
    Hello,

    depends on content, i'd like to change media type of an email interaction to fax. Agents should be able to change the state for each media type sperately. WDE Application is configured to receive voice, email and fax interactions. Capacity Rule is configured to accept one of each types.
    Inside the classification workflow i have tried the change the type using useMediaType function:

    _genesys.queue.useMediaType(system.InteractionID, 'CFGFAX')

    As described in http://genesyslab.info/wiki/index.php/Queue_Interface#genesys.queue.useMediaType the function returns void, but the interaction is still delivered as email in WDE.

    Any Idea which configuration is missing? Do i missunderstand this function?

    Best Regards Max


  • 2.  RE: Change media type using useMediaType

    Posted 11-25-2015 09:53
    Hi Max,

    the fragment seems to be written properly. Did you check what says logs about that or check the release notes for Orchestration?

    Regards,
    --Jakub--


  • 3.  RE: Change media type using useMediaType

    Posted 11-25-2015 14:44
    Hello Jakub,

    i have checked log files, there is nothing of significance: 

    ORS:

    15:12:07.361 {Schedule:3} ProcessRequestQueue checking ScheduleRequestEntry sessionID[0090Q3GN8SB4D9CD1G1AHG5AES000045] request type [8] idealtime[1448877003] time to check[1448460727]
    15:12:11.838 [T:140024743687936] {ScxmlMetric:1} METRIC <extension sid='00VDG5G8I4B575301G1AHG5AES00002T' function='useMediaType' scope='Classification.AssignScreenResult' />
    15:12:11.838 ==>CGCLLConnector::ConnEventHandler    Port=0 Proto=0 CallBack=<69af3a0>
    ===>event:   event_id=3, id=0 handle=62, datasize=24 
    15:12:11.838 {ThreadSync:3} HandleThreadData: << 24 bytes <<
    15:12:11.838 {ORSURS:3} InvokeFunctionalModule: << 
        refID   0 
        call    '00009aB4RRXT0051' 
        session '00VDG5G8I4B575301G1AHG5AES00002T' 
        module  'queue' 
        method  'useMediaType' 
        args    '["CFGFAX"]' 
     <<
    15:12:12.361 {Schedule:3} ProcessRequestQueue checking ScheduleRequestEntry sessionID[0090Q3GN8SB4D9CD1G1AHG5AES000045] request type [8] idealtime[1448877003] time to check[1448460732]
    15:12:17.361 {Schedule:3} ProcessRequestQueue checking ScheduleRequestEntry sessionID[0090Q3GN8SB4D9CD1G1AHG5AES000045] request type [8] idealtime[1448877003] time to check[1448460737]


    URS:
    15:06:46.279 RLIB: received from 21(ORServer) message RequestInvoke(1000000100)
        refid(1)    0
        callid(1000000000)  '00009aB4RRXT0051'
        sessionid(1000000010)   '00VDG5G8I4B575301G1AHG5AES00002T'
        fm(1000000001)  'queue'
        function(1000000002)    'useMediaType'
        args(1000000003)    '["CFGFAX"]'
    15:06:46.279_I_I_007a0274c8d4b0b8 [09:0a] SCXML: session SID=018IU87E9CB55AD11C1AHG5AES00006O external queue: event "function" added
    15:06:46.279_I_I_007a0274c8d4b0b8 [1c:06] SCXML: {{{{{resume session SID=018IU87E9CB55AD11C1AHG5AES00006O
        _I_I_007a0274c8d4b0b8 [1c:06] 1. SCXML: look for transitions (1)
        _I_I_007a0274c8d4b0b8 [1c:04] 1.x SCXML: state <initial>: check transitions, event "function"
    15:06:46.279_I_I_007a0274c8d4b0b8 [09:05] >>>>>>>>>>>>resume interp(0), func:SCXMLGetEvent 
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:0:_event(LOCAL) <- OBJECT:0x360b9a0[undefined]={"name":"function","data":{"module":"queue","func":"useMediaType","params":"[\"CFGFAX\"]"}}
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:0:_eventdata(LOCAL) <- LIST: module:queue|func:useMediaType|params:["CFGFAX"]
    15:06:46.279_I_I_007a0274c8d4b0b8 [09:04] <<<<<<<<<<<<suspend interp(NONE), func:SCXMLChangeState timers:00000 
        _I_I_007a0274c8d4b0b8 [1c:05] 2. SCXML: microstep 
        _I_I_007a0274c8d4b0b8 [1c:05] 2.1 SCXML: microstep exitting phase
        _I_I_007a0274c8d4b0b8 [1c:05] 2.2 SCXML: microstep transiting phase
    15:06:46.279_I_I_007a0274c8d4b0b8 [09:05] >>>>>>>>>>>>resume interp(0), func:SCXMLChangeState 
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:25:_m(LOCAL) <- STRING: "queue"
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:25:_f(LOCAL) <- STRING: "useMediaType"
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:25:_parms(LOCAL) <- OBJECT:0x35e5f40[Array]=["CFGFAX"]
        _I_I_007a0274c8d4b0b8 [09:04] ASSIGN: v:25:_r(LOCAL) <- UNKNOWN:
    15:06:46.279_I_I_007a0274c8d4b0b8 [09:04] <<<<<<<<<<<<suspend interp(NONE), func:SCXMLGetEvent timers:00000 
        _I_I_007a0274c8d4b0b8 [1c:05] 2.3 SCXML: microstep entering phase
        _I_I_007a0274c8d4b0b8 [1c:06] 1. SCXML: look for transitions (2)
    15:06:46.279_I_I_007a0274c8d4b0b8 [1c:06] SCXML: }}}}}suspend session SID=018IU87E9CB55AD11C1AHG5AES00006O


    In the release notes no changes to this function mentioned.

    Is the media type i have set correct? Divergent to the Documentation and the values i have found in _genesys.resource.deviceType (CFGFAX) the channel is defined as fax in the business attributes. Capacity rules also use the type fax. I have tried both fax and CFGFAX, same result.

    Regards, Max


  • 4.  RE: Change media type using useMediaType

    Posted 11-25-2015 15:14
    In addition we use the recent version 8.1.4 of ORS and URS 


  • 5.  RE: Change media type using useMediaType

    Posted 11-26-2015 15:44
    I strongly recommend to follow ORS and URS logs to find out the root-cause. I guess you will find some error. In additional, did you try to change the mediaType to another type except CFGFAX? I assume you have this mediaType configured in Business Attributes.


  • 6.  RE: Change media type using useMediaType

    Posted 12-02-2015 16:39
    When i run the function useMediaType, URS and ORS do not log any error message as long as the first paramaeter is the InteractionID and the second any String. It doesn't matter if the string is a correct media type or not. 

    When i run the following function before transfer to agent something usefull happens: _genesys.queue.useMediaType(system.InteractionID, 'fax');
    (In business attributes media typ is defined as fax not as CFGFAX)

    In this case URS checks if the agent is ready in fax channel:
    Agent fax is not ready -> Interaction is not transfered
    Agent fax is ready -> Interaction is transfered no matter which state the mail channel has. 

    The last issue is that the interaction is transfered as Inbound mail. In WDE Mail channel changes to pending even if it was not ready before. The Fax channel is still in state ready.

    Routing is working good with this solution but i would expcet that WDE changes the state of the right channel es well.

    When i check the variable system.InteractionMediaType after changing media type the value is still mail. Is there another function to change state of media channel in statserver and WDE?