cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1136
Views
0
Helpful
1
Replies

Problems connecting to SocialMiner BOSH

kgoburn
Level 1
Level 1

Hi all,

In attempting to build a third party gadget for Cisco Finesse, I have successfully written the XML specification for the gadget and embedded it through the 3rdpartygadget account as specified in the Finesse Web Developer Guide. This gadget needs to communicate with the XMPP BOSH server run by Cisco SocialMiner in order to function properly.

Since BOSH is a standard protocol, I am following the guide found here. However, whenever I get to the authentication stage, I fail to get a successful reply from the server. I am somewhat confident that the API calls are being made correctly because upon inspecting the calls being made by a built-in gadget, the makeup of the calls are identical, right down to the credentials.

The following is a rundown of the process used to connect, where these are ajax calls made in JavaScript code:

1. Send a post request to the server as follows:

<body xmlns="http://jabber.org/protocol/httpbind"  

           xml:lang="en-US"  

           xmlns:xmpp="urn:xmpp:xbosh"  

           hold="1"  

           ver="1.9"  

           to="{valid_url}"   

           wait="30"  

           xmpp:version="1.0"  

           from="{agent_name}@{valid_url}"  

           rid="3516575067" /> 

    With the response being:

<body wait="30"  

        inactivity="60"  

        polling="5"  

        requests="4"  

        hold="1"  

        sid="d0a49ad6"  

        authid="d0a49ad6"  

        xmlns="http://jabber.org/protocol/httpbind"  

        xmlns:stream="http://etherx.jabber.org/streams"  

        secure="true"  

        ack="3516575067"  

        maxpause="300"  

        ver="1.6"> 

    <stream:features> 

        <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"> 

            <mechanism>PLAIN</mechanism> 

        </mechanisms> 

        <compression xmlns="http://jabber.org/features/compress"> 

            <method>zlib</method> 

        </compression> 

        <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind" /> 

        <session xmlns="urn:ietf:params:xml:ns:xmpp-session" /> 

    </stream:features> 

</body> 

2. Send a post request to the server for auth

    ​​

<body xmlns="http://jabber.org/protocol/httpbind" sid="d0a49ad6" rid="3516575068"> 

    <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">{base64_encoded_auth_string} 

    </auth> 

</body> 

    With the response being:

<body xmlns="http://jabber.org/protocol/httpbind"> 

     <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized></not-authorized></failure> 

</body>

   

    However, the response to the built-in gadget is:

    ​

<body xmlns='http://jabber.org/protocol/httpbind'> 

     <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" /> 

</body> 

P.S. I am aware that the proper format for the source for the {base64_encoded_auth_string} is "\u{0}" + username + "\u{0}" + password.

So the issue is, I don't understand what the built-in gadget is doing that I am not doing. I have not been able to get the proper response from the server and these are the main places I have searched to help solve the issue:

Finesse Web Services Developer Guide (11.5)​

SocialMiner Developer Guide (11.5)​

XEP-0206: XMPP Over BOSH

As well as tried to use the libraries:

Finesse JS library

Cisco AJAX XMPP library​

Plain jQuery ajax

xmpp4js

strophe

All to no avail.

Has anyone done this before and can you please help shed some light on the issue?

1 Accepted Solution

Accepted Solutions

dekwan
Cisco Employee
Cisco Employee
1 Reply 1

dekwan
Cisco Employee
Cisco Employee

This question is a duplicate of Problems connecting to SocialMiner BOSH.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: