< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

[reSIProcate-users] Hanging up problem, BYE message processed differently on two machines


Hello, 

I have an application which acts as a SIP client behaving differently on two
machines. Using repro as a SIP proxy. I am getting this in a similar
configuration (softphone,)  and identical executables.

A packet trace on the SIP messages shows both systems have a similar flow of
messages but the difference is in how they're handled in my application and
resiprocate.

The problem occurs while accepting a call as a UAS. On the one system it
works on, a BYE message is received and processed successfully. Sending back
a 200-OK message.

On the system where it doesn't work, the BYE message is received and a
100-Trying message is sent back and the SIP client locks up.

>From the resiprocate logs, it appears as the message flows from TRANSACTION
to TRANSPORT when it doesn't work and TRANSACTION to DUM when it does. Is it
having a problem locating the associated dialog!? 

Any ideas what may be causing this?

Thanks,
-ali

Here is an excerpt from reciprocate.log for both cases (failed one first):
----------------------------------------------------------------------------
-

DEBUG | 20080707-164431.578 | Sytech:ResipLib | RESIP:TRANSACTION | 3948 |
TransactionUser.cxx:74 | Match!
DEBUG | 20080707-164431.578 | Sytech:ResipLib | RESIP | 3948 |
Helper.cxx:372 | Helper::makeResponse(SipReq:  BYE 110@xxxxxxxxxxx:12111
tid=-44c6cf24 cseq=BYE / 103 from(wire) code=100 reason=
DEBUG | 20080707-164431.578 | Sytech:ResipLib | RESIP:TRANSACTION | 3948 |
TimerQueue.cxx:85 | Adding timer: Timer Trying tid=-44c6cf24 ms=3500
DEBUG | 20080707-164431.578 | Sytech:ResipLib | RESIP:TRANSACTION | 3948 |
TransactionState.cxx:1956 | Send to TU: TU: DialogUsageManager size=2 

BYE sip:110@xxxxxxxxxxx:12111;rinstance=6009f8625e50a10b SIP/2.0
Via: SIP/2.0/UDP 10.30.21.100:5060;branch=z9hG4bK-44c6cf24
Max-Forwards: 70
To: <sip:110@xxxxxxxxxxx>;tag=59070e4e
From: "Linksys 2" <sip:104@xxxxxxxxxxx>;tag=69e1022c43c72f7fo0
Call-ID: ef2af570-b1e2350b@xxxxxxxxxxxx
CSeq: 103 BYE

Proxy-Authorization: Digest
username="104",realm="10.30.21.20",nonce="12859936959:39deb688c5744e8e12e523
e128449427",uri="sip:110@xxxxxxxxxxx:12111",algorithm=MD5,response="cdc73212
c9cfe0d98bd536a324212137",qop=auth,nc=00000002,cnonce="bc69c0a5"
User-Agent: Linksys/SPA922-5.1.15(a)
Content-Length: 0

DEBUG | 20080707-164432.078 | Sytech:ResipLib | RESIP:TRANSPORT | 3948 |
Transport.cxx:287 | incoming from: [ V4 10.30.21.100:5060 UDP target
domain=unspecified mFlowKey=508 ]
DEBUG | 20080707-164433.078 | Sytech:ResipLib | RESIP:TRANSPORT | 3948 |
Transport.cxx:287 | incoming from: [ V4 10.30.21.100:5060 UDP target
domain=unspecified mFlowKey=508 ]
DEBUG | 20080707-164435.078 | Sytech:ResipLib | RESIP:TRANSPORT | 3948 |
TransportSelector.cxx:932 | Transmitting to [ V4 10.30.21.100:5060 UDP
target domain=unspecified mFlowKey=508 ] tlsDomain= via [ V4
10.30.21.10:12111 UDP target domain=unspecified mFlowKey=508 ]

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.30.21.100:5060;branch=z9hG4bK-44c6cf24
To: <sip:110@xxxxxxxxxxx>;tag=59070e4e
From: "Linksys 2" <sip:104@xxxxxxxxxxx>;tag=69e1022c43c72f7fo0
Call-ID: ef2af570-b1e2350b@xxxxxxxxxxxx
CSeq: 103 BYE
Content-Length: 0

============================================================================
=================
The following is the working scenario ...
============================================================================
=================
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:TRANSACTION | 3372 |
TransactionUser.cxx:74 | Match!
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP | 3372 |
Helper.cxx:372 | Helper::makeResponse(SipReq:  BYE 118@xxxxxxxxxxxxxx:12111
tid=-b0ed5168 cseq=BYE / 103 from(wire) code=100 reason=
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:TRANSACTION | 3372 |
TimerQueue.cxx:85 | Adding timer: Timer Trying tid=-b0ed5168 ms=3500
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:TRANSACTION | 3372 |
TransactionState.cxx:1956 | Send to TU: TU: DialogUsageManager size=0 

BYE sip:118@xxxxxxxxxxxxxx:12111;rinstance=b42bbc240d7a6105 SIP/2.0
Via: SIP/2.0/UDP 192.168.10.202:5060;branch=z9hG4bK-b0ed5168
Max-Forwards: 70
To: <sip:118@xxxxxxxxxxxxxx>;tag=d506286d
From: Ali Ziad Home <sip:100@xxxxxxxxxxxxxx>;tag=6335d0b68949cc59o0
Call-ID: 755f29ba-abb6a725@xxxxxxxxxxxxxx
CSeq: 103 BYE
Proxy-Authorization: Digest
username="100",realm="192.168.10.206",nonce="12860004504:fcdf307358e7174abf9
5b8aa8c461c8e",uri="sip:118@xxxxxxxxxxxxxx:12111",algorithm=MD5,response="a7
21cdb6520739b3dbab4e6c95d8a7b4",qop=auth,nc=00000002,cnonce="dd0a79ee"
User-Agent: Sipura/SPA1001-2.0.13(SEg)
Content-Length: 0

INFO | 20080708-112916.234 | Sytech:ResipLib | RESIP:DUM | 5168 |
DialogUsageManager.cxx:1299 | Got: SipReq:  BYE 118@xxxxxxxxxxxxxx:12111
tid=-b0ed5168 cseq=BYE / 103 from(wire)
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:DUM | 5168 |
DialogUsageManager.cxx:1617 | DialogUsageManager::processRequest: SipReq:
BYE 118@xxxxxxxxxxxxxx:12111 tid=-b0ed5168 cseq=BYE / 103 from(wire)
INFO | 20080708-112916.234 | Sytech:ResipLib | RESIP:DUM | 5168 |
DialogUsageManager.cxx:1677 | Handling in-dialog request: SipReq:  BYE
118@xxxxxxxxxxxxxx:12111 tid=-b0ed5168 cseq=BYE / 103 from(wire)
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:DUM | 5168 |
DialogId.cxx:50 | DialogId::DialogId:
755f29ba-abb6a725@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DEBUG | 20080708-112916.234 | Sytech:ResipLib | RESIP:DUM | 5168 |
DialogSet.cxx:467 | Found matching dialog mClientSubscriptions(0),
mServerSubscriptions(0) for