Title: Problems connecting to SocialMiner BOSH

Unanswered Question
Jul 11th, 2017
User Badges:

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>  

 

  1. 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
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.

Actions

This Discussion