I’m trying to connect to Cisco Finesse via XMPP over BOSH using Jabberwerx.js. One agent account is able to connect successfully, but another agent (which uses a UPN-style username) fails with a SASL not-authorized error.
Working Agent
This agent is able to log in and establish an XMPP connection:
Failing Agent
This agent logs into the Finesse desktop just fine, but fails XMPP authentication via Jabberwerx:
I’ve tried the following JID formats in my XMPP connection:
-
NTT1@ucce.ipcc@uccx12-5p.ucce.ipcc
→ Invalid due to double @
-
NTT1%40ucce.ipcc@uccx12-5p.ucce.ipcc
→ Still fails with SASL not-authorized
-
NTT1@ucce.ipcc
→ Fails with SASL not-authorized as well
The domain for both agents is: uccx12-5p.ucce.ipcc
.
const config = {
jabberUser: "NTT1%40ucce.ipcc@uccx12-5p.ucce.ipcc", // Escaped UPN username in JID
jabberPass: "********",
boshUrl: "https://uccx12-5p.ucce.ipcc:7443/http-bind/"
};
// REST API Login (to confirm credentials)
fetch("https://uccx12-5p.ucce.ipcc/finesse/api/User/NTT1@ucce.ipcc", {
method: "GET",
headers: {
"Authorization": "Basic " + btoa("NTT1@ucce.ipcc:********"),
"Accept": "application/xml"
}
})
.then(response => {
if (response.ok) {
console.log(" REST API Login successful");
// Start XMPP connection
const client = new jabberwerx.Client("finesse");
client.connect(
config.jabberUser,
config.jabberPass,
{
httpBindingURL: config.boshUrl,
baseReconnectCountdown = 0;
serviceDiscoveryEnabled: true,
}
);
client.event("clientStatusChanged").bind(() => {
console.log("XMPP Status:", client.status);
});
} else {
console.error(" REST API login failed");
}
});
Questions
-
Why does the UPN(User Principal Name) style agent (NTT1@ucce.ipcc
) fail with a SASL not-authorized error in XMPP, despite logging in successfully on the Finesse desktop?
-
Is it valid to use a JID like NTT1@ucce.ipcc
or does it require escaping to NTT1%40ucce.ipcc@<domain>
?
Any kind of help would be beneficial for me. Thanks in advance .
@cicso