[OpenSIPS-Users] OpenSIPS & OpenXCAP
Paris Stamatopoulos
mobius at realize.gr
Tue Mar 16 11:47:56 CET 2010
Hello everyone,
I've been struggling for a few days with OpenSIPS and OpenXCAP and I've reached a certain point where I think I could really use some help on the matter. I've configured a dedicated OpenSIPS instance with pretty much the configuration mentioned in the openxcap website (http://www.openxcap.org/wiki/Installation) although I had to change it quite a bit for it to work with OpenSIPS 1.6.
I've also managed with quite a bit of tweaking to force openxcap and opensips-mi-proxy to work from non-standard directories. I've used the following versions:
python 2.6.4
python-application 1.2.3
python-gnutls 1.1.8-1
python-lxml 2.1.5-1
python-sqlobject 0.10.6
python-twisted-core 8.2.0-3
python-twisted-web 8.2.0-2
python-twisted-web2 8.1.0-2
python-zope.interface 3.5.2-1
On a ubuntu-server 9.10
I've also installed the python-xcaplib that came with OpenXCAP.
However when I run the test.py suite I get 6 failures which I don't know what to make of them:
test_pidf_manipulation (test_presrules.PresenceRulesTest) ... FAIL
Testing different ways of inserting an element as described in examples from Section 8.2.3 ... FAIL
Testing PUT requests of form '*[@att="some"]' which require looking into body of PUT ... FAIL
test_operations (test_resourcelists.DocumentTest) ... FAIL
test_operations (test_rlsservices.DocumentTest) ... FAIL
test_pidf_manipulation (test_pidf.PIDFTest) ... FAIL
OpenXCAP while in -no-fork shows lots of trace backs such as:
File "/opt/xcap/share/pyshared/xcap/appusage/__init__.py", line 91, in _check_schema_validation
raise errors.SchemaValidationError(comment=self.xml_schema.error_log)
xcap.errors.SchemaValidationError: <schema-validation-error><!--
<string>:3:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_3_2_2: Element '{urn:ietf:params:xml:ns:resource-lists}list', attribute 'some-attribute': The attribute 'some-attribute' is not allowed.
--></schema-validation-error>
xcap.uri.NodeParsingError: Failed to parse node: '/resource-lists/list[@name="friends"]/external[]/@anchor'
File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 328, in _runCallbacks
self.result = callback(self.result, *args, **kw)
File "/opt/xcap/share/pyshared/xcap/appusage/__init__.py", line 247, in _cb_get_attribute
raise errors.ResourceNotFound
File "/opt/xcap/share/pyshared/xcap/resource.py", line 23, in checkEtag
http.checkPreconditions(request, etag=ETag(etag))
File "/usr/lib/python2.6/dist-packages/twisted/web2/http.py", line 256, in checkPreconditions
raise HTTPError(StatusResponse(responsecode.PRECONDITION_FAILED, "Requested resource does not have a matching ETag."))
twisted.web2.http.HTTPError:
File "/opt/xcap/share/pyshared/xcap/appusage/__init__.py", line 486, in get_document_local
self._not_implemented('users')
File "/opt/xcap/share/pyshared/xcap/appusage/__init__.py", line 126, in _not_implemented
raise errors.ResourceNotFound("Application %s does not implement %s context" % (self.id, context))
xcap.errors.ResourceNotFound: Application xcap-caps does not implement users context
Could it be there is something wrong with my python-twisted version? Also please note that in order to make openxcap run in fork mode and log the errors I had to disable the Syslog error writing as mentioned also in the ticket http://openxcap.org/ticket/136 which I've opened.
Is maybe the test suite of openxcap obsolete?
As for the OpenSIPS, I've modified my main OpenSIPS server to forward PUBLISH|SUBSCRIBE|NOTIFY requests to the Presence-OpenSIPS as follows:
if (has_totag()) {
if (loose_route()) {
...
} else {
if (is_method("SUBSCRIBE") && $rd == "VOIP_IP") {
rewritehostport("PRESENCE_SERVER:PRESENCE_PORT");
t_relay();
exit;
}
...
}
}
...
if( is_method("PUBLISH|SUBSCRIBE|NOTIFY") ) {
rewritehostport("PRESENCE_SERVER:PRESENCE_PORT");
t_relay();
exit;
}
Requests seem to be properly forwarded to the Presence-OpenSIPS however I could use some confirmation that what I am doing is correct. I see that adding on eyebeam a contact appears on the list, however it appears grayed-out, I cannot subscribe to presence information of it.
More information about the Users
mailing list