It is possible to set up an Assist (previously Live Assist) call where the voice and video goes to a IP PBX registered endpoint (tested with Avaya CM and CUCM), and the screen share session (and other Assist features) is still established with a browser.
First a little background on how Assist normally creates a session. Assist utilizes FCSDK internally to create a SIP call to the agent for voice and video. Separately a screen share would be established over a different Web Socket using AED. When the consumer side initiates Assist they are assigned a generated identity of the form assistxxxxx (e.g. assist10000). This identity is used in the SIP from and contact headers and also used for the AED topic name that both Consumer and Agent connect to.
Normally the incoming voice and video SIP call to the agent would trigger the agent console to connect to an AED session, with the topic name being obtained from the "from" header of the Invite.
So on to a split call setup. There are a couple of ways of doing this, both of which require you to use the agent parameter in the startSupport method on the client side. This is done in the assist sample application by adding the agent parameter to the URL for accessing the client page. The agent parameter should contain the full URL for dialing the PBX registered endpoint (i.e. https://<la address>:8443/agent/console/?agent=sip:<cm endpoint number>@<cm address>).
Once the call has been initiated towards your chosen Call Manager you have two options:
- You can simply allow Call Manager to call the registered phone then load the agent console screen in Correlation ID (cid) mode. The cid would be the generated from address for the client which may appear in the PBX register endpoint display, or it can be obtained from client logs or server call logs.
- You can fork the call at the PBX so an invite is sent to the agent with a "from" header matching the original invite so the agent console is triggered in the same way it would be for a standard Assist call. In this scenario, you would need to answer the PBX registered endpoint before clicking accept on the agent-console. The forked invite also needs to have a Request URI of the form sip:<agent id>@<csdk controlled domain> which "agent id" is the value in the agent console's agent parameter, or agent1 if the agent parameter is not present.