[OpenSIPS-Users] OpenSIPS & OpenXCAP

Saúl Ibarra Corretgé saul at ag-projects.com
Thu Mar 18 08:46:01 CET 2010


Hi,

On 16/3/10 11:47 AM, Paris Stamatopoulos wrote:
> 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.
>

Thanks for your report! Unfortunately I've been unable to continue 
fixing the existing bugs in OpenXCAP, but I can tell you that shortly 
we'll have a new release with the existing bugs fixed. If you find any 
other bug just open a new bug report :)

> Is maybe the test suite of openxcap obsolete?
>

Indeed, the test suite will be updated, along with the dependencies and 
other bugs.

> 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.
>

Have you correctly configured the connection to OpenXCAP and allowed the 
user to subscribe?

>  From time to time I also see messages on OpenSIPS-Presence like:
>
> Account <null>@<null> tried to publish presence event for
> sip:123456789 at 10.1.1.1:5060 resulting in a SIP/2.0 403 Publishing
> presence events for others is forbidden
>

Can you paste the PUBLISH request that caused this?



Regards,

-- 
Saúl Ibarra Corretgé
AG Projects



More information about the Users mailing list