Opened 15 years ago
Last modified 15 years ago
#917 closed defect
CANCEL may be sent to different servers than the INVITE when DNS SRV is used (thanks Alexei Kuznetsov for the report) — at Version 1
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-1.5 |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description (last modified by bennylp)
RFC 3263 says:
the ACK for non-2xx SIP responses to INVITE MUST be sent to the same host. Furthermore, a CANCEL for a particular SIP request MUST be sent to the same SIP server that the SIP request was delivered to.
With PJSIP, CANCEL initiates a fresh DNS SRV hence it's possible that it may resolve to different server than the original INVITE.
ACK for non-3xx belongs to the same transaction as the INVITE hence it will reuse the transaction's transport and destination address.
Change History (2)
comment:1 Changed 15 years ago by bennylp
- Description modified (diff)
Changed 15 years ago by bennylp
Note: See
TracTickets for help on using
tickets.
Provisional patch, fixing the issue by inserting a hidden Route header to the CANCEL and INVITE request. This patch will not work if strict route is used, hence alternative solution is needed.