inline. On Thu, Sep 17, 2009 at 7:51 PM, M.S. <hamstiede at yahoo.de> wrote: > > > ------------------------------ > *Von:* Gang Liu <gangban.lau at gmail.com> > *An:* pjsip list <pjsip at lists.pjsip.org> > *Gesendet:* Donnerstag, den 17. September 2009, 10:29:36 Uhr > *Betreff:* Re: [pjsip] CANCEL pjsua bug? > > in your log message, inv transaction was sent 200 OK and it was complete. > VOIP2009/09/16 12:05:19.904 -HDL- > cSipWrapper.cxx(1140) dlg0x2b1894 Sending Response msg > 200/INVITE/cseq=5448 (tdta0x2b6650) > > > yes, i think this is the race condition, pjsua answered the invite, and > the opposite sent the CANCEL request. > > You are right. > VOIP2009/09/16 12:05:19.968 -HDL- > cSipWrapper.cxx(1140) dlg0x2b1894 Transaction tsx0x2b4c7c state changed > to Completed > > Do you see a SIP UA will drop the call when it recv CANCEL after call > connected? > > > No of cause, the call will not droped. I received no > PJSIP_INV_STATE_DISCONNECTED in the pjsua callback on_call_state(...) > > It is because UAC sent ACK after CANCEL. So the call was connected. If no ACK incoming, pjsua would drop the call after 200 OK retransmission timeout. VOIP2009/09/16 12:05:20.289 ThreadID=0x00020009 cSipWrapper.cxx(1140) tsx0x2b4c7c Incoming Request msg ACK/cseq=5448 (rdata0x41a23854) in state Completed I saw another race condition before which may cause pjsip-ua api (0.9.0 release) deadlock. UAC UAS -- INV --> <-- 100 -- <-- 4XX -- --- ACK --> -- CANCEL --> ACK and CANCEL came in at the same millisecond, but ACK first. If multi threads were polling pjsip endpoint events, deadlock maybe happen. But I couldn't find a solution to fix this issue. regards, Gang regards mark > > reagrds, > Gang > > > > On Thu, Sep 17, 2009 at 3:40 PM, M.S. <hamstiede at yahoo.de> wrote: > >> answered from which side? the opposite sent a CANCEL. My application >> answered every incomming call, but this is >> the race condition. I think the sip state machine must transfer the call >> to a disconnecting state. >> >> regards >> >> Mark >> >> >> >> ------------------------------ >> *Von:* Gang Liu <gangban.lau at gmail.com> >> *An:* pjsip list <pjsip at lists.pjsip.org> >> *Gesendet:* Donnerstag, den 17. September 2009, 04:52:06 Uhr >> *Betreff:* Re: [pjsip] CANCEL pjsua bug? >> >> It seems your call was answered. >> >> regards, >> Gang >> >> On Wed, Sep 16, 2009 at 10:38 PM, M.S. <hamstiede at yahoo.de> wrote: >> >>> Hi, >>> if i made testcalls with very short incomming calls (<1sec) it happens, >>> that incomming CANCEL >>> messages wasn't handled by stack. Here is the log: >>> I used Version V1.4 >>> >>> regards mark >>> >>> #OK incomming call will proceed everything is fine: >>> >>> VOIP2009/09/16 12:05:19.628 -HDL- >>> cSipWrapper.cxx(1140) strm0x2b8184 Decoder stream started >>> VOIP2009/09/16 12:05:19.646 -HDL- >>> cSipWrapper.cxx(2037) SAG OnStreamCreated CALL-ID:8 >>> VOIP2009/09/16 12:05:19.664 -HDL- >>> cSipWrapper.cxx(1307) SCO InitMediaCall CALL_ID:8 PTime:40 SPF:320 >>> VOIP2009/09/16 12:05:19.684 -HDL- >>> cSipWrapper.cxx(1140) conference.c Creating conference bridge with 4 >>> ports >>> VOIP2009/09/16 12:05:19.711 -HDL- >>> cSipWrapper.cxx(2043) SAG CALL-ID:8 BC:0 >>> VOIP2009/09/16 12:05:19.730 -HDL- >>> cSipWrapper.cxx(1140) pjsua_media.c Media updates, stream #0: PCMU >>> (sendrecv) >>> VOIP2009/09/16 12:05:19.750 -HDL- >>> cSipWrapper.cxx(1103) SRW OnCallMedia:MediaActiv CALL-ID:8 >>> VOIP2009/09/16 12:05:19.770 -HDL- >>> cSipWrapper.cxx(489) SWR SSP Register Slot:2 >>> VOIP2009/09/16 12:05:19..788 -HDL- >>> cSipWrapper.cxx(1140) conference.c Port 1 (CALL) transmitting to port 2 >>> (SSP) >>> VOIP2009/09/16 12:05:19.811 -HDL- >>> cSipWrapper.cxx(500) SRW SSP Channel CALL-ID:8 SrcID:1 SnkID:2 CNT:3 >>> DEV:/dev/mySSP1 >>> VOIP2009/09/16 12:05:19.835 -HDL- >>> cSipWrapper.cxx(1140) inv0x2b1894 Sending Response msg >>> 200/INVITE/cseq=5448 (tdta0x2b6650) >>> VOIP2009/09/16 12:05:19.904 -HDL- >>> cSipWrapper.cxx(1140) dlg0x2b1894 Sending Response msg >>> 200/INVITE/cseq=5448 (tdta0x2b6650) >>> VOIP2009/09/16 12:05:19.924 -HDL- >>> cSipWrapper..cxx(1140) tsx0x2b4c7c Sending Response msg >>> 200/INVITE/cseq=5448 (tdta0x2b6650) in state Proceeding >>> VOIP2009/09/16 12:05:19..947 -HDL- >>> cSipWrapper.cxx(1140) tsx0x2b4c7c State changed from Proceeding to >>> Completed, event=TX_MSG >>> VOIP2009/09/16 12:05:19.968 -HDL- >>> cSipWrapper.cxx(1140) dlg0x2b1894 Transaction tsx0x2b4c7c state changed >>> to Completed >>> VOIP2009/09/16 12:05:19.988 -HDL- >>> cSipWrapper.cxx(1017) SRW OnCallState CALL-ID:8 ST:4 >>> >>> >>> # here comes the CANCEL Message from the opposite: >>> >>> VOIP2009/09/16 12:05:20.006 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) sip_endpoint.c Processing incoming message: Request >>> msg CANCEL/cseq=5448 (rdata0x41a23854) >>> VOIP2009/09/16 12:05:20.022 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) dlg0x2b1894 Received Request msg CANCEL/cseq=5448 >>> (rdata0x41a23854) >>> VOIP2009/09/16 12:05:20.049 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2bece4 Transaction created for Request msg >>> CANCEL/cseq=5448 (rdata0x41a23854) >>> VOIP2009/09/16 12:05:20.070 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2bece4 Incoming Request msg CANCEL/cseq=5448 >>> (rdata0x41a23854) in state Null >>> >>> >>> # the CANCEL message response will created >>> >>> VOIP2009/09/16 12:05:20.091 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2bece4 State changed from Null to Trying, >>> event=RX_MSG >>> VOIP2009/09/16 12:05:20.110 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) dlg0x2b1894 Transaction tsx0x2bece4 state changed >>> to Trying >>> VOIP2009/09/16 12:05:20.129 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) endpoint Response msg 200/CANCEL/cseq=5448 >>> (tdta0x2bf488) created >>> VOIP2009/09/16 12:05:20.150 ThreadID=0x00020009 >>> cSipWrapper..cxx(1140) dlg0x2b1894 Sending Response msg >>> 200/CANCEL/cseq=5448 (tdta0x2bf488) >>> VOIP2009/09/16 12:05:20.169 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2bece4 Sending Response msg >>> 200/CANCEL/cseq=5448 (tdta0x2bf488) in state Trying >>> >>> >>> # and here i expecting a change to "disconnecting" state but nothing >>> happens !!!! the call looks like connected forever... >>> >>> VOIP2009/09/16 12:05:20.192 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2bece4 State changed from Trying to >>> Completed, event=TX_MSG >>> VOIP2009/09/16 12:05:20.213 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) dlg0x2b1894 Transaction tsx0x2bece4 state changed >>> to Completed >>> VOIP2009/09/16 12:05:20.232 ThreadID=0x00020009 >>> cSipWrapper.cxx(1017) SRW OnCallState CALL-ID:8 ST:4 >>> VOIP2009/09/16 12:05:20.250 ThreadID=0x00020009 >>> cSipWrapper.cxx(1017) SRW OnCallState CALL-ID:8 ST:4 >>> VOIP2009/09/16 12:05:20.268 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) sip_endpoint.c Processing incoming message: Request >>> msg ACK/cseq=5448 (rdata0x41a23854) >>> VOIP2009/09/16 12:05:20.289 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2b4c7c Incoming Request msg ACK/cseq=5448 >>> (rdata0x41a23854) in state Completed >>> VOIP2009/09/16 12:05:20.317 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) tsx0x2b4c7c State changed from Completed to >>> Confirmed, event=RX_MSG >>> VOIP2009/09/16 12:05:20.345 ThreadID=0x00020009 >>> cSipWrapper.cxx(1140) dlg0x2b1894 Transaction tsx0x2b4c7c state changed >>> to Confirmed >>> VOIP2009/09/16 12:05:20.362 ThreadID=0x00020009 >>> cSipWrapper.cxx(1017) SRW OnCallState CALL-ID:8 ST:5 >>> >>> >>> >>> >>> _______________________________________________ >>> Visit our blog: http://blog.pjsip.org >>> >>> pjsip mailing list >>> pjsip at lists.pjsip.org >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >>> >> >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip..org <pjsip at lists.pjsip.org> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090924/92449dd0/attachment-0001.html>