[Kamailio-Devel] [ openser-Bugs-2105813 ] bug in tm - shoudn't retransmit

SourceForge.net noreply at sourceforge.net
Tue Sep 16 14:22:44 CEST 2008


Bugs item #2105813, was opened at 2008-09-11 14:45
Message generated for change (Comment added) made by nobody
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2105813&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Klaus Darilion (klaus_darilion)
Assigned to: Nobody/Anonymous (nobody)
Summary: bug in tm - shoudn't retransmit

Initial Comment:
Hi!

I think there is a bug in tm module. I use pua module to send PUBLISH messages to kamailio itself. presence module will handle the request and answers with 200 OK. Although the 200 OK is received by tm, it triggers retransmissions of the PUBLISH.

The setup is:
klaus.darilion@     proxy        klaus at pernau.at        watcher
  nic.at43.at      pernau.at                          klaus2 at pernau.at
   |                   |               |                    |
   |----INVITE-------->|               |                    |
   |                   |--INVITE------>|                    |
   |                   |               |                    |
   |                   |----\          |                    |
   |                   |     |PUBLISH  |                    |
   |                   |<---/          |                    |
   |                   |               |                    |
   |                   |----\          |                    |
   |                   |     |200 OK   |                    |
   |                   |<---/          |                    |
   |                   |---------------------------NOTIFY-->|
   |                   |----\          |                    |
   |                   |     |PUBLISH  |                    |
   |                   |<---/          |                    |
   |                   |               |                    |
   |                   |----\          |                    |
   |                   |     |PUBLISH  |                    |
   |                   |<---/          |                    |
   |                   |               |                    |
   |                   |----\          |                    |
   |                   |     |PUBLISH  |                    |
   |                   |<---/          |                    |
   |                   |               |                    |



Please find the attached logfiles and ngrep siptrace.

thanks
klaus

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-16 12:22

Message:
regarding presence module: I see two possibillities. Either make it
completly statefull (IMO stateless processing does not make sense at all)
or create a new function (e.g. t_handle_publish()) which is the same as
handle_publish but uses statefull processing (so the user can decide).

regarding tm module: I think we have to add more DBG message to tm module
to debug this issue.

klaus

----------------------------------------------------------------------

Comment By: Daniel-Constantin Mierla (miconda)
Date: 2008-09-15 20:37

Message:
For 2 the answer is that presence module uses internally sl module to send
reply. The retransmission of PUBLISH is caught by t_check_trans(), but the
transaction structure has no reply to retransmit.

The module should be updated to be able to use t_reply() instead of
sl_send_reply() in such cases.

I would recommend to update t_reply() to use sl_send_reply() if there is
no transaction associated with the SIP request (maybe controlled by a
parameter flag). This could simplify the script, as admin won't care if the
reply is send before or after a transaction was created.

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-12 08:45

Message:
No, I do not use MI interface. I generate the PUBLISH using the pua API.
Further, the retransmissions do not happen always, only sometimes. 
Further, I see two potential bugs:
1. Why does tm retransmit PUBLISH
2. Why does tm not retransmit the 200 OK once the PUBLISH is received.

Unfortunately I do not have any experience with tm and local
generated/handled transcations.

klaus

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2008-09-11 16:00

Message:
klaus,

do you use pua_mi to issue the publish to kamailio?  i do and don't see
re-transmission of publish by kamailio.  just 200 ok followed by notify.

-- juha

-------------------------------------------------------------------------------------------------

No.     Time        Source                Destination           Protocol
Info
     31 73.312901   192.98.101.10         127.0.0.1             SIP     
Request: PUBLISH sip:test at vm.test.fi

Frame 31 (556 bytes on wire, 556 bytes captured)
Linux cooked capture
Internet Protocol, Src: 192.98.101.10 (192.98.101.10), Dst: 127.0.0.1
(127.0.0.1)
User Datagram Protocol, Src Port: sip (5060), Dst Port: vtsas (5070)
Session Initiation Protocol

No.     Time        Source                Destination           Protocol
Info
     32 73.335454   127.0.0.1             192.98.101.10         SIP     
Status: 200 OK

Frame 32 (416 bytes on wire, 416 bytes captured)
Linux cooked capture
Internet Protocol, Src: 127.0.0.1 (127.0.0.1), Dst: 192.98.101.10
(192.98.101.10)
User Datagram Protocol, Src Port: vtsas (5070), Dst Port: sip (5060)
Session Initiation Protocol

No.     Time        Source                Destination           Protocol
Info
     33 73.349221   192.98.101.10         192.98.101.10         SIP     
Request: NOTIFY sip:test at 192.98.101.10:5074

Frame 33 (575 bytes on wire, 575 bytes captured)
Linux cooked capture
Internet Protocol, Src: 192.98.101.10 (192.98.101.10), Dst: 192.98.101.10
(192.98.101.10)
User Datagram Protocol, Src Port: sip (5060), Dst Port: alesquery (5074)
Session Initiation Protocol


----------------------------------------------------------------------

Comment By: Klaus Darilion (klaus_darilion)
Date: 2008-09-11 14:47

Message:
I added the setup ASCII-art also as textfile.
File Added: kamailio-tm-bug-setup.txt

----------------------------------------------------------------------

Comment By: Klaus Darilion (klaus_darilion)
Date: 2008-09-11 14:46

Message:
File Added: kamailio-tm-bug-syslog.txt

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=2105813&group_id=139143



More information about the Devel mailing list