В 2009 году у меня был довольно спорный разговор об этом на FOSDEM в XMPP DevRoom.
Суть в том, что даже если ваш клиент поддерживает редактирование сообщений, вы не можете дать никаких гарантий (если только вы не строите внутреннюю сеть), что принимающая сторона будет поддерживать его.
Вот хитрость со скайпом: у Skype был только один, единственный клиент от одного единственного поставщика, называемый Skype, до самого недавнего времени, когда они начали распространять SkypeSDK, который позволял производителям автомобилей, производителям телевизоров и т.д. Создавать клиентов Skype. Тем не менее, даже эти клиенты основаны на Skype SDK, и поэтому большинство из них должно поддерживать это редактирование.
С XMPP, если вы используете общедоступную инфраструктуру Jabber, вы не можете быть уверены, какие серверы или клиенты используют ваши партнеры, и вы можете быть уверены только в одном: они поддерживают RFC 3920 и 3921. (Да, я знаю, что это старые стандарты: вы не можете быть уверены, что они поддерживают новые).
Было бы легко сказать, что большинство ваших контактов будут контактами GTalk, использующими GMail, поэтому то, что не поддерживается GTalk в GMail, практически не существует в мире Jabber, в том числе редактирование сообщений. Или, вы могли бы сказать, что есть некоторые пользователи Pidgin / Telepathy, с которыми вы много общаетесь, но, возможно, даже отправка файлов для вас по-прежнему за пределами допустимого.
В интрасети ситуация отличается: вы можете установить клиент, который поддерживает эту функцию (Swift упоминался в комментариях к предыдущему ответу), но даже в этом случае вы можете быть уверены только во внутренней сети связи.
Оказывается, иногда лучше создать сервис IM с нуля, чем использовать XMPP.