On Tue, 2009-05-19 at 15:47 -0400, M. Ranganathan wrote: > Hello, > > Attached is a trace for a test which is configured to do the following: > > Request from INVITE is directed to a dial plan (extension 501) which > parallel forks to two extensions 201 and 202. Each of those extensions > has an unconditional call forwarding to the SAME ITSP number. JAIN-SIP > detects the loop and responds to one of the call legs with LOOP > DETECTED ( Frame 91 ). > > However, by this time the ITSP (PSTN) phone is ringing. > > Shortly thereafter, SIPX PROXY sends a CANCEL. This CANCELs the > original call. Questions:
The INVITE to sipxbridge is frame 86 at 19:20:49. The CANCEL to that invite is frame 122 which is at 19:20:59, which is 10 seconds later. This is enough to suggest that the CANCEL is due to an event which is asynchronous to the INVITE. The CANCEL propagates from CANCEL frame 116 at 19:20:59, which cancels the INVITE at frame 57 at 19:20:49. Generally, the conditions that cause a CANCEL to be created are set up not by the INVITE that it cancels, but by the parent INVITE. In this case, looking at the *second* branch value of frame 57 and scanning upward, we discover the parent INVITE is frame 23, INVITE sip:us...@..., 19:20:29, which has "Expires: 30". And CANCEL frame 116/122 is at 19:20:59, which is 30 seconds later. So the immediate cause of the CANCEL is that the INVITE to user1 has a 30 second expiration, and it takes 20 seconds before the INVITE propagates to sipXbridge. That latter appears to be because the call goes to two phones before getting routed to sipXbridge. Dale _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
