Opened 18 years ago
Closed 18 years ago
#89 closed enhancement (fixed)
Implement transaction timeout in REGISTER request
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-0.5.10 |
Component: | pjsip | Version: | 0.5.9 |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description (last modified by bennylp)
Currently there is no timeout in SIP UAC transaction after provisional response is received. This will cause client to wait indefinetely if server crashes after it sends provisional response.
Note that this shouldn't be neccessary if the server is compliant with RFC 4420 and 4421 (re: not sending provisional response for non-INVITE transaction). But some popular open souce PBX out there does this anyway, so we'd better support this.
Change History (4)
comment:1 Changed 18 years ago by bennylp
- Description modified (diff)
comment:2 Changed 18 years ago by bennylp
- Resolution set to worksforme
- Status changed from new to closed
- Summary changed from Implement transaction timeout to Implement transaction timeout in REGISTER request
comment:3 Changed 18 years ago by bennylp
- Resolution worksforme deleted
- Status changed from closed to reopened
This causes crash when transaction is terminated/destroyed manually (for example when transaction layer is unloaded), because (user) timer will not be destroyed when the transaction is destroyed.
Maybe the best way to implement this is to implement the timer in the transaction itself.
comment:4 Changed 18 years ago by bennylp
- Resolution set to fixed
- Status changed from reopened to closed
Implemented more generically in ticket #99.
Implemented in r932.
Currently this is implemented at pjsip_endpt_send_request() level rather than at sip_transaction.c since the later requires bigger modification.
And since pjsip_endpt_send_request() is only used by the client registration, this fix work only with the outgoing REGISTER request only.
Thanks Frank Wiersma for reporting the problem.