cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2024
Views
10
Helpful
10
Replies

Finesse Custom CTI Toolbar - integration with Finesse 12.6

oabulaban
Level 1
Level 1

Customer have their own CRM and built their own CTI Toolbar. It has been working for years on Finesse 11.6 / ucce 11.6

The source code for their connection is as following:

boshConfigBuilder.setResource("smack");
boshConfigBuilder.setXmppDomain("<fqdn>");
boshConfigBuilder.setHost("<fqdn>");
boshConfigBuilder.setPort(7071);
boshConfigBuilder.setFile("/http-bind/");
this.xmppboshConnection = new XMPPBOSHConnection(boshConfigBuilder.build());

xmppboshConnection.connect();

 

Upgrading to UCCE 12.6 / Finesse 12.6, we enabled Port 5222 / 7071 according to the guide with the following command:

utils finesse set_property webservices enableInsecureOpenfirePort true

The same source code that used to work before no longer works. They now receive the following:

No supported and enabled SASL Mechanism provided by server. Server announced mechanisms: []. Registered SASL mechanisms with Smack: [SASL Mech: GSSAPI, Prio: 100, SASL Mech: SCRAM-SHA-1-PLUS, Prio: 100, SASL Mech: SCRAM-SHA-1, Prio: 110, SASL Mech: DIGEST-MD5, Prio: 200, SASL Mech: CRAM-MD5, Prio: 300, SASL Mech: PLAIN, Prio: 400, SASL Mech: X-OAUTH2, Prio: 410, SASL Mech: EXTERNAL, Prio: 500, SASL Mech: ANONYMOUS, Prio: 500]. Enabled SASL mechanisms for this connection: null. Blacklisted SASL mechanisms: [SCRAM-SHA-1-PLUS]

 

Is 7071 no longer working? 

 

2 Accepted Solutions

Accepted Solutions

ravkota
Cisco Employee
Cisco Employee

Hi oabulaban,

Currently Finesse does not listen to 7071 even after the CLI , utils finesse set_property webservices enableInsecureOpenfirePort true is executed.
There is a bug created for this.(CSCwc53379)
Please use port 8445 which is a tls enabled secure port for the connection.

Regards,

Ravi

 

 

View solution in original post

ravkota
Cisco Employee
Cisco Employee

Hi Omar,

Once the login is done, we are pinging the server once in 25 seconds to keep the session active using conn.sendPacket.

conn.sendPacket(new Packet() {
public String toXML() {
return "<iq type='get'><ping xmlns='urn:xmpp:ping' /></iq>
}
});

Can you try the same and let us know if it works?

Thanks,

Ravi

View solution in original post

10 Replies 10

ravkota
Cisco Employee
Cisco Employee

Hi oabulaban,

Currently Finesse does not listen to 7071 even after the CLI , utils finesse set_property webservices enableInsecureOpenfirePort true is executed.
There is a bug created for this.(CSCwc53379)
Please use port 8445 which is a tls enabled secure port for the connection.

Regards,

Ravi

 

 

Hi Ravi

Thanks for your feedback. Unfortunately the bug seems to be an internal bug and I have no access to see it

Is there already a fix in progress? if yes, for what version / ES ?

Another point -> we switched the code to use the secure layer (tried with both 7443 and 8445). The connection works, however after 120 seconds or so the client stops receiving notifications from Finesse. This precents agents from receiving calls or properly switching states.

Any ideas?

Thanks

Omar

Hi oabulaban,

The defect is made visible now. Please reach out to the TAC for the defect fix timeline.

Regarding the issue you are facing, sending an xmpp ping message to the server keeps the connection alive.
Could you please try this and let us know if it works?

Thanks,

Ravi

Hi Ravi

The BOSH method does not include an xmpp ping in the protocol

The client sends an "http-bind". According to the documentation, in 30 seconds will finesse send back an empty response, to which the client will send a new http-bind request. In case during those 30 seconds a notification is available, it is pushed directly

Is xmpp ping with BOSH http-bind now also a requirement?

 

Hi Oabulaban,

Sorry for the miscommunication. I suggested ping assuming you are using websocket connection.

The support for notifications over BOSH (long polling) and usage of port 7443 are deprecated starting 12.6.

Instead, Applications should use websockets.

From the release notes of 12.6(1),

Deprecated Features
Notifications over BOSH (Long Polling)
In this release, support for notifications over BOSH (long polling) is deprecated. Applications that require notifications are recommended to use WebSocket-based notifications (Finesse desktop) or notifications over direct XMPP (over TCP).

The usage of port 7443 is deprecated and the port 8445 should be used instead.

Thanks,
Ravi

Hi Ravi

So, what does deprecated really stand for?

According to the developers guide, the usage of Long Polling and Port 7443 are still defined and available. We understand the need to switch to websockets or XMPP over TCP (5223), however we could not find in the documentation any mentioning that Long Polling is no longer available. Our assumption is, it should still work, however in a coming release (minor or major) it could be totally gone.

Thanks

Omar

 

ravkota
Cisco Employee
Cisco Employee

Hi Omar,

I have tested BOSH with 12.6 on the finesse desktop & it works fine. I have also tested with another custom xmpp client using the smackx, smack-bosh, smack libraries. In both the cases, the client is receiving notifications without any interruption. Since the openfire is also upgraded to 4.4.4 in 12.6 version, Could you please check if the client library being used  has any issues with the openfire ?

Thanks,
Ravi

Hi Ravi

Thanks for your test. I too was able to test via Pidgin (BOSH URL Configuration), however the smack library being used is still having the issue described.

Any tips or special configuration that you had to do for your custom xmpp client smackx/smack-bosh/smack ?

Thanks for your feedback

ravkota
Cisco Employee
Cisco Employee

Hi Omar,

Once the login is done, we are pinging the server once in 25 seconds to keep the session active using conn.sendPacket.

conn.sendPacket(new Packet() {
public String toXML() {
return "<iq type='get'><ping xmlns='urn:xmpp:ping' /></iq>
}
});

Can you try the same and let us know if it works?

Thanks,

Ravi

Hi Ravi

Thanks - the ping seems to work

This doesn't seem to be documented anywhere - in 11.6 PING was not a requirement

Thanks

Omar