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

Juha Heinanen jh at tutpro.com
Sun Sep 9 14:43:31 CEST 2012


peter,

i analyzed the pua error situation more closely.  it happens when rls
has db_mode=0 and does not happen when rls has db_mode=2.  presence and
pua both do not have db_mode set.

the test scenario is such where rls list sip:jh-buddies at test.fi consist
of two entries: sip:test at test.fi and sip:foo at test.fi.  the former is
offline and the latter is online and has published its presence state.

the case where rls db_mode=0 goes like this.

sip:jh at test.fi rls subscribes sip:jh-buddies at test.fi, which sip proxy
routes to rls/presence server, which handles the subscribe and
(according to wireshark) replies to it with 200 ok:

Sep  9 13:36:59 siika /usr/sbin/sip-proxy[7472]: INFO: Routing SUBSCRIBE <sip:jh-buddies at test.fi> to presence server
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7313]: INFO: Handling SUBSCRIBE <sip:jh-buddies at test.fi>

then presence/rls server goes on and generates notify on this subscribe to
sip:jh at test.fi, which sip proxy forwards to subscriber:

Sep  9 13:36:59 siika /usr/sbin/pres-serv[7313]: INFO: Routing locally generated NOTIFY <sip:edxjbtay at 192.98.103.10:58563;alias=192.98.103.10~59572~2;transport=tcp> to <sip:jh at test.fi> from <sip:jh-buddies at test.fi>
Sep  9 13:36:59 siika /usr/sbin/sip-proxy[7458]: INFO: Routing in-dialog NOTIFY <sip:edxjbtay at 192.98.103.10:58563;transport=tcp> from <sip:jh-buddies at test.fi> to <sip:192.98.103.10:59572;transport=tcp>

at this point, presence server has NOT received 200 ok to this notify
from subscriber sip:jh at test.fi yet.

then presence/rls server generates subscribe over loopback interface to
one of the entries (sip:test at test.fi) on jh-buddies list, which
presence/rls server handles, replies with 202 ok and generates notify to
itself over loopback interface:

Sep  9 13:36:59 siika /usr/sbin/pres-serv[7313]: INFO: <core> [tcp_main.c:2787]: quick connect for 0x7ffaa38faed0
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7313]: INFO: Routing locally generated SUBSCRIBE <sip:test at test.fi> to <sip:test at test.fi> from <sip:jh at test.fi>
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7316]: INFO: Handling SUBSCRIBE <sip:test at test.fi>
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7316]: INFO: Routing locally generated NOTIFY <sip:rls at 127.0.0.1:5082;transport=tcp> to <sip:jh at test.fi> from <sip:test at test.fi>
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7316]: 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  9 13:36:59 siika /usr/sbin/pres-serv[7313]: INFO: <core> [tcp_main.c:2787]: quick connect for 0x7ffaa391c890
Sep  9 13:36:59 siika /usr/sbin/pres-serv[7316]: INFO: Handling in-dialog NOTIFY <sip:rls at 127.0.0.1:5082;transport=tcp> from <sip:test at test.fi> to <sip:jh at test.fi>

at this point, 200 ok to this notify has NOT been generated yet.

then wireshark shows that 200 ok arrives from sip:jh at test.fi to the
notify that presence/rls server sent to it before the above requests.
after that the error is reported to syslog:

Sep  9 13:36:59 siika /usr/sbin/pres-serv[7311]: ERROR: pua [send_subscribe.c:689]: Could not convert temporary dialog into a dialog

i'm not sure how this matches your explanation, because i don't see any
notify received on a new dialog before 2XX to subscribe.

the pcap file is enclosed.  i'll describe in next email, how things work
when rls db_mode=2.

-- juha

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pcap1.pcap
Type: application/octet-stream
Size: 11793 bytes
Desc: rls test with rls db_mode=0
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20120909/badc8b1a/attachment.obj>


More information about the sr-users mailing list