# Tracing of trouble

Sometimes it is needed to solve problems with presence related stuff... ;-)

## Known problems

- AVPs might not work properly with presence. If you create AVPs they can disappear after call to handle_subscription or similar function. The reason is that from such functions is created new transaction (sent a NOTIFY request) and AVPs are not returned correctly to previous one.

- There are some standard incompliances in presence modules, often caused by standard ambiguity or contradiction or by partial implementation only. Please refer to specific module documentation in such situations.

- SIP clients often use broken data, not corresponding with the data format specification. Look into the specification in such cases (for example ).

- The XCAP module is incompatible with TLS module due to Openssl initialization!

  XCAP module uses libcurl for HTTP communication and libcurl is using libopenssl internally. But the TLS module needs some extra openssl initialization which is not working when libcurl initializes Openssl by itself.

  Thanks Samuel (samu60@gmail.com) for pointing this out.

## Reporting problems

If you can not find the source of your problem or if you are not sure how to do this or that, you can:

- Try to search for similar problem in mailing lists on SIP-router's main page or in list archives.

- Send an email to sr-users@lists.kamailio.org for user related problem or sr-dev@lists.kamailio.org for development related things. There are lots of interesting people on these lists with lots of experiences with SIP related stuff ;-).

- For presence-only related things you can send me an email directly to vaclav.kubart@iptel.org, but I highly prefer to use one of mailing lists above because many people may be interested in the same problem as you have.

If you find a bug, please report it to our bug tracker or send an email to lists mentioned above or directly to me (email above).

## New features

There is a list of features to be implemented in my TODO list. I will put them into our bug tracker as soon as I will have more time for it. ;-)

If you are interested in a feature you can search or ask in mailing lists or you can add your feature into bug tracker and might be that it will be implemented or at least discussed.

## Searching a problem

Most of presence modules have trace method which can be invoked through SIP-router's management interface. Such methods often dumps current status, existing subscriptions etc.

For calling management methods you can simply use set of sercmd utilities (don't mess with deprecated serctl utility which is from unknown reason still installed with SIP-router) or binrpc which uses more effective binary protocol.

### Using ser_ctl for debugging problems

    kubartv@~/src/serctl$ ./ser_rpc -t pa.trace 2
    +------------------------------------------------------------------------------------------------------------------------+
    | value                                                                                                                  |
    +------------------------------------------------------------------------------------------------------------------------+
    | registrar                                                                                                              |
    | * sip:parf@example.com (uid=parf)                                                                                      |
    |  - tuples:                                                                                                             |
    |     6574y1y45d334fay6e9d7c60 contact='sip:parf@10.38.2.19:6198;transport=udp' exp=976014034 status=0 published=0 (id=) |
    |       notes:                                                                                                           |
    |       extension elements:                                                                                              |
    |       status extension elements:                                                                                       |
    |                                                                                                                        |
    |  - watchers:                                                                                                           |
    |  - winfo watchers:                                                                                                     |
    |     sip:parf@example.com status=1 exp=3545                                                                             |
    |  - internal watchers:                                                                                                  |
    |  - notes:                                                                                                              |
    |  - extension elements:                                                                                                 |
    | * sip:gozner@example.com (uid=gozner)                                                                                  |
    |  - tuples:                                                                                                             |
    |  - watchers:                                                                                                           |
    |     sip:parf@example.com status=1 exp=3562                                                                             |
    |  - winfo watchers:                                                                                                     |
    |  - internal watchers:                                                                                                  |
    |  - notes:                                                                                                              |
    |  - extension elements:                                                                                                 |
    | presentity count: 2                                                                                                    |
    +------------------------------------------------------------------------------------------------------------------------+