ich habe mich in den letzten Tagen etwas ins Thema XMPP eingearbeitet und versucht eine eigene Schnittstelle zwischen mobydick und unserer ERP Software, auf Basis von VB.net, zu entwickeln. Das Starten von Anrufen und das Empfangen von eingehenden Anrufen klappt auch soweit wunderbar und ich denke, dass ich das Konzept soweit verstanden habe.
Leider habe ich im Entwickler-Handbuch keinen Weg gefunden wie ich folgendes per XMPP lösen kann:
Phonebook Einträge erzeugen
Phonebook Einträge löschen
Abruf des gesamten Journals mit Angabe eines Zeitintervals
Ich weiß, dass all diese Funktionen in der REST API möglich sind, dachte aber eigentlich, dass die XMPP API alles kann, was auch die REST API kann. Oder ist es richtig, dass ich in diesem Fall mit beiden “Welten” arbeiten muss?
Our documentation is a little bit outdated. Yes, it’s possible to create and to delete the phonebook entries. You can manage the user’s private and global phonebook (version >=7.10.00). If you want to be able to manage the global phonebook, your user need to have “Phonebook manager” permission defined in web-ui. I specified two command which creates and deletes the entry from the private phonebook for user “max.muster”. For the global phonebook entries you should leave phonebookType and phonebookName empty like phonebookType="" phonebookName=""
Unfortunately it’s not possible to select a range from the journal. It’s possible to select last N entries for specified user (docu link). We plan to deprecate journal API and introduce better one. I will write your request as reminder to improve this part.
thanks for the quick reply. You mentioned that the documentation is a little bit outdated. Is there a way to get a full list of all available commands?
another question which I didn’t found within the documentation.
My application receives IQ query from mobyDick. Something like “xmpp:ping”. Do I have to response on these pings to avoid a disconnect due to a timeout functionality?
If yes, is there an example how a response should look like?
Which programming language do you use? Do you use some library? Ping is usually supported by the third part libraries. More information you can find in official xmpp documentation ping XEP
thanks for the info. I’m coding in VB.net and I’m using the sharp.xmpp library. It seems that I only need to send a response query containing the Id of the initial ping request to keep my connection alive.
Is it possible to query the DeviceList of other users? As far as I know I get the List within the ClientInfo result, but I think I can’t trigger this for a different user, right?
Earlier you posted the two commands to CREATE and DELETE a phonebook entry. What would be the command to Update/Edit an existing one?
Regards,
Lars
Edit:
Is it possible to get more then 100 Journal entrys, I tried the offset command from phonebook without success
attribute jid is optional. If it’s empty it will return UserInfo of the sender. If you send jid which is different to sender’s jid, sender needs supervisor permission. More info available here and here
Event type should be UPDATE and all parameters should be set. It’s not possible to update only for example phone number.