Hello,
in our organisation we use Cisco Jabber as a CTI Software.
It accepts sip: URLs to open the CTI software and call the number.
AFAIK this is some kind of standard protocol handler and not uniqe / proprietary to Cisco Jabber.
Is it possible to create sip links directly in XWiki using the link/URL feature?
SIP links are like this:
<a href="sip:+49XXXXXXXX">Call</a>
49 is the German country code.
If I try to put sip:+49XXXXXXXX
into a URL link it creates an link like this:
<a href="https://sip:+49XXXXXXXX">Test</a>
so it adds https:// as protocol handler and obviously it won’t work.
Is there another out of the box way or are the accepted/processed protocol-handlers for links configurable?
If not configurable yet, is it thinkable for this to be implemented - of course only if this sip: protocol is truly standard and not a proprietary thing of Jabber.
I guess for it to be implemented in a good way it could be solved, that when putting something starting with sip: then it adds an normally hidden link category like it does when you input unc: links.

I’ve realized that we have a limitation indeed at the xwiki Syntax level. we’re missing a uri:
prefix. Right now we have a url:
one but that’s too limiting. See https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide/Features/XWikiSyntax/?syntax=2.1§ion=Links
Right now, when using the wiki syntax, the workaround is to use the path:
prefix, as in:
[[label>>path:sip:+49XXXXXXXX]]
You need to do the same in the WYSIWYG editor and use “Path”.
Thanks
PS: Using URL is wrong since sip:+49XXXXXXXX
is clearly not a URL.
1 Like
Regarding implementation, XWiki is fully extensible and it would be enough to implement a ResourceReferenceTypeParser
role with a sip
or uri
hint. And a XHTMLLinkTypeRenderer
role with a sip
or uri
hint for the rendering to HTML.
See https://rendering.xwiki.org/xwiki/bin/view/Main/Extending/#HAddinganewLinkType for more
EDIT: I’m not sure how it would appear in the WYSIWYG editor though, I hope it’s automatic, cc @mflorea
I’ve created Loading...
Note that it’s not easy to add this to the xwiki/2.1 syntax since it would conflict with the ability to have a wiki named “uri”, as right now the following means a reference in the “uri” wiki: [[label>>uri:sip:xxxx]]
. We have the same issue for adding a user:
prefix.
1 Like
The list of resource types known by the WYSIWYG editor is currently defined by xwiki-platform/xwiki-platform-core/xwiki-platform-ckeditor/xwiki-platform-ckeditor-plugins/src/main/webjar/xwiki-resource/resource.js at master · xwiki/xwiki-platform · GitHub and can be extended relatively easy:
- first you need to configure the list of resource types to appear in the link modal dropdown, see https://extensions.xwiki.org/xwiki/bin/view/Extension/CKEditor+Integration#HConfigurationParameters
config['xwiki-link'] = config['xwiki-link'] || {};
config['xwiki-link'].resourceTypes = ['doc', 'attach', 'url', 'mailto', 'sip'];
- then you need to specify the resource type metadata, which you can do from a JSX:
require(['deferred!resource'], resourcePromise => {
resourcePromise.then(resource => {
resource.types.sip = {
label: 'SIP Phone Number',
icon: 'glyphicon glyphicon-phone',
placeholder: '+49XXXXXXXX'
};
return resource;
});
});
But of course, you also need to add the new resource type on the rendering side.
2 Likes