[SR-Users] pua 'Could not convert temporary dialog into a dialog' error

Peter Dunkley peter.dunkley at crocodile-rcs.com
Sat Sep 8 21:59:32 CEST 2012


In order to cope with the scenario when a NOTIFY is received on a new
dialog before the 2XX to the SUBSCRIBE, pua creates a temporary dialog
(for the NOTIFY to match against) when it sends the SUBSCRIBE.  This
temporary dialog is converted to a full dialog when the 2XX is received
(information such as to-tag is filled in).

This error occurs when a matching temporary dialog can't be found in the
hash table (or DB if in DB only mode).

The temporary dialog record cannot be created until after the SUBSCRIBE
has been sent (the call-id and from-tag are generated by the TM module). 
This means, on a single server with RLS back-end subscriptions over the
local loopback, it is theoretically possible for the SUBSCRIBE to be sent
and the 2XX generated, sent, received, and processed before the temporary
record is created.

This is much more likely to happen when using DB only mode than when using
the in-memory hash (in fact, it was added and tested before the DB only
mode changes and I never observed it happening with the in-memory hash).

If you are using DB only mode there is a fix for this.  The new
(start|end|abort)_transaction() and query_lock() DB APIs are used in pua
to prevent this problem.  However, these DB APIs are only supported by
db_postgres at the moment.

Regards,

Peter

> when testing presence/rls, i'm getting a pua error when presence server
> handles subscribe:
>
> Sep  8 20:36:12 siika /usr/sbin/pres-serv[22932]: INFO: Handling SUBSCRIBE
> <sip:test at test.fi>
> Sep  8 20:36:12 siika /usr/sbin/pres-serv[22932]: INFO: Routing locally
> generated NOTIFY to <sip:rls at 127.0.0.1:5082;transport=tcp>
> Sep  8 20:36:12 siika /usr/sbin/pres-serv[22932]: INFO: presence
> [notify.c:1581]: NOTIFY sip:jh at test.fi via
> sip:rls at 127.0.0.1:5082;transport=tcp on behalf of sip:test at test.fi for
> event presence
> Sep  8 20:36:12 siika /usr/sbin/pres-serv[22931]: INFO: <core>
> [tcp_main.c:2787]: quick connect for 0x7f7114cfa490
> Sep  8 20:36:12 siika /usr/sbin/pres-serv[22933]: ERROR: pua
> [send_subscribe.c:689]: Could not convert temporary dialog into a dialog
>
> what does pua error message 'Could not convert temporary dialog into a
> dialog' mean?  when does it happen?
>
> -- juha
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>


-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd




More information about the sr-users mailing list