Opened 17 years ago
Last modified 15 years ago
#378 new defect
Implement merged request detection
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | major | Milestone: | Known-Issues-and-Ideas |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description
Merged request is described in RFC 3261 Section 8.2.2.2:
8.2.2.2 Merged Requests If the request has no tag in the To header field, the UAS core MUST check the request against ongoing transactions. If the From tag, Call-ID, and CSeq exactly match those associated with an ongoing transaction, but the request does not match that transaction (based on the matching rules in Section 17.2.3), the UAS core SHOULD generate a 482 (Loop Detected) response and pass it to the server transaction. The same request has arrived at the UAS more than once, following different paths, most likely due to forking. The UAS processes the first such request received and responds with a 482 (Loop Detected) to the rest of them.
This feature is needed to cope with (Open)SER behavior in the scenario below.
- UAC sends INVITE
- UAS receives INVITE and sends 200 response
- This response doesn't reach UAC, so UAC keeps retransmitting INVITE
- At some point, it looks like the proxy kills the INVITE transaction, so upon receiving INVITE retransmission from UAC, it will forward the INVITE to UAS, with different branch.
- UAS, without merge request detection, will treat this INVITE as a new INVITE, thus it will create a new dialog.
Change History (3)
comment:1 Changed 17 years ago by bennylp
- Priority changed from normal to major
comment:2 Changed 17 years ago by bennylp
- Milestone changed from release-0.9.0 to Known-Issues
comment:3 Changed 15 years ago by bennylp
- Type changed from enhancement to defect
Note: See
TracTickets for help on using
tickets.