XMPP Verbindung gelingt nicht

Wir hatten unsere alte Mobydick (Version 7.13.00) über XMPP mit unserer CRM verbunden.

Jetzt beim Wechseln auf pascom.cloud Version 19.05 will uns der Zugriff nicht mehr gelingen.

Wir verbinden uns über:

c# bibliothek: agsXMPP

Ablauf:

xmpp.OnSocketError += new ErrorHandler(xmpp_OnSocketError);

xmpp.ConnectServer = “pascom.cloud”;
xmpp.Server = “pascom.cloud”;
xmpp.Port = 5222;
xmpp.Username = “username@instance”;
xmpp.Password = “****”;
xmpp.Resource = “cti_567”;

xmpp.SocketConnectionType = agsXMPP.net.SocketConnectionType.Direct;
xmpp.AutoResolveConnectServer = false;
xmpp.Open();

und bekommen den Fehler:

SocketError: Attempt to connect timed out

Was machen wir hier noch nicht richtig?

Hallo @rolfb,

ein Connect-Timeout könnte eine Firewall verursachen, sind entsprechende Regeln vorhanden?

Genutzte Adressen und Ports sind hier zu finden: https://www.pascom.net/doc/de/server/cloud/

Gruß,
Rapha

Hallo @rolfb,

bei einer Verbindung zur pascom-cloud muss der instanzname in die “domain” der XMPP-Verbindung eingetragen werden.

also sowas wie

xmpp.Username = "username";
xmpp.Password = "****";
xmpp.Domain = "instance";

(Pseudocode, ich bin nicht sicher wie das entsprechende Property bei agsXmpp genau heisst)

Grüße,
Jan

Vielen Dank, jetzt funktioniert es wieder.

Viele Grüße
Rolf

Ich würde auch gerne per XMPP zugreifen. Gibt es irgend wo eine Doku? Ich finde nichts.

Ich bekomme auch gzip komprimiert den Roaster in binärer Form. Der interessiert mich aber nicht. Mich interessieren die Call-Events. Die bekomme ich aber nicht. Was muss ich tun um die zu bekommen?

@mahescho suchst du das?

Ist allerdings in der alten Doku kein Plan ob das immer noch so geht.

https://www.pascom.net/doc-old/de/developer/

Super, danke, das war’s was ich gesucht habe. Wir helfen, meine ich :slight_smile:

Ich bin ein bisschen weiter. Anmeldung geht, wie gesagt. Jetzt hängt es nur noch an der Subscription. Ich sende:

<iq id="bWxfy-4" type="get" from="user@instanz/5jkjnnfqti" to="instanz"><cmd xmlns="http://www.pascom.net/mobydick" module="event"><AddSubscription><Subscription module="base" type="*" scope="user"/></AddSubscription></cmd></iq>

und bekomme zurück:

<iq type="error" id="bWxfy-4" from="instanz" to="user@instanz/5jkjnnfqti"><cmd xmlns="http://www.pascom.net/mobydick" module="event"><AddSubscription><Subscription module="base" type="*" scope="user"/></AddSubscription></cmd><error code="500" type="wait"><internal-server-error xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>

Baue ich das ein bissche um:

<iq type="get" id="bWxfy-4" to="instanz" from="user@instanz/5jkjnnfqti"><cmd xmlns="http://www.pascom.net/mobydick" module="event"><AddSubscription><Subscription module="base" type="*" scope="user"/></AddSubscription></cmd></iq>

Dann bekomme ich keine Antwort, aber auch keine Events.

Was mache ich falsch? Ideal wäre wenn mir jemand einen funktionieren XMPP Nachrichtenaustausch pasten könnte.

Hi @mahescho,

Just after successful login it’s required to send xmppuser.ClientInfo as a first command to the server. It can contain the initial subscription for the currently logged user.

<iq id="112233" type="get">
    <cmd xmlns="http://www.pascom.net/mobydick" module="xmppuser">
        <ClientInfo>
            <os>Mac 10.15</os>
            <osUser>user</osUser>
            <user/>
            <jid/>
            <clientIp/>
            <AddSubscription>
                <Subscription module="base" type="*" scope="user"/>
                <Subscription module="event" type="*" scope="user"/>
                <Subscription module="faxserver" type="*" scope="user"/>
                <Subscription module="journal" type="*" scope="user"/>
                <Subscription module="location" type="*" scope="user"/>
                <Subscription module="monitor" type="*" scope="user"/>
                <Subscription module="phone" type="Register" scope="user"/>
                <Subscription module="phonebook" type="*" scope="user"/>
                <Subscription module="queue" type="QueueState" scope="user"/>
                <Subscription module="queue" type="QueueMemberState" scope="user">
                    <AttributeFilter name="agent" equals="stosic"/>
                </Subscription>
                <Subscription module="redirect" type="*" scope="user"/>
                <Subscription module="softphone" type="*" scope="user"/>
                <Subscription module="xmppuser" type="*" scope="user"/>
            </AddSubscription>
            <CsProxy/>
            <application>api</application>
        </ClientInfo>
    </cmd>
</iq>

Kind regards,
Stefan