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@test.fi Sep 8 20:36:12 siika /usr/sbin/pres-serv[22932]: INFO: Routing locally generated NOTIFY to sip:rls@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@test.fi via sip:rls@127.0.0.1:5082;transport=tcp on behalf of sip:test@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users